From af73d55efffa1dca928038cd4f392eb7def7c7e1 Mon Sep 17 00:00:00 2001 From: Jerome Pasion Date: Wed, 9 Apr 2014 17:02:25 +0200 Subject: Doc: Improved example documentation -added instructions on how to run the example (using \include to insert a section from qtbase/doc/global/) -updated copyright year -removed links to Qt 4 API -rearranged some of the sections -created links from the example pages to Qt Multimedia -fixed QDoc warnings related to the example pages Task-number: QTBUG-33597 Change-Id: Id45ce5cbd40dbfa384abd7260a316f6f6837c186 Reviewed-by: Yoann Lopes Reviewed-by: Sze Howe Koh --- .../audiodevices/doc/src/audiodevices.qdoc | 9 +++--- .../audioengine/doc/src/audioengine.qdoc | 10 +++--- .../multimedia/audioinput/doc/src/audioinput.qdoc | 9 +++--- .../audiooutput/doc/src/audiooutput.qdoc | 9 +++--- .../audiorecorder/doc/src/audiorecorder.qdoc | 12 ++++--- .../doc/src/declarative-camera.qdoc | 37 +++++++--------------- .../doc/src/declarative-radio.qdoc | 10 +++--- examples/multimedia/spectrum/doc/src/spectrum.qdoc | 6 ++-- examples/multimedia/video/doc/src/qmlvideo.qdoc | 11 +++---- examples/multimedia/video/doc/src/qmlvideofx.qdoc | 11 ++++--- .../multimediawidgets/camera/doc/src/camera.qdoc | 8 ++--- .../multimediawidgets/player/doc/src/player.qdoc | 5 +-- .../doc/src/videographicsitem.qdoc | 6 ++-- .../videowidget/doc/src/videowidget.qdoc | 6 ++-- 14 files changed, 73 insertions(+), 76 deletions(-) (limited to 'examples') diff --git a/examples/multimedia/audiodevices/doc/src/audiodevices.qdoc b/examples/multimedia/audiodevices/doc/src/audiodevices.qdoc index d75584485..bdf1590fe 100644 --- a/examples/multimedia/audiodevices/doc/src/audiodevices.qdoc +++ b/examples/multimedia/audiodevices/doc/src/audiodevices.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the documentation of the Qt Toolkit. @@ -29,8 +29,8 @@ \example audiodevices \title Audio Devices Example \ingroup multimedia_examples - \brief The Audio Devices example shows the application of the audio devices APIs - + \brief The Audio Devices example shows the application of the audio devices + APIs. This example shows how to create a simple application to list and test the configuration for the various audio devices available on the device @@ -38,6 +38,5 @@ \image audiodevices.png + \include examples-run.qdocinc */ - - diff --git a/examples/multimedia/audioengine/doc/src/audioengine.qdoc b/examples/multimedia/audioengine/doc/src/audioengine.qdoc index c83247df1..52a377130 100644 --- a/examples/multimedia/audioengine/doc/src/audioengine.qdoc +++ b/examples/multimedia/audioengine/doc/src/audioengine.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the documentation of the Qt Toolkit. @@ -30,10 +30,10 @@ \title AudioEngine Example \ingroup multimedia_examples \brief The Audio Engine example demonstrates 3D sound control using - the QtAudioEngine API. + the Qt Audio Engine API. - \image audioengine.png + The Audio Engine example demonstrates 3D sound control using the + \l{Qt Audio Engine QML Types}{Qt Audio Engine} API. + \include examples-run.qdocinc */ - - diff --git a/examples/multimedia/audioinput/doc/src/audioinput.qdoc b/examples/multimedia/audioinput/doc/src/audioinput.qdoc index 39ef26156..11a513a99 100644 --- a/examples/multimedia/audioinput/doc/src/audioinput.qdoc +++ b/examples/multimedia/audioinput/doc/src/audioinput.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the documentation of the Qt Toolkit. @@ -37,7 +37,8 @@ Qt provides the QAudioInput class to enable audio functionality within a standard application user interface. - This example calculates the maximum linear value of the input audio from the microphone and displays the output. -*/ - + This example calculates the maximum linear value of the input audio from the + microphone and displays the output. + \include examples-run.qdocinc +*/ diff --git a/examples/multimedia/audiooutput/doc/src/audiooutput.qdoc b/examples/multimedia/audiooutput/doc/src/audiooutput.qdoc index bc79e6a5d..60c9d00d4 100644 --- a/examples/multimedia/audiooutput/doc/src/audiooutput.qdoc +++ b/examples/multimedia/audiooutput/doc/src/audiooutput.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the documentation of the Qt Toolkit. @@ -31,13 +31,14 @@ \ingroup multimedia_examples \brief The Audio Output Example show the use of the QAudioOutput API. - The example demonstrates the basic use cases of the QAudioOutput class. + The example demonstrates the basic use cases of the QAudioOutput class from + \l{Qt Multimedia}. \image audiooutput-example.png This example provides a tone generator to supply continuous audio playback. The first button allows pause and resume of the playback, and the second button allows toggling between push and pull modes of operation. -*/ - + \include examples-run.qdocinc +*/ diff --git a/examples/multimedia/audiorecorder/doc/src/audiorecorder.qdoc b/examples/multimedia/audiorecorder/doc/src/audiorecorder.qdoc index 8453ea34e..35f6c0511 100644 --- a/examples/multimedia/audiorecorder/doc/src/audiorecorder.qdoc +++ b/examples/multimedia/audiorecorder/doc/src/audiorecorder.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the documentation of the Qt Toolkit. @@ -34,6 +34,12 @@ It demonstrates the discovery of the supported devices and codecs and the use of recording functions in the QAudioRecorder class. + \image audiorecorder.png + + \include examples-run.qdocinc + + \section1 Displaying the Window and Audio Settings + We display a window for the user to select the appropriate audio input, codec, container, and sample rate. Allow a setting of either quality or bitrate. Finally, the output file can be selected and recording can be @@ -49,7 +55,7 @@ \l{QMultimedia::NormalQuality}, while the bitrates are hardcoded into the list. - \image audiorecorder.png + \section1 Recording Audio To record audio we simply create a QAudioRecorder object. @@ -96,5 +102,3 @@ ui->statusbar->showMessage(tr("Recorded %1 sec").arg(duration / 1000)); \endcode */ - - diff --git a/examples/multimedia/declarative-camera/doc/src/declarative-camera.qdoc b/examples/multimedia/declarative-camera/doc/src/declarative-camera.qdoc index 02e77854c..8c87b1d46 100644 --- a/examples/multimedia/declarative-camera/doc/src/declarative-camera.qdoc +++ b/examples/multimedia/declarative-camera/doc/src/declarative-camera.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the documentation of the Qt Toolkit. @@ -34,35 +34,22 @@ or video. \image qml-camera.png -This example demonstrates how to use the Qt Multimedia QML API to access -camera functions. It shows how to change settings and to capture images. +This example demonstrates how to use the +\l{Qt Multimedia QML Types}{Qt Multimedia QML API} to access camera functions. +It shows how to change settings and to capture images. + +\include examples-run.qdocinc + +\section1 Application Structure Most of the QML code supports the user interface for this application with the camera types being mostly found in \e {declarative-camera.qml} and \e {CaptureControls.qml}. -In \e {declarative-camera.qml} the \l Camera is initialized with an id -of \e {camera}, a photo preview is setup, states are implemented for image -preview or capture and \l CaptureControls is initialized. The initial -\e state is \e PhotoCapture. \l CameraCapture includes a handler, \e onImageCaptured, -for the \l {imageCaptured} signal. The handler sets up the application to process -the preview including a change in the user interface state. The \l PhotoPreview -becomes visible with any key press being picked up by the handler -in PhotoPreview and returning the state to \e PhotoCapture. - -\e CaptureControls, which is implemented in \e {CaptureControls.qml}, +CaptureControls, which is implemented in \e {CaptureControls.qml}, generates a column on the right hand side of the screen which includes control -buttons for \e focus (not initially visible), \e {capture}, \e {flash modes}, -\e {white balance}, \e {exposure compensation}, and if a preview is -available a \e {preview} button. The last button exits from the application. - -When the Capture button is pressed the \e onClicked handler calls -\l {Camera::captureImage()}{captureImage()} - - - - - - +buttons for focus (not initially visible), capture, flash modes, +white balance, exposure compensation, and if a preview is +available, a preview button. The last button exits from the application. */ diff --git a/examples/multimedia/declarative-radio/doc/src/declarative-radio.qdoc b/examples/multimedia/declarative-radio/doc/src/declarative-radio.qdoc index 99c41114a..bb1a5d89f 100644 --- a/examples/multimedia/declarative-radio/doc/src/declarative-radio.qdoc +++ b/examples/multimedia/declarative-radio/doc/src/declarative-radio.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the documentation of the Qt Toolkit. @@ -31,8 +31,8 @@ \brief Demonstrates the radio functionality \ingroup multimedia_examples - This examples uses the Qt Multimedia Radio QML type to list the available - channels on the FM frequency. -*/ - + This examples uses the \l{Qt Multimedia} \l Radio QML type to list the + available channels on the FM frequency. + \include examples-run.qdocinc +*/ diff --git a/examples/multimedia/spectrum/doc/src/spectrum.qdoc b/examples/multimedia/spectrum/doc/src/spectrum.qdoc index 280838956..3c846afdc 100644 --- a/examples/multimedia/spectrum/doc/src/spectrum.qdoc +++ b/examples/multimedia/spectrum/doc/src/spectrum.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the documentation of the Qt Toolkit. @@ -59,6 +59,6 @@ (FFT) of a segment of audio data. An open-source library, \l{http://ldesoras.free.fr/prod.html}{FFTReal}, against which the application is dynamically linked, is used to compute the transform. -*/ - + \include examples-run.qdocinc +*/ diff --git a/examples/multimedia/video/doc/src/qmlvideo.qdoc b/examples/multimedia/video/doc/src/qmlvideo.qdoc index 6d6833497..1e80cd176 100644 --- a/examples/multimedia/video/doc/src/qmlvideo.qdoc +++ b/examples/multimedia/video/doc/src/qmlvideo.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the documentation of the Qt Toolkit. @@ -34,8 +34,6 @@ resize; rotate; change aspect ratio) which can be applied to QML \l{VideoOutput} items. -\section1 Overview - This example demonstrates the various manipulations (move; resize; rotate; change aspect ratio) which can be applied to QML \l{VideoOutput} items. @@ -50,7 +48,9 @@ which moves across the \l{VideoOutput} item. \image qmlvideo-overlay.png -\section1 Application structure +\include examples-run.qdocinc + +\section1 Application Structure The \l{video/qmlvideo/qml/qmlvideo/main.qml} file creates a UI which includes the following items: @@ -127,7 +127,7 @@ instance, the embedded \l{video/qmlvideo/qml/qmlvideo/Content.qml}{Content} item creates either a \l{MediaPlayer} or a \l{Camera} item. -\section1 Calculating and displaying QML painting rate +\section1 Calculating and Displaying QML Painting Rate \input multimedia/doc/src/examples/video-qml-paint-rate.qdocinc @@ -145,4 +145,3 @@ object to a JavaScript function, which will eventually call frequencyItem.notify \printuntil SLOT(qmlFramePainted())); */ - diff --git a/examples/multimedia/video/doc/src/qmlvideofx.qdoc b/examples/multimedia/video/doc/src/qmlvideofx.qdoc index b7bd78ac7..80f087e7f 100644 --- a/examples/multimedia/video/doc/src/qmlvideofx.qdoc +++ b/examples/multimedia/video/doc/src/qmlvideofx.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the documentation of the Qt Toolkit. @@ -34,9 +34,11 @@ can be used to apply postprocessing effects, expressed in \c GLSL, to video and camera viewfinder content. +\include examples-run.qdocinc + \section1 Overview -This example shows how a \l {ShaderEffectItem} can be used to apply +This example shows how a \l {ShaderEffect} can be used to apply postprocessing effects, expressed in GLSL, to QML \l {VideoOutput} items. It also shows how native code can be combined with QML to implement more @@ -73,7 +75,7 @@ for Effect*.qml files in the list above to see the full range. \section1 Application structure Shader effects can be applied to video or viewfinder content using -\l{ShaderEffectItem}, as shown in the following example, which applies +\l{ShaderEffect}, as shown in the following example, which applies a wiggly effect to the content: \code @@ -171,7 +173,7 @@ is based on the \l{ShaderEffect}: \skipto import \printuntil /^\}/ -The interface of the \l Effect allows for derived effects to specify the +The interface of Effect allows for derived effects to specify the number of parameters which they support (and therefore the number of sliders which should be displayed), and whether a vertical dividing line should be drawn between transformed and untransformed image regions. As an example, here is the @@ -219,4 +221,3 @@ object to a JavaScript function, which will eventually call frequencyItem.notify \printuntil SLOT(qmlFramePainted())); */ - diff --git a/examples/multimediawidgets/camera/doc/src/camera.qdoc b/examples/multimediawidgets/camera/doc/src/camera.qdoc index d1a855d4e..5f6683484 100644 --- a/examples/multimediawidgets/camera/doc/src/camera.qdoc +++ b/examples/multimediawidgets/camera/doc/src/camera.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the documentation of the Qt Toolkit. @@ -35,10 +35,12 @@ \brief The Camera Example shows how to use the API to capture a still image or video. -The Camera Example demonstrates how you can use Qt Multimedia to implement +The Camera Example demonstrates how you can use \l{Qt Multimedia} to implement some basic Camera functionality to take still images and record video clips with audio. +\include examples-run.qdocinc + A Camera class is created that will act as our Camera. It has a user interface, control functions, setting values and a means of defining the location where the image or video clip is to be saved. It will also store the image and video @@ -74,5 +76,3 @@ is started with a call to \l {QMediaRecorder::record()}. \image camera-example.png */ - - diff --git a/examples/multimediawidgets/player/doc/src/player.qdoc b/examples/multimediawidgets/player/doc/src/player.qdoc index 2dfb7c3d0..29121dce4 100644 --- a/examples/multimediawidgets/player/doc/src/player.qdoc +++ b/examples/multimediawidgets/player/doc/src/player.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the documentation of the Qt Toolkit. @@ -34,6 +34,8 @@ This example creates a simple multimedia player. We can play audio and or video files using various codecs. + \include examples-run.qdocinc + The example uses a QMediaPlayer object passed into a QVideoWidget to control the video output. To give the application playlist capability we also use a QPlayList object. @@ -93,4 +95,3 @@ \endcode */ - diff --git a/examples/multimediawidgets/videographicsitem/doc/src/videographicsitem.qdoc b/examples/multimediawidgets/videographicsitem/doc/src/videographicsitem.qdoc index 3ccdba5f5..1e392ce8c 100644 --- a/examples/multimediawidgets/videographicsitem/doc/src/videographicsitem.qdoc +++ b/examples/multimediawidgets/videographicsitem/doc/src/videographicsitem.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the documentation of the Qt Toolkit. @@ -32,9 +32,11 @@ \brief This example demonstrates how to stream video on a graphics scene. The Video Graphics Item example shows how to implement a QGraphicsItem that displays video on a - graphics scene using Qt Multimedia's QAbstractVideoSurface. + graphics scene using \l{Qt Multimedia}'s QAbstractVideoSurface. \image video-videographicsitem.png \sa {Video Widget Example} + + \include examples-run.qdocinc */ diff --git a/examples/multimediawidgets/videowidget/doc/src/videowidget.qdoc b/examples/multimediawidgets/videowidget/doc/src/videowidget.qdoc index 805a830bc..6b93a3c19 100644 --- a/examples/multimediawidgets/videowidget/doc/src/videowidget.qdoc +++ b/examples/multimediawidgets/videowidget/doc/src/videowidget.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the documentation of the Qt Toolkit. @@ -32,7 +32,9 @@ \brief This example is a simple video player The Video Widget example denonstrates how to implement a video widget using - Qt Multimedia's QAbstractVideoSurface. + \l{Qt Multimedia}'s QAbstractVideoSurface. \image video-videowidget.png + + \include examples-run.qdocinc */ -- cgit v1.2.3 From 4c8284de46052970de001c5c9b96c4fa365f89b4 Mon Sep 17 00:00:00 2001 From: Niels Weber Date: Mon, 14 Apr 2014 18:36:40 +0200 Subject: Rework qmlvideofx example Task-number: QTBUG-38121 Change-Id: If06ba6ce2c66b4d735baaeb56e004861c62ea533 Reviewed-by: Alessandro Portale --- examples/multimedia/video/qmlvideofx/Info.plist | 30 ++ .../video/qmlvideofx/android/AndroidManifest.xml | 48 +++ .../video/qmlvideofx/images/Dropdown_arrows.png | Bin 0 -> 1156 bytes .../video/qmlvideofx/images/Slider_bar.png | Bin 0 -> 1129 bytes .../video/qmlvideofx/images/Slider_handle.png | Bin 0 -> 2784 bytes .../video/qmlvideofx/images/Triangle_Top.png | Bin 0 -> 2212 bytes .../video/qmlvideofx/images/Triangle_bottom.png | Bin 0 -> 2125 bytes .../multimedia/video/qmlvideofx/images/close.png | Bin 1799 -> 0 bytes .../multimedia/video/qmlvideofx/images/folder.png | Bin 1841 -> 0 bytes .../video/qmlvideofx/images/icon_BackArrow.png | Bin 0 -> 1268 bytes .../video/qmlvideofx/images/icon_Folder.png | Bin 0 -> 1829 bytes .../video/qmlvideofx/images/icon_Menu.png | Bin 0 -> 990 bytes .../video/qmlvideofx/images/titlebar.png | Bin 1436 -> 0 bytes .../video/qmlvideofx/images/titlebar.sci | 5 - examples/multimedia/video/qmlvideofx/images/up.png | Bin 662 -> 0 bytes examples/multimedia/video/qmlvideofx/main.cpp | 16 +- .../video/qmlvideofx/qml/qmlvideofx/Button.qml | 23 +- .../video/qmlvideofx/qml/qmlvideofx/Content.qml | 3 +- .../qmlvideofx/qml/qmlvideofx/ContentImage.qml | 2 +- .../qmlvideofx/qml/qmlvideofx/ContentVideo.qml | 21 +- .../video/qmlvideofx/qml/qmlvideofx/Curtain.qml | 94 +++++ .../video/qmlvideofx/qml/qmlvideofx/Divider.qml | 31 +- .../qmlvideofx/qml/qmlvideofx/EffectBillboard.qml | 2 +- .../qml/qmlvideofx/EffectBlackAndWhite.qml | 2 +- .../qml/qmlvideofx/EffectGaussianBlur.qml | 2 +- .../qmlvideofx/qml/qmlvideofx/EffectIsolate.qml | 4 +- .../qmlvideofx/qml/qmlvideofx/EffectMagnify.qml | 4 +- .../qmlvideofx/qml/qmlvideofx/EffectPageCurl.qml | 2 +- .../qmlvideofx/qml/qmlvideofx/EffectPixelate.qml | 2 +- .../qmlvideofx/qml/qmlvideofx/EffectPosterize.qml | 2 +- .../qmlvideofx/qml/qmlvideofx/EffectRipple.qml | 4 +- .../qml/qmlvideofx/EffectSelectionList.qml | 67 ++++ .../qml/qmlvideofx/EffectSelectionPanel.qml | 154 -------- .../qmlvideofx/qml/qmlvideofx/EffectSharpen.qml | 2 +- .../qmlvideofx/qml/qmlvideofx/EffectShockwave.qml | 2 +- .../qml/qmlvideofx/EffectSobelEdgeDetection1.qml | 2 +- .../qml/qmlvideofx/EffectSobelEdgeDetection2.qml | 56 --- .../video/qmlvideofx/qml/qmlvideofx/EffectToon.qml | 2 +- .../qmlvideofx/qml/qmlvideofx/EffectWobble.qml | 2 +- .../qmlvideofx/qml/qmlvideofx/FileBrowser.qml | 100 +++-- .../video/qmlvideofx/qml/qmlvideofx/FileOpen.qml | 123 ++++--- .../video/qmlvideofx/qml/qmlvideofx/Main.qml | 287 +++++++++++++++ .../qmlvideofx/qml/qmlvideofx/ParameterPanel.qml | 15 +- .../video/qmlvideofx/qml/qmlvideofx/Slider.qml | 123 +++---- .../qmlvideofx/qml/qmlvideofx/main-largescreen.qml | 186 ---------- .../qmlvideofx/qml/qmlvideofx/main-smallscreen.qml | 408 --------------------- .../multimedia/video/qmlvideofx/qmlvideofx.pro | 12 +- .../multimedia/video/qmlvideofx/qmlvideofx.qrc | 21 +- .../qmlvideofx/shaders/sobeledgedetection2.fsh | 77 ---- 49 files changed, 811 insertions(+), 1125 deletions(-) create mode 100644 examples/multimedia/video/qmlvideofx/Info.plist create mode 100644 examples/multimedia/video/qmlvideofx/android/AndroidManifest.xml create mode 100644 examples/multimedia/video/qmlvideofx/images/Dropdown_arrows.png create mode 100644 examples/multimedia/video/qmlvideofx/images/Slider_bar.png create mode 100644 examples/multimedia/video/qmlvideofx/images/Slider_handle.png create mode 100644 examples/multimedia/video/qmlvideofx/images/Triangle_Top.png create mode 100644 examples/multimedia/video/qmlvideofx/images/Triangle_bottom.png delete mode 100644 examples/multimedia/video/qmlvideofx/images/close.png delete mode 100644 examples/multimedia/video/qmlvideofx/images/folder.png create mode 100644 examples/multimedia/video/qmlvideofx/images/icon_BackArrow.png create mode 100644 examples/multimedia/video/qmlvideofx/images/icon_Folder.png create mode 100644 examples/multimedia/video/qmlvideofx/images/icon_Menu.png delete mode 100644 examples/multimedia/video/qmlvideofx/images/titlebar.png delete mode 100644 examples/multimedia/video/qmlvideofx/images/titlebar.sci delete mode 100644 examples/multimedia/video/qmlvideofx/images/up.png create mode 100644 examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Curtain.qml create mode 100644 examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectSelectionList.qml delete mode 100644 examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectSelectionPanel.qml delete mode 100644 examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectSobelEdgeDetection2.qml create mode 100644 examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Main.qml delete mode 100644 examples/multimedia/video/qmlvideofx/qml/qmlvideofx/main-largescreen.qml delete mode 100644 examples/multimedia/video/qmlvideofx/qml/qmlvideofx/main-smallscreen.qml delete mode 100644 examples/multimedia/video/qmlvideofx/shaders/sobeledgedetection2.fsh (limited to 'examples') diff --git a/examples/multimedia/video/qmlvideofx/Info.plist b/examples/multimedia/video/qmlvideofx/Info.plist new file mode 100644 index 000000000..8fc242516 --- /dev/null +++ b/examples/multimedia/video/qmlvideofx/Info.plist @@ -0,0 +1,30 @@ + + + + + UISupportedInterfaceOrientations + + UIInterfaceOrientationLandscapeRight + + UIInterfaceOrientation + UIInterfaceOrientationLandscapeRight + CFBundleIconFile + + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleExecutable + qmlvideofx + CFBundleIdentifier + com.digia.${PRODUCT_NAME:rfc1034identifier} + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleName + ${PRODUCT_NAME} + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + + diff --git a/examples/multimedia/video/qmlvideofx/android/AndroidManifest.xml b/examples/multimedia/video/qmlvideofx/android/AndroidManifest.xml new file mode 100644 index 000000000..0612d484c --- /dev/null +++ b/examples/multimedia/video/qmlvideofx/android/AndroidManifest.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/multimedia/video/qmlvideofx/images/Dropdown_arrows.png b/examples/multimedia/video/qmlvideofx/images/Dropdown_arrows.png new file mode 100644 index 000000000..0a9e25ce2 Binary files /dev/null and b/examples/multimedia/video/qmlvideofx/images/Dropdown_arrows.png differ diff --git a/examples/multimedia/video/qmlvideofx/images/Slider_bar.png b/examples/multimedia/video/qmlvideofx/images/Slider_bar.png new file mode 100644 index 000000000..84be50fae Binary files /dev/null and b/examples/multimedia/video/qmlvideofx/images/Slider_bar.png differ diff --git a/examples/multimedia/video/qmlvideofx/images/Slider_handle.png b/examples/multimedia/video/qmlvideofx/images/Slider_handle.png new file mode 100644 index 000000000..aebecdf19 Binary files /dev/null and b/examples/multimedia/video/qmlvideofx/images/Slider_handle.png differ diff --git a/examples/multimedia/video/qmlvideofx/images/Triangle_Top.png b/examples/multimedia/video/qmlvideofx/images/Triangle_Top.png new file mode 100644 index 000000000..5768e9536 Binary files /dev/null and b/examples/multimedia/video/qmlvideofx/images/Triangle_Top.png differ diff --git a/examples/multimedia/video/qmlvideofx/images/Triangle_bottom.png b/examples/multimedia/video/qmlvideofx/images/Triangle_bottom.png new file mode 100644 index 000000000..509409666 Binary files /dev/null and b/examples/multimedia/video/qmlvideofx/images/Triangle_bottom.png differ diff --git a/examples/multimedia/video/qmlvideofx/images/close.png b/examples/multimedia/video/qmlvideofx/images/close.png deleted file mode 100644 index 6904df0e4..000000000 Binary files a/examples/multimedia/video/qmlvideofx/images/close.png and /dev/null differ diff --git a/examples/multimedia/video/qmlvideofx/images/folder.png b/examples/multimedia/video/qmlvideofx/images/folder.png deleted file mode 100644 index e53e2ad46..000000000 Binary files a/examples/multimedia/video/qmlvideofx/images/folder.png and /dev/null differ diff --git a/examples/multimedia/video/qmlvideofx/images/icon_BackArrow.png b/examples/multimedia/video/qmlvideofx/images/icon_BackArrow.png new file mode 100644 index 000000000..6823de004 Binary files /dev/null and b/examples/multimedia/video/qmlvideofx/images/icon_BackArrow.png differ diff --git a/examples/multimedia/video/qmlvideofx/images/icon_Folder.png b/examples/multimedia/video/qmlvideofx/images/icon_Folder.png new file mode 100644 index 000000000..62d97004f Binary files /dev/null and b/examples/multimedia/video/qmlvideofx/images/icon_Folder.png differ diff --git a/examples/multimedia/video/qmlvideofx/images/icon_Menu.png b/examples/multimedia/video/qmlvideofx/images/icon_Menu.png new file mode 100644 index 000000000..bc078612e Binary files /dev/null and b/examples/multimedia/video/qmlvideofx/images/icon_Menu.png differ diff --git a/examples/multimedia/video/qmlvideofx/images/titlebar.png b/examples/multimedia/video/qmlvideofx/images/titlebar.png deleted file mode 100644 index 51c90082d..000000000 Binary files a/examples/multimedia/video/qmlvideofx/images/titlebar.png and /dev/null differ diff --git a/examples/multimedia/video/qmlvideofx/images/titlebar.sci b/examples/multimedia/video/qmlvideofx/images/titlebar.sci deleted file mode 100644 index 0418d94cd..000000000 --- a/examples/multimedia/video/qmlvideofx/images/titlebar.sci +++ /dev/null @@ -1,5 +0,0 @@ -border.left: 10 -border.top: 12 -border.bottom: 12 -border.right: 10 -source: titlebar.png diff --git a/examples/multimedia/video/qmlvideofx/images/up.png b/examples/multimedia/video/qmlvideofx/images/up.png deleted file mode 100644 index b05f8025d..000000000 Binary files a/examples/multimedia/video/qmlvideofx/images/up.png and /dev/null differ diff --git a/examples/multimedia/video/qmlvideofx/main.cpp b/examples/multimedia/video/qmlvideofx/main.cpp index 7465deab8..f221c954a 100644 --- a/examples/multimedia/video/qmlvideofx/main.cpp +++ b/examples/multimedia/video/qmlvideofx/main.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Mobility Components. @@ -48,12 +48,6 @@ #include "filereader.h" #include "trace.h" -#ifdef SMALL_SCREEN_LAYOUT - static const QLatin1String MainQmlFile("main-smallscreen.qml"); -#else - static const QLatin1String MainQmlFile("main-largescreen.qml"); -#endif - #ifdef PERFORMANCEMONITOR_SUPPORT #include "performancemonitordeclarative.h" #endif @@ -99,7 +93,7 @@ int main(int argc, char *argv[]) QQuickView viewer; - viewer.setSource(QLatin1String("qrc:///qml/qmlvideofx/") + MainQmlFile); + viewer.setSource(QUrl(QLatin1String("qrc:///qml/qmlvideofx/Main.qml"))); QQuickItem *rootObject = viewer.rootObject(); rootObject->setProperty("fileName", fileName); viewer.rootObject()->setProperty("volume", volume); @@ -128,13 +122,9 @@ int main(int argc, char *argv[]) viewer.setTitle("qmlvideofx"); viewer.setFlags(Qt::Window | Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint); - viewer.setMinimumSize(QSize(600, 400)); + viewer.setMinimumSize(QSize(640, 360)); -#ifdef SMALL_SCREEN_PHYSICAL - viewer.showFullScreen(); -#else viewer.show(); -#endif // Delay invocation of init until the event loop has started, to work around // a GL context issue on Harmattan: without this, we get the following error diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Button.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Button.qml index eb82aceed..dd7cca602 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Button.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Button.qml @@ -43,29 +43,33 @@ import QtQuick 2.0 Rectangle { id: root - color: textColor - radius: 0.25 * height + color: "transparent" + height: itemHeight + width: itemWidth property string text - property color bgColor: "white" - property color bgColorSelected: "red" - property color textColor: "black" + property color bgColor: "transparent" + property color bgColorSelected: "#14aaff" + property color textColor: "white" property alias enabled: mouseArea.enabled + property bool active: true + property alias horizontalAlign: text.horizontalAlignment signal clicked Rectangle { anchors { fill: parent; margins: 1 } color: mouseArea.pressed ? bgColorSelected : bgColor - radius: 0.25 * height + radius: 0.1 * height Text { id: text - anchors.centerIn: parent + clip: true text: root.text - font.pixelSize: 0.5 * parent.height + anchors { fill: parent; margins: scaledMargin } + font.pixelSize: fontSize color: mouseArea.pressed ? bgColor : textColor - horizontalAlignment: Text.AlignHCenter + horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } @@ -75,6 +79,7 @@ Rectangle { onClicked: { root.clicked() } + enabled: active } } } diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Content.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Content.qml index d3a2e9f42..72b7cca7e 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Content.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Content.qml @@ -39,11 +39,10 @@ ** ****************************************************************************/ -import QtQuick 2.0 +import QtQuick 2.1 Rectangle { id: root - color: "black" property alias effect: effectLoader.item property alias gripSize: divider.gripSize property string effectSource diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/ContentImage.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/ContentImage.qml index 0fa047bb1..2bce20bf0 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/ContentImage.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/ContentImage.qml @@ -39,7 +39,7 @@ ** ****************************************************************************/ -import QtQuick 2.0 +import QtQuick 2.1 Image { fillMode: Image.PreserveAspectFit diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/ContentVideo.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/ContentVideo.qml index be09f7ea5..6491ceff2 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/ContentVideo.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/ContentVideo.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Mobility Components. @@ -39,13 +39,14 @@ ** ****************************************************************************/ -import QtQuick 2.0 +import QtQuick 2.1 import QtMultimedia 5.0 VideoOutput { source: mediaPlayer property alias mediaSource: mediaPlayer.source property alias volume: mediaPlayer.volume + property bool isRunning: true MediaPlayer { id: mediaPlayer @@ -55,5 +56,21 @@ VideoOutput { } function play() { mediaPlayer.play() } + function pause() { mediaPlayer.pause() } function stop() { mediaPlayer.stop() } + + function toggleplay() { + if (isRunning) { + pause() + isRunning = false + } else { + play() + isRunning = true + } + } + + MouseArea { + anchors.fill: parent + onClicked: toggleplay() + } } diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Curtain.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Curtain.qml new file mode 100644 index 000000000..253e3c397 --- /dev/null +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Curtain.qml @@ -0,0 +1,94 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Mobility Components. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.0 + +Rectangle { + id: root + color: "transparent" + radius: 5 + property alias value: grip.value + property color gripColor: "transparent" + property real gripSize: 20 + property real gripTolerance: 3.0 + property real increment: 0.1 + property bool enabled: true + property string imageSource: "qrc:/images/Triangle_Top.png" + + Rectangle { + id: grip + property real value: 0.5 + x: (value * parent.width) - width/2 + anchors.verticalCenter: parent.verticalCenter + width: root.gripTolerance * root.gripSize + height: width + radius: width/2 + color: "transparent" + + Image { + id: sliderhandleimage + source: imageSource + anchors.centerIn: parent + } + + MouseArea { + id: mouseArea + enabled: root.enabled + anchors.fill: parent + drag { + target: grip + axis: Drag.XAxis + minimumX: -parent.width/2 + maximumX: root.width - parent.width/2 + } + onPositionChanged: { + if (drag.active) + updatePosition() + } + onReleased: { + updatePosition() + } + function updatePosition() { + value = (grip.x + grip.width/2) / grip.parent.width + } + } + } +} diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Divider.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Divider.qml index 390818bbc..45c2606f9 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Divider.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Divider.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Mobility Components. @@ -39,7 +39,7 @@ ** ****************************************************************************/ -import QtQuick 2.0 +import QtQuick 2.1 Rectangle { id: root @@ -53,21 +53,34 @@ Rectangle { id: line anchors { top: parent.top; bottom: parent.bottom } x: parent.value * parent.width - (width / 2) - width: 2 - color: "red" + width: 4 + color: "#14aaff" } - Slider { + // topgrip + Curtain { id: slider increment: 0.0 - lineColor: "transparent" - fillColor: "transparent" - gripColor: "red" anchors { top: parent.top - topMargin: gripSize / 2 + topMargin: (gripSize / 2) + 5 left: parent.left right: parent.right } + onValueChanged: slider2.value = slider.value + } + + // bottomgrip + Curtain { + id: slider2 + increment: 0.0 + anchors { + bottom: parent.bottom + bottomMargin: (gripSize / 2) + 5 + left: parent.left + right: parent.right + } + imageSource: "qrc:/images/Triangle_bottom.png" + onValueChanged: slider.value = slider2.value } } diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectBillboard.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectBillboard.qml index 4e3adc3e2..1e2077246 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectBillboard.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectBillboard.qml @@ -44,7 +44,7 @@ import QtQuick 2.0 Effect { parameters: ListModel { ListElement { - name: "grid spacing" + name: "Grid Spacing" value: 0.5 } } diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectBlackAndWhite.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectBlackAndWhite.qml index 5e37c70ce..85f2abc7d 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectBlackAndWhite.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectBlackAndWhite.qml @@ -44,7 +44,7 @@ import QtQuick 2.0 Effect { parameters: ListModel { ListElement { - name: "threshold" + name: "Threshold" value: 0.5 } } diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectGaussianBlur.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectGaussianBlur.qml index 00fab0448..f0cad5288 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectGaussianBlur.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectGaussianBlur.qml @@ -49,7 +49,7 @@ Item { property real dividerValue: 0.5 property ListModel parameters: ListModel { ListElement { - name: "radius" + name: "Radius" value: 0.5 } } diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectIsolate.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectIsolate.qml index f3650419c..80c7ccaed 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectIsolate.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectIsolate.qml @@ -44,11 +44,11 @@ import QtQuick 2.0 Effect { parameters: ListModel { ListElement { - name: "hue" + name: "Hue" value: 0.5 } ListElement { - name: "width" + name: "Width" value: 0.5 } } diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectMagnify.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectMagnify.qml index d93e72c9e..3fd35eaae 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectMagnify.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectMagnify.qml @@ -46,11 +46,11 @@ Effect { divider: false parameters: ListModel { ListElement { - name: "radius" + name: "Radius" value: 0.5 } ListElement { - name: "diffraction" + name: "Diffraction" value: 0.5 } } diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectPageCurl.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectPageCurl.qml index e4fc1f78f..c035b9b62 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectPageCurl.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectPageCurl.qml @@ -45,7 +45,7 @@ Effect { divider: false parameters: ListModel { ListElement { - name: "extent" + name: "Extent" value: 0.5 } } diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectPixelate.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectPixelate.qml index 002a74a46..7a0f21984 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectPixelate.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectPixelate.qml @@ -44,7 +44,7 @@ import QtQuick 2.0 Effect { parameters: ListModel { ListElement { - name: "granularity" + name: "Granularity" value: 0.5 } } diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectPosterize.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectPosterize.qml index bda473764..084b28c17 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectPosterize.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectPosterize.qml @@ -44,7 +44,7 @@ import QtQuick 2.0 Effect { parameters: ListModel { ListElement { - name: "gamma" + name: "Gamma" value: 0.5 } } diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectRipple.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectRipple.qml index 7932b4c12..e0a2b0227 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectRipple.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectRipple.qml @@ -44,11 +44,11 @@ import QtQuick 2.0 Effect { parameters: ListModel { ListElement { - name: "amplitude" + name: "Amplitude" value: 0.5 } ListElement { - name: "frequency" + name: "Frequency" value: 0.5 } } diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectSelectionList.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectSelectionList.qml new file mode 100644 index 000000000..fa92bb7ca --- /dev/null +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectSelectionList.qml @@ -0,0 +1,67 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Mobility Components. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.0 + +ListModel { + id: sources + ListElement { name: "No effect"; source: "EffectPassThrough.qml" } + ListElement { name: "Billboard"; source: "EffectBillboard.qml" } + ListElement { name: "Black & white"; source: "EffectBlackAndWhite.qml" } + ListElement { name: "Blur"; source: "EffectGaussianBlur.qml" } + ListElement { name: "Edge detection"; source: "EffectSobelEdgeDetection1.qml" } + ListElement { name: "Emboss"; source: "EffectEmboss.qml" } + ListElement { name: "Glow"; source: "EffectGlow.qml" } + ListElement { name: "Isolate"; source: "EffectIsolate.qml" } + //ListElement { name: "Magnify"; source: "EffectMagnify.qml" } + ListElement { name: "Page curl"; source: "EffectPageCurl.qml" } + ListElement { name: "Pixelate"; source: "EffectPixelate.qml" } + ListElement { name: "Posterize"; source: "EffectPosterize.qml" } + ListElement { name: "Ripple"; source: "EffectRipple.qml" } + ListElement { name: "Sepia"; source: "EffectSepia.qml" } + ListElement { name: "Sharpen"; source: "EffectSharpen.qml" } + ListElement { name: "Shockwave"; source: "EffectShockwave.qml" } + ListElement { name: "Tilt shift"; source: "EffectTiltShift.qml" } + ListElement { name: "Toon"; source: "EffectToon.qml" } + ListElement { name: "Warhol"; source: "EffectWarhol.qml" } + ListElement { name: "Wobble"; source: "EffectWobble.qml" } + ListElement { name: "Vignette"; source: "EffectVignette.qml" } +} diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectSelectionPanel.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectSelectionPanel.qml deleted file mode 100644 index 948a4e888..000000000 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectSelectionPanel.qml +++ /dev/null @@ -1,154 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt Mobility Components. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -import QtQuick 2.0 - -Rectangle { - id: root - property int itemHeight: 25 - property string effectSource: "" - - signal clicked - - QtObject { - id: d - property Item selectedItem - } - - ListModel { - id: sources - ListElement { name: "No effect"; source: "EffectPassThrough.qml" } - ListElement { name: "Billboard"; source: "EffectBillboard.qml" } - ListElement { name: "Black & white"; source: "EffectBlackAndWhite.qml" } - ListElement { name: "Blur"; source: "EffectGaussianBlur.qml" } - ListElement { name: "Edge detection"; source: "EffectSobelEdgeDetection1.qml" } - //ListElement { name: "Edge detection (Sobel, #2)"; source: "EffectSobelEdgeDetection2.qml" } - ListElement { name: "Emboss"; source: "EffectEmboss.qml" } - ListElement { name: "Glow"; source: "EffectGlow.qml" } - ListElement { name: "Isolate"; source: "EffectIsolate.qml" } - ListElement { name: "Magnify"; source: "EffectMagnify.qml" } - ListElement { name: "Page curl"; source: "EffectPageCurl.qml" } - ListElement { name: "Pixelate"; source: "EffectPixelate.qml" } - ListElement { name: "Posterize"; source: "EffectPosterize.qml" } - ListElement { name: "Ripple"; source: "EffectRipple.qml" } - ListElement { name: "Sepia"; source: "EffectSepia.qml" } - ListElement { name: "Sharpen"; source: "EffectSharpen.qml" } - ListElement { name: "Shockwave"; source: "EffectShockwave.qml" } - ListElement { name: "Tilt shift"; source: "EffectTiltShift.qml" } - ListElement { name: "Toon"; source: "EffectToon.qml" } - ListElement { name: "Warhol"; source: "EffectWarhol.qml" } - ListElement { name: "Wobble"; source: "EffectWobble.qml" } - ListElement { name: "Vignette"; source: "EffectVignette.qml" } - } - - Component { - id: sourceDelegate - Item { - id: sourceDelegateItem - width: root.width - height: itemHeight - - Button { - id: sourceSelectorItem - anchors.centerIn: parent - width: 0.9 * parent.width - height: 0.8 * itemHeight - text: name - onClicked: { - if (d.selectedItem) - d.selectedItem.state = "baseState" - d.selectedItem = sourceDelegateItem - d.selectedItem.state = "selected" - effectSource = source - root.clicked() - } - } - - states: [ - State { - name: "selected" - PropertyChanges { - target: sourceSelectorItem - bgColor: "#ff8888" - } - } - ] - - Component.onCompleted: { - if (name == "No effect") { - state = "selected" - d.selectedItem = sourceDelegateItem - } - } - - transitions: [ - Transition { - from: "*" - to: "*" - ColorAnimation { - properties: "color" - easing.type: Easing.OutQuart - duration: 500 - } - } - ] - } - } - - Flickable { - anchors.fill: parent - contentHeight: (itemHeight * sources.count) + layout.anchors.topMargin + layout.spacing - clip: true - - Column { - id: layout - - anchors { - fill: parent - topMargin: 10 - } - - Repeater { - model: sources - delegate: sourceDelegate - } - } - } -} diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectSharpen.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectSharpen.qml index 25215980d..f59544dc9 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectSharpen.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectSharpen.qml @@ -44,7 +44,7 @@ import QtQuick 2.0 Effect { parameters: ListModel { ListElement { - name: "sharpness" + name: "Sharpness" value: 0.5 } } diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectShockwave.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectShockwave.qml index 0e1b1785f..746445b46 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectShockwave.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectShockwave.qml @@ -45,7 +45,7 @@ Effect { id: root parameters: ListModel { ListElement { - name: "amplitude" + name: "Amplitude" value: 0.5 } } diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectSobelEdgeDetection1.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectSobelEdgeDetection1.qml index 6724a8449..7b03dbfdb 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectSobelEdgeDetection1.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectSobelEdgeDetection1.qml @@ -44,7 +44,7 @@ import QtQuick 2.0 Effect { parameters: ListModel { ListElement { - name: "threshold" + name: "Threshold" value: 0.5 } } diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectSobelEdgeDetection2.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectSobelEdgeDetection2.qml deleted file mode 100644 index 33336537f..000000000 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectSobelEdgeDetection2.qml +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt Mobility Components. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -Effect { - parameters: ListModel { - ListElement { - name: "threshold" - value: 0.5 - } - } - - // Transform slider values, and bind result to shader uniforms - property real weight: parameters.get(0).value - - fragmentShaderFilename: "sobeledgedetection2.fsh" -} diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectToon.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectToon.qml index ff985e563..ecba40623 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectToon.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectToon.qml @@ -44,7 +44,7 @@ import QtQuick 2.0 Effect { parameters: ListModel { ListElement { - name: "threshold" + name: "Threshold" value: 0.5 } } diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectWobble.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectWobble.qml index 97e7c061c..aa07c1a68 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectWobble.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/EffectWobble.qml @@ -44,7 +44,7 @@ import QtQuick 2.0 Effect { parameters: ListModel { ListElement { - name: "amplitude" + name: "Amplitude" value: 0.5 } } diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/FileBrowser.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/FileBrowser.qml index 7c8610361..c75b6f255 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/FileBrowser.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/FileBrowser.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Mobility Components. @@ -39,12 +39,13 @@ ** ****************************************************************************/ -import QtQuick 2.0 -import Qt.labs.folderlistmodel 2.0 +import QtQuick 2.1 +import Qt.labs.folderlistmodel 2.1 Rectangle { id: fileBrowser color: "transparent" + z: 4 property string folder property bool shown: loader.sourceComponent @@ -75,12 +76,12 @@ Rectangle { Rectangle { id: root - color: "white" + color: "black" property bool showFocusHighlight: false property variant folders: folders1 property variant view: view1 property alias folder: folders1.folder - property color textColor: "black" + property color textColor: "white" FolderListModel { id: folders1 @@ -112,7 +113,7 @@ Rectangle { fileBrowser.selectFile(path) } width: root.width - height: 52 + height: itemHeight color: "transparent" Rectangle { @@ -126,10 +127,12 @@ Rectangle { } Item { - width: 48; height: 48 + width: itemHeight; height: itemHeight Image { - source: "qrc:/images/folder.png" - anchors.centerIn: parent + source: "qrc:/images/icon_Folder.png" + fillMode: Image.PreserveAspectFit + anchors.fill: parent + anchors.margins: scaledMargin visible: folders.isFolder(index) } } @@ -138,8 +141,8 @@ Rectangle { id: nameText anchors.fill: parent; verticalAlignment: Text.AlignVCenter text: fileName - anchors.leftMargin: 54 - font.pixelSize: 32 + anchors.leftMargin: itemHeight + scaledMargin + font.pixelSize: fontSize color: (wrapper.ListView.isCurrentItem && root.showFocusHighlight) ? palette.highlightedText : textColor elide: Text.ElideRight } @@ -262,56 +265,45 @@ Rectangle { Keys.onPressed: root.keyPressed(event.key) } - Rectangle { + Button { id: cancelButton - width: 100 - height: titleBar.height - 7 - color: "black" - anchors { bottom: parent.bottom; horizontalCenter: parent.horizontalCenter } - - Text { - anchors { fill: parent; margins: 4 } - text: "Cancel" - color: "white" - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - font.pixelSize: 20 - } - - MouseArea { - anchors.fill: parent - onClicked: fileBrowser.selectFile("") - } + width: itemWidth + height: itemHeight + color: "#353535" + anchors { bottom: parent.bottom; right: parent.right; margins: 5 * scaledMargin } + text: "Cancel" + horizontalAlign: Text.AlignHCenter + onClicked: fileBrowser.selectFile("") } Keys.onPressed: { root.keyPressed(event.key); - if (event.key == Qt.Key_Return || event.key == Qt.Key_Select || event.key == Qt.Key_Right) { + if (event.key === Qt.Key_Return || event.key === Qt.Key_Select || event.key === Qt.Key_Right) { view.currentItem.launch(); event.accepted = true; - } else if (event.key == Qt.Key_Left) { + } else if (event.key === Qt.Key_Left) { up(); } } - BorderImage { - source: "qrc:/images/titlebar.sci"; + // titlebar + Rectangle { + color: "black" width: parent.width; - height: 52 - y: -7 + height: itemHeight id: titleBar Rectangle { id: upButton - width: 48 - height: titleBar.height - 7 + width: titleBar.height + height: titleBar.height color: "transparent" - Image { anchors.centerIn: parent; source: "qrc:/images/up.png" } - MouseArea { id: upRegion; anchors.centerIn: parent - width: 56 - height: 56 - onClicked: up() - } + anchors.left: parent.left + anchors.verticalCenter: parent.verticalCenter + anchors.margins: scaledMargin + + Image { anchors.fill: parent; anchors.margins: scaledMargin; source: "qrc:/images/icon_BackArrow.png" } + MouseArea { id: upRegion; anchors.fill: parent; onClicked: up() } states: [ State { name: "pressed" @@ -321,23 +313,23 @@ Rectangle { ] } - Rectangle { - color: "gray" - x: 48 - width: 1 - height: 44 - } - Text { anchors.left: upButton.right; anchors.right: parent.right; height: parent.height - anchors.leftMargin: 4; anchors.rightMargin: 4 + anchors.leftMargin: 10; anchors.rightMargin: 4 text: folders.folder color: "white" - elide: Text.ElideLeft; horizontalAlignment: Text.AlignRight; verticalAlignment: Text.AlignVCenter - font.pixelSize: 32 + elide: Text.ElideLeft; horizontalAlignment: Text.AlignLeft; verticalAlignment: Text.AlignVCenter + font.pixelSize: fontSize } } + Rectangle { + color: "#353535" + width: parent.width + height: 1 + anchors.top: titleBar.bottom + } + function down(path) { if (folders == folders1) { view = view2 diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/FileOpen.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/FileOpen.qml index 716f4165b..b0542cb80 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/FileOpen.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/FileOpen.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Mobility Components. @@ -39,56 +39,95 @@ ** ****************************************************************************/ -import QtQuick 2.0 +import QtQuick 2.1 Rectangle { id: root - color: "white" - property int buttonHeight: 35 - property int topMargin: 0 - + color: "#151515" + signal openCamera signal openImage signal openVideo - signal openCamera signal close - Rectangle { - anchors { - top: parent.top; - topMargin: root.topMargin - bottom: parent.bottom; - horizontalCenter: parent.horizontalCenter - } - width: 0.9 * parent.width - color: "transparent" - - Column { - anchors.fill: parent - spacing: 5 - Button { - text: "Open image" - height: buttonHeight - width: parent.width - onClicked: root.openImage() - } - Button { - text: "Open video" - height: buttonHeight - width: parent.width - onClicked: root.openVideo() + Column { + anchors.fill: parent + spacing: 10 + Rectangle { + height: itemHeight + width: itemHeight + color: "transparent" + anchors.right: parent.right + Image { + id: menu + source: "qrc:///images/icon_Menu.png" + anchors { + right: parent.right + top: parent.top + margins: scaledMargin + } } - Button { - text: "Start camera" - height: buttonHeight - width: parent.width - onClicked: root.openCamera() - } - Button { - text: "Reset" - height: buttonHeight - width: parent.width - onClicked: root.close() + MouseArea { + anchors.fill: parent + onClicked: fileOpen.state == "expanded" ? fileOpen.state = "collapsed" : fileOpen.state = "expanded" } } + Rectangle { + width: 0.9 * parent.width + height: 1 + color: "#353535" + anchors.left: parent.left + } + Button { + text: "Start camera" + height: itemHeight + width: parent.width + onClicked: root.openCamera() + active: fileOpen.state == "expanded" + } + Rectangle { + width: 0.9 * parent.width + height: 1 + color: "#353535" + anchors.left: parent.left + } + Button { + text: "Open image" + height: itemHeight + width: parent.width + onClicked: root.openImage() + active: fileOpen.state == "expanded" + } + Rectangle { + width: 0.9 * parent.width + height: 1 + color: "#353535" + anchors.left: parent.left + } + Button { + text: "Open video" + height: itemHeight + width: parent.width + onClicked: root.openVideo() + active: fileOpen.state == "expanded" + } + Rectangle { + width: 0.9 * parent.width + height: 1 + color: "#353535" + anchors.left: parent.left + } + Button { + text: "Reset" + height: itemHeight + width: parent.width + onClicked: root.close() + active: fileOpen.state == "expanded" + } + Rectangle { + width: 0.9 * parent.width + height: 1 + color: "#353535" + anchors.left: parent.left + } } } diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Main.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Main.qml new file mode 100644 index 000000000..5ec13750f --- /dev/null +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Main.qml @@ -0,0 +1,287 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Mobility Components. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.1 +import QtQuick.Window 2.1 + +Rectangle { + id: root + color: "black" + property string fileName + property alias volume: content.volume + property bool perfMonitorsLogging: false + property bool perfMonitorsVisible: false + property int pixDens: Math.ceil(Screen.pixelDensity) + property int itemWidth: 25 * pixDens + property int itemHeight: 10 * pixDens + property int windowWidth: Screen.desktopAvailableWidth + property int windowHeight: Screen.desktopAvailableHeight + property int scaledMargin: 2 * pixDens + property int fontSize: 5 * pixDens + + QtObject { + id: d + property real gripSize: 20 + } + + Content { + id: content + color: "transparent" + anchors { + top: parent.top + left: parent.left + right: parent.right + bottom: parameterPanel.top + margins: scaledMargin + leftMargin: scaledMargin + itemHeight + } + gripSize: d.gripSize + } + + ParameterPanel { + id: parameterPanel + anchors { + left: parent.left + right: listview.left + bottom: parent.bottom + margins: scaledMargin + leftMargin: scaledMargin + itemHeight + } + gripSize: d.gripSize + height: root.itemHeight * 2.5 + width: root.itemWidth * 3 + + } + + + Button { + id: effectName + anchors { + right: parent.right + bottom: perfHolder.top + top: content.bottom + margins: scaledMargin + } + + text: "No effect" + width: itemWidth * 2 + onClicked: { + effectName.visible = false + listview.visible = true + } + color: "#303030" + } + + + ListView { + id: listview + width: itemWidth * 2 + anchors { + right: parent.right + bottom: perfHolder.top + top: parent.top + margins: scaledMargin + } + visible: false + + model: EffectSelectionList {} + delegate: effectDelegate + + highlight: Rectangle { color: "#14aaff"; radius: 5 } + highlightFollowsCurrentItem: true + highlightRangeMode: ListView.StrictlyEnforceRange + clip: true + focus: true + + Component { + id: effectDelegate + Button { + text: name + width: itemWidth * 2 + onClicked: { + content.effectSource = source + listview.visible = false + effectName.text = name + effectName.visible = true + parameterPanel.model = content.effect.parameters + + } + } + } + } + + Rectangle { + id: perfHolder + color: "transparent" + anchors { + right: parent.right + bottom: parent.bottom + margins: scaledMargin + } + height: root.itemHeight * 1.5 + width: root.itemWidth + + Loader { + id: performanceLoader + function init() { + console.log("[qmlvideofx] performanceLoader.init logging " + root.perfMonitorsLogging + " visible " + root.perfMonitorsVisible) + var enabled = root.perfMonitorsLogging || root.perfMonitorsVisible + source = enabled ? "../performancemonitor/PerformanceItem.qml" : "" + } + onLoaded: { + item.parent = perfHolder + item.anchors.top = perfHolder.top + item.anchors.bottom = perfHolder.bottom + item.anchors.left = perfHolder.left + item.anchors.right = perfHolder.right + item.logging = root.perfMonitorsLogging + item.displayed = root.perfMonitorsVisible + item.init() + } + } + } + + FileOpen { + id: fileOpen + state: "collapsed" + anchors { + left: parent.left + top: parent.top + bottom: parent.bottom + margins: scaledMargin + } + width: itemHeight + scaledMargin + z: 2 + opacity: 0.9 + + states: [ + State { + name: "expanded" + PropertyChanges { + target: fileOpen + width: itemWidth * 1.5 + opacity: 0.8 + } + }, + State { + name: "collapsed" + PropertyChanges { + target: fileOpen + width: itemHeight + scaledMargin + opacity: 0.9 + } + } + ] + + transitions: [ + Transition { + NumberAnimation { target: fileOpen; property: "width"; duration: 400 } + NumberAnimation { target: fileOpen; property: "opacity"; duration: 400 } + } + ] + } + + FileBrowser { + id: imageFileBrowser + anchors.fill: root + Component.onCompleted: fileSelected.connect(content.openImage) + } + + FileBrowser { + id: videoFileBrowser + anchors.fill: root + Component.onCompleted: fileSelected.connect(content.openVideo) + } + + Component.onCompleted: { + fileOpen.openImage.connect(openImage) + fileOpen.openVideo.connect(openVideo) + fileOpen.openCamera.connect(openCamera) + fileOpen.close.connect(close) + } + + function init() { + if (Qt.platform.os === "linux" || Qt.platform.os === "windows" || Qt.platform.os === "osx" || Qt.platform.os === "unix") { + if (Screen.desktopAvailableWidth > 1280) { + windowWidth = 1280 + } + if (Screen.desktopAvailableHeight > 720) { + windowHeight = 720 + } + } + + height = windowHeight + width = windowWidth + + console.log("[qmlvideofx] root.init") + console.log("Height: ", Screen.desktopAvailableHeight) + console.log("Width: ", Screen.desktopAvailableWidth) + console.log("Pixels per mm: ", Math.ceil(Screen.pixelDensity)) + console.log("Orientation: ", Screen.orientation) + imageFileBrowser.folder = imagePath + videoFileBrowser.folder = videoPath + content.init() + performanceLoader.init() + if (fileName != "") + content.openVideo(fileName) + } + + function qmlFramePainted() { + if (performanceLoader.item) + performanceLoader.item.qmlFramePainted() + } + + function openImage() { + imageFileBrowser.show() + } + + function openVideo() { + videoFileBrowser.show() + } + + function openCamera() { + content.openCamera() + } + + function close() { + content.init() + } +} diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/ParameterPanel.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/ParameterPanel.qml index 83c0d4c8d..aa4315c9d 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/ParameterPanel.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/ParameterPanel.qml @@ -47,17 +47,12 @@ Rectangle { height: view.model.count * sliderHeight property color lineColor: "black" property real gripSize: 25 - property real spacing: 10 - property real sliderHeight: 40 + property real spacing: 20 + property real sliderHeight: 60 property ListModel model: ListModel { } - Rectangle { - anchors.fill: parent - color: "black" - opacity: 0.5 - radius: 10 - } + anchors.topMargin: 10 Component { id: editDelegate @@ -77,10 +72,10 @@ Rectangle { bottom: parent.bottom left: parent.left } - font.pixelSize: 0.5 * parent.height + font.pixelSize: fontSize horizontalAlignment: Text.AlignRight verticalAlignment: Text.AlignVCenter - width: 150 + width: 8 * fontSize } Slider { diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Slider.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Slider.qml index c12537022..97b52c87b 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Slider.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Slider.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Mobility Components. @@ -39,91 +39,84 @@ ** ****************************************************************************/ -import QtQuick 2.0 +import QtQuick 2.1 Rectangle { id: root color: "transparent" radius: 5 property alias value: grip.value - property color fillColor: "white" - property color lineColor: "black" - property color gripColor: "white" - property real gripSize: 20 + property color fillColor: "#14aaff" + property real gripSize: 40 property real gripTolerance: 3.0 property real increment: 0.1 property bool enabled: true Rectangle { - anchors { left: parent.left; right: parent.right; verticalCenter: parent.verticalCenter } - height: 3 - color: displayedColor(root.lineColor) + id: slider + anchors { + left: parent.left + right: parent.right + verticalCenter: parent.verticalCenter + } + height: 10 + color: "transparent" + BorderImage { + id: sliderbarimage + source: "qrc:/images/Slider_bar.png" + anchors { fill: parent; margins: 1 } + border.right: 5 + border.left: 5 + } Rectangle { - anchors { fill: parent; margins: 1 } + height: parent.height -2 + anchors.left: parent.left + anchors.right: grip.horizontalCenter color: root.fillColor + radius: 3 + border.width: 1 + border.color: Qt.darker(color, 1.3) + opacity: 0.8 } - } + Rectangle { + id: grip + property real value: 0.5 + x: (value * parent.width) - width/2 + anchors.verticalCenter: parent.verticalCenter + width: root.gripTolerance * root.gripSize + height: width + radius: width/2 + color: "transparent" - MouseArea { - anchors.fill: parent - enabled: root.enabled - onClicked: { - if (parent.width) { - var newValue = mouse.x / parent.width - if (Math.abs(newValue - parent.value) > parent.increment) { - if (newValue > parent.value) - parent.value = Math.min(1.0, parent.value + parent.increment) - else - parent.value = Math.max(0.0, parent.value - parent.increment) - } + Image { + id: sliderhandleimage + source: "qrc:/images/Slider_handle.png" + anchors.centerIn: parent } - } - } - - Rectangle { - id: grip - property real value: 0.5 - x: (value * parent.width) - width/2 - anchors.verticalCenter: parent.verticalCenter - width: root.gripTolerance * root.gripSize - height: width - radius: width/2 - color: "transparent" - MouseArea { - id: mouseArea - enabled: root.enabled - anchors.fill: parent - drag { - target: grip - axis: Drag.XAxis - minimumX: -parent.width/2 - maximumX: root.width - parent.width/2 - } - onPositionChanged: { - if (drag.active) + MouseArea { + id: mouseArea + enabled: root.enabled + anchors.fill: parent + drag { + target: grip + axis: Drag.XAxis + minimumX: -parent.width/2 + maximumX: root.width - parent.width/2 + } + onPositionChanged: { + if (drag.active) + updatePosition() + } + onReleased: { updatePosition() - } - onReleased: { - updatePosition() - } - function updatePosition() { - value = (grip.x + grip.width/2) / grip.parent.width + } + function updatePosition() { + value = (grip.x + grip.width/2) / slider.width + } } } - Rectangle { - anchors.centerIn: parent - width: root.gripSize - height: width - radius: width/2 - color: root.gripColor - } - } - - function displayedColor(c) { - var tint = Qt.rgba(c.r, c.g, c.b, 0.25) - return enabled ? c : Qt.tint(c, tint) } } diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/main-largescreen.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/main-largescreen.qml deleted file mode 100644 index 63a0a01ac..000000000 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/main-largescreen.qml +++ /dev/null @@ -1,186 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt Mobility Components. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -Rectangle { - id: root - width: 900 - height: 600 - color: "grey" - property string fileName - property alias volume: content.volume - property bool perfMonitorsLogging: false - property bool perfMonitorsVisible: false - - QtObject { - id: d - property real gripSize: 20 - } - - Rectangle { - id: inner - anchors.fill: parent - color: "grey" - - Content { - id: content - anchors { - top: parent.top - bottom: parent.bottom - left: parent.left - right: effectSelectionPanel.left - margins: 5 - } - gripSize: d.gripSize - width: 600 - height: 600 - } - - Loader { - id: performanceLoader - function init() { - console.log("[qmlvideofx] performanceLoader.init logging " + root.perfMonitorsLogging + " visible " + root.perfMonitorsVisible) - var enabled = root.perfMonitorsLogging || root.perfMonitorsVisible - source = enabled ? "../performancemonitor/PerformanceItem.qml" : "" - } - onLoaded: { - item.parent = content - item.anchors.top = content.top - item.anchors.left = content.left - item.anchors.right = content.right - item.logging = root.perfMonitorsLogging - item.displayed = root.perfMonitorsVisible - item.init() - } - } - - ParameterPanel { - id: parameterPanel - anchors { - left: parent.left - bottom: parent.bottom - right: effectSelectionPanel.left - margins: 20 - } - gripSize: d.gripSize - } - - EffectSelectionPanel { - id: effectSelectionPanel - anchors { - top: parent.top - bottom: fileOpen.top - right: parent.right - margins: 5 - } - width: 300 - itemHeight: 40 - onEffectSourceChanged: { - content.effectSource = effectSource - parameterPanel.model = content.effect.parameters - } - } - - FileOpen { - id: fileOpen - anchors { - right: parent.right - bottom: parent.bottom - margins: 5 - } - width: effectSelectionPanel.width - height: 165 - buttonHeight: 32 - topMargin: 10 - } - } - - FileBrowser { - id: imageFileBrowser - anchors.fill: root - Component.onCompleted: fileSelected.connect(content.openImage) - } - - FileBrowser { - id: videoFileBrowser - anchors.fill: root - Component.onCompleted: fileSelected.connect(content.openVideo) - } - - Component.onCompleted: { - fileOpen.openImage.connect(openImage) - fileOpen.openVideo.connect(openVideo) - fileOpen.openCamera.connect(openCamera) - fileOpen.close.connect(close) - } - - function init() { - console.log("[qmlvideofx] main.init") - imageFileBrowser.folder = imagePath - videoFileBrowser.folder = videoPath - content.init() - performanceLoader.init() - if (fileName != "") - content.openVideo(fileName) - } - - function qmlFramePainted() { - if (performanceLoader.item) - performanceLoader.item.qmlFramePainted() - } - - function openImage() { - imageFileBrowser.show() - } - - function openVideo() { - videoFileBrowser.show() - } - - function openCamera() { - content.openCamera() - } - - function close() { - content.openImage("qrc:/images/qt-logo.png") - } -} diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/main-smallscreen.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/main-smallscreen.qml deleted file mode 100644 index f715dc8c1..000000000 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/main-smallscreen.qml +++ /dev/null @@ -1,408 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt Mobility Components. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 2.0 - -Rectangle { - id: root - width: 640 - height: 360 - color: "grey" - property string fileName - property alias volume: content.volume - property bool perfMonitorsLogging: false - property bool perfMonitorsVisible: false - - QtObject { - id: d - property bool dialogShown: (fileOpenContainer.state == "shown" || - effectSelectionPanel.state == "shown" || - videoFileBrowser.shown || - imageFileBrowser.shown) - property real gripSize: 40 - } - - // Create ScreenSaver element via Loader, so this app will still run if the - // SystemInfo module is not available - Loader { - source: "DisableScreenSaver.qml" - } - - Loader { - id: performanceLoader - - Connections { - target: d - onDialogShownChanged: - if (performanceLoader.item) - performanceLoader.item.enabled = !d.dialogShown - ignoreUnknownSignals: true - } - - function init() { - console.log("[qmlvideofx] performanceLoader.init logging " + root.perfMonitorsLogging + " visible " + root.perfMonitorsVisible) - var enabled = root.perfMonitorsLogging || root.perfMonitorsVisible - source = enabled ? "../performancemonitor/PerformanceItem.qml" : "" - } - - onLoaded: { - item.parent = root - item.anchors.top = root.top - item.anchors.left = root.left - item.logging = root.perfMonitorsLogging - item.displayed = root.perfMonitorsVisible - item.init() - } - } - - Rectangle { - id: inner - anchors.fill: parent - color: "grey" - - Content { - id: content - anchors.fill: parent - gripSize: d.gripSize - onVideoFramePainted: performanceLoader.item.videoFramePainted() - } - - ParameterPanel { - id: parameterPanel - anchors { - left: parent.left; - right: parent.right; - margins: 10 - } - y: parent.height - gripSize: d.gripSize - - states: [ - State { - name: "shown" - PropertyChanges { - target: parameterPanel - y: parent.height - (parameterPanel.height + 10) - } - } - ] - - transitions: [ - Transition { - from: "*" - to: "*" - NumberAnimation { - properties: "y" - easing.type: Easing.OutQuart - duration: 500 - } - } - ] - - state: (enabled && !d.dialogShown) ? "shown" : "baseState" - } - - EffectSelectionPanel { - id: effectSelectionPanel - anchors { - top: parent.top; - bottom: parameterPanel.top; - margins: 10 - } - x: parent.width - width: parent.width - 40 - opacity: 0.75 - radius: 20 - itemHeight: 50 - - states: [ - State { - name: "shown" - PropertyChanges { - target: effectSelectionPanel - x: 20 - } - } - ] - - transitions: [ - Transition { - from: "*" - to: "*" - NumberAnimation { - properties: "x" - easing.type: Easing.OutQuart - duration: 500 - } - } - ] - - onEffectSourceChanged: { - content.effectSource = effectSource - if (content.effect.parameters.count) { - parameterPanel.model = content.effect.parameters - parameterPanel.enabled = true - } else { - parameterPanel.enabled = false - } - } - - onClicked: state = "baseState" - } - - Rectangle { - id: fileOpenContainer - anchors { - top: parent.top - bottom: parameterPanel.top - margins: 10 - } - x: -width - width: parent.width - 40 - color: "transparent" - - Column { - anchors.fill: parent - - FileOpen { - id: fileOpen - color: "transparent" - width: parent.width - height: 200 - opacity: 0.75 - radius: 20 - buttonHeight: 40 - } - - MouseArea { - width: parent.width - height: 250 - onClicked: fileOpenContainer.state = "baseState" - } - } - - states: [ - State { - name: "shown" - PropertyChanges { - target: fileOpenContainer - x: 20 - } - } - ] - - transitions: [ - Transition { - from: "*" - to: "*" - NumberAnimation { - properties: "x" - easing.type: Easing.OutQuart - duration: 500 - } - } - ] - } - - Rectangle { - id: splashScreen - anchors { - horizontalCenter: parent.horizontalCenter - verticalCenter: parent.verticalCenter - } - width: 300 - height: 200 - radius: 0.1 * height - color: "white" - opacity: 0.9 - border { color: "black"; width: 2 } - - Text { - anchors { - fill: parent - margins: 5 - } - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - font.pixelSize: 24 - text: "Tap on left side to switch between sources.\n\nTap on right side to switch between effects." - wrapMode: Text.WordWrap - } - - MouseArea { - anchors.fill: parent - onClicked: parent.state = "hidden" - } - - states: [ - State { - name: "hidden" - PropertyChanges { - target: splashScreen - opacity: 0.0 - } - } - ] - - transitions: [ - Transition { - from: "*" - to: "*" - NumberAnimation { - properties: "opacity" - easing.type: Easing.OutQuart - duration: 500 - } - } - ] - } - - HintedMouseArea { - id: fileOpenMouseArea - anchors { - left: parent.left; - top: parent.top; - bottom: parameterPanel.top; - topMargin: 75 - } - width: 100 - onClicked: { - fileOpenMouseArea.hintEnabled = false - effectSelectionPanelMouseArea.hintEnabled = false - splashScreen.state = "hidden" - fileOpenContainer.state = "shown" - } - enabled: !d.dialogShown - } - - HintedMouseArea { - id: effectSelectionPanelMouseArea - anchors { - right: parent.right; - top: parent.top; - bottom: parameterPanel.top; - topMargin: 75 - } - width: 100 - onClicked: { - fileOpenMouseArea.hintEnabled = false - effectSelectionPanelMouseArea.hintEnabled = false - splashScreen.state = "hidden" - effectSelectionPanel.state = "shown" - } - enabled: !d.dialogShown - } - - Image { - source: "qrc:/images/close.png" - - anchors { - top: parent.top - right: parent.right - margins: 5 - } - - MouseArea { - anchors.fill: parent - onClicked: Qt.quit() - } - } - } - - Component.onCompleted: { - fileOpen.openImage.connect(openImage) - fileOpen.openVideo.connect(openVideo) - fileOpen.openCamera.connect(openCamera) - fileOpen.close.connect(close) - } - - FileBrowser { - id: imageFileBrowser - anchors.fill: root - Component.onCompleted: fileSelected.connect(content.openImage) - } - - FileBrowser { - id: videoFileBrowser - anchors.fill: root - Component.onCompleted: fileSelected.connect(content.openVideo) - } - - // Called from main() once root properties have been set - function init() { - console.log("[qmlvideofx] main.init") - imageFileBrowser.folder = imagePath - videoFileBrowser.folder = videoPath - content.init() - performanceLoader.init() - if (fileName != "") { - fileOpenMouseArea.hintEnabled = false - effectSelectionPanelMouseArea.hintEnabled = false - splashScreen.state = "hidden" - content.openVideo(fileName) - } - } - - function qmlFramePainted() { - if (performanceLoader.item) - performanceLoader.item.qmlFramePainted() - } - - function openImage() { - fileOpenContainer.state = "baseState" - imageFileBrowser.show() - } - - function openVideo() { - fileOpenContainer.state = "baseState" - videoFileBrowser.show() - } - - function openCamera() { - fileOpenContainer.state = "baseState" - content.openCamera() - } - - function close() { - fileOpenContainer.state = "baseState" - content.openImage("qrc:/images/qt-logo.png") - } -} diff --git a/examples/multimedia/video/qmlvideofx/qmlvideofx.pro b/examples/multimedia/video/qmlvideofx/qmlvideofx.pro index 563444903..e9633954c 100644 --- a/examples/multimedia/video/qmlvideofx/qmlvideofx.pro +++ b/examples/multimedia/video/qmlvideofx/qmlvideofx.pro @@ -10,10 +10,12 @@ RESOURCES += qmlvideofx.qrc include($$PWD/../snippets/performancemonitor/performancemonitordeclarative.pri) -maemo6: { - DEFINES += SMALL_SCREEN_LAYOUT - DEFINES += SMALL_SCREEN_PHYSICAL -} - target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/video/qmlvideofx INSTALLS += target + +ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android + +OTHER_FILES += \ + android/AndroidManifest.xml + +QMAKE_INFO_PLIST = Info.plist diff --git a/examples/multimedia/video/qmlvideofx/qmlvideofx.qrc b/examples/multimedia/video/qmlvideofx/qmlvideofx.qrc index 93cb4f1f5..e7a361246 100644 --- a/examples/multimedia/video/qmlvideofx/qmlvideofx.qrc +++ b/examples/multimedia/video/qmlvideofx/qmlvideofx.qrc @@ -1,10 +1,5 @@ - images/close.png - images/folder.png - images/titlebar.png - images/titlebar.sci - images/up.png images/qt-logo.png qml/qmlvideofx/Button.qml qml/qmlvideofx/Content.qml @@ -26,12 +21,10 @@ qml/qmlvideofx/EffectPixelate.qml qml/qmlvideofx/EffectPosterize.qml qml/qmlvideofx/EffectRipple.qml - qml/qmlvideofx/EffectSelectionPanel.qml qml/qmlvideofx/EffectSepia.qml qml/qmlvideofx/EffectSharpen.qml qml/qmlvideofx/EffectShockwave.qml qml/qmlvideofx/EffectSobelEdgeDetection1.qml - qml/qmlvideofx/EffectSobelEdgeDetection2.qml qml/qmlvideofx/EffectTiltShift.qml qml/qmlvideofx/EffectToon.qml qml/qmlvideofx/EffectVignette.qml @@ -40,8 +33,6 @@ qml/qmlvideofx/FileBrowser.qml qml/qmlvideofx/FileOpen.qml qml/qmlvideofx/HintedMouseArea.qml - qml/qmlvideofx/main-largescreen.qml - qml/qmlvideofx/main-smallscreen.qml qml/qmlvideofx/ParameterPanel.qml qml/qmlvideofx/Slider.qml shaders/billboard.fsh @@ -61,11 +52,21 @@ shaders/sharpen.fsh shaders/shockwave.fsh shaders/sobeledgedetection1.fsh - shaders/sobeledgedetection2.fsh shaders/tiltshift.fsh shaders/toon.fsh shaders/vignette.fsh shaders/warhol.fsh shaders/wobble.fsh + images/Slider_handle.png + images/Slider_bar.png + qml/qmlvideofx/Curtain.qml + images/Triangle_bottom.png + images/Triangle_Top.png + images/Dropdown_arrows.png + images/icon_Folder.png + images/icon_BackArrow.png + qml/qmlvideofx/Main.qml + images/icon_Menu.png + qml/qmlvideofx/EffectSelectionList.qml diff --git a/examples/multimedia/video/qmlvideofx/shaders/sobeledgedetection2.fsh b/examples/multimedia/video/qmlvideofx/shaders/sobeledgedetection2.fsh deleted file mode 100644 index 039a567d2..000000000 --- a/examples/multimedia/video/qmlvideofx/shaders/sobeledgedetection2.fsh +++ /dev/null @@ -1,77 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt Mobility Components. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -// Based on http://rastergrid.com/blog/downloads/frei-chen-edge-detector/ - -#version 130 -uniform sampler2D source; -uniform float dividerValue; -uniform float weight; -mat3 G[2] = mat3[]( - mat3( 1.0, 2.0, 1.0, 0.0, 0.0, 0.0, -1.0, -2.0, -1.0 ), - mat3( 1.0, 0.0, -1.0, 2.0, 0.0, -2.0, 1.0, 0.0, -1.0 ) -); -uniform lowp float qt_Opacity; -in vec2 qt_TexCoord0; -out vec4 FragmentColor; -void main() { - vec2 uv = qt_TexCoord0.xy; - vec4 c = vec4(0.0); - if (uv.x < dividerValue) { - mat3 intensity; - float conv[2]; - vec3 sample; - for (int i=0; i<3; ++i) { - for (int j=0; j<3; ++j) { - sample = texelFetch(source, ivec2(gl_FragCoord) + ivec2(i-1, j-1), 0).rgb; - intensity[i][j] = length(sample) * weight; - } - } - for (int i=0; i<2; ++i) { - float dp3 = dot(G[i][0], intensity[0]) + dot(G[i][1], intensity[1]) + dot(G[i][2], intensity[2]); - conv[i] = dp3 * dp3; - } - c = vec4(0.5 * sqrt(conv[0]*conv[0] + conv[1]*conv[1])); - } else { - c = texture2D(source, qt_TexCoord0); - } - FragmentColor = qt_Opacity * c; -} -- cgit v1.2.3 From 2939c9953ad08e659722c2b832f2c35db6de0115 Mon Sep 17 00:00:00 2001 From: Niels Weber Date: Mon, 28 Apr 2014 09:27:03 +0200 Subject: Add missing background for effect selection list. Also remove highlight and fix button text color. Make Menu animation faster. Task-number: QTBUG-38121 Change-Id: I7d5868d370a8dc7925cee5e694ae043970c569d9 Reviewed-by: Sami Makkonen Reviewed-by: Thomas Hartmann --- .../video/qmlvideofx/qml/qmlvideofx/Button.qml | 3 +- .../video/qmlvideofx/qml/qmlvideofx/Main.qml | 36 +++++++++++++--------- 2 files changed, 22 insertions(+), 17 deletions(-) (limited to 'examples') diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Button.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Button.qml index dd7cca602..203352832 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Button.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Button.qml @@ -60,7 +60,6 @@ Rectangle { Rectangle { anchors { fill: parent; margins: 1 } color: mouseArea.pressed ? bgColorSelected : bgColor - radius: 0.1 * height Text { id: text @@ -68,7 +67,7 @@ Rectangle { text: root.text anchors { fill: parent; margins: scaledMargin } font.pixelSize: fontSize - color: mouseArea.pressed ? bgColor : textColor + color: textColor horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Main.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Main.qml index 5ec13750f..e39eeafd7 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Main.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Main.qml @@ -80,7 +80,7 @@ Rectangle { id: parameterPanel anchors { left: parent.left - right: listview.left + right: effectName.left bottom: parent.bottom margins: scaledMargin leftMargin: scaledMargin + itemHeight @@ -88,46 +88,50 @@ Rectangle { gripSize: d.gripSize height: root.itemHeight * 2.5 width: root.itemWidth * 3 - } - Button { id: effectName anchors { right: parent.right bottom: perfHolder.top - top: content.bottom margins: scaledMargin } text: "No effect" width: itemWidth * 2 + height: itemHeight onClicked: { effectName.visible = false listview.visible = true + lvbg.visible = true } color: "#303030" } + Rectangle { + id: lvbg + width: itemWidth * 2 + color: "black" + opacity: 0.8 + visible: false + + anchors { + right: parent.right + bottom: perfHolder.top + top: parent.top + margins: scaledMargin + } ListView { id: listview width: itemWidth * 2 - anchors { - right: parent.right - bottom: perfHolder.top - top: parent.top - margins: scaledMargin - } + anchors.fill: parent visible: false model: EffectSelectionList {} delegate: effectDelegate - highlight: Rectangle { color: "#14aaff"; radius: 5 } - highlightFollowsCurrentItem: true - highlightRangeMode: ListView.StrictlyEnforceRange clip: true focus: true @@ -139,6 +143,7 @@ Rectangle { onClicked: { content.effectSource = source listview.visible = false + lvbg.visible = false effectName.text = name effectName.visible = true parameterPanel.model = content.effect.parameters @@ -146,6 +151,7 @@ Rectangle { } } } + } } Rectangle { @@ -213,8 +219,8 @@ Rectangle { transitions: [ Transition { - NumberAnimation { target: fileOpen; property: "width"; duration: 400 } - NumberAnimation { target: fileOpen; property: "opacity"; duration: 400 } + NumberAnimation { target: fileOpen; property: "width"; duration: 100 } + NumberAnimation { target: fileOpen; property: "opacity"; duration: 100 } } ] } -- cgit v1.2.3 From c5d184cbe38d8024c6354952d3103423d51638ec Mon Sep 17 00:00:00 2001 From: Niels Weber Date: Mon, 28 Apr 2014 09:39:16 +0200 Subject: Selecting something now closes menu On a closed menu, the text is now hidden. Task-number: QTBUG-38121 Change-Id: I305fd4f24768115ed21495857cce672d8cbd2135 Reviewed-by: Petref Saraci Reviewed-by: Thomas Hartmann --- .../video/qmlvideofx/qml/qmlvideofx/FileOpen.qml | 76 ++++++++++++++-------- 1 file changed, 48 insertions(+), 28 deletions(-) (limited to 'examples') diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/FileOpen.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/FileOpen.qml index b0542cb80..a4de2cbb9 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/FileOpen.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/FileOpen.qml @@ -49,28 +49,40 @@ Rectangle { signal openVideo signal close - Column { - anchors.fill: parent - spacing: 10 - Rectangle { - height: itemHeight - width: itemHeight - color: "transparent" - anchors.right: parent.right - Image { - id: menu - source: "qrc:///images/icon_Menu.png" - anchors { - right: parent.right - top: parent.top - margins: scaledMargin - } - } - MouseArea { - anchors.fill: parent - onClicked: fileOpen.state == "expanded" ? fileOpen.state = "collapsed" : fileOpen.state = "expanded" + + Rectangle { + id: menuField + height: itemHeight + width: itemHeight + color: "transparent" + anchors.right: parent.right + Image { + id: menu + source: "qrc:///images/icon_Menu.png" + anchors { + right: parent.right + top: parent.top + margins: scaledMargin } } + MouseArea { + anchors.fill: parent + onClicked: fileOpen.state == "expanded" ? fileOpen.state = "collapsed" : fileOpen.state = "expanded" + } + } + + Column { + anchors { + top: menuField.bottom + right: parent.right + left: parent.left + bottom: parent.bottom + topMargin: 10 + } + + spacing: 10 + visible: fileOpen.state == "expanded" + Rectangle { width: 0.9 * parent.width height: 1 @@ -81,8 +93,10 @@ Rectangle { text: "Start camera" height: itemHeight width: parent.width - onClicked: root.openCamera() - active: fileOpen.state == "expanded" + onClicked: { + fileOpen.state = "collapsed" + root.openCamera() + } } Rectangle { width: 0.9 * parent.width @@ -94,8 +108,10 @@ Rectangle { text: "Open image" height: itemHeight width: parent.width - onClicked: root.openImage() - active: fileOpen.state == "expanded" + onClicked: { + fileOpen.state = "collapsed" + root.openImage() + } } Rectangle { width: 0.9 * parent.width @@ -107,8 +123,10 @@ Rectangle { text: "Open video" height: itemHeight width: parent.width - onClicked: root.openVideo() - active: fileOpen.state == "expanded" + onClicked: { + fileOpen.state = "collapsed" + root.openVideo() + } } Rectangle { width: 0.9 * parent.width @@ -120,8 +138,10 @@ Rectangle { text: "Reset" height: itemHeight width: parent.width - onClicked: root.close() - active: fileOpen.state == "expanded" + onClicked: { + fileOpen.state = "collapsed" + root.close() + } } Rectangle { width: 0.9 * parent.width -- cgit v1.2.3 From 02c0229a058e0779d236bec4c48bdad7d3d78399 Mon Sep 17 00:00:00 2001 From: Niels Weber Date: Mon, 28 Apr 2014 10:52:33 +0200 Subject: Handle resizing of mainwindow better Task-number: QTBUG-38121 Change-Id: I877fd5c626418a91850d43de31e71351c14eef25 Reviewed-by: Sami Makkonen Reviewed-by: Thomas Hartmann --- examples/multimedia/video/qmlvideofx/main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/multimedia/video/qmlvideofx/main.cpp b/examples/multimedia/video/qmlvideofx/main.cpp index f221c954a..1b09f7aa4 100644 --- a/examples/multimedia/video/qmlvideofx/main.cpp +++ b/examples/multimedia/video/qmlvideofx/main.cpp @@ -122,7 +122,8 @@ int main(int argc, char *argv[]) viewer.setTitle("qmlvideofx"); viewer.setFlags(Qt::Window | Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint); - viewer.setMinimumSize(QSize(640, 360)); + viewer.setMinimumSize(QSize(1280, 720)); + viewer.setResizeMode(QQuickView::SizeRootObjectToView); viewer.show(); -- cgit v1.2.3 From 82d96105cea1bca034119adf54a2614c67a24c13 Mon Sep 17 00:00:00 2001 From: Niels Weber Date: Tue, 22 Apr 2014 12:13:23 +0200 Subject: Fix documentation of qmlvideofx example Make the documentation fit to the current state of the example. Task-number: QTBUG-38121 Change-Id: I3379e3328d07ef8bcdb35a5e3821ab194c3443c4 Reviewed-by: Leena Miettinen Reviewed-by: Sami Makkonen Reviewed-by: Yoann Lopes --- .../video/doc/images/qmlvideofx-camera-glow.jpg | Bin 0 -> 74914 bytes .../video/doc/images/qmlvideofx-camera-glow.png | Bin 250540 -> 0 bytes .../video/doc/images/qmlvideofx-camera-magnify.png | Bin 204923 -> 0 bytes .../video/doc/images/qmlvideofx-camera-wobble.jpg | Bin 0 -> 62992 bytes .../video/doc/images/qmlvideofx-effects-menu.jpg | Bin 0 -> 84990 bytes .../video/doc/images/qmlvideofx-effects-menu.png | Bin 171257 -> 0 bytes .../video/doc/images/qmlvideofx-source-menu.png | Bin 257292 -> 0 bytes .../doc/images/qmlvideofx-video-edgedetection.jpg | Bin 0 -> 108916 bytes .../doc/images/qmlvideofx-video-edgedetection.png | Bin 279883 -> 0 bytes .../video/doc/images/qmlvideofx-video-pagecurl.jpg | Bin 0 -> 61450 bytes .../video/doc/images/qmlvideofx-video-pagecurl.png | Bin 220606 -> 0 bytes examples/multimedia/video/doc/src/qmlvideofx.qdoc | 27 +++++++-------------- 12 files changed, 9 insertions(+), 18 deletions(-) create mode 100644 examples/multimedia/video/doc/images/qmlvideofx-camera-glow.jpg delete mode 100644 examples/multimedia/video/doc/images/qmlvideofx-camera-glow.png delete mode 100644 examples/multimedia/video/doc/images/qmlvideofx-camera-magnify.png create mode 100644 examples/multimedia/video/doc/images/qmlvideofx-camera-wobble.jpg create mode 100644 examples/multimedia/video/doc/images/qmlvideofx-effects-menu.jpg delete mode 100644 examples/multimedia/video/doc/images/qmlvideofx-effects-menu.png delete mode 100644 examples/multimedia/video/doc/images/qmlvideofx-source-menu.png create mode 100644 examples/multimedia/video/doc/images/qmlvideofx-video-edgedetection.jpg delete mode 100644 examples/multimedia/video/doc/images/qmlvideofx-video-edgedetection.png create mode 100644 examples/multimedia/video/doc/images/qmlvideofx-video-pagecurl.jpg delete mode 100644 examples/multimedia/video/doc/images/qmlvideofx-video-pagecurl.png (limited to 'examples') diff --git a/examples/multimedia/video/doc/images/qmlvideofx-camera-glow.jpg b/examples/multimedia/video/doc/images/qmlvideofx-camera-glow.jpg new file mode 100644 index 000000000..777ed4ffc Binary files /dev/null and b/examples/multimedia/video/doc/images/qmlvideofx-camera-glow.jpg differ diff --git a/examples/multimedia/video/doc/images/qmlvideofx-camera-glow.png b/examples/multimedia/video/doc/images/qmlvideofx-camera-glow.png deleted file mode 100644 index aca874b6c..000000000 Binary files a/examples/multimedia/video/doc/images/qmlvideofx-camera-glow.png and /dev/null differ diff --git a/examples/multimedia/video/doc/images/qmlvideofx-camera-magnify.png b/examples/multimedia/video/doc/images/qmlvideofx-camera-magnify.png deleted file mode 100644 index c3156ce96..000000000 Binary files a/examples/multimedia/video/doc/images/qmlvideofx-camera-magnify.png and /dev/null differ diff --git a/examples/multimedia/video/doc/images/qmlvideofx-camera-wobble.jpg b/examples/multimedia/video/doc/images/qmlvideofx-camera-wobble.jpg new file mode 100644 index 000000000..980ab0d15 Binary files /dev/null and b/examples/multimedia/video/doc/images/qmlvideofx-camera-wobble.jpg differ diff --git a/examples/multimedia/video/doc/images/qmlvideofx-effects-menu.jpg b/examples/multimedia/video/doc/images/qmlvideofx-effects-menu.jpg new file mode 100644 index 000000000..eb5b90321 Binary files /dev/null and b/examples/multimedia/video/doc/images/qmlvideofx-effects-menu.jpg differ diff --git a/examples/multimedia/video/doc/images/qmlvideofx-effects-menu.png b/examples/multimedia/video/doc/images/qmlvideofx-effects-menu.png deleted file mode 100644 index 507fd7384..000000000 Binary files a/examples/multimedia/video/doc/images/qmlvideofx-effects-menu.png and /dev/null differ diff --git a/examples/multimedia/video/doc/images/qmlvideofx-source-menu.png b/examples/multimedia/video/doc/images/qmlvideofx-source-menu.png deleted file mode 100644 index 661aaa73f..000000000 Binary files a/examples/multimedia/video/doc/images/qmlvideofx-source-menu.png and /dev/null differ diff --git a/examples/multimedia/video/doc/images/qmlvideofx-video-edgedetection.jpg b/examples/multimedia/video/doc/images/qmlvideofx-video-edgedetection.jpg new file mode 100644 index 000000000..35b36c036 Binary files /dev/null and b/examples/multimedia/video/doc/images/qmlvideofx-video-edgedetection.jpg differ diff --git a/examples/multimedia/video/doc/images/qmlvideofx-video-edgedetection.png b/examples/multimedia/video/doc/images/qmlvideofx-video-edgedetection.png deleted file mode 100644 index cedb314c5..000000000 Binary files a/examples/multimedia/video/doc/images/qmlvideofx-video-edgedetection.png and /dev/null differ diff --git a/examples/multimedia/video/doc/images/qmlvideofx-video-pagecurl.jpg b/examples/multimedia/video/doc/images/qmlvideofx-video-pagecurl.jpg new file mode 100644 index 000000000..5cd8d2bd2 Binary files /dev/null and b/examples/multimedia/video/doc/images/qmlvideofx-video-pagecurl.jpg differ diff --git a/examples/multimedia/video/doc/images/qmlvideofx-video-pagecurl.png b/examples/multimedia/video/doc/images/qmlvideofx-video-pagecurl.png deleted file mode 100644 index 5f5bdfb53..000000000 Binary files a/examples/multimedia/video/doc/images/qmlvideofx-video-pagecurl.png and /dev/null differ diff --git a/examples/multimedia/video/doc/src/qmlvideofx.qdoc b/examples/multimedia/video/doc/src/qmlvideofx.qdoc index 80f087e7f..edbd369c0 100644 --- a/examples/multimedia/video/doc/src/qmlvideofx.qdoc +++ b/examples/multimedia/video/doc/src/qmlvideofx.qdoc @@ -46,31 +46,25 @@ advanced functionality - in this case, C++ code is used to calculate the QML frame rate. This value is rendered in QML in a semi-transparent item overlaid on the video content. -Finally, this application demonstrates the use of different top-level QML -files to handle different physical screen sizes. On small-screen devices, -menus are by default hidden, and only appear when summoned by a gesture. -Large-screen devices show a more traditional layout in which menus are -displayed around the video content pane. - The following screenshots show shader effects being applied. In each case, the effect is implemented using a fragment shader. Here we see an edge detection algorithm being applied to a video clip -(\l{http://orange.blender.org/}{Elephant's Dream from blender.org}). -\image qmlvideofx-video-edgedetection.png +(\l{http://durian.blender.org/}{Sintel from blender.org}). +\image qmlvideofx-video-edgedetection.jpg This image shows a page curl effect, applied to the same video clip. -\image qmlvideofx-video-pagecurl.png +\image qmlvideofx-video-pagecurl.jpg Here we see a 'glow' effect (edge detection plus colour quantization) being applied to the camera viewfinder. -\image qmlvideofx-camera-glow.png +\image qmlvideofx-camera-glow.jpg -This image shows a 'lens magnification' effect applied to the viewfinder. -\image qmlvideofx-camera-magnify.png +This image shows a 'wobble' effect applied to the viewfinder. +\image qmlvideofx-camera-wobble.jpg The application includes many more effects than the ones shown here - look -for Effect*.qml files in the list above to see the full range. +for Effect*.qml files in the list of files below to see the full range. \section1 Application structure @@ -197,11 +191,8 @@ vertical dividing line, which can be dragged left / right by the user. Finally, a \l{video/qmlvideofx/qml/qmlvideofx/ParameterPanel.qml}{ParameterPanel} item renders the sliders corresponding to each effect parameter. -Here is the source selection menu: -\image qmlvideofx-source-menu.png - -And here is the effect selection menu: -\image qmlvideofx-effects-menu.png +Here is the effect selection menu: +\image qmlvideofx-effects-menu.jpg \section1 Calculating and displaying QML painting rate -- cgit v1.2.3 From 1d6872ae9c2de1ae7501c375b4960b1ac9374693 Mon Sep 17 00:00:00 2001 From: Sze Howe Koh Date: Thu, 8 May 2014 23:47:38 +0800 Subject: Doc: Clean up references to Qt System Info The module is not released yet; the current documentation is misleading. Change-Id: Ia20ac8e3504942f6f60b94264f3a12497e09da24 Reviewed-by: Niels Weber Reviewed-by: Jerome Pasion Reviewed-by: Yoann Lopes --- examples/multimedia/video/qmlvideo/qml/qmlvideo/DisableScreenSaver.qml | 1 + .../multimedia/video/qmlvideofx/qml/qmlvideofx/DisableScreenSaver.qml | 1 + 2 files changed, 2 insertions(+) (limited to 'examples') diff --git a/examples/multimedia/video/qmlvideo/qml/qmlvideo/DisableScreenSaver.qml b/examples/multimedia/video/qmlvideo/qml/qmlvideo/DisableScreenSaver.qml index efc657cfc..01ed95e8a 100644 --- a/examples/multimedia/video/qmlvideo/qml/qmlvideo/DisableScreenSaver.qml +++ b/examples/multimedia/video/qmlvideo/qml/qmlvideo/DisableScreenSaver.qml @@ -41,6 +41,7 @@ import QtQuick 2.0 import QtSystemInfo 5.0 +// NOTE: The QtSystemInfo module is not yet part of Qt 5 Item { ScreenSaver { diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/DisableScreenSaver.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/DisableScreenSaver.qml index f36b2b14f..362386bc4 100644 --- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/DisableScreenSaver.qml +++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/DisableScreenSaver.qml @@ -41,6 +41,7 @@ import QtQuick 2.0 import QtMobility.systeminfo 1.1 +// NOTE: The QtSystemInfo module is not yet part of Qt 5 Item { ScreenSaver { -- cgit v1.2.3