GameApi 28
Library used by GameApi Builder tool
Loading...
Searching...
No Matches
escapi.h
Go to the documentation of this file.
1/* Extremely Simple Capture API */
2
4{
5 /* Target buffer.
6 * Must be at least mWidth * mHeight * sizeof(int) of size!
7 */
8 int * mTargetBuf;
9 /* Buffer width */
10 int mWidth;
11 /* Buffer height */
13};
14
36
37
38/* Sets up the ESCAPI DLL and the function pointers below. Call this first! */
39/* Returns number of capture devices found (same as countCaptureDevices, below) */
40extern int setupESCAPI();
41
42/* return the number of capture devices found */
43typedef int (*countCaptureDevicesProc)();
44
45/* initCapture tries to open the video capture device.
46 * Returns 0 on failure, 1 on success.
47 * Note: Capture parameter values must not change while capture device
48 * is in use (i.e. between initCapture and deinitCapture).
49 * Do *not* free the target buffer, or change its pointer!
50 */
51typedef int (*initCaptureProc)(unsigned int deviceno, struct SimpleCapParams *aParams);
52
53/* deinitCapture closes the video capture device. */
54typedef void (*deinitCaptureProc)(unsigned int deviceno);
55
56/* doCapture requests video frame to be captured. */
57typedef void (*doCaptureProc)(unsigned int deviceno);
58
59/* isCaptureDone returns 1 when the requested frame has been captured.*/
60typedef int (*isCaptureDoneProc)(unsigned int deviceno);
61
62/* Get the user-friendly name of a capture device. */
63typedef void (*getCaptureDeviceNameProc)(unsigned int deviceno, char *namebuffer, int bufferlength);
64
65/* Returns the ESCAPI DLL version. 0x200 for 2.0 */
66typedef int (*ESCAPIVersionProc)();
67
68/*
69 On properties -
70 - Not all cameras support properties at all.
71 - Not all properties can be set to auto.
72 - Not all cameras support all properties.
73 - Messing around with camera properties may lead to weird results, so YMMV.
74*/
75
76/* Gets value (0..1) of a camera property (see CAPTURE_PROPERTIES, above) */
77typedef float (*getCapturePropertyValueProc)(unsigned int deviceno, int prop);
78/* Gets whether the property is set to automatic (see CAPTURE_PROPERTIES, above) */
79typedef int(*getCapturePropertyAutoProc)(unsigned int deviceno, int prop);
80/* Set camera property to a value (0..1) and whether it should be set to auto. */
81typedef int (*setCapturePropertyProc)(unsigned int deviceno, int prop, float value, int autoval);
82
83/*
84 All error situations in ESCAPI are considered catastrophic. If such should
85 occur, the following functions can be used to check which line reported the
86 error, and what the HRESULT of the error was. These may help figure out
87 what the problem is.
88*/
89
90/* Return line number of error, or 0 if no catastrophic error has occurred. */
91typedef int (*getCaptureErrorLineProc)(unsigned int deviceno);
92/* Return HRESULT of the catastrophic error, or 0 if none. */
93typedef int (*getCaptureErrorCodeProc)(unsigned int deviceno);
94
95
96
97
98#ifndef ESCAPI_DEFINITIONS_ONLY
111#endif
doCaptureProc doCapture
Definition escapi.cc:7
ESCAPIVersionProc ESCAPIVersion
Definition escapi.cc:10
getCapturePropertyAutoProc getCapturePropertyAuto
Definition escapi.cc:12
countCaptureDevicesProc countCaptureDevices
Definition escapi.cc:4
getCaptureDeviceNameProc getCaptureDeviceName
Definition escapi.cc:9
isCaptureDoneProc isCaptureDone
Definition escapi.cc:8
setCapturePropertyProc setCaptureProperty
Definition escapi.cc:13
deinitCaptureProc deinitCapture
Definition escapi.cc:6
getCaptureErrorLineProc getCaptureErrorLine
Definition escapi.cc:14
getCapturePropertyValueProc getCapturePropertyValue
Definition escapi.cc:11
getCaptureErrorCodeProc getCaptureErrorCode
Definition escapi.cc:15
initCaptureProc initCapture
Definition escapi.cc:5
int(* countCaptureDevicesProc)()
Definition escapi.h:43
int(* getCaptureErrorLineProc)(unsigned int deviceno)
Definition escapi.h:91
int(* ESCAPIVersionProc)()
Definition escapi.h:66
void(* doCaptureProc)(unsigned int deviceno)
Definition escapi.h:57
int(* getCapturePropertyAutoProc)(unsigned int deviceno, int prop)
Definition escapi.h:79
float(* getCapturePropertyValueProc)(unsigned int deviceno, int prop)
Definition escapi.h:77
int(* getCaptureErrorCodeProc)(unsigned int deviceno)
Definition escapi.h:93
void(* getCaptureDeviceNameProc)(unsigned int deviceno, char *namebuffer, int bufferlength)
Definition escapi.h:63
int(* initCaptureProc)(unsigned int deviceno, struct SimpleCapParams *aParams)
Definition escapi.h:51
int setupESCAPI()
Definition escapi.cc:22
void(* deinitCaptureProc)(unsigned int deviceno)
Definition escapi.h:54
int(* setCapturePropertyProc)(unsigned int deviceno, int prop, float value, int autoval)
Definition escapi.h:81
int(* isCaptureDoneProc)(unsigned int deviceno)
Definition escapi.h:60
CAPTURE_PROPETIES
Definition escapi.h:16
@ CAPTURE_ROLL
Definition escapi.h:29
@ CAPTURE_BRIGHTNESS
Definition escapi.h:17
@ CAPTURE_PROP_MAX
Definition escapi.h:34
@ CAPTURE_GAIN
Definition escapi.h:26
@ CAPTURE_COLORENABLE
Definition escapi.h:23
@ CAPTURE_PAN
Definition escapi.h:27
@ CAPTURE_HUE
Definition escapi.h:19
@ CAPTURE_WHITEBALANCE
Definition escapi.h:24
@ CAPTURE_FOCUS
Definition escapi.h:33
@ CAPTURE_GAMMA
Definition escapi.h:22
@ CAPTURE_SHARPNESS
Definition escapi.h:21
@ CAPTURE_TILT
Definition escapi.h:28
@ CAPTURE_EXPOSURE
Definition escapi.h:31
@ CAPTURE_CONTRAST
Definition escapi.h:18
@ CAPTURE_BACKLIGHTCOMPENSATION
Definition escapi.h:25
@ CAPTURE_SATURATION
Definition escapi.h:20
@ CAPTURE_ZOOM
Definition escapi.h:30
@ CAPTURE_IRIS
Definition escapi.h:32
Definition escapi.h:4
int * mTargetBuf
Definition escapi.h:8
int mHeight
Definition escapi.h:12
int mWidth
Definition escapi.h:10