glamtk

annotate src/draw.c @ 6:9b623dc0f296

foo
author John Tsiombikas <nuclear@member.fsf.org>
date Wed, 09 Mar 2011 10:12:31 +0200
parents
children a115dff39a54
rev   line source
nuclear@6 1 #ifndef __APPLE__
nuclear@6 2 #include <GL/gl.h>
nuclear@6 3 #else
nuclear@6 4 #include <OpenGL/gl.h>
nuclear@6 5 #endif
nuclear@6 6
nuclear@6 7 #include "draw.h"
nuclear@6 8
nuclear@6 9 struct color {
nuclear@6 10 float r, g, b, a;
nuclear@6 11 };
nuclear@6 12
nuclear@6 13 static struct color fgcolor = {0, 0, 0, 1};
nuclear@6 14 static struct color bgcolor = {0.4, 0.4, 0.4, 1};
nuclear@6 15
nuclear@6 16 void imtk_draw_color(float r, float g, float b, float a)
nuclear@6 17 {
nuclear@6 18 fgcolor.r = r;
nuclear@6 19 fgcolor.g = g;
nuclear@6 20 fgcolor.b = b;
nuclear@6 21 fgcolor.a = a;
nuclear@6 22 }
nuclear@6 23
nuclear@6 24 void imtk_draw_background(float r, float g, float b, float a)
nuclear@6 25 {
nuclear@6 26 bgcolor.r = r;
nuclear@6 27 bgcolor.g = g;
nuclear@6 28 bgcolor.b = b;
nuclear@6 29 bgcolor.a = a;
nuclear@6 30 }
nuclear@6 31
nuclear@6 32 void imtk_draw_rect(int x, int y, int w, int h, int rad)
nuclear@6 33 {
nuclear@6 34 glBegin(GL_LINE_LOOP);
nuclear@6 35 linestart(x + rad, y);
nuclear@6 36 lineto(x + w - rad, y);
nuclear@6 37 arcto(x + w, y + rad);
nuclear@6 38 lineto(x + w, y + h - rad);
nuclear@6 39 arcto(x + w - rad, y + h);
nuclear@6 40 lineto(x + rad, y + h);
nuclear@6 41 arcto(x, y + h - rad);
nuclear@6 42 lineto(x, y + rad);
nuclear@6 43 arcto(x + rad, y);
nuclear@6 44 glEnd();
nuclear@6 45 }
nuclear@6 46
nuclear@6 47 static int px, py;
nuclear@6 48
nuclear@6 49 static void linestart(int x, int y)
nuclear@6 50 {
nuclear@6 51 px = x;
nuclear@6 52 py = y;
nuclear@6 53 glVertex2i(x, y);
nuclear@6 54 }
nuclear@6 55
nuclear@6 56 static void lineto(int x, int y)
nuclear@6 57 {
nuclear@6 58 px = x;
nuclear@6 59 py = y;
nuclear@6 60 glVertex2i(x, y);
nuclear@6 61 }
nuclear@6 62
nuclear@6 63 static void arcto(int x, int y, int rad)
nuclear@6 64 {
nuclear@6 65 }