0
MeeGo API and Application Development                            Haitao Feng                             April 2011
MeeGo SDK Overview    • Languages      − C++ with Qt extensions    • API      − MeeGo API, based on Qt    • Tools      − Q...
MeeGo 1.2 API    •EGL 1.4     − Required for OpenGL ES API    •OpenGL ES 1.1     − For fixed function hardware, emphasizes...
EGL 1.4    • EGL is an interface between rendering APIs such as     OpenGL ES and an underlying native window system.    •...
OpenGL ES 1.1    •Note: Before starting your programming project, decide     whether to use OpenGL ES 1.1 or 2.0, because ...
OpenGL ES 2.0    •OpenGL ES 2.0     − features a programmable 3D graphics pipeline with the ability to      create shader ...
Qt 4.7.2    • Qt is a cross-platform application and UI     development framework, included as a part of     MeeGo 1.2. Th...
QtCore    • The QtCore module contains core non-GUI functionality.    • Classes include:     − QCoreApplication     − QAbs...
QtGui    • The QtGui module extends QtCore with GUI     functionality.    • Classes include:     − QApplication     − QWid...
QtDeclarative     • The Qt Declarative module provides a declarative      framework for building highly dynamic, custom   ...
QtDBus     • The QtDBus module is a Unix-only library that you      can use to perform inter-process communication      us...
QtNetwork     • The QtNetwork module provides classes to make      network programming easier and portable.     • Classes ...
QtOpenGL     • The QtOpenGL module offers classes that make it      easy to use OpenGL| ES in Qt applications.     • Class...
QtScript     • The QtScript module provides classes for making      Qt application scriptable.     • Classes include:     ...
QtSql     • The QtSql module provides access to SQL      databases.     • Classes include:      − QSqlDatabase      − QSql...
QtSvg     • The QtSvg module provides classes for displaying      and creating SVG files.     • Classes include:      − QG...
QtWebKit     • The QtWebKit module provides a web browser      engine as well as classes to render and interact      with ...
QtXml     • The QtXml module provides a stream reader and      writer for XML documents, and C++      implementations of S...
QtXmlPattern     • The QtXmlPattern module provides support for      XPath, XQuery, XSLT and XML schema validation.     • ...
Qt Mobility 1.2     • Qt Mobility 1.2 API is a collection of APIs and      frameworks targeted for mobile devices, include...
QtServiceFramework     • The QtServiceFramework module allows clients to      discover and instantiate arbitrary services....
QtLocation     • The QtLocation module provides geographical      support for position and map use.     • Classes include:...
QtContacts     • The QtContacts module offers classes that allow      you to manage address book contacts.     • Classes i...
QtMessaging     • The QtMessaging module provides access to      messaging services.     • Classes include:      − QMessag...
QtMultimediaKit     • The QtMultimediaKit module delivers an easy to      use interface to multimedia functions.     • Cla...
QtSystemInfo     • The QtSystemInfo module allows clients to      discover the system information.     • Classes include: ...
QtPublishSubscribe     • The QtPublishSubscribe module enables      applications to read item values, navigate through    ...
QtSensors     • The QtSensors module offers classes that allow      you to access sensor information like      acceleromet...
QtOrganizer     • The QtOrganizer module offers classes that allow      you to manager calendar, scheduling and personal  ...
QtFeedback     • The QtFeedback module offers classes that allow      you to manage tactile feedback and device      vibra...
QtGallery     • The QtGallery module provides access to a gallery      of documents.     • Classes include:      − QAbstra...
QtVersit     • The QtVersit module allows the management of      Versit documents including as vCard.     • Classes includ...
QtConnectivity     • The QtConnectivity module provides APIs for      working with local devices.     • Classes include:  ...
MeeGo Application Development • Qt Creator IDE     − Cross-OS     − Sample Applications     − UI Designer for Qt and Qml  ...
Upcoming SlideShare
Loading in...5
×

下午3 intel fenghaitao_mee_go api and application development

