summaryrefslogtreecommitdiff
path: root/plugingui
diff options
context:
space:
mode:
Diffstat (limited to 'plugingui')
-rw-r--r--plugingui/checkbox.cc119
-rw-r--r--plugingui/checkbox.h36
-rw-r--r--plugingui/knob.cc223
-rw-r--r--plugingui/knob.h51
-rw-r--r--plugingui/label.cc16
-rw-r--r--plugingui/label.h10
-rw-r--r--plugingui/widget.cc175
-rw-r--r--plugingui/widget.h72
8 files changed, 384 insertions, 318 deletions
diff --git a/plugingui/checkbox.cc b/plugingui/checkbox.cc
index 6f95287..54e0787 100644
--- a/plugingui/checkbox.cc
+++ b/plugingui/checkbox.cc
@@ -33,83 +33,106 @@
namespace GUI {
CheckBox::CheckBox(Widget *parent)
- : Widget(parent)
- , bg_on(":switch_back_on.png")
- , bg_off(":switch_back_off.png")
- , knob(":switch_front.png")
- , state(false)
- , middle(false)
+ : Widget(parent)
+ , bg_on(":switch_back_on.png")
+ , bg_off(":switch_back_off.png")
+ , knob(":switch_front.png")
+ , state(false)
+ , middle(false)
{
}
void CheckBox::buttonEvent(ButtonEvent *e)
{
- if(e->direction == -1 || e->doubleclick) {
- middle = false;
- internalSetChecked(!state);
- } else {
- middle = true;
- }
-
- repaintEvent(NULL);
+ if(e->direction == -1 || e->doubleclick)
+ {
+ middle = false;
+ internalSetChecked(!state);
+ }
+ else
+ {
+ middle = true;
+ }
+
+ repaintEvent(nullptr);
}
void CheckBox::setText(std::string text)
{
- _text = text;
- repaintEvent(NULL);
+ _text = text;
+ repaintEvent(nullptr);
}
void CheckBox::keyEvent(KeyEvent *e)
{
- if(e->keycode == KeyEvent::KEY_CHARACTER && e->text == " ") {
- if(e->direction == -1) {
- middle = false;
- internalSetChecked(!state);
- } else {
- middle = true;
- }
-
- repaintEvent(NULL);
- }
+ if(e->keycode == KeyEvent::KEY_CHARACTER && e->text == " ")
+ {
+ if(e->direction == -1)
+ {
+ middle = false;
+ internalSetChecked(!state);
+ }
+ else
+ {
+ middle = true;
+ }
+
+ repaintEvent(nullptr);
+ }
}
void CheckBox::repaintEvent(RepaintEvent *e)
{
- Painter p(this);
-
- p.clear();
-
- if(state) {
- p.drawImage(0, (knob.height() - bg_on.height()) / 2, &bg_on);
- if(middle) p.drawImage((bg_on.width() - knob.width()) / 2 + 1, 0, &knob);
- else p.drawImage(bg_on.width() - 40 + 2, 0, &knob);
- } else {
- p.drawImage(0, (knob.height() - bg_off.height()) / 2, &bg_off);
- if(middle) p.drawImage((bg_on.width() - knob.width()) / 2 + 1, 0, &knob);
- else p.drawImage(0, 0, &knob);
- }
+ Painter p(this);
+
+ p.clear();
+
+ if(state)
+ {
+ p.drawImage(0, (knob.height() - bg_on.height()) / 2, &bg_on);
+ if(middle)
+ {
+ p.drawImage((bg_on.width() - knob.width()) / 2 + 1, 0, &knob);
+ }
+ else
+ {
+ p.drawImage(bg_on.width() - 40 + 2, 0, &knob);
+ }
+ }
+ else
+ {
+ p.drawImage(0, (knob.height() - bg_off.height()) / 2, &bg_off);
+ if(middle)
+ {
+ p.drawImage((bg_on.width() - knob.width()) / 2 + 1, 0, &knob);
+ }
+ else
+ {
+ p.drawImage(0, 0, &knob);
+ }
+ }
}
bool CheckBox::checked()
{
- return state;
+ return state;
}
void CheckBox::setChecked(bool c)
{
- internalSetChecked(c);
+ internalSetChecked(c);
}
void CheckBox::internalSetChecked(bool checked)
{
- if(checked == state) {
- return;
- }
-
- state = checked;
- stateChangedNotifier(state);
- repaintEvent(NULL);
+ if(checked == state)
+ {
+ return;
+ }
+
+ state = checked;
+ stateChangedNotifier(state);
+ repaintEvent(nullptr);
}
} // GUI::
diff --git a/plugingui/checkbox.h b/plugingui/checkbox.h
index 8dd3821..4cfeef0 100644
--- a/plugingui/checkbox.h
+++ b/plugingui/checkbox.h
@@ -34,36 +34,36 @@ namespace GUI {
class CheckBox : public Widget {
public:
- CheckBox(Widget *parent);
+ CheckBox(Widget *parent);
- void setText(std::string text);
+ void setText(std::string text);
- bool isFocusable() override { return true; }
+ bool isFocusable() override { return true; }
- bool checked();
- void setChecked(bool checked);
+ bool checked();
+ void setChecked(bool checked);
- Notifier<bool> stateChangedNotifier;
+ Notifier<bool> stateChangedNotifier;
protected:
- virtual void clicked() {}
+ virtual void clicked() {}
- // From Widget:
- virtual void repaintEvent(RepaintEvent *e) override;
- virtual void buttonEvent(ButtonEvent *e) override;
- virtual void keyEvent(KeyEvent *e) override;
+ // From Widget:
+ virtual void repaintEvent(RepaintEvent *e) override;
+ virtual void buttonEvent(ButtonEvent *e) override;
+ virtual void keyEvent(KeyEvent *e) override;
private:
- void internalSetChecked(bool checked);
+ void internalSetChecked(bool checked);
- Image bg_on;
- Image bg_off;
- Image knob;
+ Image bg_on;
+ Image bg_off;
+ Image knob;
- bool state;
- bool middle;
+ bool state;
+ bool middle;
- std::string _text;
+ std::string _text;
};
} // GUI::
diff --git a/plugingui/knob.cc b/plugingui/knob.cc
index f907004..765d401 100644
--- a/plugingui/knob.cc
+++ b/plugingui/knob.cc
@@ -40,149 +40,164 @@
namespace GUI {
Knob::Knob(Widget *parent)
- : Widget(parent)
- , img_knob(":knob.png")
+ : Widget(parent)
+ , img_knob(":knob.png")
{
- state = up;
+ state = up;
- maximum = 1.0;
- minimum = 0.0;
+ maximum = 1.0;
+ minimum = 0.0;
- currentValue = minimum;
+ currentValue = minimum;
- mouse_offset_x = 0;
+ mouse_offset_x = 0;
}
void Knob::setValue(float value)
{
- internalSetValue(value);
+ internalSetValue(value);
}
float Knob::value()
{
- return currentValue;
+ return currentValue;
}
void Knob::scrollEvent(ScrollEvent *e)
{
- float value = currentValue - (e->delta / 200.0);
- internalSetValue(value);
+ float value = currentValue - (e->delta / 200.0);
+ internalSetValue(value);
}
void Knob::mouseMoveEvent(MouseMoveEvent *e)
{
- if(state == down) {
- if(mouse_offset_x == (e->x + -1 * e->y)) {
- return;
- }
+ if(state == down)
+ {
+ if(mouse_offset_x == (e->x + -1 * e->y))
+ {
+ return;
+ }
- float dval = mouse_offset_x - (e->x + -1 * e->y);
- float value = currentValue - (dval / 300.0);
+ float dval = mouse_offset_x - (e->x + -1 * e->y);
+ float value = currentValue - (dval / 300.0);
- internalSetValue(value);
+ internalSetValue(value);
- mouse_offset_x = e->x + -1 * e->y;
- }
+ mouse_offset_x = e->x + -1 * e->y;
+ }
}
void Knob::keyEvent(KeyEvent *e)
{
- if(e->direction != -1) {
- return;
- }
-
- float value = currentValue;
- switch(e->keycode) {
- case KeyEvent::KEY_UP:
- value += 0.01;
- break;
- case KeyEvent::KEY_DOWN:
- value -= 0.01;
- break;
- case KeyEvent::KEY_RIGHT:
- value += 0.01;
- break;
- case KeyEvent::KEY_LEFT:
- value -= 0.01;
- break;
- case KeyEvent::KEY_HOME:
- value = 0;
- break;
- case KeyEvent::KEY_END:
- value = 1;
- break;
- default:
- break;
- }
-
- internalSetValue(value);
+ if(e->direction != -1)
+ {
+ return;
+ }
+
+ float value = currentValue;
+ switch(e->keycode) {
+ case KeyEvent::KEY_UP:
+ value += 0.01;
+ break;
+ case KeyEvent::KEY_DOWN:
+ value -= 0.01;
+ break;
+ case KeyEvent::KEY_RIGHT:
+ value += 0.01;
+ break;
+ case KeyEvent::KEY_LEFT:
+ value -= 0.01;
+ break;
+ case KeyEvent::KEY_HOME:
+ value = 0;
+ break;
+ case KeyEvent::KEY_END:
+ value = 1;
+ break;
+ default:
+ break;
+ }
+
+ internalSetValue(value);
}
void Knob::buttonEvent(ButtonEvent *e)
{
- if(e->direction == 1) {
- state = down;
- mouse_offset_x = e->x + -1*e->y;
- }
- if(e->direction == -1) {
- state = up;
- mouse_offset_x = e->x + -1*e->y;
- clicked();
- }
+ if(e->direction == 1)
+ {
+ state = down;
+ mouse_offset_x = e->x + -1*e->y;
+ }
+
+ if(e->direction == -1)
+ {
+ state = up;
+ mouse_offset_x = e->x + -1*e->y;
+ clicked();
+ }
}
void Knob::repaintEvent(RepaintEvent *e)
{
- int diameter = (width()>height()?height():width());
- int radius = diameter / 2;
- int center_x = width() / 2;
- int center_y = height() / 2;
-
- Painter p(this);
-
- p.clear();
- p.drawImageStretched(0, 0, &img_knob, diameter, diameter);
-
- char buf[64];
- sprintf(buf, "%.2f", currentValue * maximum);
- Font font;
- p.drawText(center_x - font.textWidth(buf) / 2 + 1,
- center_y + font.textHeight(buf) / 2 + 1, font, buf);
-
- // Make it start from 20% and stop at 80%
- double padval = currentValue * 0.8 + 0.1;
-
- double from_x = sin((-1 * padval + 1) * 2 * M_PI) * radius * 0.6;
- double from_y = cos((-1 * padval + 1) * 2 * M_PI) * radius * 0.6;
-
- double to_x = sin((-1 * padval + 1) * 2 * M_PI) * radius * 0.8;
- double to_y = cos((-1 * padval + 1) * 2 * M_PI) * radius * 0.8;
-
- // Draw "fat" line by drawing 9 lines with moved start/ending points.
- p.setColour(Colour(1, 0, 0, 1));
- for(int _x = -1; _x < 2; _x++) {
- for(int _y = -1; _y < 2; _y++) {
- p.drawLine(from_x + center_x + _x,
- from_y + center_y + _y,
- to_x + center_x + _x,
- to_y + center_y + _y);
-
- }
- }
+ int diameter = (width()>height()?height():width());
+ int radius = diameter / 2;
+ int center_x = width() / 2;
+ int center_y = height() / 2;
+
+ Painter p(this);
+
+ p.clear();
+ p.drawImageStretched(0, 0, &img_knob, diameter, diameter);
+
+ char buf[64];
+ sprintf(buf, "%.2f", currentValue * maximum);
+ Font font;
+ p.drawText(center_x - font.textWidth(buf) / 2 + 1,
+ center_y + font.textHeight(buf) / 2 + 1, font, buf);
+
+ // Make it start from 20% and stop at 80%
+ double padval = currentValue * 0.8 + 0.1;
+
+ double from_x = sin((-1 * padval + 1) * 2 * M_PI) * radius * 0.6;
+ double from_y = cos((-1 * padval + 1) * 2 * M_PI) * radius * 0.6;
+
+ double to_x = sin((-1 * padval + 1) * 2 * M_PI) * radius * 0.8;
+ double to_y = cos((-1 * padval + 1) * 2 * M_PI) * radius * 0.8;
+
+ // Draw "fat" line by drawing 9 lines with moved start/ending points.
+ p.setColour(Colour(1, 0, 0, 1));
+ for(int _x = -1; _x < 2; _x++)
+ {
+ for(int _y = -1; _y < 2; _y++)
+ {
+ p.drawLine(from_x + center_x + _x,
+ from_y + center_y + _y,
+ to_x + center_x + _x,
+ to_y + center_y + _y);
+ }
+ }
}
void Knob::internalSetValue(float value)
{
- if(value < minimum) value = minimum;
- if(value > maximum) value = maximum;
-
- if(value == currentValue) {
- return;
- }
-
- currentValue = value;
- valueChangedNotifier(currentValue);
- repaintEvent(NULL);
+ if(value < minimum)
+ {
+ value = minimum;
+ }
+
+ if(value > maximum)
+ {
+ value = maximum;
+ }
+
+ if(value == currentValue)
+ {
+ return;
+ }
+
+ currentValue = value;
+ valueChangedNotifier(currentValue);
+ repaintEvent(nullptr);
}
} // GUI::
diff --git a/plugingui/knob.h b/plugingui/knob.h
index da03710..a0a093f 100644
--- a/plugingui/knob.h
+++ b/plugingui/knob.h
@@ -36,45 +36,44 @@ namespace GUI {
class Knob : public Widget {
public:
- Knob(Widget *parent);
+ Knob(Widget *parent);
- bool catchMouse() override { return true; }
- bool isFocusable() override { return true; }
+ bool catchMouse() override { return true; }
+ bool isFocusable() override { return true; }
- void setValue(float value);
- float value();
+ void setValue(float value);
+ float value();
- Notifier<float> valueChangedNotifier; // (float newValue)
+ Notifier<float> valueChangedNotifier; // (float newValue)
protected:
- virtual void clicked() {}
+ virtual void clicked() {}
- // From Widget:
- virtual void repaintEvent(RepaintEvent *e) override;
- virtual void buttonEvent(ButtonEvent *e) override;
- virtual void mouseMoveEvent(MouseMoveEvent *e) override;
- virtual void scrollEvent(ScrollEvent *e) override;
- virtual void keyEvent(KeyEvent *e) override;
+ // From Widget:
+ virtual void repaintEvent(RepaintEvent *e) override;
+ virtual void buttonEvent(ButtonEvent *e) override;
+ virtual void mouseMoveEvent(MouseMoveEvent *e) override;
+ virtual void scrollEvent(ScrollEvent *e) override;
+ virtual void keyEvent(KeyEvent *e) override;
private:
- //! Sets the internal value and sends out the changed notification.
- void internalSetValue(float value);
+ //! Sets the internal value and sends out the changed notification.
+ void internalSetValue(float value);
- typedef enum {
- up,
- down
- } state_t;
+ typedef enum {
+ up,
+ down
+ } state_t;
- state_t state;
+ state_t state;
- float currentValue;
- float maximum;
- float minimum;
+ float currentValue;
+ float maximum;
+ float minimum;
- Image img_knob;
+ Image img_knob;
- int mouse_offset_x;
+ int mouse_offset_x;
};
} // GUI::
-
diff --git a/plugingui/label.cc b/plugingui/label.cc
index be37d82..1b2ec14 100644
--- a/plugingui/label.cc
+++ b/plugingui/label.cc
@@ -32,26 +32,26 @@
namespace GUI {
Label::Label(GUI::Widget *parent)
- : Widget(parent)
+ : Widget(parent)
{
}
void Label::setText(std::string text)
{
- _text = text;
- repaintEvent(NULL);
+ _text = text;
+ repaintEvent(nullptr);
}
void Label::repaintEvent(GUI::RepaintEvent *e)
{
- Painter p(this);
+ Painter p(this);
- p.clear();
+ p.clear();
- p.setColour(Colour(1));
+ p.setColour(Colour(1));
- Font font(":fontemboss.png");
- p.drawText(10, (height() + font.textHeight()) / 2, font, _text, true);
+ Font font(":fontemboss.png");
+ p.drawText(10, (height() + font.textHeight()) / 2, font, _text, true);
}
} // GUI::
diff --git a/plugingui/label.h b/plugingui/label.h
index 707cdb1..644d4b7 100644
--- a/plugingui/label.h
+++ b/plugingui/label.h
@@ -36,16 +36,16 @@ class RepaintEvent;
class Label : public Widget {
public:
- Label(Widget *parent);
+ Label(Widget *parent);
- void setText(std::string text);
+ void setText(std::string text);
protected:
- // From Widget:
- virtual void repaintEvent(RepaintEvent *e) override;
+ // From Widget:
+ virtual void repaintEvent(RepaintEvent *e) override;
private:
- std::string _text;
+ std::string _text;
};
} // GUI::
diff --git a/plugingui/widget.cc b/plugingui/widget.cc
index 0919e22..65d269b 100644
--- a/plugingui/widget.cc
+++ b/plugingui/widget.cc
@@ -34,74 +34,84 @@
namespace GUI {
Widget::Widget(Widget *parent)
- : pixbuf(1, 1)
+ : pixbuf(1, 1)
{
- _width = _height = 10;
+ _width = _height = 10;
- this->parent = parent;
- if(parent) {
- parent->addChild(this);
- _window = parent->window();
- }
- _width = _height = 0;
- _visible = true;
+ this->parent = parent;
+ if(parent)
+ {
+ parent->addChild(this);
+ _window = parent->window();
+ }
+ _width = _height = 0;
+ _visible = true;
}
Widget::~Widget()
{
- if(parent) parent->removeChild(this);
+ if(parent)
+ {
+ parent->removeChild(this);
+ }
}
void Widget::show()
{
- setVisible(true);
+ setVisible(true);
}
void Widget::hide()
{
- setVisible(false);
+ setVisible(false);
}
void Widget::setVisible(bool v)
{
- _visible = v;
- repaintEvent(NULL);
+ _visible = v;
+ repaintEvent(nullptr);
}
bool Widget::visible()
{
- return _visible;
+ return _visible;
}
void Widget::addChild(Widget *widget)
{
- children.push_back(widget);
+ children.push_back(widget);
}
void Widget::removeChild(Widget *widget)
{
- std::vector<Widget *>::iterator i = children.begin();
- while(i != children.end()) {
- if(*i == widget) {
- children.erase(i);
- return;
- }
- i++;
- }
+ std::vector<Widget *>::iterator i = children.begin();
+ while(i != children.end())
+ {
+ if(*i == widget)
+ {
+ children.erase(i);
+ return;
+ }
+ i++;
+ }
}
void Widget::resize(int width, int height)
{
- if(width < 1 || height < 1) return;
- _width = width;
- _height = height;
- pixbuf.realloc(width, height);
+ if(width < 1 || height < 1)
+ {
+ return;
+ }
+
+ _width = width;
+ _height = height;
+ pixbuf.realloc(width, height);
}
void Widget::move(size_t x, size_t y)
{
- _x = x;
- _y = y;
+ _x = x;
+ _y = y;
}
size_t Widget::x() { return _x; }
@@ -111,79 +121,98 @@ size_t Widget::height() { return _height; }
size_t Widget::windowX()
{
- size_t window_x = x();
- if(parent) window_x += parent->windowX();
- return window_x;
+ size_t window_x = x();
+ if(parent)
+ {
+ window_x += parent->windowX();
+ }
+
+ return window_x;
}
size_t Widget::windowY()
{
- size_t window_y = y();
- if(parent) window_y += parent->windowY();
- return window_y;
+ size_t window_y = y();
+ if(parent)
+ {
+ window_y += parent->windowY();
+ }
+
+ return window_y;
}
Widget *Widget::find(size_t x, size_t y)
{
- std::vector<Widget*>::reverse_iterator i = children.rbegin();
- while(i != children.rend()) {
- Widget *w = *i;
- if(w->visible()) {
- if(w->x() <= x && (w->x() + w->width()) >= x &&
- w->y() <= y && w->y() + w->height() >= y)
- return w->find(x - w->x(), y - w->y());
- }
- i++;
- }
-
- if(x > width() || x < 0 || y > height() || y < 0) return NULL;
- return this;
+ std::vector<Widget*>::reverse_iterator i = children.rbegin();
+ while(i != children.rend())
+ {
+ Widget *w = *i;
+ if(w->visible())
+ {
+ if(w->x() <= x && (w->x() + w->width()) >= x &&
+ w->y() <= y && w->y() + w->height() >= y)
+ {
+ return w->find(x - w->x(), y - w->y());
+ }
+ }
+ i++;
+ }
+
+ if(x > width() || x < 0 || y > height() || y < 0)
+ {
+ return nullptr;
+ }
+
+ return this;
}
Window *Widget::window()
{
- return _window;
+ return _window;
}
void Widget::repaint_r(RepaintEvent *e)
{
- Painter p(this); // make sure pixbuf refcount is incremented.
+ Painter p(this); // make sure pixbuf refcount is incremented.
- repaintEvent(e);
+ repaintEvent(e);
- std::vector<Widget*>::iterator i = children.begin();
- while(i != children.end()) {
- Widget *w = *i;
- w->repaint_r(e);
- i++;
- }
+ std::vector<Widget*>::iterator i = children.begin();
+ while(i != children.end())
+ {
+ Widget *w = *i;
+ w->repaint_r(e);
+ i++;
+ }
}
std::vector<PixelBufferAlpha *> Widget::getPixelBuffers()
{
- std::vector<PixelBufferAlpha *> pbs;
+ std::vector<PixelBufferAlpha *> pbs;
- pixbuf.x = windowX();
- pixbuf.y = windowY();
+ pixbuf.x = windowX();
+ pixbuf.y = windowY();
- pbs.push_back(&pixbuf);
+ pbs.push_back(&pixbuf);
- std::vector<Widget*>::iterator i = children.begin();
- while(i != children.end()) {
- Widget *w = *i;
- if(w->visible()) {
- std::vector<PixelBufferAlpha *> pbs0 = w->getPixelBuffers();
- pbs.insert(pbs.end(), pbs0.begin(), pbs0.end());
- }
- i++;
- }
+ std::vector<Widget*>::iterator i = children.begin();
+ while(i != children.end())
+ {
+ Widget *w = *i;
+ if(w->visible())
+ {
+ std::vector<PixelBufferAlpha *> pbs0 = w->getPixelBuffers();
+ pbs.insert(pbs.end(), pbs0.begin(), pbs0.end());
+ }
+ i++;
+ }
- return pbs;
+ return pbs;
}
bool Widget::hasKeyboardFocus()
{
- return window()->keyboardFocus() == this;
+ return window()->keyboardFocus() == this;
}
} // GUI::
diff --git a/plugingui/widget.h b/plugingui/widget.h
index 13725f0..10b221a 100644
--- a/plugingui/widget.h
+++ b/plugingui/widget.h
@@ -38,60 +38,60 @@ class Window;
class Widget : public Listener {
public:
- Widget(Widget *parent);
- virtual ~Widget();
+ Widget(Widget *parent);
+ virtual ~Widget();
- virtual void show();
- virtual void hide();
+ virtual void show();
+ virtual void hide();
- virtual void resize(int width, int height);
- virtual void move(size_t x, size_t y);
+ virtual void resize(int width, int height);
+ virtual void move(size_t x, size_t y);
- virtual size_t x();
- virtual size_t y();
- virtual size_t windowX();
- virtual size_t windowY();
- virtual size_t width();
- virtual size_t height();
+ virtual size_t x();
+ virtual size_t y();
+ virtual size_t windowX();
+ virtual size_t windowY();
+ virtual size_t width();
+ virtual size_t height();
- virtual bool isFocusable() { return false; }
- virtual bool catchMouse() { return false; }
+ virtual bool isFocusable() { return false; }
+ virtual bool catchMouse() { return false; }
- void addChild(Widget *widget);
- void removeChild(Widget *widget);
+ void addChild(Widget *widget);
+ void removeChild(Widget *widget);
- virtual void repaintEvent(RepaintEvent *e) {}
- virtual void mouseMoveEvent(MouseMoveEvent *e) {}
- virtual void buttonEvent(ButtonEvent *e) {}
- virtual void scrollEvent(ScrollEvent *e) {}
- virtual void keyEvent(KeyEvent *e) {}
+ virtual void repaintEvent(RepaintEvent *e) {}
+ virtual void mouseMoveEvent(MouseMoveEvent *e) {}
+ virtual void buttonEvent(ButtonEvent *e) {}
+ virtual void scrollEvent(ScrollEvent *e) {}
+ virtual void keyEvent(KeyEvent *e) {}
- virtual void mouseLeaveEvent() {}
- virtual void mouseEnterEvent() {}
+ virtual void mouseLeaveEvent() {}
+ virtual void mouseEnterEvent() {}
- Widget *find(size_t x, size_t y);
+ Widget *find(size_t x, size_t y);
- virtual Window *window();
+ virtual Window *window();
- void repaint_r(RepaintEvent *e);
+ void repaint_r(RepaintEvent *e);
- PixelBufferAlpha pixbuf;
- std::vector<PixelBufferAlpha *> getPixelBuffers();
+ PixelBufferAlpha pixbuf;
+ std::vector<PixelBufferAlpha *> getPixelBuffers();
- bool hasKeyboardFocus();
+ bool hasKeyboardFocus();
- Widget *parent;
+ Widget *parent;
- bool visible();
- void setVisible(bool visible);
+ bool visible();
+ void setVisible(bool visible);
protected:
- std::vector<Widget*> children;
- Window *_window;
- size_t _x, _y, _width, _height;
+ std::vector<Widget*> children;
+ Window *_window;
+ size_t _x, _y, _width, _height;
private:
- bool _visible;
+ bool _visible;
};
} // GUI::