summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2014-05-01 12:46:28 +0200
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2014-05-01 12:46:28 +0200
commit703ee3879bf055787f2219f5b2212053d9535fe9 (patch)
tree6c5c19c862914e3585b0be8eec41a0a7ec5c674a
parentc9a3bbc3e69b9965b5c1b9d85f8426896f94c02a (diff)
parent82d96105cea1bca034119adf54a2614c67a24c13 (diff)
downloadqtmultimedia-703ee3879bf055787f2219f5b2212053d9535fe9.tar.gz
Merge remote-tracking branch 'origin/release' into stable
Change-Id: I900412b4c6f894dec27b8158d498b2ff18404ced
-rw-r--r--examples/multimedia/video/doc/images/qmlvideofx-camera-glow.jpgbin0 -> 74914 bytes
-rw-r--r--examples/multimedia/video/doc/images/qmlvideofx-camera-glow.pngbin250540 -> 0 bytes
-rw-r--r--examples/multimedia/video/doc/images/qmlvideofx-camera-magnify.pngbin204923 -> 0 bytes
-rw-r--r--examples/multimedia/video/doc/images/qmlvideofx-camera-wobble.jpgbin0 -> 62992 bytes
-rw-r--r--examples/multimedia/video/doc/images/qmlvideofx-effects-menu.jpgbin0 -> 84990 bytes
-rw-r--r--examples/multimedia/video/doc/images/qmlvideofx-effects-menu.pngbin171257 -> 0 bytes
-rw-r--r--examples/multimedia/video/doc/images/qmlvideofx-source-menu.pngbin257292 -> 0 bytes
-rw-r--r--examples/multimedia/video/doc/images/qmlvideofx-video-edgedetection.jpgbin0 -> 108916 bytes
-rw-r--r--examples/multimedia/video/doc/images/qmlvideofx-video-edgedetection.pngbin279883 -> 0 bytes
-rw-r--r--examples/multimedia/video/doc/images/qmlvideofx-video-pagecurl.jpgbin0 -> 61450 bytes
-rw-r--r--examples/multimedia/video/doc/images/qmlvideofx-video-pagecurl.pngbin220606 -> 0 bytes
-rw-r--r--examples/multimedia/video/doc/src/qmlvideofx.qdoc27
-rw-r--r--examples/multimedia/video/qmlvideofx/main.cpp3
-rw-r--r--examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Button.qml3
-rw-r--r--examples/multimedia/video/qmlvideofx/qml/qmlvideofx/FileOpen.qml76
-rw-r--r--examples/multimedia/video/qmlvideofx/qml/qmlvideofx/Main.qml36
16 files changed, 81 insertions, 64 deletions
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
--- /dev/null
+++ b/examples/multimedia/video/doc/images/qmlvideofx-camera-glow.jpg
Binary files 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
--- a/examples/multimedia/video/doc/images/qmlvideofx-camera-glow.png
+++ /dev/null
Binary files 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
--- a/examples/multimedia/video/doc/images/qmlvideofx-camera-magnify.png
+++ /dev/null
Binary files 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
--- /dev/null
+++ b/examples/multimedia/video/doc/images/qmlvideofx-camera-wobble.jpg
Binary files 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
--- /dev/null
+++ b/examples/multimedia/video/doc/images/qmlvideofx-effects-menu.jpg
Binary files 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
--- a/examples/multimedia/video/doc/images/qmlvideofx-effects-menu.png
+++ /dev/null
Binary files 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
--- a/examples/multimedia/video/doc/images/qmlvideofx-source-menu.png
+++ /dev/null
Binary files 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
--- /dev/null
+++ b/examples/multimedia/video/doc/images/qmlvideofx-video-edgedetection.jpg
Binary files 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
--- a/examples/multimedia/video/doc/images/qmlvideofx-video-edgedetection.png
+++ /dev/null
Binary files 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
--- /dev/null
+++ b/examples/multimedia/video/doc/images/qmlvideofx-video-pagecurl.jpg
Binary files 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
--- a/examples/multimedia/video/doc/images/qmlvideofx-video-pagecurl.png
+++ /dev/null
Binary files 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
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();
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/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
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 }
}
]
}