File: demos-mobile-qcamera.html

package info (click to toggle)
qt4-x11 4%3A4.8.2%2Bdfsg-11
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 701,696 kB
  • sloc: cpp: 2,686,179; ansic: 375,485; python: 25,859; sh: 19,349; xml: 17,091; perl: 14,765; yacc: 5,383; asm: 5,038; makefile: 1,259; lex: 555; ruby: 526; objc: 347; cs: 112; pascal: 112; php: 54; sed: 34
file content (125 lines) | stat: -rw-r--r-- 8,625 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- qcamera.qdoc -->
  <title>Qt 4.8: QCamera Demo</title>
  <link rel="stylesheet" type="text/css" href="style/offline.css" />
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="content"> 
    <a href="index.html" class="qtref"><span>Qt Reference Documentation</span></a>
  </div>
  <div class="breadcrumb toolblock">
    <ul>
      <li class="first"><a href="index.html">Home</a></li>
      <!--  Breadcrumbs go here -->
<li><a href="all-examples.html">Examples</a></li>
<li>QCamera Demo</li>
    </ul>
  </div>
</div>
<div class="content mainContent">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#required-capabilities">Required capabilities</a></li>
<li class="level1"><a href="#compatibility">Compatibility</a></li>
</ul>
</div>
<h1 class="title">QCamera Demo</h1>
<span class="subtitle"></span>
<!-- $$$demos/mobile/qcamera-description -->
<div class="descr"> <a name="details"></a>
<p>Files:</p>
<ul>
<li><a href="demos-mobile-qcamera-businesscardhandling-cpp.html">demos/mobile/qcamera/businesscardhandling.cpp</a></li>
<li><a href="demos-mobile-qcamera-businesscardhandling-h.html">demos/mobile/qcamera/businesscardhandling.h</a></li>
<li><a href="demos-mobile-qcamera-button-cpp.html">demos/mobile/qcamera/button.cpp</a></li>
<li><a href="demos-mobile-qcamera-button-h.html">demos/mobile/qcamera/button.h</a></li>
<li><a href="demos-mobile-qcamera-cameraexample-cpp.html">demos/mobile/qcamera/cameraexample.cpp</a></li>
<li><a href="demos-mobile-qcamera-cameraexample-h.html">demos/mobile/qcamera/cameraexample.h</a></li>
<li><a href="demos-mobile-qcamera-contactsdlg-cpp.html">demos/mobile/qcamera/contactsdlg.cpp</a></li>
<li><a href="demos-mobile-qcamera-contactsdlg-h.html">demos/mobile/qcamera/contactsdlg.h</a></li>
<li><a href="demos-mobile-qcamera-messagehandling-cpp.html">demos/mobile/qcamera/messagehandling.cpp</a></li>
<li><a href="demos-mobile-qcamera-messagehandling-h.html">demos/mobile/qcamera/messagehandling.h</a></li>
<li><a href="demos-mobile-qcamera-icons-cameramms-icon-svg.html">demos/mobile/qcamera/icons/cameramms_icon.svg</a></li>
<li><a href="demos-mobile-qcamera-main-cpp.html">demos/mobile/qcamera/main.cpp</a></li>
<li><a href="demos-mobile-qcamera-qcamera-pro.html">demos/mobile/qcamera/qcamera.pro</a></li>
<li><a href="demos-mobile-qcamera-resources-qrc.html">demos/mobile/qcamera/resources.qrc</a></li>
</ul>
<p>The QCamera demo shows how to use Multimedia, Messaging and Contacts modules from Qt Mobility.<p class="centerAlign"><img src="images/qcameraexample.png" alt="" /></p><p>The application shows the viewfinder picture from the device camera and allows the user to capture images. Captured images are stored into the gallery and can be sent as an MMS message to a friend. Application listens for incoming MMS messages in the Inbox folder. If the MMS message contains a picture, the application asks the user whether he or she wants to add the picture as an avatar of the sender. The person's general contact information has to exist in the device phonebook in order to store the avatar in it.</p>
<p>The application uses own MyVideoSurface video surface derived from <a href="qabstractvideosurface.html">QAbstractVideoSurface</a> for showing camera view finder pictures. A video surface presents a continuous stream of identically formatted frames.</p>
<pre class="cpp"> <span class="type">QMediaService</span><span class="operator">*</span> ms <span class="operator">=</span> m_camera<span class="operator">-</span><span class="operator">&gt;</span>service();
 <span class="type">QVideoRendererControl</span><span class="operator">*</span> vrc <span class="operator">=</span> ms<span class="operator">-</span><span class="operator">&gt;</span>requestControl<span class="operator">&lt;</span><span class="type">QVideoRendererControl</span><span class="operator">*</span><span class="operator">&gt;</span>();
 m_myVideoSurface <span class="operator">=</span> <span class="keyword">new</span> MyVideoSurface(<span class="keyword">this</span><span class="operator">,</span><span class="keyword">this</span><span class="operator">,</span><span class="keyword">this</span>);
 vrc<span class="operator">-</span><span class="operator">&gt;</span>setSurface(m_myVideoSurface);</pre>
