summaryrefslogtreecommitdiff
path: root/src/gui/widgets/checkbox.h
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-05-24 15:45:13 +0300
committerAndrei Karas <akaras@inbox.ru>2015-05-24 15:45:13 +0300
commit351e16d2f290a5b30981b7beae87d5d8a1a30662 (patch)
treeba64ab4843a87678cfff6d45e13d18648d132a11 /src/gui/widgets/checkbox.h
parent07cef0090ecb3f9b904afbaeaf7b2e2449f34794 (diff)
downloadmv-351e16d2f290a5b30981b7beae87d5d8a1a30662.tar.gz
mv-351e16d2f290a5b30981b7beae87d5d8a1a30662.tar.bz2
mv-351e16d2f290a5b30981b7beae87d5d8a1a30662.tar.xz
mv-351e16d2f290a5b30981b7beae87d5d8a1a30662.zip
Improve checkbox draw speed.
Use local text image and improve a bit calculations in draw.
Diffstat (limited to 'src/gui/widgets/checkbox.h')
-rw-r--r--src/gui/widgets/checkbox.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/gui/widgets/checkbox.h b/src/gui/widgets/checkbox.h
index d3ed8b12f..0aa3a6faf 100644
--- a/src/gui/widgets/checkbox.h
+++ b/src/gui/widgets/checkbox.h
@@ -69,6 +69,10 @@
#include "listeners/keylistener.h"
#include "listeners/tooltiplistener.h"
+#include "listeners/widgetlistener.h"
+
+#include "gui/fonts/textchunk.h"
+
#include "gui/widgets/widget.h"
#include "localconsts.h"
@@ -82,7 +86,8 @@ class Skin;
*/
class CheckBox final : public Widget,
public ToolTipListener,
- public KeyListener
+ public KeyListener,
+ public WidgetListener
{
public:
/**
@@ -165,13 +170,16 @@ class CheckBox final : public Widget,
* @param caption The caption of the check box.
* @see getCaption, adjustSize
*/
- void setCaption(const std::string& caption)
- { mCaption = caption; }
+ void setCaption(const std::string& caption);
void mouseClicked(MouseEvent& event) override final;
void mouseDragged(MouseEvent& event) override final;
+ void setParent(Widget *widget) override final;
+
+ void widgetHidden(const Event &event) override final;
+
private:
void toggleSelected();
@@ -185,12 +193,16 @@ class CheckBox final : public Widget,
*/
std::string mCaption;
+ TextChunk mTextChunk;
+
int mPadding;
int mImagePadding;
int mImageSize;
int mSpacing;
+ int mTextX;
bool mHasMouse;
bool mDrawBox;
+ bool mTextChanged;
static int instances;
static Skin *mSkin;