#include <PaintExample.h>
Public Member Functions | |
PaintExample (WContainerWidget *root) | |
Private Member Functions | |
void | rotateShape (int v) |
void | scaleShape (int v) |
Private Attributes | |
ShapesWidget * | shapes_ |
Definition at line 17 of file PaintExample.h.
PaintExample::PaintExample | ( | WContainerWidget * | root | ) |
Definition at line 17 of file PaintExample.C.
00018 : WContainerWidget(root) 00019 { 00020 new WText("<h2>Paint example</h2>" 00021 "<p>A simple example demonstrating cross-browser vector graphics." 00022 "</p>" 00023 "<p>The emweb logo below is painted using the Wt WPainter API, and " 00024 "rendered to the browser using inline SVG, inline VML or the " 00025 "HTML 5 <canvas> element." 00026 "</p>", 00027 this); 00028 00029 WContainerWidget *emweb = new WContainerWidget(this); 00030 emweb->setMargin(WLength::Auto, Left | Right); 00031 00032 WGridLayout *layout = new WGridLayout(); 00033 emweb->setLayout(layout, AlignCenter | AlignTop); 00034 00035 WSlider *scaleSlider = new WSlider(Horizontal); 00036 scaleSlider->setMinimum(0); 00037 scaleSlider->setMaximum(20); 00038 scaleSlider->setValue(10); 00039 scaleSlider->setTickInterval(5); 00040 scaleSlider->setTickPosition(WSlider::TicksBothSides); 00041 scaleSlider->resize(300, 50); 00042 scaleSlider->valueChanged().connect(SLOT(this, PaintExample::scaleShape)); 00043 00044 layout->addWidget(scaleSlider, 0, 1, AlignCenter | AlignMiddle); 00045 00046 WSlider *rotateSlider = new WSlider(Vertical); 00047 rotateSlider->setMinimum(-30); 00048 rotateSlider->setMaximum(30); 00049 rotateSlider->setValue(0); 00050 rotateSlider->setTickInterval(10); 00051 rotateSlider->setTickPosition(WSlider::TicksBothSides); 00052 rotateSlider->resize(50, 400); 00053 rotateSlider->valueChanged().connect(SLOT(this, PaintExample::rotateShape)); 00054 00055 layout->addWidget(rotateSlider, 1, 0, AlignCenter | AlignMiddle); 00056 00057 shapes_ = new ShapesWidget(); 00058 shapes_->setAngle(0.0); 00059 shapes_->setRelativeSize(0.5); 00060 shapes_->setPreferredMethod(WPaintedWidget::InlineSvgVml); 00061 00062 layout->addWidget(shapes_, 1, 1, AlignCenter | AlignMiddle); 00063 }
void PaintExample::rotateShape | ( | int | v | ) | [private] |
Definition at line 65 of file PaintExample.C.
00066 { 00067 shapes_->setAngle(v / 2.0); 00068 00069 // Being silly: test alternate rendering method 00070 shapes_->setPreferredMethod(v < 0 ? WPaintedWidget::InlineSvgVml 00071 : WPaintedWidget::HtmlCanvas); 00072 }
void PaintExample::scaleShape | ( | int | v | ) | [private] |
Definition at line 74 of file PaintExample.C.
00075 { 00076 shapes_->setRelativeSize(0.1 + 0.9 * (v/20.0)); 00077 }
ShapesWidget* PaintExample::shapes_ [private] |
Definition at line 23 of file PaintExample.h.