2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 using System.Collections.Generic;
19 using System.Runtime.InteropServices;
20 using Tizen.Internals.Errors;
22 namespace Tizen.Multimedia
25 /// The camera setting class provides methods/properties to get and
26 /// set basic camera attributes.
28 public class CameraSetting
30 internal readonly IntPtr _settingHandle;
32 internal CameraSetting(IntPtr _handle)
34 _settingHandle = _handle;
38 /// Sets auto focus area.
41 /// http://tizen.org/privilege/camera
43 /// <param name="x">X position</param>
44 /// <param name="y">Y position</param>
45 /// <exception cref="ArgumentException">In case of invalid parameters</exception>
46 public void SetFocusArea(int x, int y)
48 int ret = Interop.CameraSetting.SetAfArea(_settingHandle, x, y);
49 if (ret != (int)CameraError.None)
51 CameraErrorFactory.ThrowException(ret, "Failed to set the autofocus area.");
56 /// Clears the auto focus area.
59 /// http://tizen.org/privilege/camera
61 public void ClearFocusArea()
63 int ret = Interop.CameraSetting.ClearAfArea(_settingHandle);
64 if (ret != (int)CameraError.None)
66 CameraErrorFactory.ThrowException(ret, "Failed to clear the autofocus area.");
71 /// Sets the position to move horizontally.
74 /// http://tizen.org/privilege/camera
76 /// <param name="type">ptz move type.</param>
77 /// <param name="panStep">pan step</param>
78 /// <exception cref="ArgumentException">In case of invalid parameters</exception>
79 public void SetPan(CameraPtzMoveType type, int panStep)
81 int ret = Interop.CameraSetting.SetPan(_settingHandle, (int)type, panStep);
82 if (ret != (int)CameraError.None)
84 CameraErrorFactory.ThrowException(ret, "Failed to set the camera pan type.");
89 /// Gets the current position of the camera.
92 /// http://tizen.org/privilege/camera
94 /// <returns>Returns the camera's horizontal position</returns>
98 int ret = Interop.CameraSetting.GetPan(_settingHandle, out val);
99 if (ret != (int)CameraError.None)
101 CameraErrorFactory.ThrowException(ret, "Failed to get the camera pan step.");
108 /// Sets the position to move vertically.
111 /// http://tizen.org/privilege/camera
113 /// <param name="type">ptz move type</param>
114 /// <param name="tiltStep">tilt step</param>
115 /// <exception cref="ArgumentException">In case of invalid parameters</exception>
116 public void SetTilt(CameraPtzMoveType type, int tiltStep)
118 int ret = Interop.CameraSetting.SetTilt(_settingHandle, (int)type, tiltStep);
119 if (ret != (int)CameraError.None)
121 CameraErrorFactory.ThrowException(ret, "Failed to set the camera tilt type\t.");
126 /// Gets the current position of the camera.
129 /// http://tizen.org/privilege/camera
131 /// <returns>Returns the current vertical position</returns>
135 int ret = Interop.CameraSetting.GetTilt(_settingHandle, out val);
136 if (ret != (int)CameraError.None)
138 CameraErrorFactory.ThrowException(ret, "Failed to set the camera current position.");
145 /// Removes the geotag(GPS data) in the EXIF(Exchangeable image file format) tag.
148 /// http://tizen.org/privilege/camera
150 public void RemoveGeoTag()
152 int ret = Interop.CameraSetting.RemoveGeotag(_settingHandle);
153 if (ret != (int)CameraError.None)
155 CameraErrorFactory.ThrowException(ret, "Failed to remove the geotag\t.");
160 /// The preview frame rate.
162 public CameraFps PreviewFps
167 int ret = Interop.CameraSetting.GetPreviewFps(_settingHandle, out val);
168 if ((CameraError)ret != CameraError.None)
170 Log.Error(CameraLog.Tag, "Failed to get camera preview fps, " + (CameraError)ret);
173 return (CameraFps)val;
178 int ret = Interop.CameraSetting.SetPreviewFps(_settingHandle, (int)value);
179 if ((CameraError)ret != CameraError.None)
181 Log.Error(CameraLog.Tag, "Failed to set preview fps, " + (CameraError)ret);
182 CameraErrorFactory.ThrowException(ret, "Failed to set preview fps.");
188 /// The quality of the image.
189 /// The range for image quality is 1 to 100.
192 /// http://tizen.org/privilege/camera.
194 public int ImageQuality
199 int ret = Interop.CameraSetting.GetImageQuality(_settingHandle, out val);
200 if ((CameraError)ret != CameraError.None)
202 Log.Error(CameraLog.Tag, "Failed to get image quality, " + (CameraError)ret);
210 int ret = Interop.CameraSetting.SetImageQuality(_settingHandle, (int)value);
211 if ((CameraError)ret != CameraError.None)
213 Log.Error(CameraLog.Tag, "Failed to set image quality, " + (CameraError)ret);
214 CameraErrorFactory.ThrowException(ret, "Failed to set image quality.");
220 /// The bit rate of encoded preview.
222 public int EncodedPreviewBitrate
227 int ret = Interop.CameraSetting.GetBitrate(_settingHandle, out val);
228 if ((CameraError)ret != CameraError.None)
230 Log.Error(CameraLog.Tag, "Failed to get preview bitrate, " + (CameraError)ret);
238 int ret = Interop.CameraSetting.SetBitrate(_settingHandle, (int)value);
239 if ((CameraError)ret != CameraError.None)
241 Log.Error(CameraLog.Tag, "Failed to set encoded preview bitrate, " + (CameraError)ret);
242 CameraErrorFactory.ThrowException(ret, "Failed to set encoded preview bitrate.");
248 /// GOP(Group Of Pictures) interval of encoded preview.
250 public int EncodedPreviewGopInterval
255 int ret = Interop.CameraSetting.GetGopInterval(_settingHandle, out val);
256 if ((CameraError)ret != CameraError.None)
258 Log.Error(CameraLog.Tag, "Failed to get preview gop interval, " + (CameraError)ret);
266 int ret = Interop.CameraSetting.SetGopInterval(_settingHandle, (int)value);
267 if ((CameraError)ret != CameraError.None)
269 Log.Error(CameraLog.Tag, "Failed to set encoded preview gop interval, " + (CameraError)ret);
270 CameraErrorFactory.ThrowException(ret, "Failed to set encoded preview gop intervals.");
277 /// The range for zoom level is received from ZoomRange property.
280 /// http://tizen.org/privilege/camera.
287 int ret = Interop.CameraSetting.GetZoom(_settingHandle, out val);
288 if ((CameraError)ret != CameraError.None)
290 Log.Error(CameraLog.Tag, "Failed to get zoom level, " + (CameraError)ret);
298 int ret = Interop.CameraSetting.SetZoom(_settingHandle, (int)value);
299 if ((CameraError)ret != CameraError.None)
301 Log.Error(CameraLog.Tag, "Failed to set zoom level, " + (CameraError)ret);
302 CameraErrorFactory.ThrowException(ret, "Failed to set zoom level.");
308 /// Gets the available zoom level.
311 /// If min value is greater than the max value, it means this feature is not supported.
313 public Range ZoomRange
320 int ret = Interop.CameraSetting.GetZoomRange(_settingHandle, out min, out max);
321 if ((CameraError)ret != CameraError.None)
323 Log.Error(CameraLog.Tag, "Failed to get zoom range, " + (CameraError)ret);
326 Range res = new Range(min, max);
332 /// Gets the available exposure value.
335 /// If min value is greater than the max value, it means this feature is not supported.
337 public Range ExposureRange
344 int ret = Interop.CameraSetting.GetExposureRange(_settingHandle, out min, out max);
345 if ((CameraError)ret != CameraError.None)
347 Log.Error(CameraLog.Tag, "Failed to get exposure range, " + (CameraError)ret);
350 Range res = new Range(min, max);
356 /// Gets the available brightness level.
359 /// If min value is greater than the max value, it means this feature is not supported.
361 public Range BrightnessRange
368 int ret = Interop.CameraSetting.GetBrightnessRange(_settingHandle, out min, out max);
369 if ((CameraError)ret != CameraError.None)
371 Log.Error(CameraLog.Tag, "Failed to get brightness range, " + (CameraError)ret);
374 Range res = new Range(min, max);
380 /// Gets the available contrast level.
383 /// If min value is greater than the max value, it means this feature is not supported.
385 public Range ContrastRange
392 int ret = Interop.CameraSetting.GetContrastRange(_settingHandle, out min, out max);
393 if ((CameraError)ret != CameraError.None)
395 Log.Error(CameraLog.Tag, "Failed to get contrast range, " + (CameraError)ret);
398 Range res = new Range(min, max);
404 /// Gets lower limit and upper limit for pan position.
407 /// If min value is greater than the max value, it means this feature is not supported.
409 public Range PanRange
416 int ret = Interop.CameraSetting.GetPanRange(_settingHandle, out min, out max);
417 if ((CameraError)ret != CameraError.None)
419 Log.Error(CameraLog.Tag, "Failed to get pan range, " + (CameraError)ret);
422 Range res = new Range(min, max);
428 /// Gets lower limit and upper limit for tilt position.
431 /// If min value is greater than the max value, it means this feature is not supported.
433 public Range TiltRange
440 int ret = Interop.CameraSetting.GetTiltRange(_settingHandle, out min, out max);
441 if ((CameraError)ret != CameraError.None)
443 Log.Error(CameraLog.Tag, "Failed to get tilt range, " + (CameraError)ret);
446 Range res = new Range(min, max);
452 /// The auto focus mode.
455 /// http://tizen.org/privilege/camera
457 public CameraAutoFocusMode AfMode
462 int ret = Interop.CameraSetting.GetAfMode(_settingHandle, out val);
463 if ((CameraError)ret != CameraError.None)
465 Log.Error(CameraLog.Tag, "Failed to get camera autofocus mode, " + (CameraError)ret);
468 return (CameraAutoFocusMode)val;
473 int ret = Interop.CameraSetting.SetAfMode(_settingHandle, (int)value);
474 if ((CameraError)ret != CameraError.None)
476 Log.Error(CameraLog.Tag, "Failed to set camera autofocus mode, " + (CameraError)ret);
477 CameraErrorFactory.ThrowException(ret, "Failed to set camera autofocus mode.");
483 /// The exposure mode.
486 /// http://tizen.org/privilege/camera
488 public CameraExposureMode ExposureMode
493 int ret = Interop.CameraSetting.GetExposureMode(_settingHandle, out val);
494 if ((CameraError)ret != CameraError.None)
496 Log.Error(CameraLog.Tag, "Failed to get camera exposure mode, " + (CameraError)ret);
499 return (CameraExposureMode)val;
504 int ret = Interop.CameraSetting.SetExposureMode(_settingHandle, (int)value);
505 if ((CameraError)ret != CameraError.None)
507 Log.Error(CameraLog.Tag, "Failed to set camera exposure mode, " + (CameraError)ret);
508 CameraErrorFactory.ThrowException(ret, "Failed to set camera exposure mode.");
514 /// The exposure value.
517 /// http://tizen.org/privilege/camera
524 int ret = Interop.CameraSetting.GetExposure(_settingHandle, out val);
525 if ((CameraError)ret != CameraError.None)
527 Log.Error(CameraLog.Tag, "Failed to get camera exposure value, " + (CameraError)ret);
535 int ret = Interop.CameraSetting.SetExposure(_settingHandle, (int)value);
536 if ((CameraError)ret != CameraError.None)
538 Log.Error(CameraLog.Tag, "Failed to set camera exposure value, " + (CameraError)ret);
539 CameraErrorFactory.ThrowException(ret, "Failed to set camera exposure value.");
548 /// http://tizen.org/privilege/camera
550 public CameraIsoLevel IsoLevel
555 int ret = Interop.CameraSetting.GetIso(_settingHandle, out val);
556 if ((CameraError)ret != CameraError.None)
558 Log.Error(CameraLog.Tag, "Failed to get camera Iso level, " + (CameraError)ret);
561 return (CameraIsoLevel)val;
566 int ret = Interop.CameraSetting.SetIso(_settingHandle, (int)value);
567 if ((CameraError)ret != CameraError.None)
569 Log.Error(CameraLog.Tag, "Failed to set camera Iso level, " + (CameraError)ret);
570 CameraErrorFactory.ThrowException(ret, "Failed to set camera Iso level.");
576 /// The theater mode.
579 /// http://tizen.org/privilege/camera
582 /// If you want to display the preview image on the external display with the full screen mode,
583 /// use this property.
585 public CameraTheaterMode TheaterMode
590 int ret = Interop.CameraSetting.GetTheaterMode(_settingHandle, out val);
591 if ((CameraError)ret != CameraError.None)
593 Log.Error(CameraLog.Tag, "Failed to get camera theater mode, " + (CameraError)ret);
596 return (CameraTheaterMode)val;
601 int ret = Interop.CameraSetting.SetTheaterMode(_settingHandle, (int)value);
602 if ((CameraError)ret != CameraError.None)
604 Log.Error(CameraLog.Tag, "Failed to set camera theater mode, " + (CameraError)ret);
605 CameraErrorFactory.ThrowException(ret, "Failed to set camera theater mode.");
611 /// The brightness level of the camera.
614 /// http://tizen.org/privilege/camera
616 public int Brightness
621 int ret = Interop.CameraSetting.GetBrightness(_settingHandle, out val);
622 if ((CameraError)ret != CameraError.None)
624 Log.Error(CameraLog.Tag, "Failed to get camera brightness value, " + (CameraError)ret);
632 int ret = Interop.CameraSetting.SetBrightness(_settingHandle, (int)value);
633 if ((CameraError)ret != CameraError.None)
635 Log.Error(CameraLog.Tag, "Failed to set camera brightness value, " + (CameraError)ret);
636 CameraErrorFactory.ThrowException(ret, "Failed to set camera brightness value.");
642 /// The contrast level of the camera.
645 /// http://tizen.org/privilege/camera
652 int ret = Interop.CameraSetting.GetContrast(_settingHandle, out val);
653 if ((CameraError)ret != CameraError.None)
655 Log.Error(CameraLog.Tag, "Failed to get camera contrast value, " + (CameraError)ret);
663 int ret = Interop.CameraSetting.SetContrast(_settingHandle, (int)value);
664 if ((CameraError)ret != CameraError.None)
666 Log.Error(CameraLog.Tag, "Failed to set camera contrast value, " + (CameraError)ret);
667 CameraErrorFactory.ThrowException(ret, "Failed to set camera contrast value.");
673 /// The whitebalance mode.
676 /// http://tizen.org/privilege/camera
678 public CameraWhitebalance Whitebalance
683 int ret = Interop.CameraSetting.GetWhitebalance(_settingHandle, out val);
684 if ((CameraError)ret != CameraError.None)
686 Log.Error(CameraLog.Tag, "Failed to get camera whitebalance, " + (CameraError)ret);
689 return (CameraWhitebalance)val;
694 int ret = Interop.CameraSetting.SetWhitebalance(_settingHandle, (int)value);
695 if ((CameraError)ret != CameraError.None)
697 Log.Error(CameraLog.Tag, "Failed to set camera whitebalance, " + (CameraError)ret);
698 CameraErrorFactory.ThrowException(ret, "Failed to set camera whitebalance.");
704 /// The camera effect mode.
707 /// http://tizen.org/privilege/camera
709 public CameraEffectMode Effect
714 int ret = Interop.CameraSetting.GetEffect(_settingHandle, out val);
715 if ((CameraError)ret != CameraError.None)
717 Log.Error(CameraLog.Tag, "Failed to get camera effect, " + (CameraError)ret);
720 return (CameraEffectMode)val;
725 int ret = Interop.CameraSetting.SetEffect(_settingHandle, (int)value);
726 if ((CameraError)ret != CameraError.None)
728 Log.Error(CameraLog.Tag, "Failed to set camera effect, " + (CameraError)ret);
729 CameraErrorFactory.ThrowException(ret, "Failed to set camera effect.");
738 /// http://tizen.org/privilege/camera
740 public CameraSceneMode SceneMode
745 int ret = Interop.CameraSetting.GetSceneMode(_settingHandle, out val);
746 if ((CameraError)ret != CameraError.None)
748 Log.Error(CameraLog.Tag, "Failed to get camera scene mode, " + (CameraError)ret);
751 return (CameraSceneMode)val;
756 int ret = Interop.CameraSetting.SetSceneMode(_settingHandle, (int)value);
757 if ((CameraError)ret != CameraError.None)
759 Log.Error(CameraLog.Tag, "Failed to set camera scene mode, " + (CameraError)ret);
760 CameraErrorFactory.ThrowException(ret, "Failed to set camera scene mode.");
767 /// true if EXIF tags are enabled in JPEG file, otherwise false.
769 public bool EnableTag
774 int ret = Interop.CameraSetting.IsEnabledTag(_settingHandle, out val);
775 if ((CameraError)ret != CameraError.None)
777 Log.Error(CameraLog.Tag, "Failed to get camera enable tag, " + (CameraError)ret);
785 int ret = Interop.CameraSetting.EnableTag(_settingHandle, (bool)value);
786 if ((CameraError)ret != CameraError.None)
788 Log.Error(CameraLog.Tag, "Failed to set camera enable tag, " + (CameraError)ret);
789 CameraErrorFactory.ThrowException(ret, "Failed to set camera enable tag.");
795 /// The camera image description in the EXIF tag.
797 public string ImageDescription
802 int ret = Interop.CameraSetting.GetImageDescription(_settingHandle, out val);
803 if ((CameraError)ret != CameraError.None)
805 Log.Error(CameraLog.Tag, "Failed to get image description, " + (CameraError)ret);
808 string result = Marshal.PtrToStringAnsi(val);
809 Interop.Libc.Free(val);
815 int ret = Interop.CameraSetting.SetImageDescription(_settingHandle, value);
816 if ((CameraError)ret != CameraError.None)
818 Log.Error(CameraLog.Tag, "Failed to set image description, " + (CameraError)ret);
819 CameraErrorFactory.ThrowException(ret, "Failed to set image description.");
825 /// The software information in the EXIF tag.
827 public string TagSoftware
832 int ret = Interop.CameraSetting.GetTagSoftware(_settingHandle, out val);
833 if ((CameraError)ret != CameraError.None)
835 Log.Error(CameraLog.Tag, "Failed to get tag software, " + (CameraError)ret);
838 string result = Marshal.PtrToStringAnsi(val);
839 Interop.Libc.Free(val);
845 int ret = Interop.CameraSetting.SetTagSoftware(_settingHandle, value);
846 if ((CameraError)ret != CameraError.None)
848 Log.Error(CameraLog.Tag, "Failed to set tag software, " + (CameraError)ret);
849 CameraErrorFactory.ThrowException(ret, "Failed to set tag software.");
855 /// The geotag(GPS data) in the EXIF tag.
857 public Location GeoTag
861 double latitude = 0.0;
862 double longitude = 0.0;
863 double altitude = 0.0;
865 int ret = Interop.CameraSetting.GetGeotag(_settingHandle, out latitude, out longitude, out altitude);
866 if ((CameraError)ret != CameraError.None)
868 Log.Error(CameraLog.Tag, "Failed to get tag, " + (CameraError)ret);
871 Location loc = new Location(latitude, longitude, altitude);
877 Location loc = value;
878 int ret = Interop.CameraSetting.SetGeotag(_settingHandle, loc.Latitude, loc.Longitude, loc.Altitude);
879 if ((CameraError)ret != CameraError.None)
881 Log.Error(CameraLog.Tag, "Failed to get contrast range, " + (CameraError)ret);
882 CameraErrorFactory.ThrowException(ret, "Failed to set geo tag.");
888 /// The camera orientation in the tag.
890 public CameraTagOrientation TagOrientation
895 int ret = Interop.CameraSetting.GetTagOrientation(_settingHandle, out val);
896 if ((CameraError)ret != CameraError.None)
898 Log.Error(CameraLog.Tag, "Failed to get camera tag orientation, " + (CameraError)ret);
901 return (CameraTagOrientation)val;
906 int ret = Interop.CameraSetting.SetTagOrientation(_settingHandle, (int)value);
907 if ((CameraError)ret != CameraError.None)
909 Log.Error(CameraLog.Tag, "Failed to set camera tag orientation, " + (CameraError)ret);
910 CameraErrorFactory.ThrowException(ret, "Failed to set camera tag orientation.");
916 /// The camera's flash mode.
919 /// http://tizen.org/privilege/camera
921 public CameraFlashMode FlashMode
926 int ret = Interop.CameraSetting.GetFlashMode(_settingHandle, out val);
927 if ((CameraError)ret != CameraError.None)
929 Log.Error(CameraLog.Tag, "Failed to get camera flash mode, " + (CameraError)ret);
932 return (CameraFlashMode)val;
937 int ret = Interop.CameraSetting.SetFlashMode(_settingHandle, (int)value);
938 if ((CameraError)ret != CameraError.None)
940 Log.Error(CameraLog.Tag, "Failed to set camera flash mode, " + (CameraError)ret);
941 CameraErrorFactory.ThrowException(ret, "Failed to set camera flash mode.");
947 /// Gets the camera lens orientation angle.
949 public int LensOrientation
954 int ret = Interop.CameraSetting.GetLensOrientation(_settingHandle, out val);
955 if ((CameraError)ret != CameraError.None)
957 Log.Error(CameraLog.Tag, "Failed to get camera lens orientation, " + (CameraError)ret);
965 /// The stream rotation.
967 public CameraRotation StreamRotation
972 int ret = Interop.CameraSetting.GetStreamRotation(_settingHandle, out val);
973 if ((CameraError)ret != CameraError.None)
975 Log.Error(CameraLog.Tag, "Failed to get camera stream rotation, " + (CameraError)ret);
978 return (CameraRotation)val;
983 int ret = Interop.CameraSetting.SetStreamRotation(_settingHandle, (int)value);
984 if ((CameraError)ret != CameraError.None)
986 Log.Error(CameraLog.Tag, "Failed to set camera stream rotation, " + (CameraError)ret);
987 CameraErrorFactory.ThrowException(ret, "Failed to set camera stream rotation.");
995 public CameraFlip StreamFlip
1000 int ret = Interop.CameraSetting.GetFlip(_settingHandle, out val);
1001 if ((CameraError)ret != CameraError.None)
1003 Log.Error(CameraLog.Tag, "Failed to get camera stream flip, " + (CameraError)ret);
1006 return (CameraFlip)val;
1011 int ret = Interop.CameraSetting.SetFlip(_settingHandle, (int)value);
1012 if ((CameraError)ret != CameraError.None)
1014 Log.Error(CameraLog.Tag, "Failed to set camera stream flip, " + (CameraError)ret);
1015 CameraErrorFactory.ThrowException(ret, "Failed to set camera flip.");
1021 /// The mode of HDR(High dynamic range) capture.
1024 /// http://tizen.org/privilege/camera
1027 /// Taking multiple pictures at different exposure levels and intelligently stitching them together
1028 /// so that we eventually arrive at a picture that is representative in both dark and bright areas.
1029 /// If this attribute is set, then eventhandler set for HdrCaptureProgress event is invoked.
1031 public CameraHdrMode HdrMode
1036 int ret = Interop.CameraSetting.GetHdrMode(_settingHandle, out val);
1037 if ((CameraError)ret != CameraError.None)
1039 Log.Error(CameraLog.Tag, "Failed to get camera hdr mode, " + (CameraError)ret);
1042 return (CameraHdrMode)val;
1047 int ret = Interop.CameraSetting.SetHdrMode(_settingHandle, (int)value);
1048 if ((CameraError)ret != CameraError.None)
1050 Log.Error(CameraLog.Tag, "Failed to set camera hdr mode, " + (CameraError)ret);
1051 CameraErrorFactory.ThrowException(ret, "Failed to set camera hdr mode.");
1057 /// The anti shake feature.
1058 /// If true the antishake feature is enabled, otherwise false.
1060 public bool AntiShake
1065 int ret = Interop.CameraSetting.IsEnabledAntiShake(_settingHandle, out val);
1066 if ((CameraError)ret != CameraError.None)
1068 Log.Error(CameraLog.Tag, "Failed to get camera anti shake value, " + (CameraError)ret);
1076 int ret = Interop.CameraSetting.EnableAntiShake(_settingHandle, (bool)value);
1077 if ((CameraError)ret != CameraError.None)
1079 Log.Error(CameraLog.Tag, "Failed to set camera anti shake value, " + (CameraError)ret);
1080 CameraErrorFactory.ThrowException(ret, "Failed to set camera anti shake value.");
1086 /// Enables/Disables the video stabilization feature.
1087 /// If true video stabilization is enabled, otherwise false.
1090 /// http://tizen.org/privilege/camera
1093 /// If video stabilization is enabled, zero shutter lag is disabled.
1094 /// This feature is used to record a video.
1096 public bool VideoStabilization
1101 int ret = Interop.CameraSetting.IsEnabledVideoStabilization(_settingHandle, out val);
1102 if ((CameraError)ret != CameraError.None)
1104 Log.Error(CameraLog.Tag, "Failed to get camera video stabilization, " + (CameraError)ret);
1112 int ret = Interop.CameraSetting.EnableVideoStabilization(_settingHandle, (bool)value);
1113 if ((CameraError)ret != CameraError.None)
1115 Log.Error(CameraLog.Tag, "Failed to set camera video stabilization, " + (CameraError)ret);
1116 CameraErrorFactory.ThrowException(ret, "Failed to set camera video stabilization.");
1122 /// The auto contrast.
1123 /// If true auto contrast is enabled, otherwise false.
1126 /// http://tizen.org/privilege/camera
1128 public bool AutoContrast
1133 int ret = Interop.CameraSetting.IsEnabledAutoContrast(_settingHandle, out val);
1134 if ((CameraError)ret != CameraError.None)
1136 Log.Error(CameraLog.Tag, "Failed to get camera auto contrast, " + (CameraError)ret);
1144 int ret = Interop.CameraSetting.EnableAutoContrast(_settingHandle, (bool)value);
1145 if ((CameraError)ret != CameraError.None)
1147 Log.Error(CameraLog.Tag, "Failed to set camera enable auto contrast, " + (CameraError)ret);
1148 CameraErrorFactory.ThrowException(ret, "Failed to set camera enable auto contrast.");
1154 /// Disables shutter sound.
1155 /// If true shutter sound is disabled, otherwise false.
1158 /// In some countries, this operation is not permitted.
1160 public bool DisableShutterSound
1164 int ret = Interop.CameraSetting.DisableShutterSound(_settingHandle, (bool)value);
1165 if ((CameraError)ret != CameraError.None)
1167 Log.Error(CameraLog.Tag, "Failed to disable shutter sound, " + (CameraError)ret);
1168 CameraErrorFactory.ThrowException(ret, "Failed to set disable shutter sound.");
1174 /// Sets the type of PTZ(Pan Tilt Zoom).
1176 public CameraPtzType PtzType
1180 int ret = Interop.CameraSetting.SetPtzType(_settingHandle, (int)value);
1181 if ((CameraError)ret != CameraError.None)
1183 Log.Error(CameraLog.Tag, "Failed to set camera ptz type, " + (CameraError)ret);
1184 CameraErrorFactory.ThrowException(ret, "Failed to set camera ptz type.");
1190 /// the ROI(Region Of Interest) area of display.
1192 public Area DisplayRoiArea
1201 int ret = Interop.CameraSetting.GetDisplayRoiArea(_settingHandle, out x, out y, out width, out height);
1202 if ((CameraError)ret != CameraError.None)
1204 Log.Error(CameraLog.Tag, "Failed to get display roi area, " + (CameraError)ret);
1207 Area ar = new Area(x, y, width, height);
1213 Area ar = (Area)value;
1214 int ret = Interop.CameraSetting.SetDisplayRoiArea(_settingHandle, ar.X, ar.Y, ar.Width, ar.Height);
1215 if ((CameraError)ret != CameraError.None)
1217 Log.Error(CameraLog.Tag, "Failed to set display roi area, " + (CameraError)ret);
1218 CameraErrorFactory.ThrowException(ret, "Failed to set display roi area.");