1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). |
1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). |
2 // All rights reserved. |
2 // All rights reserved. |
3 // This component and the accompanying materials are made available |
3 // This component and the accompanying materials are made available |
4 // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members |
4 // under the terms of "Eclipse Public License v1.0" |
5 // which accompanies this distribution, and is available |
5 // which accompanies this distribution, and is available |
6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 // |
7 // |
8 // Initial Contributors: |
8 // Initial Contributors: |
9 // Nokia Corporation - initial contribution. |
9 // Nokia Corporation - initial contribution. |
10 // |
10 // |
11 // Contributors: |
11 // Contributors: |
12 // |
12 // |
13 // Description: |
13 // Description: |
14 // |
14 // |
15 |
15 |
16 |
|
17 |
|
18 /** |
16 /** |
19 @file |
17 @file |
20 @publishedAll |
18 @publishedAll |
21 @released |
19 @released |
22 */ |
20 */ |
26 #include <e32base.h> |
24 #include <e32base.h> |
27 #include <gdi.h> |
25 #include <gdi.h> |
28 #include <ecam.h> |
26 #include <ecam.h> |
29 #include <ecamadvsettingsuids.hrh> |
27 #include <ecamadvsettingsuids.hrh> |
30 #include <ecam/ecamconstants.h> |
28 #include <ecam/ecamconstants.h> |
|
29 |
|
30 #ifndef SYMBIAN_ENABLE_SPLIT_HEADERS |
|
31 #include <ecamimageprocessingconst.h> |
|
32 #include <ecamimageprocessingdef.h> |
|
33 #endif |
|
34 |
31 |
35 |
32 class MCameraImageProcessing; |
36 class MCameraImageProcessing; |
33 class MCameraImageProcessing2; |
37 class MCameraImageProcessing2; |
34 class MCameraImageProcessing3; |
38 class MCameraImageProcessing3; |
35 |
39 |
77 static const TUid KUidECamEventtImageProcessingAdjustSaturation = {KUidECamEventtImageProcessingAdjustSaturationUidValue}; |
81 static const TUid KUidECamEventtImageProcessingAdjustSaturation = {KUidECamEventtImageProcessingAdjustSaturationUidValue}; |
78 static const TUid KUidECamEventImageProcessingAdjustSaturation = {KUidECamEventtImageProcessingAdjustSaturationUidValue}; |
82 static const TUid KUidECamEventImageProcessingAdjustSaturation = {KUidECamEventtImageProcessingAdjustSaturationUidValue}; |
79 /** Hue adjustment - recognized range [-100:100] */ |
83 /** Hue adjustment - recognized range [-100:100] */ |
80 static const TUid KUidECamEventtImageProcessingAdjustHue = {KUidECamEventtImageProcessingAdjustHueUidValue}; |
84 static const TUid KUidECamEventtImageProcessingAdjustHue = {KUidECamEventtImageProcessingAdjustHueUidValue}; |
81 static const TUid KUidECamEventImageProcessingAdjustHue = {KUidECamEventtImageProcessingAdjustHueUidValue}; |
85 static const TUid KUidECamEventImageProcessingAdjustHue = {KUidECamEventtImageProcessingAdjustHueUidValue}; |
82 /** Contrast Enhancement |
|
83 |
|
84 This uid value is available from the 'supported' or 'getter' methods only to the API clients using CCamera::New2L() or |
|
85 CCamera::NewDuplicate2L(). |
|
86 |
|
87 @internalTechnology |
|
88 */ |
|
89 static const TUid KUidECamEventCIPAdjustContrastEnhancement = {KUidECamEventCIPAdjustContrastEnhancementUidValue}; |
|
90 /** Software based Red Eye Reduction |
|
91 |
|
92 This uid value is available from the 'supported' or 'getter' methods only to the API clients using CCamera::New2L() or |
|
93 CCamera::NewDuplicate2L() |
|
94 |
|
95 @internalTechnology |
|
96 */ |
|
97 static const TUid KUidECamEventCIPAdjustRedEyeReduction = {KUidECamEventCIPAdjustRedEyeReductionUidValue}; |
|
98 |
|
99 /** |
|
100 Image distortion correction. |
|
101 |
|
102 This uid value is available from the 'supported' or 'getter' methods only to the API clients using CCamera::New2L() or |
|
103 CCamera::NewDuplicate2L() |
|
104 |
|
105 @internalTechnology |
|
106 */ |
|
107 static const TUid KUidECamEventCIPImageDistortionCorrection = {KUidECamEventCIPImageDistortionCorrectionUidValue}; |
|
108 |
86 |
109 |
87 |
110 /** Effect value */ |
88 /** Effect value */ |
111 static const TUid KUidECamEventImageProcessingEffect = {KUidECamEventImageProcessingEffectUidValue}; |
89 static const TUid KUidECamEventImageProcessingEffect = {KUidECamEventImageProcessingEffectUidValue}; |
112 |
90 |
123 static const TUid KUidECamEventImageProcessingSourceRect = {KUidECamEventImageProcessingSourceRectUidValue}; |
101 static const TUid KUidECamEventImageProcessingSourceRect = {KUidECamEventImageProcessingSourceRectUidValue}; |
124 /** Noise reduction */ |
102 /** Noise reduction */ |
125 static const TUid KUidECamEventImageProcessingNoiseReduction = {KUidECamEventImageProcessingNoiseReductionUidValue}; |
103 static const TUid KUidECamEventImageProcessingNoiseReduction = {KUidECamEventImageProcessingNoiseReductionUidValue}; |
126 /** Glare removal */ |
104 /** Glare removal */ |
127 static const TUid KUidECamEventImageProcessingGlareRemoval = {KUidECamEventImageProcessingGlareRemovalUidValue}; |
105 static const TUid KUidECamEventImageProcessingGlareRemoval = {KUidECamEventImageProcessingGlareRemovalUidValue}; |
128 /** Relative Orientation |
|
129 |
|
130 This uid value is available from the 'supported' or 'getter' methods only to the API clients using CCamera::New2L() or |
|
131 CCamera::NewDuplicate2L(). |
|
132 |
|
133 @publishedPartner |
|
134 @prototype |
|
135 */ |
|
136 static const TUid KUidECamEventImageProcessingTransformRelativeOrientation = {KUidECamEventImageProcessingTransformRelativeOrientationUidValue}; |
|
137 |
106 |
138 /** Default value for image processing */ |
107 /** Default value for image processing */ |
139 static const TInt KECamImageProcessingDefaultValue = 0; |
108 static const TInt KECamImageProcessingDefaultValue = 0; |
140 |
109 |
141 /** |
110 /** |
148 Uid used to indicate completion of StartColorAccent |
117 Uid used to indicate completion of StartColorAccent |
149 |
118 |
150 */ |
119 */ |
151 static const TUid KUidECamEventCIPStartColorAccent = {KUidECamEventCIPStartColorAccentUidValue}; |
120 static const TUid KUidECamEventCIPStartColorAccent = {KUidECamEventCIPStartColorAccentUidValue}; |
152 |
121 |
153 /** |
|
154 Uid used to notify that the current picture orientation is unachievable after setting the relative custom orientation. |
|
155 |
|
156 @see CCamera::CCameraImageProcessing::SetRelativeCustomOrientationL(TOrientationReference aOrientationReference, |
|
157 TRelativeCustomOrientation aRelativeCustomOrientation); |
|
158 |
|
159 @publishedPartner |
|
160 @prototype |
|
161 */ |
|
162 static const TUid KUidECamEventPictureOrientationUnachievable = {KUidECamEventPictureOrientationUnachievableUidValue}; |
|
163 |
122 |
164 /** |
123 /** |
165 This class is used to perform image processing operations on the camera. |
124 This class is used to perform image processing operations on the camera. |
166 These include brightness, contrast, gamma, hue, sharpness and saturation adjustments. The client is also |
125 These include brightness, contrast, gamma, hue, sharpness and saturation adjustments. The client is also |
167 able to perform simple image transformations like cropping, rotation, mirroring, scaling, noise reduction and glare reduction. . |
126 able to perform simple image transformations like cropping, rotation, mirroring, scaling, noise reduction and glare reduction. . |