diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:45:59 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:45:59 +0000 |
commit | 19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch) | |
tree | 42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/boost/tools/build/example/qt/qt3/hello/canvas.cpp | |
parent | Initial commit. (diff) | |
download | ceph-19fcec84d8d7d21e796c7624e521b60d28ee21ed.tar.xz ceph-19fcec84d8d7d21e796c7624e521b60d28ee21ed.zip |
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | src/boost/tools/build/example/qt/qt3/hello/canvas.cpp | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/src/boost/tools/build/example/qt/qt3/hello/canvas.cpp b/src/boost/tools/build/example/qt/qt3/hello/canvas.cpp new file mode 100644 index 000000000..c6d23c9d4 --- /dev/null +++ b/src/boost/tools/build/example/qt/qt3/hello/canvas.cpp @@ -0,0 +1,73 @@ +// Copyright Vladimir Prus 2004. +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt +// or copy at http://www.boost.org/LICENSE_1_0.txt) + +#include "canvas.h" + +#include <qlabel.h> +#include <qcanvas.h> +#include <qlayout.h> + +Canvas::Canvas(QWidget* parent) +: QWidget(parent) +{ + m_pen = QPen(QColor(255, 128, 128)); + m_brushes = new QBrush[2]; + m_brushes[0] = QBrush(QColor(255, 0, 0)); + m_brushes[1] = QBrush(QColor(0, 255, 0)); + m_current_brush = 0; + + m_canvas = new QCanvas(this); + m_canvas->resize(4*1600, 600); + + redraw(); + + QVBoxLayout* l = new QVBoxLayout(this); + + m_canvas_view = new QCanvasView(m_canvas, this); + l->addWidget(m_canvas_view); + m_canvas_view->resize(rect().size()); + m_canvas_view->show(); +} + +Canvas::~Canvas() +{ + delete m_brushes; +} + +void Canvas::redraw() +{ + QCanvasItemList l = m_canvas->allItems(); + for(QCanvasItemList::iterator i = l.begin(), + e = l.end(); i != e; ++i) + { + delete *i; + } + + unsigned count = 0; + for (unsigned x = 10; x < 4*1600; x += 20) + for (unsigned y = 10; y < 600; y += 20) { + QCanvasRectangle* r = new QCanvasRectangle(x, y, 10, 10, m_canvas); + r->setPen(m_pen); + r->setBrush(m_brushes[m_current_brush]); + r->show(); + ++count; + QCanvasText* t = new QCanvasText("D", m_canvas); + t->move(x, y); + t->show(); + ++count; + } + + (new QCanvasText(QString::number(count), m_canvas))->show(); + m_canvas->setAllChanged(); + +} + +void Canvas::change_color() +{ + m_current_brush = (m_current_brush + 1)%2; + redraw(); + m_canvas->update(); +} + |