1 // Copyright 2020 Citra Emulator Project
2 // Licensed under GPLv2 or any later version
3 // Refer to the license.txt file included.
4 
5 #pragma once
6 
7 #include "common/common_types.h"
8 
9 namespace Service::CAM {
10 
11 enum CameraIndex {
12     OuterRightCamera = 0,
13     InnerCamera = 1,
14     OuterLeftCamera = 2,
15 
16     NumCameras = 3,
17 };
18 
19 enum class Effect : u8 {
20     None = 0,
21     Mono = 1,
22     Sepia = 2,
23     Negative = 3,
24     Negafilm = 4,
25     Sepia01 = 5,
26 };
27 
28 enum class Flip : u8 {
29     None = 0,
30     Horizontal = 1,
31     Vertical = 2,
32     Reverse = 3,
33 };
34 
35 enum class Size : u8 {
36     VGA = 0,
37     QVGA = 1,
38     QQVGA = 2,
39     CIF = 3,
40     QCIF = 4,
41     DS_LCD = 5,
42     DS_LCDx4 = 6,
43     CTR_TOP_LCD = 7,
44     CTR_BOTTOM_LCD = QVGA,
45 };
46 
47 enum class FrameRate : u8 {
48     Rate_15 = 0,
49     Rate_15_To_5 = 1,
50     Rate_15_To_2 = 2,
51     Rate_10 = 3,
52     Rate_8_5 = 4,
53     Rate_5 = 5,
54     Rate_20 = 6,
55     Rate_20_To_5 = 7,
56     Rate_30 = 8,
57     Rate_30_To_5 = 9,
58     Rate_15_To_10 = 10,
59     Rate_20_To_10 = 11,
60     Rate_30_To_10 = 12,
61 };
62 
63 enum class ShutterSoundType : u8 {
64     Normal = 0,
65     Movie = 1,
66     MovieEnd = 2,
67 };
68 
69 enum class WhiteBalance : u8 {
70     BalanceAuto = 0,
71     Balance3200K = 1,
72     Balance4150K = 2,
73     Balance5200K = 3,
74     Balance6000K = 4,
75     Balance7000K = 5,
76     BalanceMax = 6,
77     BalanceNormal = BalanceAuto,
78     BalanceTungsten = Balance3200K,
79     BalanceWhiteFluorescentLight = Balance4150K,
80     BalanceDaylight = Balance5200K,
81     BalanceCloudy = Balance6000K,
82     BalanceHorizon = Balance6000K,
83     BalanceShade = Balance7000K,
84 };
85 
86 enum class PhotoMode : u8 {
87     Normal = 0,
88     Portrait = 1,
89     Landscape = 2,
90     Nightview = 3,
91     Letter0 = 4,
92 };
93 
94 enum class LensCorrection : u8 {
95     Off = 0,
96     On70 = 1,
97     On90 = 2,
98     Dark = Off,
99     Normal = On70,
100     Bright = On90,
101 };
102 
103 enum class Contrast : u8 {
104     Pattern01 = 1,
105     Pattern02 = 2,
106     Pattern03 = 3,
107     Pattern04 = 4,
108     Pattern05 = 5,
109     Pattern06 = 6,
110     Pattern07 = 7,
111     Pattern08 = 8,
112     Pattern09 = 9,
113     Pattern10 = 10,
114     Pattern11 = 11,
115     Low = Pattern05,
116     Normal = Pattern06,
117     High = Pattern07,
118 };
119 
120 enum class OutputFormat : u8 {
121     YUV422 = 0,
122     RGB565 = 1,
123 };
124 
125 } // namespace Service::CAM
126