summaryrefslogtreecommitdiffstats
path: root/doc/src/snippets/multimedia-snippets/camera.cpp
diff options
context:
space:
mode:
authorMichael Goddard <michael.goddard@nokia.com>2012-01-04 14:56:31 +1000
committerQt by Nokia <qt-info@nokia.com>2012-01-23 02:49:52 +0100
commit5ec608b0060b3c9e077eca379ab0f660e31436ab (patch)
tree2f28db4d9250ee246670bdbb78d68b3016fcc25c /doc/src/snippets/multimedia-snippets/camera.cpp
parent0889d69790a1b723e9995fa6bdc61d825baf39ff (diff)
Update documentation.
Rewrite the module overview, add video and audio overviews, and update the camera overview. Tweak the radiooverview slightly. Still missing some links for examples and some fleshing out but hopefully a lot better. Change-Id: Id6486e20ba4a09c36d7739e327d4f9910ad083a5 Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Diffstat (limited to 'doc/src/snippets/multimedia-snippets/camera.cpp')
-rw-r--r--doc/src/snippets/multimedia-snippets/camera.cpp93
1 files changed, 83 insertions, 10 deletions
diff --git a/doc/src/snippets/multimedia-snippets/camera.cpp b/doc/src/snippets/multimedia-snippets/camera.cpp
index ab91423a0..a42ae622d 100644
--- a/doc/src/snippets/multimedia-snippets/camera.cpp
+++ b/doc/src/snippets/multimedia-snippets/camera.cpp
@@ -46,14 +46,92 @@
#include "qmediarecorder.h"
#include "qcameraimagecapture.h"
#include "qcameraimageprocessing.h"
+#include "qabstractvideosurface.h"
-void camera()
+/* Globals so that everything is consistent. */
+QCamera *camera = 0;
+QCameraViewfinder *viewfinder = 0;
+QMediaRecorder *recorder = 0;
+QCameraImageCapture *imageCapture = 0;
+
+void overview_viewfinder()
+{
+ //! [Camera overview viewfinder]
+ camera = new QCamera;
+ viewfinder = new QCameraViewfinder;
+ camera->setViewfinder(viewfinder);
+ viewfinder->show();
+
+ camera->start(); // to start the viewfinder
+ //! [Camera overview viewfinder]
+}
+
+// -.-
+class MyVideoSurface : public QAbstractVideoSurface
{
- QCamera *camera = 0;
- QCameraViewfinder *viewfinder = 0;
- QMediaRecorder *recorder = 0;
- QCameraImageCapture *imageCapture = 0;
+ QList<QVideoFrame::PixelFormat> supportedPixelFormats(QAbstractVideoBuffer::HandleType handleType) const
+ {
+ Q_UNUSED(handleType);
+ return QList<QVideoFrame::PixelFormat>();
+ }
+ bool present(const QVideoFrame &frame)
+ {
+ Q_UNUSED(frame);
+ return true;
+ }
+};
+void overview_surface()
+{
+ MyVideoSurface *mySurface;
+ //! [Camera overview surface]
+ camera = new QCamera;
+ mySurface = new MyVideoSurface;
+ camera->setViewfinder(mySurface);
+
+ camera->start();
+ // MyVideoSurface::present(..) will be called with viewfinder frames
+ //! [Camera overview surface]
+}
+
+void overview_still()
+{
+ //! [Camera overview capture]
+ imageCapture = new QCameraImageCapture(camera);
+
+ camera->setCaptureMode(QCamera::CaptureStillImage);
+ camera->start(); // Viewfinder frames start flowing
+
+ //on half pressed shutter button
+ camera->searchAndLock();
+
+ //on shutter button pressed
+ imageCapture->capture();
+
+ //on shutter button released
+ camera->unlock();
+ //! [Camera overview surface]
+}
+
+void overview_movie()
+{
+ //! [Camera overview movie]
+ camera = new QCamera;
+ recorder = new QMediaRecorder(camera);
+
+ camera->setCaptureMode(QCamera::CaptureVideo);
+ camera->start();
+
+ //on shutter button pressed
+ recorder->record();
+
+ // sometime later, or on another press
+ recorder->stop();
+ //! [Camera overview movie]
+}
+
+void camera_blah()
+{
//! [Camera]
camera = new QCamera;
@@ -62,7 +140,6 @@ void camera()
camera->setViewfinder(viewfinder);
- recorder = new QMediaRecorder(camera);
imageCapture = new QCameraImageCapture(camera);
camera->setCaptureMode(QCamera::CaptureStillImage);
@@ -83,8 +160,6 @@ void camera()
void cameraimageprocessing()
{
- QCamera *camera = 0;
-
//! [Camera image whitebalance]
camera = new QCamera;
QCameraImageProcessing *imageProcessing = camera->imageProcessing();
@@ -103,8 +178,6 @@ void cameraimageprocessing()
void camerafocus()
{
- QCamera *camera = 0;
-
//! [Camera custom zoom]
QCameraFocus *focus = camera->focus();
focus->setFocusPointMode(QCameraFocus::FocusPointCustom);