PaintExample Class Reference

#include <PaintExample.h>

Inheritance diagram for PaintExample:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 PaintExample (WContainerWidget *root)

Private Member Functions

void rotateShape (int v)
void scaleShape (int v)

Private Attributes

ShapesWidgetshapes_


Detailed Description

Definition at line 17 of file PaintExample.h.


Constructor & Destructor Documentation

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 &lt;canvas&gt; 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 }


Member Function Documentation

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 }


Member Data Documentation

Definition at line 23 of file PaintExample.h.


The documentation for this class was generated from the following files:

Generated on Mon Mar 9 08:28:56 2009 for Wt by doxygen 1.5.6