diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-04-06 12:21:38 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-04-06 12:21:38 +0300 |
commit | 2a4363ec9c80eafae21835c6c6fe92d7c10678ce (patch) | |
tree | 16d92581589e1c6554b667f49308bd10840887aa | |
parent | 20ad155838f202584cb261ff8a33fd458a04d83f (diff) | |
download | plus-2a4363ec9c80eafae21835c6c6fe92d7c10678ce.tar.gz plus-2a4363ec9c80eafae21835c6c6fe92d7c10678ce.tar.bz2 plus-2a4363ec9c80eafae21835c6c6fe92d7c10678ce.tar.xz plus-2a4363ec9c80eafae21835c6c6fe92d7c10678ce.zip |
Add to widgets resize event handler.
In this handler set redraw flag.
-rw-r--r-- | src/gui/gui.cpp | 2 | ||||
-rw-r--r-- | src/gui/widgets/widget.cpp | 11 | ||||
-rw-r--r-- | src/gui/widgets/widget.h | 4 |
3 files changed, 17 insertions, 0 deletions
diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 039fbebfb..4ad1138eb 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -535,6 +535,8 @@ void Gui::videoResized() const top->setSize(mainGraphics->mWidth, mainGraphics->mHeight); top->adjustAfterResize(oldWidth, oldHeight); } + + Widget::distributeWindowResizeEvent(); } void Gui::setUseCustomCursor(const bool customCursor) diff --git a/src/gui/widgets/widget.cpp b/src/gui/widgets/widget.cpp index 5a51a2012..43c8df92f 100644 --- a/src/gui/widgets/widget.cpp +++ b/src/gui/widgets/widget.cpp @@ -351,6 +351,12 @@ void Widget::setFont(Font *const font) fontChanged(); } +void Widget::distributeWindowResizeEvent() +{ + FOR_EACH (std::list<Widget*>::const_iterator, iter, mWidgets) + (*iter)->windowResized(); +} + bool Widget::widgetExists(const Widget* widget) { return mWidgetsSet.find(const_cast<Widget*>(widget)) @@ -506,3 +512,8 @@ void Widget::showPart(const Rect &rectangle) if (mParent) mParent->showWidgetPart(this, rectangle); } + +void Widget::windowResized() +{ + mRedraw = true; +} diff --git a/src/gui/widgets/widget.h b/src/gui/widgets/widget.h index 46245ea2b..f3e2fdb66 100644 --- a/src/gui/widgets/widget.h +++ b/src/gui/widgets/widget.h @@ -1021,6 +1021,10 @@ class Widget : public Widget2 void setRedraw(const bool b) { mRedraw = b; } + static void distributeWindowResizeEvent(); + + void windowResized(); + protected: /** * Distributes an action event to all action listeners |