From c38ede1bd1ca4ba2ef71951c3b669424d961ecfa Mon Sep 17 00:00:00 2001 From: andreja6 Date: Wed, 2 May 2018 19:59:49 -0700 Subject: [PATCH] Added message functions to DataModel --- DataModelInstance.cpp | 29 +++++++++++++++++++++++++++++ DataModelInstance.h | 4 ++++ main.cpp | 3 ++- 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/DataModelInstance.cpp b/DataModelInstance.cpp index 26bdcb2..bdcda30 100644 --- a/DataModelInstance.cpp +++ b/DataModelInstance.cpp @@ -6,6 +6,9 @@ Instance* guiRoot; float mousex; float mousey; bool mouseButton1Down; +std::string message; +bool showMessage; +G3D::GFontRef font; DataModelInstance::DataModelInstance(void) @@ -17,12 +20,38 @@ DataModelInstance::DataModelInstance(void) mousex = 0; mousey = 0; mouseButton1Down = false; + showMessage = false; } DataModelInstance::~DataModelInstance(void) { } +void DataModelInstance::setMessage(std::string msg) +{ + message = msg; + showMessage = true; +} + +void DataModelInstance::clearMessage() +{ + showMessage = false; + message = ""; +} + +void DataModelInstance::drawMessage(RenderDevice* rd) +{ + if(showMessage && !font.isNull()) + { + int x = rd->getWidth()/2; + int y = rd->getHeight()/2; + int width = rd->getWidth()/2 + 100; + int height = width / 3; + Draw::box(Box(Vector3(x-(width/2), y-(height/2), 0), Vector3(x+(width/2), y+(height/2), 0)), rd, Color4::fromARGB(0x55B2B2B2), Color3::fromARGB(0xB2B2B2)); + font->draw2D(rd, message, Vector2(x,y), height/8, Color3::white(), Color4::clear(), GFont::XALIGN_CENTER, GFont::YALIGN_CENTER); + } +} + WorkspaceInstance* DataModelInstance::getWorkspace() { return workspace; diff --git a/DataModelInstance.h b/DataModelInstance.h index 5c6f887..b009ae2 100644 --- a/DataModelInstance.h +++ b/DataModelInstance.h @@ -8,6 +8,10 @@ class DataModelInstance : public: DataModelInstance(void); ~DataModelInstance(void); + void setMessage(std::string); + void clearMessage(); + void drawMessage(RenderDevice*); + GFontRef font; WorkspaceInstance* getWorkspace(); Instance* getGuiRoot(); float mousex; diff --git a/main.cpp b/main.cpp index 878d934..740a878 100644 --- a/main.cpp +++ b/main.cpp @@ -688,7 +688,7 @@ void Demo::onInit() { dataModel = new DataModelInstance(); dataModel->setParent(NULL); dataModel->name = "undefined"; - + dataModel->font = fntdominant; Globals::dataModel = dataModel; initGUI(); @@ -1376,6 +1376,7 @@ void Demo::onGraphics(RenderDevice* rd) { drawButtons(rd); + dataModel->drawMessage(rd); rd->pushState(); rd->beforePrimitive();