all repos — openbox @ 77342413efd183bd1c0681a57b68acc836022923

openbox fork - make it a bit more like ryudo

change how the widgets' _dirty flag works so that all inheritence levels of the widget class can use it
Dana Jansens danakj@orodu.net
commit

77342413efd183bd1c0681a57b68acc836022923

parent

d4d15160fe81353a9f7958c1feb1821abe179a70

6 files changed, 23 insertions(+), 60 deletions(-)

jump to
M otk/focuslabel.ccotk/focuslabel.cc

@@ -3,7 +3,7 @@

namespace otk { OtkFocusLabel::OtkFocusLabel(OtkWidget *parent) - : OtkFocusWidget(parent), _text(""), _dirty(false) + : OtkFocusWidget(parent), _text("") { setTexture(getStyle()->getLabelFocus()); setUnfocusTexture(getStyle()->getLabelUnfocus());

@@ -55,21 +55,6 @@

ft.drawString(getWindow(), x, bevel, *text_color, t); } else OtkFocusWidget::update(); - - _dirty = false; -} - -int OtkFocusLabel::exposeHandler(const XExposeEvent &e) -{ - _dirty = true; - return OtkFocusWidget::exposeHandler(e); -} - -int OtkFocusLabel::configureHandler(const XConfigureEvent &e) -{ - if (!(e.width == width() && e.height == height())) - _dirty = true; - return OtkFocusWidget::configureHandler(e); } }
M otk/focuslabel.hhotk/focuslabel.hh

@@ -16,13 +16,10 @@ inline const std::string &getText(void) const { return _text; }

void setText(const std::string &text) { _text = text; _dirty = true; } void update(void); - int exposeHandler(const XExposeEvent &e); - int configureHandler(const XConfigureEvent &e); private: std::string _text; - bool _dirty; }; }
M otk/label.ccotk/label.cc

@@ -3,7 +3,7 @@

namespace otk { OtkLabel::OtkLabel(OtkWidget *parent) - : OtkWidget(parent), _text(""), _dirty(false) + : OtkWidget(parent), _text("") { setTexture(getStyle()->getLabelUnfocus()); }

@@ -52,21 +52,6 @@

ft.drawString(getWindow(), x, bevel, *getStyle()->getTextUnfocus(), t); } else OtkWidget::update(); - - _dirty = false; -} - -int OtkLabel::exposeHandler(const XExposeEvent &e) -{ - _dirty = true; - return OtkWidget::exposeHandler(e); -} - -int OtkLabel::configureHandler(const XConfigureEvent &e) -{ - if (!(e.width == width() && e.height == height())) - _dirty = true; - return OtkWidget::configureHandler(e); } }
M otk/label.hhotk/label.hh

@@ -16,13 +16,10 @@ inline const std::string &getText(void) const { return _text; }

void setText(const std::string &text) { _text = text; _dirty = true; } void update(void); - int exposeHandler(const XExposeEvent &e); - int configureHandler(const XConfigureEvent &e); private: std::string _text; - bool _dirty; }; }
M otk/widget.ccotk/widget.cc

@@ -10,6 +10,7 @@ namespace otk {

OtkWidget::OtkWidget(OtkWidget *parent, Direction direction) : OtkEventHandler(), + _dirty(false), _parent(parent), _style(parent->getStyle()), _direction(direction), _cursor(parent->getCursor()), _bevel_width(parent->getBevelWidth()), _ignore_config(0),

@@ -17,7 +18,7 @@ _visible(false), _focused(false), _grabbed_mouse(false),

_grabbed_keyboard(false), _stretchable_vert(false), _stretchable_horz(false), _texture(0), _bg_pixmap(0), _bg_pixel(0), _screen(parent->getScreen()), _fixed_width(false), _fixed_height(false), - _dirty(false), _event_dispatcher(parent->getEventDispatcher()) + _event_dispatcher(parent->getEventDispatcher()) { parent->addChild(this); create();

@@ -27,12 +28,13 @@

OtkWidget::OtkWidget(OtkApplication *app, Direction direction, Cursor cursor, int bevel_width) : OtkEventHandler(), + _dirty(false), _parent(0), _style(app->getStyle()), _direction(direction), _cursor(cursor), _bevel_width(bevel_width), _ignore_config(0), _visible(false), _focused(false), _grabbed_mouse(false), _grabbed_keyboard(false), _stretchable_vert(false), _stretchable_horz(false), _texture(0), _bg_pixmap(0), _bg_pixel(0), _screen(app->getStyle()->getScreen()), - _fixed_width(false), _fixed_height(false), _dirty(false), + _fixed_width(false), _fixed_height(false), _event_dispatcher(app) { assert(app);

@@ -43,12 +45,13 @@

OtkWidget::OtkWidget(Style *style, Direction direction, Cursor cursor, int bevel_width) : OtkEventHandler(), + _dirty(false), _parent(0), _style(style), _direction(direction), _cursor(cursor), _bevel_width(bevel_width), _ignore_config(0), _visible(false), _focused(false), _grabbed_mouse(false), _grabbed_keyboard(false), _stretchable_vert(false), _stretchable_horz(false), _texture(0), _bg_pixmap(0), _bg_pixel(0), _screen(style->getScreen()), - _fixed_width(false), _fixed_height(false), _dirty(false) + _fixed_width(false), _fixed_height(false) { assert(style); create();

@@ -426,31 +429,25 @@

int OtkWidget::exposeHandler(const XExposeEvent &e) { OtkEventHandler::exposeHandler(e); - if (e.window == _window) { - _dirty = true; - update(); - return true; - } - return false; + _dirty = true; + update(); + return true; } int OtkWidget::configureHandler(const XConfigureEvent &e) { OtkEventHandler::configureHandler(e); - if (e.window == _window) { - if (_ignore_config) { - _ignore_config--; - } else { - if (!(e.width == _rect.width() && e.height == _rect.height())) { - _dirty = true; - _rect.setSize(e.width, e.height); - } - update(); + if (_ignore_config) { + _ignore_config--; + } else { + if (!(e.width == _rect.width() && e.height == _rect.height())) { + _dirty = true; + _rect.setSize(e.width, e.height); } - return true; + update(); } - return false; + return true; } }
M otk/widget.hhotk/widget.hh

@@ -100,6 +100,10 @@ inline OtkEventDispatcher *getEventDispatcher(void)

{ return _event_dispatcher; } void setEventDispatcher(OtkEventDispatcher *disp); +protected: + + bool _dirty; + private: void create(void);

@@ -138,8 +142,6 @@ unsigned int _screen;

bool _fixed_width; bool _fixed_height; - - bool _dirty; OtkEventDispatcher *_event_dispatcher; };