dw::fltk::FltkViewBase Class Reference

#include <fltkviewbase.hh>

List of all members.

Classes

class  BackBuffer

Public Member Functions

 FltkViewBase (int x, int y, int w, int h, const char *label=0)
 ~FltkViewBase ()
void draw ()
int handle (int event)
void setLayout (core::Layout *layout)
 This methods notifies the view, that it has been attached to a layout.
void setCanvasSize (int width, int ascent, int descent)
 Set the canvas size.
void setCursor (core::style::Cursor cursor)
 Set the cursor appearance.
void setBgColor (core::style::Color *color)
 Set the background of the view.
void startDrawing (core::Rectangle *area)
 Called before drawing.
void finishDrawing (core::Rectangle *area)
 Called after drawing.
void queueDraw (core::Rectangle *area)
 Queue a region, which is given in canvas coordinates, for drawing.
void queueDrawTotal ()
 Queue the total viewport for drawing.
void cancelQueueDraw ()
 Cancel a draw queue request.
void drawPoint (core::style::Color *color, core::style::Color::Shading shading, int x, int y)
void drawLine (core::style::Color *color, core::style::Color::Shading shading, int x1, int y1, int x2, int y2)
void drawTypedLine (core::style::Color *color, core::style::Color::Shading shading, core::style::LineType type, int width, int x1, int y1, int x2, int y2)
void drawRectangle (core::style::Color *color, core::style::Color::Shading shading, bool filled, int x, int y, int width, int height)
void drawArc (core::style::Color *color, core::style::Color::Shading shading, bool filled, int centerX, int centerY, int width, int height, int angle1, int angle2)
void drawPolygon (core::style::Color *color, core::style::Color::Shading shading, bool filled, bool convex, core::Point *points, int npoints)
core::ViewgetClippingView (int x, int y, int width, int height)
void mergeClippingView (core::View *clippingView)
void setBufferedDrawing (bool b)

Protected Member Functions

virtual int translateViewXToCanvasX (int x)=0
virtual int translateViewYToCanvasY (int y)=0
virtual int translateCanvasXToViewX (int x)=0
virtual int translateCanvasYToViewY (int y)=0

Protected Attributes

core::LayouttheLayout
int canvasWidth
int canvasHeight
int mouse_x
int mouse_y
Fl_Widget * focused_child

Private Types

enum  DrawType { DRAW_PLAIN, DRAW_CLIPPED, DRAW_BUFFERED }

Private Member Functions

void draw (const core::Rectangle *rect, DrawType type)
void drawChildWidgets ()
void clipPoint (int *x, int *y, int border)

Private Attributes

int bgColor
core::Region drawRegion
core::RectangleexposeArea

Static Private Attributes

static BackBufferbackBuffer
static bool backBufferInUse


Member Enumeration Documentation

Enumerator:
DRAW_PLAIN 
DRAW_CLIPPED 
DRAW_BUFFERED 


Constructor & Destructor Documentation

dw::fltk::FltkViewBase::FltkViewBase ( int  x,
int  y,
int  w,
int  h,
const char *  label = 0 
)

dw::fltk::FltkViewBase::~FltkViewBase (  ) 

References cancelQueueDraw().


Member Function Documentation

void dw::fltk::FltkViewBase::cancelQueueDraw (  )  [virtual]

Cancel a draw queue request.

If dw::core::View::queueDraw or dw::core::View::queueDrawTotal have been called before, and the actual drawing was not processed yet, the actual drawing should be cancelled. Otherwise, the cancellation should be ignored.

Implements dw::core::View.

Referenced by ~FltkViewBase().

void dw::fltk::FltkViewBase::clipPoint ( int *  x,
int *  y,
int  border 
) [inline, private]

void dw::fltk::FltkViewBase::draw (  ) 

void dw::fltk::FltkViewBase::draw ( const core::Rectangle rect,
DrawType  type 
) [private]

void dw::fltk::FltkViewBase::drawArc ( core::style::Color color,
core::style::Color::Shading  shading,
bool  filled,
int  centerX,
int  centerY,
int  width,
int  height,
int  angle1,
int  angle2 
) [virtual]

void dw::fltk::FltkViewBase::drawChildWidgets (  )  [private]

Referenced by draw().

void dw::fltk::FltkViewBase::drawLine ( core::style::Color color,
core::style::Color::Shading  shading,
int  x1,
int  y1,
int  x2,
int  y2 
) [virtual]

void dw::fltk::FltkViewBase::drawPoint ( core::style::Color color,
core::style::Color::Shading  shading,
int  x,
int  y 
) [virtual]

