diff options
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-adding-dockwidget.txt (renamed from doc/src/diagrams/designer-adding-dockwidget.txt) | 0 | ||||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-adding-dockwidget1.png (renamed from doc/src/diagrams/designer-adding-dockwidget1.png) | bin | 8897 -> 8897 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-adding-dockwidget1.zip (renamed from doc/src/diagrams/designer-adding-dockwidget1.zip) | bin | 12252 -> 12252 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-adding-menu-action1.png (renamed from doc/src/diagrams/designer-adding-menu-action1.png) | bin | 16173 -> 16173 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-adding-menu-action1.zip (renamed from doc/src/diagrams/designer-adding-menu-action1.zip) | bin | 19245 -> 19245 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-adding-menu-action2.zip (renamed from doc/src/diagrams/designer-adding-menu-action2.zip) | bin | 19587 -> 19587 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-adding-toolbar-action1.png (renamed from doc/src/diagrams/designer-adding-toolbar-action1.png) | bin | 14911 -> 14911 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-adding-toolbar-action1.zip (renamed from doc/src/diagrams/designer-adding-toolbar-action1.zip) | bin | 17515 -> 17515 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-adding-toolbar-action2.zip (renamed from doc/src/diagrams/designer-adding-toolbar-action2.zip) | bin | 15433 -> 15433 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-creating-dynamic-property.png (renamed from doc/src/diagrams/designer-creating-dynamic-property.png) | bin | 7561 -> 7561 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-creating-menu-entry1.png (renamed from doc/src/diagrams/designer-creating-menu-entry1.png) | bin | 9618 -> 9618 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-creating-menu-entry1.zip (renamed from doc/src/diagrams/designer-creating-menu-entry1.zip) | bin | 11753 -> 11753 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-creating-menu-entry2.png (renamed from doc/src/diagrams/designer-creating-menu-entry2.png) | bin | 9090 -> 9090 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-creating-menu-entry2.zip (renamed from doc/src/diagrams/designer-creating-menu-entry2.zip) | bin | 11709 -> 11709 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-creating-menu-entry3.png (renamed from doc/src/diagrams/designer-creating-menu-entry3.png) | bin | 5435 -> 5435 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-creating-menu-entry3.zip (renamed from doc/src/diagrams/designer-creating-menu-entry3.zip) | bin | 11520 -> 11520 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-creating-menu-entry4.png (renamed from doc/src/diagrams/designer-creating-menu-entry4.png) | bin | 10141 -> 10141 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-creating-menu-entry4.zip (renamed from doc/src/diagrams/designer-creating-menu-entry4.zip) | bin | 12473 -> 12473 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-creating-menu.txt (renamed from doc/src/diagrams/designer-creating-menu.txt) | 0 | ||||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-creating-menu1.png (renamed from doc/src/diagrams/designer-creating-menu1.png) | bin | 4733 -> 4733 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-creating-menu1.zip (renamed from doc/src/diagrams/designer-creating-menu1.zip) | bin | 5279 -> 5279 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-creating-menu2.png (renamed from doc/src/diagrams/designer-creating-menu2.png) | bin | 4296 -> 4296 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-creating-menu2.zip (renamed from doc/src/diagrams/designer-creating-menu2.zip) | bin | 5295 -> 5295 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-creating-menu3.png (renamed from doc/src/diagrams/designer-creating-menu3.png) | bin | 5053 -> 5053 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-creating-menu3.zip (renamed from doc/src/diagrams/designer-creating-menu3.zip) | bin | 6197 -> 6197 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-creating-menu4.png (renamed from doc/src/diagrams/designer-creating-menu4.png) | bin | 5274 -> 5274 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-creating-menubar.png (renamed from doc/src/diagrams/designer-creating-menubar.png) | bin | 7024 -> 7024 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-creating-menubar.zip (renamed from doc/src/diagrams/designer-creating-menubar.zip) | bin | 10485 -> 10485 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-edit-resource.zip (renamed from doc/src/diagrams/designer-edit-resource.zip) | bin | 11195 -> 11195 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-find-icon.zip (renamed from doc/src/diagrams/designer-find-icon.zip) | bin | 47820 -> 47820 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-form-layoutfunction-crop.png (renamed from doc/src/diagrams/designer-form-layoutfunction-crop.png) | bin | 5132 -> 5132 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-form-layoutfunction.png (renamed from doc/src/diagrams/designer-form-layoutfunction.png) | bin | 15912 -> 15912 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-form-layoutfunction.zip (renamed from doc/src/diagrams/designer-form-layoutfunction.zip) | bin | 21179 -> 21179 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-main-window.zip (renamed from doc/src/diagrams/designer-main-window.zip) | bin | 35959 -> 35959 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-mainwindow-actions.ui (renamed from doc/src/diagrams/designer-mainwindow-actions.ui) | 0 | ||||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-palette-brush-editor.zip (renamed from doc/src/diagrams/designer-palette-brush-editor.zip) | bin | 17703 -> 17703 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-palette-editor.zip (renamed from doc/src/diagrams/designer-palette-editor.zip) | bin | 30588 -> 30588 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-palette-gradient-editor.zip (renamed from doc/src/diagrams/designer-palette-gradient-editor.zip) | bin | 55456 -> 55456 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-palette-pattern-editor.zip (renamed from doc/src/diagrams/designer-palette-pattern-editor.zip) | bin | 15845 -> 15845 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-resource-editor.zip (renamed from doc/src/diagrams/designer-resource-editor.zip) | bin | 12287 -> 12287 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/designer-widget-box.zip (renamed from doc/src/diagrams/designer-widget-box.zip) | bin | 30530 -> 30530 bytes | |||
-rw-r--r-- | doc/src/diagrams/designer-manual/rgbController.ui | 212 | ||||
-rw-r--r-- | doc/src/examples/tablet.qdoc | 2 | ||||
-rw-r--r-- | doc/src/examples/videographicsitem.qdoc | 52 | ||||
-rw-r--r-- | doc/src/examples/videowidget.qdoc | 187 | ||||
-rw-r--r-- | doc/src/getting-started/demos.qdoc | 2 | ||||
-rw-r--r-- | doc/src/getting-started/examples.qdoc | 7 | ||||
-rw-r--r-- | doc/src/images/gestures.png | bin | 0 -> 178365 bytes | |||
-rw-r--r-- | doc/src/images/video-videographicsitem.png | bin | 0 -> 54436 bytes | |||
-rw-r--r-- | doc/src/images/video-videowidget.png | bin | 0 -> 54199 bytes | |||
-rw-r--r-- | doc/src/images/whatsnewanimatedtiles.png | bin | 0 -> 168909 bytes | |||
-rw-r--r-- | doc/src/index.qdoc | 2 | ||||
-rw-r--r-- | doc/src/qt4-intro.qdoc | 179 | ||||
-rw-r--r-- | doc/src/snippets/code/src_gui_effects_qgraphicseffect.cpp | 33 |
54 files changed, 670 insertions, 6 deletions
diff --git a/doc/src/diagrams/designer-adding-dockwidget.txt b/doc/src/diagrams/designer-manual/designer-adding-dockwidget.txt index 97b4beb..97b4beb 100644 --- a/doc/src/diagrams/designer-adding-dockwidget.txt +++ b/doc/src/diagrams/designer-manual/designer-adding-dockwidget.txt diff --git a/doc/src/diagrams/designer-adding-dockwidget1.png b/doc/src/diagrams/designer-manual/designer-adding-dockwidget1.png Binary files differindex 960da83..960da83 100644 --- a/doc/src/diagrams/designer-adding-dockwidget1.png +++ b/doc/src/diagrams/designer-manual/designer-adding-dockwidget1.png diff --git a/doc/src/diagrams/designer-adding-dockwidget1.zip b/doc/src/diagrams/designer-manual/designer-adding-dockwidget1.zip Binary files differindex 0492df6..0492df6 100644 --- a/doc/src/diagrams/designer-adding-dockwidget1.zip +++ b/doc/src/diagrams/designer-manual/designer-adding-dockwidget1.zip diff --git a/doc/src/diagrams/designer-adding-menu-action1.png b/doc/src/diagrams/designer-manual/designer-adding-menu-action1.png Binary files differindex cde92d9..cde92d9 100644 --- a/doc/src/diagrams/designer-adding-menu-action1.png +++ b/doc/src/diagrams/designer-manual/designer-adding-menu-action1.png diff --git a/doc/src/diagrams/designer-adding-menu-action1.zip b/doc/src/diagrams/designer-manual/designer-adding-menu-action1.zip Binary files differindex 08395eb..08395eb 100644 --- a/doc/src/diagrams/designer-adding-menu-action1.zip +++ b/doc/src/diagrams/designer-manual/designer-adding-menu-action1.zip diff --git a/doc/src/diagrams/designer-adding-menu-action2.zip b/doc/src/diagrams/designer-manual/designer-adding-menu-action2.zip Binary files differindex ca1a5b3..ca1a5b3 100644 --- a/doc/src/diagrams/designer-adding-menu-action2.zip +++ b/doc/src/diagrams/designer-manual/designer-adding-menu-action2.zip diff --git a/doc/src/diagrams/designer-adding-toolbar-action1.png b/doc/src/diagrams/designer-manual/designer-adding-toolbar-action1.png Binary files differindex 6b82373..6b82373 100644 --- a/doc/src/diagrams/designer-adding-toolbar-action1.png +++ b/doc/src/diagrams/designer-manual/designer-adding-toolbar-action1.png diff --git a/doc/src/diagrams/designer-adding-toolbar-action1.zip b/doc/src/diagrams/designer-manual/designer-adding-toolbar-action1.zip Binary files differindex e673b3c..e673b3c 100644 --- a/doc/src/diagrams/designer-adding-toolbar-action1.zip +++ b/doc/src/diagrams/designer-manual/designer-adding-toolbar-action1.zip diff --git a/doc/src/diagrams/designer-adding-toolbar-action2.zip b/doc/src/diagrams/designer-manual/designer-adding-toolbar-action2.zip Binary files differindex 96a9d69..96a9d69 100644 --- a/doc/src/diagrams/designer-adding-toolbar-action2.zip +++ b/doc/src/diagrams/designer-manual/designer-adding-toolbar-action2.zip diff --git a/doc/src/diagrams/designer-creating-dynamic-property.png b/doc/src/diagrams/designer-manual/designer-creating-dynamic-property.png Binary files differindex 1c3d3ca..1c3d3ca 100644 --- a/doc/src/diagrams/designer-creating-dynamic-property.png +++ b/doc/src/diagrams/designer-manual/designer-creating-dynamic-property.png diff --git a/doc/src/diagrams/designer-creating-menu-entry1.png b/doc/src/diagrams/designer-manual/designer-creating-menu-entry1.png Binary files differindex 33aa0d6..33aa0d6 100644 --- a/doc/src/diagrams/designer-creating-menu-entry1.png +++ b/doc/src/diagrams/designer-manual/designer-creating-menu-entry1.png diff --git a/doc/src/diagrams/designer-creating-menu-entry1.zip b/doc/src/diagrams/designer-manual/designer-creating-menu-entry1.zip Binary files differindex f9e64c8..f9e64c8 100644 --- a/doc/src/diagrams/designer-creating-menu-entry1.zip +++ b/doc/src/diagrams/designer-manual/designer-creating-menu-entry1.zip diff --git a/doc/src/diagrams/designer-creating-menu-entry2.png b/doc/src/diagrams/designer-manual/designer-creating-menu-entry2.png Binary files differindex 8338d08..8338d08 100644 --- a/doc/src/diagrams/designer-creating-menu-entry2.png +++ b/doc/src/diagrams/designer-manual/designer-creating-menu-entry2.png diff --git a/doc/src/diagrams/designer-creating-menu-entry2.zip b/doc/src/diagrams/designer-manual/designer-creating-menu-entry2.zip Binary files differindex 67d81e4..67d81e4 100644 --- a/doc/src/diagrams/designer-creating-menu-entry2.zip +++ b/doc/src/diagrams/designer-manual/designer-creating-menu-entry2.zip diff --git a/doc/src/diagrams/designer-creating-menu-entry3.png b/doc/src/diagrams/designer-manual/designer-creating-menu-entry3.png Binary files differindex d242646..d242646 100644 --- a/doc/src/diagrams/designer-creating-menu-entry3.png +++ b/doc/src/diagrams/designer-manual/designer-creating-menu-entry3.png diff --git a/doc/src/diagrams/designer-creating-menu-entry3.zip b/doc/src/diagrams/designer-manual/designer-creating-menu-entry3.zip Binary files differindex d530186..d530186 100644 --- a/doc/src/diagrams/designer-creating-menu-entry3.zip +++ b/doc/src/diagrams/designer-manual/designer-creating-menu-entry3.zip diff --git a/doc/src/diagrams/designer-creating-menu-entry4.png b/doc/src/diagrams/designer-manual/designer-creating-menu-entry4.png Binary files differindex 07a49ba..07a49ba 100644 --- a/doc/src/diagrams/designer-creating-menu-entry4.png +++ b/doc/src/diagrams/designer-manual/designer-creating-menu-entry4.png diff --git a/doc/src/diagrams/designer-creating-menu-entry4.zip b/doc/src/diagrams/designer-manual/designer-creating-menu-entry4.zip Binary files differindex d800c31..d800c31 100644 --- a/doc/src/diagrams/designer-creating-menu-entry4.zip +++ b/doc/src/diagrams/designer-manual/designer-creating-menu-entry4.zip diff --git a/doc/src/diagrams/designer-creating-menu.txt b/doc/src/diagrams/designer-manual/designer-creating-menu.txt index b5b2934..b5b2934 100644 --- a/doc/src/diagrams/designer-creating-menu.txt +++ b/doc/src/diagrams/designer-manual/designer-creating-menu.txt diff --git a/doc/src/diagrams/designer-creating-menu1.png b/doc/src/diagrams/designer-manual/designer-creating-menu1.png Binary files differindex d92a88a..d92a88a 100644 --- a/doc/src/diagrams/designer-creating-menu1.png +++ b/doc/src/diagrams/designer-manual/designer-creating-menu1.png diff --git a/doc/src/diagrams/designer-creating-menu1.zip b/doc/src/diagrams/designer-manual/designer-creating-menu1.zip Binary files differindex 780b1ac..780b1ac 100644 --- a/doc/src/diagrams/designer-creating-menu1.zip +++ b/doc/src/diagrams/designer-manual/designer-creating-menu1.zip diff --git a/doc/src/diagrams/designer-creating-menu2.png b/doc/src/diagrams/designer-manual/designer-creating-menu2.png Binary files differindex 7be4891..7be4891 100644 --- a/doc/src/diagrams/designer-creating-menu2.png +++ b/doc/src/diagrams/designer-manual/designer-creating-menu2.png diff --git a/doc/src/diagrams/designer-creating-menu2.zip b/doc/src/diagrams/designer-manual/designer-creating-menu2.zip Binary files differindex 00664a6..00664a6 100644 --- a/doc/src/diagrams/designer-creating-menu2.zip +++ b/doc/src/diagrams/designer-manual/designer-creating-menu2.zip diff --git a/doc/src/diagrams/designer-creating-menu3.png b/doc/src/diagrams/designer-manual/designer-creating-menu3.png Binary files differindex c2f1beb..c2f1beb 100644 --- a/doc/src/diagrams/designer-creating-menu3.png +++ b/doc/src/diagrams/designer-manual/designer-creating-menu3.png diff --git a/doc/src/diagrams/designer-creating-menu3.zip b/doc/src/diagrams/designer-manual/designer-creating-menu3.zip Binary files differindex 76ecbe0..76ecbe0 100644 --- a/doc/src/diagrams/designer-creating-menu3.zip +++ b/doc/src/diagrams/designer-manual/designer-creating-menu3.zip diff --git a/doc/src/diagrams/designer-creating-menu4.png b/doc/src/diagrams/designer-manual/designer-creating-menu4.png Binary files differindex 3a3ab54..3a3ab54 100644 --- a/doc/src/diagrams/designer-creating-menu4.png +++ b/doc/src/diagrams/designer-manual/designer-creating-menu4.png diff --git a/doc/src/diagrams/designer-creating-menubar.png b/doc/src/diagrams/designer-manual/designer-creating-menubar.png Binary files differindex e8078e0..e8078e0 100644 --- a/doc/src/diagrams/designer-creating-menubar.png +++ b/doc/src/diagrams/designer-manual/designer-creating-menubar.png diff --git a/doc/src/diagrams/designer-creating-menubar.zip b/doc/src/diagrams/designer-manual/designer-creating-menubar.zip Binary files differindex bddbf0e..bddbf0e 100644 --- a/doc/src/diagrams/designer-creating-menubar.zip +++ b/doc/src/diagrams/designer-manual/designer-creating-menubar.zip diff --git a/doc/src/diagrams/designer-edit-resource.zip b/doc/src/diagrams/designer-manual/designer-edit-resource.zip Binary files differindex dc43d9e..dc43d9e 100644 --- a/doc/src/diagrams/designer-edit-resource.zip +++ b/doc/src/diagrams/designer-manual/designer-edit-resource.zip diff --git a/doc/src/diagrams/designer-find-icon.zip b/doc/src/diagrams/designer-manual/designer-find-icon.zip Binary files differindex e94abd9..e94abd9 100644 --- a/doc/src/diagrams/designer-find-icon.zip +++ b/doc/src/diagrams/designer-manual/designer-find-icon.zip diff --git a/doc/src/diagrams/designer-form-layoutfunction-crop.png b/doc/src/diagrams/designer-manual/designer-form-layoutfunction-crop.png Binary files differindex e8dd39f..e8dd39f 100644 --- a/doc/src/diagrams/designer-form-layoutfunction-crop.png +++ b/doc/src/diagrams/designer-manual/designer-form-layoutfunction-crop.png diff --git a/doc/src/diagrams/designer-form-layoutfunction.png b/doc/src/diagrams/designer-manual/designer-form-layoutfunction.png Binary files differindex 9101e89..9101e89 100644 --- a/doc/src/diagrams/designer-form-layoutfunction.png +++ b/doc/src/diagrams/designer-manual/designer-form-layoutfunction.png diff --git a/doc/src/diagrams/designer-form-layoutfunction.zip b/doc/src/diagrams/designer-manual/designer-form-layoutfunction.zip Binary files differindex fcce637..fcce637 100644 --- a/doc/src/diagrams/designer-form-layoutfunction.zip +++ b/doc/src/diagrams/designer-manual/designer-form-layoutfunction.zip diff --git a/doc/src/diagrams/designer-main-window.zip b/doc/src/diagrams/designer-manual/designer-main-window.zip Binary files differindex 69b7ee6..69b7ee6 100644 --- a/doc/src/diagrams/designer-main-window.zip +++ b/doc/src/diagrams/designer-manual/designer-main-window.zip diff --git a/doc/src/diagrams/designer-mainwindow-actions.ui b/doc/src/diagrams/designer-manual/designer-mainwindow-actions.ui index 593a2de..593a2de 100644 --- a/doc/src/diagrams/designer-mainwindow-actions.ui +++ b/doc/src/diagrams/designer-manual/designer-mainwindow-actions.ui diff --git a/doc/src/diagrams/designer-palette-brush-editor.zip b/doc/src/diagrams/designer-manual/designer-palette-brush-editor.zip Binary files differindex 698f271..698f271 100644 --- a/doc/src/diagrams/designer-palette-brush-editor.zip +++ b/doc/src/diagrams/designer-manual/designer-palette-brush-editor.zip diff --git a/doc/src/diagrams/designer-palette-editor.zip b/doc/src/diagrams/designer-manual/designer-palette-editor.zip Binary files differindex 96646ab..96646ab 100644 --- a/doc/src/diagrams/designer-palette-editor.zip +++ b/doc/src/diagrams/designer-manual/designer-palette-editor.zip diff --git a/doc/src/diagrams/designer-palette-gradient-editor.zip b/doc/src/diagrams/designer-manual/designer-palette-gradient-editor.zip Binary files differindex 4696516..4696516 100644 --- a/doc/src/diagrams/designer-palette-gradient-editor.zip +++ b/doc/src/diagrams/designer-manual/designer-palette-gradient-editor.zip diff --git a/doc/src/diagrams/designer-palette-pattern-editor.zip b/doc/src/diagrams/designer-manual/designer-palette-pattern-editor.zip Binary files differindex 7382bad..7382bad 100644 --- a/doc/src/diagrams/designer-palette-pattern-editor.zip +++ b/doc/src/diagrams/designer-manual/designer-palette-pattern-editor.zip diff --git a/doc/src/diagrams/designer-resource-editor.zip b/doc/src/diagrams/designer-manual/designer-resource-editor.zip Binary files differindex 2c11da4..2c11da4 100644 --- a/doc/src/diagrams/designer-resource-editor.zip +++ b/doc/src/diagrams/designer-manual/designer-resource-editor.zip diff --git a/doc/src/diagrams/designer-widget-box.zip b/doc/src/diagrams/designer-manual/designer-widget-box.zip Binary files differindex 7ba8f77..7ba8f77 100644 --- a/doc/src/diagrams/designer-widget-box.zip +++ b/doc/src/diagrams/designer-manual/designer-widget-box.zip diff --git a/doc/src/diagrams/designer-manual/rgbController.ui b/doc/src/diagrams/designer-manual/rgbController.ui new file mode 100644 index 0000000..37c839f --- /dev/null +++ b/doc/src/diagrams/designer-manual/rgbController.ui @@ -0,0 +1,212 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>Form</class> + <widget class="QWidget" name="Form"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>400</width> + <height>300</height> + </rect> + </property> + <property name="windowTitle"> + <string>RGB Controller</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>RED</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QSpinBox" name="spinBox"> + <property name="maximum"> + <number>255</number> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QSlider" name="verticalSlider"> + <property name="maximum"> + <number>255</number> + </property> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QGridLayout" name="gridLayout_2"> + <item row="0" column="0"> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>GREEN</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QSpinBox" name="spinBox_2"> + <property name="maximum"> + <number>255</number> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QSlider" name="verticalSlider_2"> + <property name="maximum"> + <number>255</number> + </property> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QGridLayout" name="gridLayout_3"> + <item row="0" column="0"> + <widget class="QLabel" name="label_3"> + <property name="text"> + <string>BLUE</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QSpinBox" name="spinBox_3"> + <property name="maximum"> + <number>255</number> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QSlider" name="verticalSlider_3"> + <property name="maximum"> + <number>255</number> + </property> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + </widget> + </item> + </layout> + </item> + </layout> + <zorder>label</zorder> + <zorder>label_2</zorder> + <zorder>label_3</zorder> + <zorder>spinBox</zorder> + <zorder>spinBox_2</zorder> + <zorder>spinBox_3</zorder> + <zorder>verticalSlider</zorder> + <zorder>verticalSlider_2</zorder> + <zorder>verticalSlider_3</zorder> + <zorder>verticalSlider</zorder> + </widget> + <resources/> + <connections> + <connection> + <sender>spinBox</sender> + <signal>valueChanged(int)</signal> + <receiver>verticalSlider</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>55</x> + <y>51</y> + </hint> + <hint type="destinationlabel"> + <x>53</x> + <y>233</y> + </hint> + </hints> + </connection> + <connection> + <sender>spinBox_2</sender> + <signal>valueChanged(int)</signal> + <receiver>verticalSlider_2</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>193</x> + <y>46</y> + </hint> + <hint type="destinationlabel"> + <x>186</x> + <y>105</y> + </hint> + </hints> + </connection> + <connection> + <sender>spinBox_3</sender> + <signal>valueChanged(int)</signal> + <receiver>verticalSlider_3</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>312</x> + <y>38</y> + </hint> + <hint type="destinationlabel"> + <x>312</x> + <y>132</y> + </hint> + </hints> + </connection> + <connection> + <sender>verticalSlider</sender> + <signal>valueChanged(int)</signal> + <receiver>spinBox</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>57</x> + <y>86</y> + </hint> + <hint type="destinationlabel"> + <x>73</x> + <y>46</y> + </hint> + </hints> + </connection> + <connection> + <sender>verticalSlider_2</sender> + <signal>valueChanged(int)</signal> + <receiver>spinBox_2</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>187</x> + <y>135</y> + </hint> + <hint type="destinationlabel"> + <x>212</x> + <y>44</y> + </hint> + </hints> + </connection> + <connection> + <sender>verticalSlider_3</sender> + <signal>valueChanged(int)</signal> + <receiver>spinBox_3</receiver> + <slot>setValue(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>315</x> + <y>187</y> + </hint> + <hint type="destinationlabel"> + <x>349</x> + <y>50</y> + </hint> + </hints> + </connection> + </connections> +</ui> diff --git a/doc/src/examples/tablet.qdoc b/doc/src/examples/tablet.qdoc index 3b2caf3..95acc69 100644 --- a/doc/src/examples/tablet.qdoc +++ b/doc/src/examples/tablet.qdoc @@ -48,7 +48,7 @@ \image tabletexample.png When you use a tablet with Qt applications, \l{QTabletEvent}s are - genarated. You need to reimplement the + generated. You need to reimplement the \l{QWidget::}{tabletEvent()} event handler if you want to handle tablet events. Events are generated when the device used for drawing enters and leaves the proximity of the tablet (i.e., when diff --git a/doc/src/examples/videographicsitem.qdoc b/doc/src/examples/videographicsitem.qdoc new file mode 100644 index 0000000..861b587 --- /dev/null +++ b/doc/src/examples/videographicsitem.qdoc @@ -0,0 +1,52 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, 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. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \example video/videographicsitem + \title Video Graphics Item Example + + The Video Graphics Item example shows how to implement a QGraphicsItem that displays video on a + graphics scene using QtMultimedia's QAbstractVideoSurface. + + \image video-videographicsitem.png + + \sa {Video Widget Example} +*/ diff --git a/doc/src/examples/videowidget.qdoc b/doc/src/examples/videowidget.qdoc new file mode 100644 index 0000000..27d5711 --- /dev/null +++ b/doc/src/examples/videowidget.qdoc @@ -0,0 +1,187 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** Contact: Qt Software Information (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the either Technology Preview License Agreement or the +** Beta Release License Agreement. +** +** 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, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, 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. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \example video/videowidget + \title Video Widget Example + + The Video Widget example shows how to implement a video widget using + QtMultimedia's QAbstractVideoSurface + + \image video-videowidget.png + + \section1 VideoWidgetSurface Class Definition + + \snippet examples/video/videowidget/videowidgetsurface.h 0 + + The VideoWidgetSurface class inherits QAbstractVideoSurface and paints + video frames on a QWidget. This is a separate class to VideoWidget as both + QAbstractVideoSurface and QWidget inherit QObject. + + In addition to the functions from QAbstractVideoSurface, VideoWidgetSurface + has functions for determining the video display rectangle, and painting + the video. + + \section1 VideoWidgetSurface Class Implementation + + \snippet examples/video/videowidget/videowidgetsurface.cpp 0 + + From the supportedPixelFormats() function we return a list of pixel formats + the surface can paint. The order of the list hints at which formats are + preferred by the surface. Assuming a 32-bit RGB backbuffer, we'd expect + that a 32-bit RGB type with no alpha to be fastest to paint so + QVideoFrame::Image_RGB32 is first in the list. + + Since we don't support rendering using any special frame handles we don't + return any pixel formats if handleType is not + QAbstractVideoBuffer::NoHandle. + + \snippet examples/video/videowidget/videowidgetsurface.cpp 1 + + In isFormatSupported() we test if the frame type of a surface format maps + to a valid QImage format, that the frame size is not empty, and the handle + type is QAbstractVideoBuffer::NoHandle. Note that the + QAbstractVideoSurface implementation of isFormatSupported() will verify + that the list of supported pixel formats returned by + \c supportedPixelFormats(format.handleType()) contains the pixel format and + that the size is not empty so a reimplementation wasn't strictly necessary + in this case. + + \snippet examples/video/videowidget/videowidgetsurface.cpp 2 + + To start our surface we'll extract the image format and size from the + selected video format and save it for use in the paint() function. If the + image format, or size are invalid then we'll set an error and return false. + Otherwise we'll save the format and confirm the surface has been started, + by calling QAbstractVideoSurface::start(). Finally since the video size may + have changed we'll trigger an update of the widget, and video geometry. + + \snippet examples/video/videowidget/videowidgetsurface.cpp 5 + + The updateVideoRect() function calculates the region within the widget the + video occupies. The \l {QVideoSurfaceFormat::sizeHint()}{size hint} of the + video format gives a suggested size for the video calculated from the + \l {QVideoSurfaceFormat::viewport()}{viewport} and + \l {QVideoSurfaceFormat::pixelAspectRatio()}{pixel aspect ratio}. If the + suggested size fits within the widget then we create a new rect of that + size in the center of the widget. Otherwise we shrink the size maintaining + the aspect ratio so that it does fit. + + \snippet examples/video/videowidget/videowidgetsurface.cpp 4 + + We can't paint from outside a paint event, so when a new frame is received + in present() we save a reference to it and force an immediate repaint of + the video region. We retain the saved reference to the frame after the + repaint so that the widget can be repainted between frame changes if + necessary. + + If the format of the frame doesn't match the surface format we can't paint + it or very likely any future frames. So we set an + \l {QAbstractVideoSurface::UnsupportedFormatError}{UnsupportedFormatError} + on our surface and stop it immediately. + + \snippet examples/video/videowidget/videowidgetsurface.cpp 6 + + The paint() function is called by the video widget to paint the current + video frame. Before we draw the frame first we'll check the format for + the scan line direction and if the scan lines are arranged from bottom to + top we'll flip the painter so the frame isn't drawn upside down. Then + using the image format information saved in the start() function we'll + construct a new QImage from the current video frame, and draw it to the + the widget. + + \snippet examples/video/videowidget/videowidgetsurface.cpp 3 + + When the surface is stopped we need to release the current frame and + invalidate the video region. Then we confirm the surface has been + stopped by calling QAbstractVideoSurface::stop() which sets the started + state to false and finally we update so the video widget so paints over + the last frame. + + \section1 VideoWidget Class Definition + + The VideoWidget class uses the VideoWidgetSurface class to implement a + video widget. + + \snippet examples/video/videowidget/videowidget.h 0 + + The VideoWidget QWidget implementation is minimal with just the sizeHint(), + paintEvent(), and resizeEvent() functions in addition to the constructor, + destructor and an instance of VideoWidgetSurface. + + \section1 VideoWidget Class Implementation + + \snippet examples/video/videowidget/videowidget.cpp 0 + + In the VideoWidget constructor we set some flags to speed up re-paints a + little. Setting the Qt::WA_NoSystemBackground flag and disabling automatic + background fills will stop Qt from a painting a background that'll be + completely obscured by the video. The Qt::WA_PaintOnScreen flag will + allow us to paint to the screen instead of the back buffer where supported. + + Next we set the background color to black, so that any borders around the + video are filled in black rather the default background color. + + Finally we construct an instance of the VideoWidgetSurface class. + + \snippet examples/video/videowidget/videowidget.cpp 1 + + In the destructor we simply delete the VideoWidgetSurface instance. + + \snippet examples/video/videowidget/videowidget.cpp 2 + + We get the size hint for the widget from the video format of the surface + which is calculated from viewport and pixel aspect ratio of the video + format. + + \snippet examples/video/videowidget/videowidget.cpp 3 + + When the video widget receives a paint event we first check if the surface + is started, if not then we simply fill the widget with the background + color. If it is then we draw a border around the video region clipped + by the paint region, before calling paint on the video surface to draw the + current frame. + + \snippet examples/video/videowidget/videowidget.cpp 4 + + The resizeEvent() function is reimplemented to trigger an update of the + video region when the widget is resized. +*/ diff --git a/doc/src/getting-started/demos.qdoc b/doc/src/getting-started/demos.qdoc index 1eac06f..528494b 100644 --- a/doc/src/getting-started/demos.qdoc +++ b/doc/src/getting-started/demos.qdoc @@ -46,7 +46,7 @@ \previouspage Qt Examples \contentspage How to Learn Qt - \nextpage What's New in Qt 4.5 + \nextpage What's New in Qt 4.6 This is the list of demonstrations in Qt's \c demos directory. These are larger and more complicated programs than the diff --git a/doc/src/getting-started/examples.qdoc b/doc/src/getting-started/examples.qdoc index 253a4e4..b0d6bf6 100644 --- a/doc/src/getting-started/examples.qdoc +++ b/doc/src/getting-started/examples.qdoc @@ -796,6 +796,13 @@ \o \l{multimedia/audio/audioinput}{Audio Input} \endlist + \section1 Video Output + + \list + \o \l{video/videowidget}{Video Widget}\raisedaster + \o \l{video/videographicsitem}{Video Graphics Item} + \endlist + \section1 Phonon The Phonon Multimedia Framework brings multimedia support to Qt applications. diff --git a/doc/src/images/gestures.png b/doc/src/images/gestures.png Binary files differnew file mode 100644 index 0000000..6bc5632 --- /dev/null +++ b/doc/src/images/gestures.png diff --git a/doc/src/images/video-videographicsitem.png b/doc/src/images/video-videographicsitem.png Binary files differnew file mode 100644 index 0000000..e333c54 --- /dev/null +++ b/doc/src/images/video-videographicsitem.png diff --git a/doc/src/images/video-videowidget.png b/doc/src/images/video-videowidget.png Binary files differnew file mode 100644 index 0000000..a3c7bcb --- /dev/null +++ b/doc/src/images/video-videowidget.png diff --git a/doc/src/images/whatsnewanimatedtiles.png b/doc/src/images/whatsnewanimatedtiles.png Binary files differnew file mode 100644 index 0000000..7152ee2 --- /dev/null +++ b/doc/src/images/whatsnewanimatedtiles.png diff --git a/doc/src/index.qdoc b/doc/src/index.qdoc index 4d92157..746a2de 100644 --- a/doc/src/index.qdoc +++ b/doc/src/index.qdoc @@ -76,7 +76,7 @@ <ul> <li><a href="installation.html">Installation</a> and <a href="how-to-learn-qt.html">First Steps with Qt</a></li> <li><a href="tutorials.html">Tutorials</a> and <a href="examples.html">Examples</a></li> - <li><a href="demos.html">Demonstrations</a> and <a href="qt4-5-intro.html"><b>New in Qt 4.5</b></a></li> + <li><a href="demos.html">Demonstrations</a> and <a href="qt4-6-intro.html"><b>New in Qt 4.6</b></a></li> </ul> </td> <td valign="top"> diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc index 5c2642e..3258586 100644 --- a/doc/src/qt4-intro.qdoc +++ b/doc/src/qt4-intro.qdoc @@ -78,6 +78,28 @@ The following features have been added to Qt since the first release of Qt 4: + In Qt 4.5: + \list + \o The WebKit browser engine included with Qt has been + upgraded to the latest upstream (trunk) version of WebKit, + bringing the latest features and improvements to Qt applications. + \o Qt for Mac OS X has been substantially rewritten to use + Apple's Cocoa API, enabling Qt applications to be deployed on + 64-bit Macintosh hardware. + \o The QtXmlPatterns module has been extended to cover XSLT, a + transformation language for XML documents. + \o Qt Script introduced its debugger, + providing error reporting for scripts, and to let users track down + bugs in their own scripts. + \o Qt 4.5 includes support for writing rich text documents as + OpenDocument files via the newly-introduced QTextDocumentWriter + class. + \o Qt Linguist can load and edit multiple translation + files simultaneously. + \o Support for ARGB top-level widgets (i.e., translucent + windows). + \endlist + In Qt 4.4: \list \o \l{QtWebkit Module}{Qt WebKit integration}, making it possible for developers @@ -87,8 +109,8 @@ \o \l{QtXmlPatterns Module}{XQuery and XPath} support, providing facilities for XML processing beyond that supported by the QtXml module. \o Support for embedded widgets in \l{Graphics View} scenes. - \o The \l{QtConcurrent} framework for concurrent programming using Qt paradigms and - threading features. + \o The \l{Threading and Concurrent Programming}{QtConcurrent framework} for + concurrent programming using Qt paradigms and threading features. \o An \l{QtHelp Module}{improved help system} that can be used in conjunction with Qt Assistant or as an independent help resource manager. \o Printing system improvements, including the QPrinterInfo, QPrintPreviewWidget @@ -435,6 +457,157 @@ */ /*! + \page qt4-6-intro.html + \title What's New in Qt 4.6 + + Qt 4.6 provides many improvements and enhancements over the + previous releases in the Qt 4 series. This document covers the + most important features in this release, separated by category. + + A comprehensive list of changes between Qt 4.5 and Qt 4.6 is + included in the \c changes-4.6.0 file + \l{http://qt.nokia.com/developer/changes/changes-4.6.0}{available + online}. A \l{Known Issues in %VERSION%}{list of known issues} + for this release is also available. + + Changes between this release and the previous release are provided + in the \c{changes-%VERSION%} file (also + \l{http://qt.nokia.com/developer/changes/changes-%VERSION%}{available online}). + + A list of other Qt 4 features can be found on the \bold{\l{What's + New in Qt 4}} page. + + \bold{Highlights} + + \tableofcontents + + \section1 Animation Framework + + The animation framework helps build highly animated, + high-performance GUIs without the hassle of managing complex + structures, timers, and easing curves, not to mention the large + state graphs that all animated GUIs tend to be full of. + + The framework makes it easy to animate \l{QObject}s, including + QWidgets, by allowing Qt properties to be animated. It also allows + creating custom animations and interpolation functions. Graphics + views are not left out--one can animate \l{QGraphicsWidget}s, + which inherits from QObject (and thereby enables properties). + + Animations are controlled using easing curves and can be grouped + together. This enables animations of arbitrary complexity. + + The API is easy to grasp with functions such as start(), stop(), + pause(), and currentTime(). Here is an image from one of the + examples that come with the framework: + + \image whatsnewanimatedtiles.png + + The animation framework also plugs into the new Qt Statemachine by + allowing an animation to be played when transitions are triggered. + The state machine framework is introduced in 4.6 and is described + below. + + \section1 State Machine Framework + + The state machine framework provides a robust state chart + implementation based on Harel statecharts and SCXML. Qt's API lets + you construct such state graphs and execute them. The key benefits + of a state machine are: + + \list + \o Simplify complex application semantics. + \o Use of states to reduce code bloat. + \o Use states to improve maintainability. + \o Makes event-driven programming robust and more + reusable. + \endlist + + It is especially the last item here that makes using a state + machine worthwhile. A key characteristic of event-driven systems + (such as Qt applications) is that behavior often depends not only + on the last or current event, but also the events that preceded + it. With statecharts, this information is easy to express. + + The framework fits neatly into Qt by allowing transitions to + trigger on signals and \l{QEvent}s. By inserting animations into + the state machine, it is also easier to use the framework for + animating GUIs, for instance. + + \section1 Multi-touch & Gestures + + The new multi-touch and gestures support enables user interaction + with more than one finger, and combines sequential touch inputs to + a 'gesture'. + + \image gestures.png + + The main benefits of this new functionality are: + + \list + \o Allow users to interact with applications in better ways. + \o Simplify finger-based interaction with UI components. + \o Allowing common basic gestures and multi-touch + gestures. + \o Enable extensibility. + \endlist + + \section1 DOM access API + + Web pages and XML both have very complex document object models. + The W3C selector API provides a very simple way to access and + manipulate such structures. This API makes it intuitive to access + DOM, helps reuse CSS selector knowledge, and gives little + maintenance or footprint overhead. + + \code + QWebElement document = frame->documentElement(); + QList<QWebElement> allSpans = document.findAll("span"); + QList<QWebElement> introSpans = document.findAll("p.intro span"); + \endcode + + \section1 Qt3D enablers + + As more of Qt, and more of the applications built on Qt go 3D, + API's should be provided to simplify this. Mainly, the new API + aims to make it more easy to create 3D applications with OpenGL. + It will also unify the Qt OpenGL codebase, and enable + cross-platform 3D codebase. + + The main features of the Qt3D enablers are currently: Math + primitives for matrix multiplication, vectors, quaternions + (client-side), and API for vertex and fragment shaders, GLSL/ES. + Future research will, among other things include stencils, +scissors, vertex buffers and arrays, texture manipulation, and + geometry shaders. + + \section1 Performance Optimizations + + As always, Qt continuously strive to optimize its performance. + For this release, we have: + + \list + \o Rewritten the QGraphicsView rendering algorithm. + \o Made QPixmapCache support efficient Key datastructure. + \o Reduced overhead in QNetworkAccessManager. + \o Added the QContiguousCache class, which provides efficient caching of + contiguous data. + \o Removed Win9x support. + \endlist + + \section1 Multimedia Audio Services + + Qt 4.6 comes with new classes for handling audio. These classes + provide low-level access to the system's audio system. By + specifying the audio format (QAudioFormat) and supplying audio + data through a QIODevice, you get direct access to the + functionality of the sound device. The API also comes with + functions to query audio devices for which audio formats they + support. + +*/ + +/* \page qt4-5-intro.html \title What's New in Qt 4.5 @@ -563,7 +736,7 @@ \section1 Improved Network Proxy Support Qt's networking classes have been updated with - \l{Network Programming#Support for Network Proxies}{improved proxy support}. + \l{QtNetwork Module#Support for Network Proxies}{improved proxy support}. This includes improved integration with system proxy settings and the added ability to handle non-trivial proxy cases. diff --git a/doc/src/snippets/code/src_gui_effects_qgraphicseffect.cpp b/doc/src/snippets/code/src_gui_effects_qgraphicseffect.cpp new file mode 100644 index 0000000..6265c80 --- /dev/null +++ b/doc/src/snippets/code/src_gui_effects_qgraphicseffect.cpp @@ -0,0 +1,33 @@ +//! [0] +MyGraphicsOpacityEffect::draw(QPainter *painter, QGraphicsEffectSource *source) +{ + // Fully opaque; draw directly without going through a pixmap. + if (qFuzzyCompare(m_opacity, 1)) { + source->draw(painter); + return; + } + ... +} +//! [0] + +//! [1] +MyGraphicsEffect::draw(QPainter *painter, QGraphicsEffectSource *source) +{ + ... + QPoint offset; + if (source->isPixmap()) { + // No point in drawing in device coordinates (pixmap will be scaled anyways). + const QPixmap pixmap = source->pixmap(Qt::LogicalCoordinates, &offset); + ... + painter->drawPixmap(offset, pixmap); + } else { + // Draw pixmap in device coordinates to avoid pixmap scaling; + const QPixmap pixmap = source->pixmap(Qt::DeviceCoordinates, &offset); + painter->setWorldTransform(QTransform()); + ... + painter->drawPixmap(offset, pixmap); + } + ... +} +//! [1] + |