Dillo
|
#include <fltkviewport.hh>
Public Types | |
enum | GadgetOrientation { GADGET_VERTICAL, GADGET_HORIZONTAL } |
Public Member Functions | |
FltkViewport (int x, int y, int w, int h, const char *label=0) | |
~FltkViewport () | |
void | resize (int x, int y, int w, int h) |
void | draw () |
int | handle (int event) |
void | setCanvasSize (int width, int ascent, int descent) |
Set the canvas size. More... | |
bool | usesViewport () |
Return, whether this view uses a viewport. More... | |
int | getHScrollbarThickness () |
Get the thickness of the horizontal scrollbar, when it is visible. More... | |
int | getVScrollbarThickness () |
Get the thickness of the vertical scrollbar, when it is visible. More... | |
void | scroll (int dx, int dy) |
void | scroll (dw::core::ScrollCommand cmd) |
Scroll the viewport as commanded. More... | |
void | scrollTo (int x, int y) |
Scroll the vieport to the given position. More... | |
void | setViewportSize (int width, int height, int hScrollbarThickness, int vScrollbarThickness) |
Set the viewport size. More... | |
void | setScrollStep (int step) |
void | setGadgetOrientation (bool hscrollbarVisible, bool vscrollbarVisible, GadgetOrientation gadgetOrientation) |
void | setDragScroll (bool enable) |
void | addGadget (Fl_Widget *gadget) |
Public Member Functions inherited from dw::fltk::FltkWidgetView | |
FltkWidgetView (int x, int y, int w, int h, const char *label=0) | |
~FltkWidgetView () | |
void | drawText (core::style::Font *font, core::style::Color *color, core::style::Color::Shading shading, int x, int y, const char *text, int len) |
void | drawSimpleWrappedText (core::style::Font *font, core::style::Color *color, core::style::Color::Shading shading, int x, int y, int w, int h, const char *text) |
void | drawImage (core::Imgbuf *imgbuf, int xRoot, int yRoot, int x, int y, int width, int height) |
bool | usesFltkWidgets () |
void | addFltkWidget (Fl_Widget *widget, core::Allocation *allocation) |
void | removeFltkWidget (Fl_Widget *widget) |
void | allocateFltkWidget (Fl_Widget *widget, core::Allocation *allocation) |
void | drawFltkWidget (Fl_Widget *widget, core::Rectangle *area) |
Public Member Functions inherited from dw::fltk::FltkViewBase | |
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 | 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 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 | |
int | translateViewXToCanvasX (int x) |
int | translateViewYToCanvasY (int y) |
int | translateCanvasXToViewX (int x) |
int | translateCanvasYToViewY (int y) |
Private Types | |
enum | { SCROLLBAR_THICKNESS = 15 } |
Private Member Functions | |
void | adjustScrollbarsAndGadgetsAllocation () |
void | adjustScrollbarValues () |
void | hscrollbarChanged () |
void | vscrollbarChanged () |
void | positionChanged () |
void | selectionScroll () |
void | updateCanvasWidgets (int oldScrollX, int oldScrollY) |
Static Private Member Functions | |
static void | hscrollbarCallback (Fl_Widget *hscrollbar, void *viewportPtr) |
static void | vscrollbarCallback (Fl_Widget *vscrollbar, void *viewportPtr) |
static void | selectionScroll (void *vport) |
static void | draw_area (void *data, int x, int y, int w, int h) |
Private Attributes | |
int | scrollX |
int | scrollY |
int | scrollDX |
int | scrollDY |
int | hasDragScroll |
int | dragScrolling |
int | dragX |
int | dragY |
int | horScrolling |
int | verScrolling |
Fl_Scrollbar * | vscrollbar |
Fl_Scrollbar * | hscrollbar |
GadgetOrientation | gadgetOrientation [4] |
lout::container::typed::List < lout::object::TypedPointer < Fl_Widget > > * | gadgets |
Additional Inherited Members | |
Protected Attributes inherited from dw::fltk::FltkViewBase | |
core::Layout * | theLayout |
int | canvasWidth |
int | canvasHeight |
int | mouse_x |
int | mouse_y |
Fl_Widget * | focused_child |
dw::fltk::FltkViewport::FltkViewport | ( | int | x, |
int | y, | ||
int | w, | ||
int | h, | ||
const char * | label = 0 |
||
) |
dw::fltk::FltkViewport::~FltkViewport | ( | ) |
References DBG_OBJ_DELETE, and gadgets.
void dw::fltk::FltkViewport::addGadget | ( | Fl_Widget * | gadget | ) |
References adjustScrollbarsAndGadgetsAllocation(), lout::container::typed::List< T >::append(), and gadgets.
|
private |
References GADGET_HORIZONTAL, GADGET_VERTICAL, gadgetOrientation, gadgets, hscrollbar, lout::container::typed::Collection< T >::iterator(), SCROLLBAR_THICKNESS, lout::container::typed::Collection< T >::size(), and vscrollbar.
Referenced by addGadget(), resize(), setGadgetOrientation(), and setViewportSize().
|
private |
References dw::fltk::FltkViewBase::canvasHeight, dw::fltk::FltkViewBase::canvasWidth, hscrollbar, scrollX, scrollY, and vscrollbar.
Referenced by scrollTo(), and setCanvasSize().
void dw::fltk::FltkViewport::draw | ( | ) |
References draw_area(), hscrollbar, SCROLLBAR_THICKNESS, scrollDX, scrollDY, and vscrollbar.
|
staticprivate |
References gadgets, and lout::container::typed::Collection< T >::iterator().
Referenced by draw().
|
virtual |
Get the thickness of the horizontal scrollbar, when it is visible.
Does not have to be implemented, when usesViewport returns false.
Implements dw::core::View.
References SCROLLBAR_THICKNESS.
|
virtual |
Get the thickness of the vertical scrollbar, when it is visible.
Does not have to be implemented, when usesViewport returns false.
Implements dw::core::View.
References SCROLLBAR_THICKNESS.
int dw::fltk::FltkViewport::handle | ( | int | event | ) |
References dw::core::style::CURSOR_DEFAULT, dw::core::style::CURSOR_MOVE, dragScrolling, dragX, dragY, dw::fltk::FltkViewBase::handle(), hasDragScroll, horScrolling, hscrollbar, dw::fltk::FltkViewBase::mouse_x, dw::fltk::FltkViewBase::mouse_y, positionChanged(), scroll(), selectionScroll(), dw::fltk::FltkViewBase::setCursor(), verScrolling, and vscrollbar.
|
staticprivate |
Referenced by FltkViewport().
|
private |
References hscrollbar, scroll(), and scrollX.
|
private |
void dw::fltk::FltkViewport::resize | ( | int | x, |
int | y, | ||
int | w, | ||
int | h | ||
) |
void dw::fltk::FltkViewport::scroll | ( | int | dx, |
int | dy | ||
) |
References scrollTo(), scrollX, and scrollY.
Referenced by handle(), hscrollbarChanged(), scroll(), selectionScroll(), setViewportSize(), and vscrollbarChanged().
|
virtual |
Scroll the viewport as commanded.
Reimplemented from dw::core::View.
References dw::core::BOTTOM_CMD, dw::fltk::FltkViewBase::canvasHeight, hscrollbar, dw::core::LEFT_CMD, dw::core::LINE_DOWN_CMD, dw::core::LINE_UP_CMD, dw::core::RIGHT_CMD, dw::core::SCREEN_DOWN_CMD, dw::core::SCREEN_LEFT_CMD, dw::core::SCREEN_RIGHT_CMD, dw::core::SCREEN_UP_CMD, scroll(), scrollTo(), scrollX, dw::core::TOP_CMD, and vscrollbar.
|
virtual |
Scroll the vieport to the given position.
Does not have to be implemented, when usesViewport returns false.
Implements dw::core::View.
References adjustScrollbarValues(), dw::fltk::FltkViewBase::canvasHeight, dw::fltk::FltkViewBase::canvasWidth, hscrollbar, lout::misc::max(), lout::misc::min(), positionChanged(), SCROLLBAR_THICKNESS, scrollDX, scrollDY, dw::core::Layout::scrollPosChanged(), scrollX, scrollY, dw::fltk::FltkViewBase::theLayout, updateCanvasWidgets(), and vscrollbar.
Referenced by scroll().
|
private |
References hscrollbar, dw::fltk::FltkViewBase::mouse_x, dw::fltk::FltkViewBase::mouse_y, scroll(), and vscrollbar.
Referenced by handle(), and selectionScroll().
|
staticprivate |
References selectionScroll().
|
virtual |
Set the canvas size.
Reimplemented from dw::fltk::FltkViewBase.
References adjustScrollbarValues(), and dw::fltk::FltkViewBase::setCanvasSize().
|
inline |
void dw::fltk::FltkViewport::setGadgetOrientation | ( | bool | hscrollbarVisible, |
bool | vscrollbarVisible, | ||
FltkViewport::GadgetOrientation | gadgetOrientation | ||
) |
References adjustScrollbarsAndGadgetsAllocation(), and gadgetOrientation.
void dw::fltk::FltkViewport::setScrollStep | ( | int | step | ) |
References hscrollbar, and vscrollbar.
|
virtual |
Set the viewport size.
Does not have to be implemented, when usesViewport returns false.
This will normally imply a resize of the UI widget. Width and height are the dimensions of the new size, including the scrollbar thicknesses.
Implements dw::core::View.
References adjustScrollbarsAndGadgetsAllocation(), hscrollbar, scroll(), scrollX, scrollY, and vscrollbar.
|
protectedvirtual |
Implements dw::fltk::FltkViewBase.
References scrollX.
|
protectedvirtual |
Implements dw::fltk::FltkViewBase.
References scrollY.
|
protectedvirtual |
|
protectedvirtual |
|
private |
References hscrollbar, and vscrollbar.
Referenced by scrollTo().
|
virtual |
Return, whether this view uses a viewport.
Implements dw::core::View.
|
staticprivate |
Referenced by FltkViewport().
|
private |
References scroll(), scrollY, and vscrollbar.
|
private |
Referenced by FltkViewport(), handle(), and positionChanged().
|
private |
Referenced by handle().
|
private |
Referenced by handle().
|
private |
Referenced by adjustScrollbarsAndGadgetsAllocation(), FltkViewport(), and setGadgetOrientation().
|
private |
Referenced by addGadget(), adjustScrollbarsAndGadgetsAllocation(), draw_area(), FltkViewport(), and ~FltkViewport().
|
private |
Referenced by FltkViewport(), and handle().
|
private |
Referenced by FltkViewport(), and handle().
|
private |
|
private |
Referenced by draw(), FltkViewport(), and scrollTo().
|
private |
Referenced by draw(), FltkViewport(), and scrollTo().
|
private |
|
private |
|
private |
Referenced by FltkViewport(), and handle().
|
private |