Implements dw::core::View.

void dw::fltk::FltkViewBase::drawPolygon ( core::style::Color color,
core::style::Color::Shading  shading,
bool  filled,
bool  convex,
core::Point points,
int  npoints 
) [virtual]

void dw::fltk::FltkViewBase::drawRectangle ( core::style::Color color,
core::style::Color::Shading  shading,
bool  filled,
int  x,
int  y,
int  width,
int  height 
) [virtual]

void dw::fltk::FltkViewBase::drawTypedLine ( core::style::Color color,
core::style::Color::Shading  shading,
core::style::LineType  type,
int  width,
int  x1,
int  y1,
int  x2,
int  y2 
) [virtual]

void dw::fltk::FltkViewBase::finishDrawing ( core::Rectangle area  )  [virtual]

Called after drawing.

See also:
dw::core:View::startDrawing

Implements dw::core::View.

core::View * dw::fltk::FltkViewBase::getClippingView ( int  x,
int  y,
int  width,
int  height 
) [virtual]

int dw::fltk::FltkViewBase::handle ( int  event  ) 

void dw::fltk::FltkViewBase::mergeClippingView ( core::View clippingView  )  [virtual]

Implements dw::core::View.

void dw::fltk::FltkViewBase::queueDraw ( core::Rectangle area  )  [virtual]

Queue a region, which is given in canvas coordinates, for drawing.

The view implementation is responsible, that this region is drawn, either immediately, or (which is more typical, since more efficient) the areas are collected, combined (as far as possible), and the drawing is later done in an idle function.

DAMAGE_VALUE is just an arbitrary value other than DAMAGE_EXPOSE here

Implements dw::core::View.

References dw::core::Region::addRectangle(), and drawRegion.

void dw::fltk::FltkViewBase::queueDrawTotal (  )  [virtual]

Queue the total viewport for drawing.

See also:
dw::core::View::queueDraw

Implements dw::core::View.

void dw::fltk::FltkViewBase::setBgColor ( core::style::Color color  )  [virtual]

Set the background of the view.

Implements dw::core::View.

References bgColor, and dw::core::style::Color::SHADING_NORMAL.

void dw::fltk::FltkViewBase::setBufferedDrawing ( bool  b  ) 

References backBuffer.

void dw::fltk::FltkViewBase::setCanvasSize ( int  width,
int  ascent,
int  descent 
) [virtual]

Set the canvas size.

Implements dw::core::View.

Reimplemented in dw::fltk::FltkFlatView, dw::fltk::FltkPreview, and dw::fltk::FltkViewport.

References canvasHeight, and canvasWidth.

void dw::fltk::FltkViewBase::setCursor ( core::style::Cursor  cursor  )  [virtual]

Set the cursor appearance.

Implements dw::core::View.

Referenced by dw::fltk::FltkViewport::handle().

void dw::fltk::FltkViewBase::setLayout ( core::Layout layout  )  [virtual]

This methods notifies the view, that it has been attached to a layout.

Implements dw::core::View.

References theLayout, dw::core::View::usesViewport(), and dw::core::Layout::viewportSizeChanged().

void dw::fltk::FltkViewBase::startDrawing ( core::Rectangle area  )  [virtual]

Called before drawing.

All actual drawing operations will be enclosed into calls of dw::core:View::startDrawing and dw::core:View::finishDrawing. They may be implemented, e.g. when a backing pixmap is used, to prevent flickering. StartDrawing() will then initialize the backing pixmap, all other drawing operations will draw into it, and finishDrawing() will merge it into the window.

Implements dw::core::View.

virtual int dw::fltk::FltkViewBase::translateCanvasXToViewX ( int  x  )  [protected, pure virtual]

virtual int dw::fltk::FltkViewBase::translateCanvasYToViewY ( int  y  )  [protected, pure virtual]

virtual int dw::fltk::FltkViewBase::translateViewXToCanvasX ( int  x  )  [protected, pure virtual]

virtual int dw::fltk::FltkViewBase::translateViewYToCanvasY ( int  y  )  [protected, pure virtual]


Member Data Documentation

Referenced by draw().

Referenced by draw(), FltkViewBase(), and setBgColor().

Referenced by draw(), and queueDraw().

Referenced by clipPoint(), draw(), and FltkViewBase().

Fl_Widget* dw::fltk::FltkViewBase::focused_child [protected]

Referenced by FltkViewBase(), and handle().


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

Generated on Wed Sep 7 02:00:38 2011 for Dillo by  doxygen 1.5.9