summaryrefslogtreecommitdiffstats
path: root/examples/gui/doc/src/analogclockwindow.qdoc
diff options
context:
space:
mode:
Diffstat (limited to 'examples/gui/doc/src/analogclockwindow.qdoc')
-rw-r--r--examples/gui/doc/src/analogclockwindow.qdoc138
1 files changed, 0 insertions, 138 deletions
diff --git a/examples/gui/doc/src/analogclockwindow.qdoc b/examples/gui/doc/src/analogclockwindow.qdoc
deleted file mode 100644
index f13f7261aa..0000000000
--- a/examples/gui/doc/src/analogclockwindow.qdoc
+++ /dev/null
@@ -1,138 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \example analogclock
- \title Analog Clock Window Example
-
- \brief The Analog Clock Window example shows how to draw the contents of
- a custom window.
-
- \image analogclock-window-example.png Screenshot of the Analog
- Clock Window example
-
- This example demonstrates how the transformation and scaling
- features of QPainter can be used to make drawing easier.
-
- \section1 AnalogClockWindow Class Definition
-
- The \c AnalogClockWindow class provides a clock with hour and
- minute hands that is automatically updated every few seconds. We
- make use of the RasterWindow from the \l {Raster Window Example}
- and reimplement the \c render function to draw the clock face:
-
- \snippet analogclock/main.cpp 5
-
- \section1 AnalogClock Class Implementation
-
- \snippet analogclock/main.cpp 6
-
- We set a title on the window and resize to a reasonable size. Then
- we start a timer which we will use to redraw the clock every
- second.
-
- \snippet analogclock/main.cpp 7
-
- The timerEvent function is called every second as a result of
- our startTimer call. Making use of the convenience in the base
- class, we schedule the window to be repainted.
-
- Checking the timer's id is not strictly needed as we only have
- one active timer in this instance, but it is good practice to do
- so.
-
- \snippet analogclock/main.cpp 14
- \snippet analogclock/main.cpp 8
-
- Before we set up the painter and draw the clock, we first define
- two lists of \l {QPoint}s and two \l{QColor}s that will be used
- for the hour and minute hands. The minute hand's color has an
- alpha component of 191, meaning that it's 75% opaque.
-
- \snippet analogclock/main.cpp 9
-
- We call QPainter::setRenderHint() with QPainter::Antialiasing to
- turn on antialiasing. This makes drawing of diagonal lines much
- smoother.
-
- \snippet analogclock/main.cpp 10
-
- The translation moves the origin to the center of the window, and
- the scale operation ensures that the following drawing operations
- are scaled to fit within the window. We use a scale factor that
- let's us use x and y coordinates between -100 and 100, and that
- ensures that these lie within the length of the window's shortest
- side.
-
- To make our code simpler, we will draw a fixed size clock face that will
- be positioned and scaled so that it lies in the center of the window.
-
- We also determine the length of the window's shortest side so that we
- can fit the clock face inside the window.
-
- The painter takes care of all the transformations made during the
- rendering, and ensures that everything is drawn correctly. Letting
- the painter handle transformations is often easier than performing
- manual calculations.
-
- \image analogclockwindow-viewport.png
-
- We draw the hour hand first, using a formula that rotates the coordinate
- system counterclockwise by a number of degrees determined by the current
- hour and minute. This means that the hand will be shown rotated clockwise
- by the required amount.
-
- \snippet analogclock/main.cpp 11
-
- We set the pen to be Qt::NoPen because we don't want any outline,
- and we use a solid brush with the color appropriate for
- displaying hours. Brushes are used when filling in polygons and
- other geometric shapes.
-
- \snippet analogclock/main.cpp 2
-
- We save and restore the transformation matrix before and after the
- rotation because we want to place the minute hand without having to
- take into account any previous rotations.
-
- \snippet analogclock/main.cpp 12
-
- We draw markers around the edge of the clock for each hour. We
- draw each marker then rotate the coordinate system so that the
- painter is ready for the next one.
-
- \snippet analogclock/main.cpp 13
- \snippet analogclock/main.cpp 3
-
- The minute hand is rotated in a similar way to the hour hand.
-
- \snippet analogclock/main.cpp 4
-
- Again, we draw markers around the edge of the clock, but this
- time to indicate minutes. We skip multiples of 5 to avoid drawing
- minute markers on top of hour markers.
-*/