From a8bfa1b4cda83fbaaaee247421f15e035cad3249 Mon Sep 17 00:00:00 2001 From: andreja6 Date: Fri, 1 Jun 2018 23:07:00 -0700 Subject: [PATCH] No longer pushing and poping state for each button drawn --- ImageButtonInstance.cpp | 6 ++---- main.cpp | 6 +++++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/ImageButtonInstance.cpp b/ImageButtonInstance.cpp index d5c9a85..7ee3b11 100644 --- a/ImageButtonInstance.cpp +++ b/ImageButtonInstance.cpp @@ -118,8 +118,7 @@ void ImageButtonInstance::drawObj(RenderDevice* rd, Vector2 mousePos, bool mouse } - rd->pushState(); - rd->beforePrimitive(); + glEnable( GL_TEXTURE_2D ); glEnable(GL_BLEND);// you enable blending function glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); @@ -135,8 +134,7 @@ void ImageButtonInstance::drawObj(RenderDevice* rd, Vector2 mousePos, bool mouse glVertex2f( positionRelative.x, positionRelative.y + size.y ); glEnd(); glDisable( GL_TEXTURE_2D ); - rd->afterPrimitive(); - rd->popState(); + if(drawDisabledBox) { Draw::box(Box(Vector3(positionRelative.x, positionRelative.y, 0), Vector3(positionRelative.x+size.x, positionRelative.y+size.y, 0)), rd, Color4(0.7F,0.7F,0.7F,0.3F), Color4::clear()); diff --git a/main.cpp b/main.cpp index e651efa..5f6d0a5 100644 --- a/main.cpp +++ b/main.cpp @@ -901,7 +901,11 @@ bool mouseInArea(float point1x, float point1y, float point2x, float point2y) void drawButtons(RenderDevice* rd) { - dataModel->getGuiRoot()->render(rd); + rd->pushState(); + rd->beforePrimitive(); + dataModel->getGuiRoot()->render(rd); + rd->afterPrimitive(); + rd->popState(); } void drawOutline(Vector3 from, Vector3 to, RenderDevice* rd, LightingParameters lighting, Vector3 size, Vector3 pos, CoordinateFrame c)