diff --git a/examples/example1/src/example1.d b/examples/example1/src/example1.d index d93722b8..998ae83a 100644 --- a/examples/example1/src/example1.d +++ b/examples/example1/src/example1.d @@ -1014,8 +1014,9 @@ static if (ENABLE_OPENGL) { override void animate(long interval) { if (_oldApi) { // rotate gears - angle += interval * 0.000005f; + angle += interval * 0.000002f; } else { + // animate new API example } invalidate(); } @@ -1205,9 +1206,6 @@ static if (ENABLE_OPENGL) { glxgears_reshape(Rect rc) { GLfloat h = cast(GLfloat) rc.height / cast(GLfloat) rc.width; - - glViewport(rc.top, rc.left, cast(GLint)rc.width, cast(GLint)rc.height); - //glViewport(0, 0, cast(GLint) width, cast(GLint) height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glFrustum(-1.0, 1.0, -h, h, 5.0, 60.0); diff --git a/src/dlangui/graphics/gldrawbuf.d b/src/dlangui/graphics/gldrawbuf.d index 9bf3f496..74de1d39 100644 --- a/src/dlangui/graphics/gldrawbuf.d +++ b/src/dlangui/graphics/gldrawbuf.d @@ -923,10 +923,12 @@ public: } override void draw() { if (_handler) { + import derelict.opengl3.gl3 : glViewport; - glViewport(_rc.left, _rc.top, _rc.right, _rc.bottom); + glViewport(_rc.left, _buf.height - _rc.bottom, _rc.width, _rc.height); _handler(_buf, _rc); glSupport.setOrthoProjection(Rect(0, 0, _buf.width, _buf.height)); + } } }