Doc: Fix some broken links and quote paths
The correct paths are relative to: - <reporoot>/examples/<module>, or - <reporoot>/src/<module> Removing the module specifier fixes these links/quotes. Change-Id: I6be4f28c44bd26361b60a394158b0e6cc46b1ec0 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
This commit is contained in:
committed by
The Qt Project
parent
d07aa35bc8
commit
09fea23419
@@ -52,15 +52,15 @@ which moves across the \l{VideoOutput} item.
|
|||||||
|
|
||||||
\section1 Application structure
|
\section1 Application structure
|
||||||
|
|
||||||
The \l{multimedia/video/qmlvideo/qml/qmlvideo/main.qml} file creates a UI which includes
|
The \l{video/qmlvideo/qml/qmlvideo/main.qml} file creates a UI which includes
|
||||||
the following items:
|
the following items:
|
||||||
|
|
||||||
\list
|
\list
|
||||||
\li Two \l{multimedia/video/qmlvideo/qml/qmlvideo/Button.qml}{Button} instances, each
|
\li Two \l{video/qmlvideo/qml/qmlvideo/Button.qml}{Button} instances, each
|
||||||
of which displays a filename, and can be used to launch a
|
of which displays a filename, and can be used to launch a
|
||||||
\l{multimedia/video/qmlvideo/qml/qmlvideo/FileBrowser.qml}{FileBrowser}
|
\l{video/qmlvideo/qml/qmlvideo/FileBrowser.qml}{FileBrowser}
|
||||||
\li An exit \l{multimedia/video/qmlvideo/qml/qmlvideo/Button.qml}{Button}
|
\li An exit \l{video/qmlvideo/qml/qmlvideo/Button.qml}{Button}
|
||||||
\li A \l{multimedia/video/qmlvideo/qml/qmlvideo/SceneSelectionPanel.qml}{SceneSelectionPanel},
|
\li A \l{video/qmlvideo/qml/qmlvideo/SceneSelectionPanel.qml}{SceneSelectionPanel},
|
||||||
which is a flickable list displaying the available scenes
|
which is a flickable list displaying the available scenes
|
||||||
\li At the lower left, an item which displays the QML repainting rate - the
|
\li At the lower left, an item which displays the QML repainting rate - the
|
||||||
upper number is the instantaneous frame rate and the lower number is the
|
upper number is the instantaneous frame rate and the lower number is the
|
||||||
@@ -72,18 +72,18 @@ the following items:
|
|||||||
Each scene in the flickable list is implemented in its own QML file - for
|
Each scene in the flickable list is implemented in its own QML file - for
|
||||||
example the video-basic scene (which just displays a static \l{VideoOutput}
|
example the video-basic scene (which just displays a static \l{VideoOutput}
|
||||||
in the center of the screen) is implemented in the
|
in the center of the screen) is implemented in the
|
||||||
\l{multimedia/video/qmlvideo/qml/qmlvideo/VideoBasic.qml}{VideoBasic.qml} file. As you
|
\l{video/qmlvideo/qml/qmlvideo/VideoBasic.qml}{VideoBasic.qml} file. As you
|
||||||
can see from the code, this makes use of a type of inheritance: a
|
can see from the code, this makes use of a type of inheritance: a
|
||||||
\l{multimedia/video/qmlvideo/qml/qmlvideo/VideoBasic.qml}{VideoBasic} item ...
|
\l{video/qmlvideo/qml/qmlvideo/VideoBasic.qml}{VideoBasic} item ...
|
||||||
|
|
||||||
\quotefromfile multimedia/video/qmlvideo/qml/qmlvideo/VideoBasic.qml
|
\quotefromfile video/qmlvideo/qml/qmlvideo/VideoBasic.qml
|
||||||
\skipto import
|
\skipto import
|
||||||
\printuntil /^\}/
|
\printuntil /^\}/
|
||||||
|
|
||||||
... is-a
|
... is-a
|
||||||
\l{multimedia/video/qmlvideo/qml/qmlvideo/SceneBasic.qml}{SceneBasic} ...
|
\l{video/qmlvideo/qml/qmlvideo/SceneBasic.qml}{SceneBasic} ...
|
||||||
|
|
||||||
\quotefromfile multimedia/video/qmlvideo/qml/qmlvideo/SceneBasic.qml
|
\quotefromfile video/qmlvideo/qml/qmlvideo/SceneBasic.qml
|
||||||
\skipto import
|
\skipto import
|
||||||
\printuntil contentType
|
\printuntil contentType
|
||||||
\dots
|
\dots
|
||||||
@@ -94,9 +94,9 @@ can see from the code, this makes use of a type of inheritance: a
|
|||||||
\printuntil /^\}/
|
\printuntil /^\}/
|
||||||
|
|
||||||
... which is-a
|
... which is-a
|
||||||
\l{multimedia/video/qmlvideo/qml/qmlvideo/Scene.qml}{Scene}:
|
\l{video/qmlvideo/qml/qmlvideo/Scene.qml}{Scene}:
|
||||||
|
|
||||||
\quotefromfile multimedia/video/qmlvideo/qml/qmlvideo/Scene.qml
|
\quotefromfile video/qmlvideo/qml/qmlvideo/Scene.qml
|
||||||
\skipto import
|
\skipto import
|
||||||
\printuntil root
|
\printuntil root
|
||||||
\dots
|
\dots
|
||||||
@@ -106,25 +106,25 @@ can see from the code, this makes use of a type of inheritance: a
|
|||||||
\skipto Button
|
\skipto Button
|
||||||
\printuntil /^\}/
|
\printuntil /^\}/
|
||||||
|
|
||||||
\l{multimedia/video/qmlvideo/qml/qmlvideo/SceneBasic.qml}{SceneBasic} describes the
|
\l{video/qmlvideo/qml/qmlvideo/SceneBasic.qml}{SceneBasic} describes the
|
||||||
structure and behaviour of the scene, but is agnostic of the type of content
|
structure and behaviour of the scene, but is agnostic of the type of content
|
||||||
which will be displayed - this is abstracted by
|
which will be displayed - this is abstracted by
|
||||||
\l{multimedia/video/qmlvideo/qml/qmlvideo/Content.qml}{Content}.
|
\l{video/qmlvideo/qml/qmlvideo/Content.qml}{Content}.
|
||||||
|
|
||||||
This pattern allows us to define a particular use case (in this case, simply
|
This pattern allows us to define a particular use case (in this case, simply
|
||||||
display a static piece of content), and then instantiate that use case for
|
display a static piece of content), and then instantiate that use case for
|
||||||
both video content
|
both video content
|
||||||
(\l{multimedia/video/qmlvideo/qml/qmlvideo/VideoBasic.qml}{VideoBasic}) and cameracontent
|
(\l{video/qmlvideo/qml/qmlvideo/VideoBasic.qml}{VideoBasic}) and camera content
|
||||||
(\l{multimedia/video/qmlvideo/qml/qmlvideo/CameraBasic.qml}{CameraBasic}). This approach
|
(\l{video/qmlvideo/qml/qmlvideo/CameraBasic.qml}{CameraBasic}). This approach
|
||||||
is used to implement many of the other scenes - for example, "repeatedly slide
|
is used to implement many of the other scenes - for example, "repeatedly slide
|
||||||
the content from left to right and back again" is implemented by
|
the content from left to right and back again" is implemented by
|
||||||
\l{multimedia/video/qmlvideo/qml/qmlvideo/SceneMove.qml}{SceneMove}, on which
|
\l{video/qmlvideo/qml/qmlvideo/SceneMove.qml}{SceneMove}, on which
|
||||||
\l{multimedia/video/qmlvideo/qml/qmlvideo/VideoMove.qml}{VideoMove} and
|
\l{video/qmlvideo/qml/qmlvideo/VideoMove.qml}{VideoMove} and
|
||||||
\l{multimedia/video/qmlvideo/qml/qmlvideo/CameraMove.qml}{CameraMove} are based.
|
\l{video/qmlvideo/qml/qmlvideo/CameraMove.qml}{CameraMove} are based.
|
||||||
|
|
||||||
Depending on the value of the contentType property in the top-level scene
|
Depending on the value of the contentType property in the top-level scene
|
||||||
instance, the embedded
|
instance, the embedded
|
||||||
\l{multimedia/video/qmlvideo/qml/qmlvideo/Content.qml}{Content} item creates either a
|
\l{video/qmlvideo/qml/qmlvideo/Content.qml}{Content} item creates either a
|
||||||
\l{MediaPlayer} or a \l{Camera} item.
|
\l{MediaPlayer} or a \l{Camera} item.
|
||||||
|
|
||||||
\section1 Calculating and displaying QML painting rate
|
\section1 Calculating and displaying QML painting rate
|
||||||
@@ -134,7 +134,7 @@ instance, the embedded
|
|||||||
All that remains is to connect the afterRendering() signal of the QQuickView
|
All that remains is to connect the afterRendering() signal of the QQuickView
|
||||||
object to a JavaScript function, which will eventually call frequencyItem.notify():
|
object to a JavaScript function, which will eventually call frequencyItem.notify():
|
||||||
|
|
||||||
\quotefromfile multimedia/video/qmlvideo/main.cpp
|
\quotefromfile video/qmlvideo/main.cpp
|
||||||
\skipto QGuiApplication
|
\skipto QGuiApplication
|
||||||
\printuntil ;
|
\printuntil ;
|
||||||
\dots
|
\dots
|
||||||
|
|||||||
@@ -134,10 +134,10 @@ types is a bit more complicated, for the following reasons:
|
|||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
The abstraction of source item type is achieved by the
|
The abstraction of source item type is achieved by the
|
||||||
\l{multimedia/video/qmlvideofx/qml/qmlvideofx/Content.qml}{Content}, which uses a
|
\l{video/qmlvideofx/qml/qmlvideofx/Content.qml}{Content}, which uses a
|
||||||
\l{Loader} to create either a \l{MediaPlayer}, \l{Camera} or \l{Image}:
|
\l{Loader} to create either a \l{MediaPlayer}, \l{Camera} or \l{Image}:
|
||||||
|
|
||||||
\quotefromfile multimedia/video/qmlvideofx/qml/qmlvideofx/Content.qml
|
\quotefromfile video/qmlvideofx/qml/qmlvideofx/Content.qml
|
||||||
\skipto import
|
\skipto import
|
||||||
\printuntil {
|
\printuntil {
|
||||||
\dots
|
\dots
|
||||||
@@ -164,10 +164,10 @@ The abstraction of source item type is achieved by the
|
|||||||
\printuntil }
|
\printuntil }
|
||||||
|
|
||||||
Each effect is implemented as a QML item which is based on the
|
Each effect is implemented as a QML item which is based on the
|
||||||
\l{multimedia/video/qmlvideofx/qml/qmlvideofx/Effect.qml}{Effect}, which in turn
|
\l{video/qmlvideofx/qml/qmlvideofx/Effect.qml}{Effect}, which in turn
|
||||||
is based on the \l{ShaderEffect}:
|
is based on the \l{ShaderEffect}:
|
||||||
|
|
||||||
\quotefromfile multimedia/video/qmlvideofx/qml/qmlvideofx/Effect.qml
|
\quotefromfile video/qmlvideofx/qml/qmlvideofx/Effect.qml
|
||||||
\skipto import
|
\skipto import
|
||||||
\printuntil /^\}/
|
\printuntil /^\}/
|
||||||
|
|
||||||
@@ -179,20 +179,20 @@ implementation of the pixelation effect. As you can see, the pixelation effect
|
|||||||
supports one parameter (which controls the pixelation granularity), and states
|
supports one parameter (which controls the pixelation granularity), and states
|
||||||
that the divider should be displayed.
|
that the divider should be displayed.
|
||||||
|
|
||||||
\quotefromfile multimedia/video/qmlvideofx/qml/qmlvideofx/EffectPixelate.qml
|
\quotefromfile video/qmlvideofx/qml/qmlvideofx/EffectPixelate.qml
|
||||||
\skipto import
|
\skipto import
|
||||||
\printuntil /^\}/
|
\printuntil /^\}/
|
||||||
|
|
||||||
The main.qml file shows a
|
The main.qml file shows a
|
||||||
\l{multimedia/video/qmlvideofx/qml/qmlvideofx/FileOpen.qml}{FileOpen}, which allows
|
\l{video/qmlvideofx/qml/qmlvideofx/FileOpen.qml}{FileOpen}, which allows
|
||||||
the user to select the input source and an
|
the user to select the input source and an
|
||||||
\l{multimedia/video/qmlvideofx/qml/qmlvideofx/EffectSelectionPanel.qml}{EffectSelectionPanel}
|
\l{video/qmlvideofx/qml/qmlvideofx/EffectSelectionPanel.qml}{EffectSelectionPanel}
|
||||||
item, which lists each of the available shader effects. As described above, a
|
item, which lists each of the available shader effects. As described above, a
|
||||||
\l{multimedia/video/qmlvideofx/qml/qmlvideofx/Content.qml}{Content} item is used to load the
|
\l{video/qmlvideofx/qml/qmlvideofx/Content.qml}{Content} item is used to load the
|
||||||
appropriate input and effect type. A
|
appropriate input and effect type. A
|
||||||
\l{multimedia/video/qmlvideofx/qml/qmlvideofx/Divider.qml}{Divider} item draws the
|
\l{video/qmlvideofx/qml/qmlvideofx/Divider.qml}{Divider} item draws the
|
||||||
vertical dividing line, which can be dragged left / right by the user. Finally,
|
vertical dividing line, which can be dragged left / right by the user. Finally,
|
||||||
a \l{multimedia/video/qmlvideofx/qml/qmlvideofx/ParameterPanel.qml}{ParameterPanel} item
|
a \l{video/qmlvideofx/qml/qmlvideofx/ParameterPanel.qml}{ParameterPanel} item
|
||||||
renders the sliders corresponding to each effect parameter.
|
renders the sliders corresponding to each effect parameter.
|
||||||
|
|
||||||
Here is the source selection menu:
|
Here is the source selection menu:
|
||||||
@@ -208,7 +208,7 @@ And here is the effect selection menu:
|
|||||||
All that remains is to connect the afterRendering() signal of the QQuickView
|
All that remains is to connect the afterRendering() signal of the QQuickView
|
||||||
object to a JavaScript function, which will eventually call frequencyItem.notify():
|
object to a JavaScript function, which will eventually call frequencyItem.notify():
|
||||||
|
|
||||||
\quotefromfile multimedia/video/qmlvideofx/main.cpp
|
\quotefromfile video/qmlvideofx/main.cpp
|
||||||
\skipto QGuiApplication
|
\skipto QGuiApplication
|
||||||
\printuntil ;
|
\printuntil ;
|
||||||
\dots
|
\dots
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ The QML painting rate is calculated by the FrequencyMonitor class, which
|
|||||||
turns a stream of events (received via the notify() slot), into an
|
turns a stream of events (received via the notify() slot), into an
|
||||||
instantaneous and an averaged frequency:
|
instantaneous and an averaged frequency:
|
||||||
|
|
||||||
\quotefromfile multimedia/video/snippets/frequencymonitor/frequencymonitor.h
|
\quotefromfile video/snippets/frequencymonitor/frequencymonitor.h
|
||||||
\skipto class FrequencyMonitor : public QObject
|
\skipto class FrequencyMonitor : public QObject
|
||||||
\printuntil Q_OBJECT
|
\printuntil Q_OBJECT
|
||||||
\skipto Q_PROPERTY(qreal instantaneousFrequency
|
\skipto Q_PROPERTY(qreal instantaneousFrequency
|
||||||
@@ -19,13 +19,13 @@ instantaneous and an averaged frequency:
|
|||||||
|
|
||||||
The FrequencyMonitor class is exposed to QML like this
|
The FrequencyMonitor class is exposed to QML like this
|
||||||
|
|
||||||
\quotefromfile multimedia/video/snippets/frequencymonitor/frequencymonitordeclarative.cpp
|
\quotefromfile video/snippets/frequencymonitor/frequencymonitordeclarative.cpp
|
||||||
\skipto FrequencyMonitor::qmlRegisterType
|
\skipto FrequencyMonitor::qmlRegisterType
|
||||||
\printuntil }
|
\printuntil }
|
||||||
|
|
||||||
and its data is displayed by defining a QML item called FrequencyItem, like this:
|
and its data is displayed by defining a QML item called FrequencyItem, like this:
|
||||||
|
|
||||||
\quotefromfile multimedia/video/snippets/frequencymonitor/qml/frequencymonitor/FrequencyItem.qml
|
\quotefromfile video/snippets/frequencymonitor/qml/frequencymonitor/FrequencyItem.qml
|
||||||
\skipto import FrequencyMonitor
|
\skipto import FrequencyMonitor
|
||||||
\printuntil id: root
|
\printuntil id: root
|
||||||
\dots
|
\dots
|
||||||
|
|||||||
Reference in New Issue
Block a user