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.Runtime.InteropServices;
19 using Tizen.Multimedia;
21 internal static partial class Interop
23 internal static partial class CameraCapabilities
25 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
26 internal delegate bool PreviewResolutionCallback(int Width, int Height, IntPtr userData);
28 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
29 internal delegate bool CaptureResolutionCallback(int Width, int Height, IntPtr userData);
31 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
32 internal delegate bool CaptureFormatCallback(CameraPixelFormat format, IntPtr userData);
34 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
35 internal delegate bool PreviewFormatCallback(CameraPixelFormat format, IntPtr userData);
37 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
38 internal delegate bool FpsCallback(CameraFps fps, IntPtr userData);
40 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
41 internal delegate bool FpsByResolutionCallback(CameraFps fps, IntPtr userData);
43 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
44 internal delegate bool AfModeCallback(CameraAutoFocusMode mode, IntPtr userData);
46 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
47 internal delegate bool ExposureModeCallback(CameraExposureMode mode, IntPtr userData);
49 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
50 internal delegate bool IsoCallback(CameraIsoLevel iso, IntPtr userData);
52 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
53 internal delegate bool TheaterModeCallback(CameraTheaterMode mode, IntPtr userData);
55 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
56 internal delegate bool WhitebalanceCallback(CameraWhiteBalance whitebalance, IntPtr userData);
58 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
59 internal delegate bool EffectCallback(CameraEffectMode effect, IntPtr userData);
61 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
62 internal delegate bool SceneModeCallback(CameraSceneMode mode, IntPtr userData);
64 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
65 internal delegate bool FlashModeCallback(CameraFlashMode mode, IntPtr userData);
67 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
68 internal delegate bool StreamRotationCallback(Rotation rotation, IntPtr userData);
70 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
71 internal delegate bool StreamFlipCallback(Flips flip, IntPtr userData);
73 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
74 internal delegate bool PtzTypeCallback(CameraPtzType type, IntPtr userData);
77 [DllImport(Libraries.Camera, EntryPoint = "camera_is_supported_continuous_capture")]
78 [return: MarshalAs(UnmanagedType.I1)]
79 internal static extern bool IsContinuousCaptureSupported(IntPtr handle);
81 [DllImport(Libraries.Camera, EntryPoint = "camera_is_supported_face_detection")]
82 [return: MarshalAs(UnmanagedType.I1)]
83 internal static extern bool IsFaceDetectionSupported(IntPtr handle);
85 [DllImport(Libraries.Camera, EntryPoint = "camera_is_supported_zero_shutter_lag")]
86 [return: MarshalAs(UnmanagedType.I1)]
87 internal static extern bool IsZeroShutterLagSupported(IntPtr handle);
89 [DllImport(Libraries.Camera, EntryPoint = "camera_is_supported_media_packet_preview_cb")]
90 [return: MarshalAs(UnmanagedType.I1)]
91 internal static extern bool IsMediaPacketPreviewCallbackSupported(IntPtr handle);
93 [DllImport(Libraries.Camera, EntryPoint = "camera_attr_is_supported_hdr_capture")]
94 [return: MarshalAs(UnmanagedType.I1)]
95 internal static extern bool IsHdrCaptureSupported(IntPtr handle);
97 [DllImport(Libraries.Camera, EntryPoint = "camera_attr_is_supported_anti_shake")]
98 [return: MarshalAs(UnmanagedType.I1)]
99 internal static extern bool IsAntiShakeSupported(IntPtr handle);
101 [DllImport(Libraries.Camera, EntryPoint = "camera_attr_is_supported_video_stabilization")]
102 [return: MarshalAs(UnmanagedType.I1)]
103 internal static extern bool IsVideoStabilizationSupported(IntPtr handle);
105 [DllImport(Libraries.Camera, EntryPoint = "camera_attr_is_supported_auto_contrast")]
106 [return: MarshalAs(UnmanagedType.I1)]
107 internal static extern bool IsAutoContrastSupported(IntPtr handle);
109 [DllImport(Libraries.Camera, EntryPoint = "camera_foreach_supported_preview_resolution")]
110 internal static extern CameraError SupportedPreviewResolutions(IntPtr handle, PreviewResolutionCallback callback, IntPtr userData);
112 [DllImport(Libraries.Camera, EntryPoint = "camera_foreach_supported_capture_resolution")]
113 internal static extern CameraError SupportedCaptureResolutions(IntPtr handle, CaptureResolutionCallback callback, IntPtr userData);
115 [DllImport(Libraries.Camera, EntryPoint = "camera_foreach_supported_capture_format")]
116 internal static extern CameraError SupportedCapturePixelFormats(IntPtr handle, CaptureFormatCallback callback, IntPtr userData);
118 [DllImport(Libraries.Camera, EntryPoint = "camera_foreach_supported_preview_format")]
119 internal static extern CameraError SupportedPreviewPixelFormats(IntPtr handle, PreviewFormatCallback callback, IntPtr userData);
121 [DllImport(Libraries.Camera, EntryPoint = "camera_attr_foreach_supported_fps")]
122 internal static extern CameraError SupportedPreviewFps(IntPtr handle, FpsCallback callback, IntPtr userData);
124 [DllImport(Libraries.Camera, EntryPoint = "camera_attr_foreach_supported_fps_by_resolution")]
125 internal static extern CameraError SupportedPreviewFpsByResolution(IntPtr handle, int width, int height, FpsByResolutionCallback callback, IntPtr userData);
127 [DllImport(Libraries.Camera, EntryPoint = "camera_attr_foreach_supported_af_mode")]
128 internal static extern CameraError SupportedAutoFocusModes(IntPtr handle, AfModeCallback callback, IntPtr userData);
130 [DllImport(Libraries.Camera, EntryPoint = "camera_attr_foreach_supported_exposure_mode")]
131 internal static extern CameraError SupportedExposureModes(IntPtr handle, ExposureModeCallback callback, IntPtr userData);
133 [DllImport(Libraries.Camera, EntryPoint = "camera_attr_foreach_supported_iso")]
134 internal static extern CameraError SupportedIso(IntPtr handle, IsoCallback callback, IntPtr userData);
136 [DllImport(Libraries.Camera, EntryPoint = "camera_attr_foreach_supported_theater_mode")]
137 internal static extern CameraError SupportedTheaterModes(IntPtr handle, TheaterModeCallback callback, IntPtr userData);
139 [DllImport(Libraries.Camera, EntryPoint = "camera_attr_foreach_supported_whitebalance")]
140 internal static extern CameraError SupportedWhitebalance(IntPtr handle, WhitebalanceCallback callback, IntPtr userData);
142 [DllImport(Libraries.Camera, EntryPoint = "camera_attr_foreach_supported_effect")]
143 internal static extern CameraError SupportedEffects(IntPtr handle, EffectCallback callback, IntPtr userData);
145 [DllImport(Libraries.Camera, EntryPoint = "camera_attr_foreach_supported_scene_mode")]
146 internal static extern CameraError SupportedSceneModes(IntPtr handle, SceneModeCallback callback, IntPtr userData);
148 [DllImport(Libraries.Camera, EntryPoint = "camera_attr_foreach_supported_flash_mode")]
149 internal static extern CameraError SupportedFlashModes(IntPtr handle, FlashModeCallback callback, IntPtr userData);
151 [DllImport(Libraries.Camera, EntryPoint = "camera_attr_foreach_supported_stream_rotation")]
152 internal static extern CameraError SupportedStreamRotations(IntPtr handle, StreamRotationCallback callback, IntPtr userData);
154 [DllImport(Libraries.Camera, EntryPoint = "camera_attr_foreach_supported_stream_flip")]
155 internal static extern CameraError SupportedStreamFlips(IntPtr handle, StreamFlipCallback callback, IntPtr userData);
157 [DllImport(Libraries.Camera, EntryPoint = "camera_attr_foreach_supported_ptz_type")]
158 internal static extern CameraError SupportedPtzTypes(IntPtr handle, PtzTypeCallback callback, IntPtr userData);