From 8dc59d74f73e512ba9552d9efb8750fbfb95991f Mon Sep 17 00:00:00 2001 From: Mark Vejvoda Date: Thu, 26 Jul 2012 07:06:12 +0000 Subject: [PATCH] - better handling of edit mode click --- source/glest_game/facilities/components.cpp | 18 ++++++++++++++++++ source/glest_game/facilities/components.h | 2 ++ 2 files changed, 20 insertions(+) diff --git a/source/glest_game/facilities/components.cpp b/source/glest_game/facilities/components.cpp index 34c535ff..2b5171b5 100644 --- a/source/glest_game/facilities/components.cpp +++ b/source/glest_game/facilities/components.cpp @@ -288,6 +288,24 @@ void GraphicLabel::init(int x, int y, int w, int h, bool centered, Vec3f textCol this->wordWrap = wordWrap; } +bool GraphicLabel::mouseMove(int x, int y) { + if(this->getVisible() == false) { + return false; + } + + int useWidth = w; + if(text.length() > 0 && font3D != NULL) { + float lineWidth = (font3D->getTextHandler()->Advance(text.c_str()) * Font::scaleFontValue); + useWidth = (int)lineWidth; + } + + return + x > this->x && + y > this->y && + x < this->x + useWidth && + y < this->y + h; +} + bool GraphicLabel::getCenteredW() const { bool result = (centered || centeredW == 1); return result; diff --git a/source/glest_game/facilities/components.h b/source/glest_game/facilities/components.h index ec286402..ee3e5e5d 100644 --- a/source/glest_game/facilities/components.h +++ b/source/glest_game/facilities/components.h @@ -147,6 +147,8 @@ public: GraphicLabel(); void init(int x, int y, int w=defW, int h=defH, bool centered= false, Vec3f textColor=GraphicComponent::customTextColor, bool wordWrap=false); + virtual bool mouseMove(int x, int y); + bool getCentered() const {return centered;} void setCentered(bool centered) {this->centered= centered;}