aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libjin/Graphics/Drawable.cpp4
-rw-r--r--src/libjin/Graphics/Font.cpp6
-rw-r--r--src/libjin/Graphics/Shapes.cpp12
-rw-r--r--src/libjin/Graphics/Window.cpp8
4 files changed, 8 insertions, 22 deletions
diff --git a/src/libjin/Graphics/Drawable.cpp b/src/libjin/Graphics/Drawable.cpp
index dc1c8dd..008d54e 100644
--- a/src/libjin/Graphics/Drawable.cpp
+++ b/src/libjin/Graphics/Drawable.cpp
@@ -42,13 +42,9 @@ namespace graphics
glPushMatrix();
glMultMatrixf((const GLfloat*)t.getElements());
- glEnableClientState(GL_VERTEX_ARRAY);
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glTexCoordPointer(2, GL_FLOAT, 0, textCoord);
glVertexPointer(2, GL_FLOAT, 0, vertCoord);
glDrawArrays(GL_QUADS, 0, 4);
- glDisableClientState(GL_TEXTURE_COORD_ARRAY);
- glDisableClientState(GL_VERTEX_ARRAY);
/* pop the model matrix */
glPopMatrix();
diff --git a/src/libjin/Graphics/Font.cpp b/src/libjin/Graphics/Font.cpp
index 1d88280..4988702 100644
--- a/src/libjin/Graphics/Font.cpp
+++ b/src/libjin/Graphics/Font.cpp
@@ -80,9 +80,6 @@ namespace graphics
glBindTexture(GL_TEXTURE_2D, texture);
- glEnableClientState(GL_VERTEX_ARRAY);
- glEnableClientState(GL_TEXTURE_COORD_ARRAY);
-
// for saving clip quad
stbtt_aligned_quad q;
@@ -141,9 +138,6 @@ namespace graphics
glDrawArrays(GL_QUADS, 0, 4);
}
- glDisableClientState(GL_TEXTURE_COORD_ARRAY);
- glDisableClientState(GL_VERTEX_ARRAY);
-
glBindTexture(GL_TEXTURE_2D, 0);
}
diff --git a/src/libjin/Graphics/Shapes.cpp b/src/libjin/Graphics/Shapes.cpp
index f4c5093..13935d2 100644
--- a/src/libjin/Graphics/Shapes.cpp
+++ b/src/libjin/Graphics/Shapes.cpp
@@ -14,20 +14,14 @@ namespace graphics
void point(int x, int y)
{
float vers[] = { x + 0.5f , y + 0.5f };
- glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, (GLvoid*)vers);
glDrawArrays(GL_POINTS, 0, 1);
- glDisableClientState(GL_VERTEX_ARRAY);
}
void points(int n, GLshort* p)
{
- glEnableClientState(GL_VERTEX_ARRAY);
-
glVertexPointer(2, GL_SHORT, 0, (GLvoid*)p);
glDrawArrays(GL_POINTS, 0, n);
-
- glDisableClientState(GL_VERTEX_ARRAY);
}
void line(int x1, int y1, int x2, int y2)
@@ -37,10 +31,8 @@ namespace graphics
x2, y2
};
- glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, (GLvoid*)verts);
glDrawArrays(GL_LINES, 0, 2);
- glDisableClientState(GL_VERTEX_ARRAY);
}
void circle(RenderMode mode, int x, int y, int r)
@@ -92,10 +84,8 @@ namespace graphics
verts[i * 4 + 3] = p[(i + 1) % count * 2 + 1];
}
- glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, (GLvoid*)verts);
glDrawArrays(GL_LINES, 0, count * 2);
- glDisableClientState(GL_VERTEX_ARRAY);
delete[] verts;
}
@@ -108,10 +98,8 @@ namespace graphics
}
else if (mode == FILL)
{
- glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, (const GLvoid*)p);
glDrawArrays(GL_POLYGON, 0, count);
- glDisableClientState(GL_VERTEX_ARRAY);
}
}
diff --git a/src/libjin/Graphics/Window.cpp b/src/libjin/Graphics/Window.cpp
index 8d42bbf..68ebe47 100644
--- a/src/libjin/Graphics/Window.cpp
+++ b/src/libjin/Graphics/Window.cpp
@@ -73,6 +73,8 @@ namespace graphics
glEnable(GL_BLEND);
glEnable(GL_TEXTURE_2D);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ glEnableClientState(GL_VERTEX_ARRAY);
+ glEnableClientState(GL_TEXTURE_COORD_ARRAY);
/* avoid white screen blink on windows */
swapBuffers();
/* bind to default canvas */
@@ -82,6 +84,12 @@ namespace graphics
void Window::quitSystem()
{
+ /* disable opengl */
+ glDisable(GL_BLEND);
+ glDisable(GL_TEXTURE_2D);
+ glDisableClientState(GL_VERTEX_ARRAY);
+ glDisableClientState(GL_TEXTURE_COORD_ARRAY);
+ /* close window */
SDL_DestroyWindow(wnd);
SDL_Quit();
}