Dillo
|
#include <fltkviewbase.hh>
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. More... | |
void | setCanvasSize (int width, int ascent, int descent) |
Set the canvas size. More... | |
void | setCursor (core::style::Cursor cursor) |
Set the cursor appearance. More... | |
void | setBgColor (core::style::Color *color) |
Set the background of the view. More... | |
void | startDrawing (core::Rectangle *area) |
Called before drawing. More... | |
void | finishDrawing (core::Rectangle *area) |
Called after drawing. More... | |
void | queueDraw (core::Rectangle *area) |
Queue a region, which is given in canvas coordinates, for drawing. More... | |
void | queueDrawTotal () |
Queue the total viewport for drawing. More... | |
void | cancelQueueDraw () |
Cancel a draw queue request. More... | |
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::View * | getClippingView (int x, int y, int width, int height) |
void | mergeClippingView (core::View *clippingView) |
void | setBufferedDrawing (bool b) |
Public Member Functions inherited from dw::fltk::FltkView | |
virtual bool | usesFltkWidgets ()=0 |
virtual void | addFltkWidget (Fl_Widget *widget, core::Allocation *allocation) |
virtual void | removeFltkWidget (Fl_Widget *widget) |
virtual void | allocateFltkWidget (Fl_Widget *widget, core::Allocation *allocation) |
virtual void | drawFltkWidget (Fl_Widget *widget, core::Rectangle *area) |
Public Member Functions inherited from dw::core::View | |
virtual bool | usesViewport ()=0 |
Return, whether this view uses a viewport. More... | |
virtual int | getHScrollbarThickness ()=0 |
Get the thickness of the horizontal scrollbar, when it is visible. More... | |
virtual int | getVScrollbarThickness ()=0 |
Get the thickness of the vertical scrollbar, when it is visible. More... | |
virtual void | scrollTo (int x, int y)=0 |
Scroll the vieport to the given position. More... | |
virtual void | scroll (ScrollCommand) |
Scroll the viewport as commanded. More... | |
virtual void | setViewportSize (int width, int height, int hScrollbarThickness, int vScrollbarThickness)=0 |
Set the viewport size. More... | |
virtual void | drawText (style::Font *font, style::Color *color, style::Color::Shading shading, int x, int y, const char *text, int len)=0 |
virtual void | drawSimpleWrappedText (style::Font *font, style::Color *color, style::Color::Shading shading, int x, int y, int w, int h, const char *text)=0 |
virtual void | drawImage (Imgbuf *imgbuf, int xRoot, int yRoot, int x, int y, int width, int height)=0 |
Public Member Functions inherited from lout::object::Object | |
virtual | ~Object () |
The destructor is defined as virtual (but not abstract), so that destruction of Object's works properly. More... | |
virtual bool | equals (Object *other) |
Returns, whether two objects are equal. More... | |
virtual int | hashValue () |
Return a hash value for the object. More... | |
virtual Object * | clone () |
Return an exact copy of the object. More... | |
virtual void | intoStringBuffer (misc::StringBuffer *sb) |
Store a textual representation of the object in a misc::StringBuffer. More... | |
const char * | toString () |
Use object::Object::intoStringBuffer to return a textual representation of the object. More... | |
virtual size_t | sizeOf () |
Return the number of bytes, this object totally uses. More... | |
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::Layout * | theLayout |
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 () |
int | manageTabToFocus () |
void | clipPoint (int *x, int *y, int border) |
Private Attributes | |
int | bgColor |
core::Region | drawRegion |
core::Rectangle * | exposeArea |
Static Private Attributes | |
static BackBuffer * | backBuffer |
static bool | backBufferInUse |
|
private |
dw::fltk::FltkViewBase::FltkViewBase | ( | int | x, |
int | y, | ||
int | w, | ||
int | h, | ||
const char * | label = 0 |
||
) |
References backBuffer, bgColor, canvasHeight, canvasWidth, exposeArea, focused_child, mouse_x, and mouse_y.
dw::fltk::FltkViewBase::~FltkViewBase | ( | ) |
References 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().
|
inlineprivate |
References dw::core::Rectangle::height, dw::core::Rectangle::width, dw::core::Rectangle::x, and dw::core::Rectangle::y.
Referenced by drawLine(), and drawRectangle().
|
private |
References backBuffer, backBufferInUse, bgColor, DRAW_BUFFERED, DRAW_CLIPPED, dw::core::Layout::expose(), exposeArea, dw::core::Rectangle::height, dw::core::Rectangle::isEmpty(), dw::fltk::FltkViewBase::BackBuffer::offscreen, dw::fltk::FltkViewBase::BackBuffer::setSize(), theLayout, translateCanvasXToViewX(), translateCanvasYToViewY(), translateViewXToCanvasX(), translateViewYToCanvasY(), dw::core::Rectangle::width, dw::core::Rectangle::x, and dw::core::Rectangle::y.
void dw::fltk::FltkViewBase::draw | ( | ) |
References dw::core::Region::clear(), DRAW_BUFFERED, DRAW_CLIPPED, DRAW_PLAIN, drawChildWidgets(), drawRegion, lout::container::typed::Iterator< T >::getNext(), lout::container::typed::Iterator< T >::hasNext(), dw::core::Region::rectangles(), translateViewXToCanvasX(), and translateViewYToCanvasY().
|
virtual |
Implements dw::core::View.
References translateCanvasXToViewX(), and translateCanvasYToViewY().
|
private |
Referenced by draw().
|
virtual |
Implements dw::core::View.
References clipPoint(), translateCanvasXToViewX(), and translateCanvasYToViewY().
Referenced by drawTypedLine().
|
virtual |
Implements dw::core::View.
|
virtual |
Implements dw::core::View.
References translateCanvasXToViewX(), and translateCanvasYToViewY().
|
virtual |
Implements dw::core::View.
References clipPoint(), translateCanvasXToViewX(), and translateCanvasYToViewY().
|
virtual |
Implements dw::core::View.
References drawLine(), dw::core::style::LINE_DASHED, dw::core::style::LINE_DOTTED, and dw::core::style::LINE_NORMAL.
|
virtual |
|
virtual |
Implements dw::core::View.
References translateCanvasXToViewX(), and translateCanvasYToViewY().
int dw::fltk::FltkViewBase::handle | ( | int | event | ) |
References dw::core::Layout::buttonPress(), dw::core::Layout::buttonRelease(), dw::core::Layout::cancelTooltip(), dw::core::Layout::enterNotify(), focused_child, dw::fltk::getDwButtonState(), dw::core::Layout::leaveNotify(), manageTabToFocus(), dw::core::Layout::motionNotify(), mouse_x, mouse_y, theLayout, translateViewXToCanvasX(), and translateViewYToCanvasY().
Referenced by dw::fltk::FltkPreview::handle(), and dw::fltk::FltkViewport::handle().
|
private |
References dw::core::HPOS_INTO_VIEW, queueDraw(), dw::core::Layout::scrollTo(), theLayout, translateViewXToCanvasX(), translateViewYToCanvasY(), and dw::core::VPOS_INTO_VIEW.
Referenced by handle().
|
virtual |
Implements dw::core::View.
|
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.
Implements dw::core::View.
References dw::core::Region::addRectangle(), and drawRegion.
Referenced by manageTabToFocus().
|
virtual |
|
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.
|
virtual |
Set the canvas size.
Implements dw::core::View.
Reimplemented in dw::fltk::FltkViewport.
References canvasHeight, and canvasWidth.
Referenced by dw::fltk::FltkFlatView::setCanvasSize(), dw::fltk::FltkPreview::setCanvasSize(), and dw::fltk::FltkViewport::setCanvasSize().
|
virtual |
Set the cursor appearance.
Implements dw::core::View.
Referenced by dw::fltk::FltkViewport::handle().
|
virtual |
This methods notifies the view, that it has been attached to a layout.
Implements dw::core::View.
References layout, theLayout, dw::core::View::usesViewport(), and dw::core::Layout::viewportSizeChanged().
|
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.
|
protectedpure virtual |
Implemented in dw::fltk::FltkViewport, dw::fltk::FltkPreview, and dw::fltk::FltkFlatView.
Referenced by dw::fltk::FltkWidgetView::allocateFltkWidget(), draw(), drawArc(), dw::fltk::FltkWidgetView::drawImage(), drawLine(), drawPolygon(), drawRectangle(), dw::fltk::FltkWidgetView::drawSimpleWrappedText(), dw::fltk::FltkWidgetView::drawText(), and getClippingView().
|
protectedpure virtual |
Implemented in dw::fltk::FltkViewport, dw::fltk::FltkPreview, and dw::fltk::FltkFlatView.
Referenced by dw::fltk::FltkWidgetView::allocateFltkWidget(), draw(), drawArc(), dw::fltk::FltkWidgetView::drawImage(), drawLine(), drawPolygon(), drawRectangle(), dw::fltk::FltkWidgetView::drawSimpleWrappedText(), dw::fltk::FltkWidgetView::drawText(), and getClippingView().
|
protectedpure virtual |
Implemented in dw::fltk::FltkViewport, dw::fltk::FltkPreview, and dw::fltk::FltkFlatView.
Referenced by draw(), handle(), and manageTabToFocus().
|
protectedpure virtual |
Implemented in dw::fltk::FltkViewport, dw::fltk::FltkPreview, and dw::fltk::FltkFlatView.
Referenced by draw(), handle(), and manageTabToFocus().
|
staticprivate |
Referenced by draw(), FltkViewBase(), and setBufferedDrawing().
|
staticprivate |
Referenced by draw().
|
private |
Referenced by draw(), FltkViewBase(), and setBgColor().
|
protected |
Referenced by dw::fltk::FltkViewport::adjustScrollbarValues(), FltkViewBase(), dw::fltk::FltkPreviewWindow::reallocate(), dw::fltk::FltkViewport::scroll(), dw::fltk::FltkViewport::scrollTo(), setCanvasSize(), dw::fltk::FltkPreview::translateCanvasYToViewY(), and dw::fltk::FltkPreview::translateViewYToCanvasY().
|
protected |
|
private |
Referenced by draw(), and queueDraw().
|
private |
Referenced by draw(), and FltkViewBase().
|
protected |
Referenced by FltkViewBase(), and handle().
|
protected |
|
protected |
|
protected |