diff options
Diffstat (limited to 'dw/widget.hh')
-rw-r--r-- | dw/widget.hh | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/dw/widget.hh b/dw/widget.hh index 7dd12267..c9aeb427 100644 --- a/dw/widget.hh +++ b/dw/widget.hh @@ -97,6 +97,28 @@ protected: BLOCK_LEVEL = 1 << 9, }; + /** + * \brief Implementation which represents the whole widget. + * + * The only instance is set created needed. + */ + class WidgetImgRenderer: public style::StyleImage::ExternalWidgetImgRenderer + { + private: + Widget *widget; + + public: + inline WidgetImgRenderer (Widget *widget) { this->widget = widget; } + + bool readyToDraw (); + void getBgArea (int *x, int *y, int *width, int *height); + void getRefArea (int *xRef, int *yRef, int *widthRef, int *heightRef); + style::Style *getStyle (); + void draw (int x, int y, int width, int height); + }; + + WidgetImgRenderer *widgetImgRenderer; + private: /** * \brief The parent widget, NULL for top-level widgets. @@ -351,6 +373,8 @@ public: void scrollTo (HPosition hpos, VPosition vpos, int x, int y, int width, int height); + void getPaddingArea (int *xPad, int *yPad, int *widthPad, int *heightPad); + /** * \brief Return an iterator for this widget. * |