777

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
777
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "下午3 intel fenghaitao_mee_go api and application development"

  1. 1. MeeGo API and Application Development Haitao Feng April 2011
  2. 2. MeeGo SDK Overview • Languages − C++ with Qt extensions • API − MeeGo API, based on Qt • Tools − Qt Creator IDE − Qt Designer, Qt Quick Designer − Qt Simulator − QEMU virtual machine − Qt Debugger, Qt Quick Debugger2
  3. 3. MeeGo 1.2 API •EGL 1.4 − Required for OpenGL ES API •OpenGL ES 1.1 − For fixed function hardware, emphasizes image quality, graphics acceleration, and high performance. •OpenGL ES 2.0 − Enables full programmable 3D graphics. •Qt 4.7.2 − The Qt Framework •Qt Mobility 1.2 − The Qt Mobility Framework3
  4. 4. EGL 1.4 • EGL is an interface between rendering APIs such as OpenGL ES and an underlying native window system. • EGL provides mechanisms for creating rendering surfaces onto which clients APIs can draw, creating graphics contexts for client APIs, and synchronizing drawing by client APIs as well as native platform rendering APIs. • APIs include: −eglInitialize −eglCreateWindowSurface −eglCreateContext −eglSwapBuffers −…4
  5. 5. OpenGL ES 1.1 •Note: Before starting your programming project, decide whether to use OpenGL ES 1.1 or 2.0, because they are not fully compatible with each other. •OpenGL ES 1.1 − Defined relative to the OpenGL 1.5 specification − Backwards compatible with OpenGL ES 1.0 •APIs include: − glClear − glTexImage2D − glEnable − glDisable − glRotate − glScale −…5
  6. 6. OpenGL ES 2.0 •OpenGL ES 2.0 − features a programmable 3D graphics pipeline with the ability to create shader and program objects and the ability to write vertex and fragment shaders in the OpenGL ES Shading Language − does not support the fixed function transformation and fragment pipeline of OpenGL ES 1.x •APIs include: − glCreateProgram − glCreateShader − glCompilerShader − glLinkProgram −…6
  7. 7. Qt 4.7.2 • Qt is a cross-platform application and UI development framework, included as a part of MeeGo 1.2. The following Qt 4.7.2 modules are supported: − QtCore − QtScript − QtGui − QtSql − QtDeclarative − QtSvg − QtDBus − QtWebKit − QtNetwork − QtXml − QtOpenGL − QtXmlPatterns7
  8. 8. QtCore • The QtCore module contains core non-GUI functionality. • Classes include: − QCoreApplication − QAbstractAnimation − QAbstractState − QFile − QThread − QFuture − QHash − QIODevice − …8
  9. 9. QtGui • The QtGui module extends QtCore with GUI functionality. • Classes include: − QApplication − QWidget − QButton − QGraphicsObject − QGraphicsItem − QGaphicsView − Qpainter −…9
  10. 10. QtDeclarative • The Qt Declarative module provides a declarative framework for building highly dynamic, custom user interfaces. • Classes include: − QDeclarativeEngine − QDeclarativeView − QDeclarativeItem − QDeclarativeContext − QDeclarativeExpression − QDeclarativeExtensionPlugin −…10
  11. 11. QtDBus • The QtDBus module is a Unix-only library that you can use to perform inter-process communication using the D-Bus protocol. • Classes include: − QDBusConnection − QDBusInterface − QDBusMessage − QDBusArgument −…11
  12. 12. QtNetwork • The QtNetwork module provides classes to make network programming easier and portable. • Classes include: − QLocalServer − QLocalSocket − QNetworkInterface − QTcpServer − QTcpSocket − QUdpSocket −…12
  13. 13. QtOpenGL • The QtOpenGL module offers classes that make it easy to use OpenGL| ES in Qt applications. • Classes include: − QGLContext − QGLFormat − QGLFrameBufferObject − QGLPixelBuffer − QGLShaderProgram − QGLWidget −…13
  14. 14. QtScript • The QtScript module provides classes for making Qt application scriptable. • Classes include: − QScriptEngine − QScriptContext − QScriptClass − QScriptExtensionPlugin −…14
  15. 15. QtSql • The QtSql module provides access to SQL databases. • Classes include: − QSqlDatabase − QSqlDriver − QSqlDriverPlugin − QSqlQuery − QSqlIndex −…15
  16. 16. QtSvg • The QtSvg module provides classes for displaying and creating SVG files. • Classes include: − QGraphicsSvgItem − QSvgGenerator − QSvgRenderer − QSvgWidget16
  17. 17. QtWebKit • The QtWebKit module provides a web browser engine as well as classes to render and interact with web content. • Classes include: − QWebView − QGraphicsWebView − QWebElement − QWebFrame − QWebPage − QWebHistory −…17
  18. 18. QtXml • The QtXml module provides a stream reader and writer for XML documents, and C++ implementations of SAX and DOM. • Classes include: − QDomDocument − QDomDocumentType − QDomElement − QXmlReader − QXmlSimpleReader −…18
  19. 19. QtXmlPattern • The QtXmlPattern module provides support for XPath, XQuery, XSLT and XML schema validation. • Classes include: − QXmlQuery − QXmlResultItems − QXmlSchema − QXmlSchemaValidator −…19
  20. 20. Qt Mobility 1.2 • Qt Mobility 1.2 API is a collection of APIs and frameworks targeted for mobile devices, included as a part of MeeGo 1.2. The following Qt Mobility modules are supported: −QtServiceFramewo −QtSensors rk − QtOrganizer − QtLocation − QtFeedback − QtContacts − QtGallery − QtMessaging − QtVersit − QtMultimediaKit − QtConnectivity − QtSystemInfo − QtPublishSubscribe20
  21. 21. QtServiceFramework • The QtServiceFramework module allows clients to discover and instantiate arbitrary services. • Classes include: − QServiceContext − QServiceFilter − QServiceManager − QServicePluginInterface −…21
  22. 22. QtLocation • The QtLocation module provides geographical support for position and map use. • Classes include: − QGeoAddress − QGeoMapData − QGeoMapObject − QGeoRoute −…22
  23. 23. QtContacts • The QtContacts module offers classes that allow you to manage address book contacts. • Classes include: − QContact − QContactManager − QContactManagerEngine − QContactRelationship −…23
  24. 24. QtMessaging • The QtMessaging module provides access to messaging services. • Classes include: − QMessage − QMessageAccount − QMessageManager − QMessageService −…24
  25. 25. QtMultimediaKit • The QtMultimediaKit module delivers an easy to use interface to multimedia functions. • Classes include: − QAbstractVideoBuffer − QAbstractVideoSurface − QAudioFormat − QCamera − QCameraControl − QMediaPlayer − QRadioTuner −…25
  26. 26. QtSystemInfo • The QtSystemInfo module allows clients to discover the system information. • Classes include: − QSystemBatteryInfo − QSystemDeviceInfo − QSystemDisplayInfo − QSystemStorageInfo −…26
  27. 27. QtPublishSubscribe • The QtPublishSubscribe module enables applications to read item values, navigate through and subscribe to change notifications. • Classes include: − QValueSpacePublisher − QValueSpaceSubscriber27
  28. 28. QtSensors • The QtSensors module offers classes that allow you to access sensor information like accelerometer and orientation. • Classes include: − QAccelerometer − QAmbientLightSensor − QCompass − QMagnetrometer −…28
  29. 29. QtOrganizer • The QtOrganizer module offers classes that allow you to manager calendar, scheduling and personal data. • Classes include: − QOrganizerItem − QOrganizerCollection − QOrganizerEvent − QOrganizerEventAttendee −…29
  30. 30. QtFeedback • The QtFeedback module offers classes that allow you to manage tactile feedback and device vibration. • Classes include: − QFeedbackEffect − QFeedbackFileEffect − QFeedbackHapticsEffect − QFeedbackInterface −…30
  31. 31. QtGallery • The QtGallery module provides access to a gallery of documents. • Classes include: − QAbstractGallery − QDocumentGallery − QGalleryFilter − QGalleryResultSet −…31
  32. 32. QtVersit • The QtVersit module allows the management of Versit documents including as vCard. • Classes include: − QVersitContactExporter − QVersitContactImporter − QVersitOrganizerExporter − QVersitOrganizerImporter −…32
  33. 33. QtConnectivity • The QtConnectivity module provides APIs for working with local devices. • Classes include: − QBluetoothAddress − QBluetoothSocket − QBluetoothServiceInfo − QRfcommServer −…33
  34. 34. MeeGo Application Development • Qt Creator IDE − Cross-OS − Sample Applications − UI Designer for Qt and Qml − Advanced editor − Toolchain selection − QEMU / Simulator selection − Debugging for Qt and Qml −…34
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×