X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Fview.cpp;h=6a3dbdf9768ee3fc8971fd2d20e815492eedd2bd;hp=b8b8ab61890d3c8be31377e317ecae2b47f6695f;hb=b1786b24148036a4d9402cc12ea97466072e988d;hpb=eb7a30473a78452a890bd453f80d4a90aee5d364 diff --git a/src/view.cpp b/src/view.cpp index b8b8ab6..6a3dbdf 100644 --- a/src/view.cpp +++ b/src/view.cpp @@ -69,8 +69,6 @@ void View::Render() debug_output_done = true; } - glClearColor(1.f,1.f,1.f,1.f); - glClear(GL_COLOR_BUFFER_BIT); //DrawGrid(); // Draw the gridlines @@ -80,11 +78,16 @@ void View::Render() glMatrixMode(GL_MODELVIEW); glLoadIdentity(); + if (m_colour.a < 1.0f) + { + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + } glColor4f(m_colour.r, m_colour.g, m_colour.b, m_colour.a); glBegin(GL_QUADS); for (unsigned id = 0; id < m_document.ObjectCount(); ++id) { - if (m_document.m_objects.types[id] == RECT_FILLED) + if (m_document.m_objects.types[id] != RECT_FILLED) continue; Rect obj_bounds = m_document.m_objects.bounds[id]; glVertex2f(Float(obj_bounds.x), Float(obj_bounds.y)); @@ -97,7 +100,7 @@ void View::Render() for (unsigned id = 0; id < m_document.ObjectCount(); ++id) { - if (m_document.m_objects.types[id] == RECT_OUTLINE) + if (m_document.m_objects.types[id] != RECT_OUTLINE) continue; Rect obj_bounds = m_document.m_objects.bounds[id]; glBegin(GL_LINE_LOOP); @@ -108,4 +111,9 @@ void View::Render() glEnd(); } + if (m_colour.a < 1.0f) + { + glDisable(GL_BLEND); + } + }