summaryrefslogtreecommitdiffstats
path: root/include/ui/CameraHardwareInterface.h
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-02-10 15:44:00 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2009-02-10 15:44:00 -0800
commita6938bab1f6fa76ae98ebbe44f4e534e05fa0993 (patch)
treebc5a1f806bd06db8abb197e80be9ead3644c0bcc /include/ui/CameraHardwareInterface.h
parente41dd756db5184519f4dacbf4d95b333822605c7 (diff)
downloadframeworks_native-a6938bab1f6fa76ae98ebbe44f4e534e05fa0993.zip
frameworks_native-a6938bab1f6fa76ae98ebbe44f4e534e05fa0993.tar.gz
frameworks_native-a6938bab1f6fa76ae98ebbe44f4e534e05fa0993.tar.bz2
auto import from //branches/cupcake/...@130745
Diffstat (limited to 'include/ui/CameraHardwareInterface.h')
-rw-r--r--include/ui/CameraHardwareInterface.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/ui/CameraHardwareInterface.h b/include/ui/CameraHardwareInterface.h
index 2bd53dd..b068c52 100644
--- a/include/ui/CameraHardwareInterface.h
+++ b/include/ui/CameraHardwareInterface.h
@@ -20,12 +20,16 @@
#include <utils/IMemory.h>
#include <utils/RefBase.h>
#include <ui/CameraParameters.h>
+#include <ui/Overlay.h>
namespace android {
/** Callback for startPreview() */
typedef void (*preview_callback)(const sp<IMemory>& mem, void* user);
+/** Callback for startRecord() */
+typedef void (*recording_callback)(const sp<IMemory>& mem, void* user);
+
/** Callback for takePicture() */
typedef void (*shutter_callback)(void* user);
@@ -89,6 +93,11 @@ public:
* call back parameter may be null.
*/
virtual status_t startPreview(preview_callback cb, void* user) = 0;
+ /**
+ * Only used if overlays are used for camera preview.
+ */
+ virtual bool useOverlay() {return false;}
+ virtual status_t setOverlay(const sp<Overlay> &overlay) {return BAD_VALUE;}
/**
* Stop a previously started preview.
@@ -101,6 +110,29 @@ public:
virtual bool previewEnabled() = 0;
/**
+ * Start record mode. When a record image is available recording_callback()
+ * is called with the user parameter. Every record frame must be released
+ * by calling releaseRecordingFrame().
+ */
+ virtual status_t startRecording(recording_callback cb, void* user) = 0;
+
+ /**
+ * Stop a previously started recording.
+ */
+ virtual void stopRecording() = 0;
+
+ /**
+ * Returns true if recording is enabled.
+ */
+ virtual bool recordingEnabled() = 0;
+
+ /**
+ * Release a record frame previously returned by the recording_callback()
+ * passed to startRecord().
+ */
+ virtual void releaseRecordingFrame(const sp<IMemory>& mem) = 0;
+
+ /**
* Start auto focus, the callback routine is called
* once when focusing is complete. autoFocus() will
* be called again if another auto focus is needed.