<p>The application handles Graphics Out Of Memory (GOOM) events in it's <a href="qapplication.html#symbianEventFilter">QApplication::symbianEventFilter</a>() method.</p>
<pre class="cpp">   <span class="type">bool</span> symbianEventFilter( <span class="keyword">const</span> <span class="type"><a href="qsymbianevent.html">QSymbianEvent</a></span><span class="operator">*</span> symbianEvent )
   {
     <span class="keyword">const</span> TWsEvent <span class="operator">*</span>event <span class="operator">=</span> symbianEvent<span class="operator">-</span><span class="operator">&gt;</span>windowServerEvent();
     <span class="keyword">if</span> ( <span class="operator">!</span>event ) {
       <span class="keyword">return</span> <span class="keyword">false</span>;
     }
     <span class="keyword">switch</span> ( event<span class="operator">-</span><span class="operator">&gt;</span>Type() ) {
       <span class="comment">// GOOM handling enabled</span>
       <span class="comment">// http://wiki.forum.nokia.com/index.php/Graphics_memory_handling</span>
       <span class="keyword">case</span> EEventUser: {
         TApaSystemEvent<span class="operator">*</span> eventData <span class="operator">=</span> <span class="keyword">reinterpret_cast</span><span class="operator">&lt;</span>TApaSystemEvent<span class="operator">*</span><span class="operator">&gt;</span>(event<span class="operator">-</span><span class="operator">&gt;</span>EventData());
         <span class="keyword">if</span> ((<span class="operator">*</span>eventData) <span class="operator">=</span><span class="operator">=</span> EApaSystemEventShutdown) {
             eventData<span class="operator">+</span><span class="operator">+</span>;
             <span class="keyword">if</span> ((<span class="operator">*</span>eventData) <span class="operator">=</span><span class="operator">=</span> KGoomMemoryLowEvent) {
              <span class="keyword">return</span> <span class="keyword">true</span>;
             }
         }
         <span class="keyword">break</span>;
       }
       <span class="keyword">default</span>:
         <span class="keyword">break</span>;
     };

     <span class="comment">// Always return false so we don't stop</span>
     <span class="comment">// the event from being processed</span>
     <span class="keyword">return</span> <span class="keyword">false</span>;
   }</pre>
<a name="required-capabilities"></a>
<h2>Required capabilities</h2>
<p>Application can be self-signed.</p>
<p>After enabling Qt Mobility Messaging module (MESSAGING_ENABLED flag in .pro file) from the project file is ReadDeviceData WriteDeviceData capabilities also needed and application have to be Developer Signed. Enabling Messaging adds MMS sending feature for the application.</p>
<a name="compatibility"></a>
<h2>Compatibility</h2>
<p>Qt SDK 1.1</p>
<p>Qt 4.7&#x2e;2 for Symbian</p>
<p>QtMobility 1.1&#x2e;1</p>
<p>Tested on: Nokia N8, Nokia E7</p>
<p>Developed with: Qt SDK 1.1</p>
</div>
<!-- @@@demos/mobile/qcamera -->
  <div class="ft">
    <span></span>
  </div>
</div> 
<div class="footer">
    <p>
      <acronym title="Copyright">&copy;</acronym> 2012 Nokia Corporation and/or its
      subsidiaries. Documentation contributions included herein are the copyrights of
      their respective owners.</p>
    <br />
    <p>
      The documentation provided herein is licensed under the terms of the
      <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation
      License version 1.3</a> as published by the Free Software Foundation.</p>
    <p>
      Documentation sources may be obtained from <a href="http://www.qt-project.org">
      www.qt-project.org</a>.</p>
    <br />
    <p>
      Nokia, Qt and their respective logos are trademarks of Nokia Corporation 
      in Finland and/or other countries worldwide. All other trademarks are property
      of their respective owners. <a title="Privacy Policy"
      href="http://en.gitorious.org/privacy_policy/">Privacy Policy</a></p>
</div>
</body>
</html>