|
|
|
|
@ -140,7 +140,7 @@ void gfx_draw_line (struct image *dimg, int x1, int y1, int x2, int y2, struct l
|
|
|
|
|
gfx_fbo_switch (dimg);
|
|
|
|
|
if (style.width < 1.0) style.width = 1.0;
|
|
|
|
|
glLineWidth (style.width);
|
|
|
|
|
glColor3f (style.c.c.r, style.c.c.g, style.c.c.b);
|
|
|
|
|
glColor4f(style.c.c.r, style.c.c.g, style.c.c.b, 1.0);
|
|
|
|
|
glBegin (GL_LINES);
|
|
|
|
|
glVertex2i (x1, y1);
|
|
|
|
|
glVertex2i (x2, y2);
|
|
|
|
|
@ -155,19 +155,25 @@ void gfx_draw_polygon (struct image *dimg, iPoint *p, int pcnt, struct line_styl
|
|
|
|
|
int i;
|
|
|
|
|
|
|
|
|
|
gfx_fbo_switch (dimg);
|
|
|
|
|
if (dimg) {
|
|
|
|
|
d_printf ("%d,%d", dimg->width, dimg->height);
|
|
|
|
|
}
|
|
|
|
|
glBegin (GL_POLYGON);
|
|
|
|
|
glColor4f (c.c.r, c.c.g, c.c.b, 1.0f);
|
|
|
|
|
for (i = 0; i < pcnt; i++)
|
|
|
|
|
for (i = 0; i < pcnt; i++) {
|
|
|
|
|
d_printf (" %d, %d", p[i].x, p[i].y);
|
|
|
|
|
glVertex2i (p[i].x, p[i].y);
|
|
|
|
|
}
|
|
|
|
|
glEnd ();
|
|
|
|
|
|
|
|
|
|
// glBegin (GL_LINES);
|
|
|
|
|
// d_printf ("line width: %f",style.width);
|
|
|
|
|
// glLineWidth (style.width/2.0);
|
|
|
|
|
// glColor4f (style.c.c.r, style.c.c.g, style.c.c.b, 1.0f);
|
|
|
|
|
// for (i = 0; i < pcnt; i++)
|
|
|
|
|
// glVertex2i (p[i].x, p[i].y);
|
|
|
|
|
// glEnd ();
|
|
|
|
|
if (style.width > 0.0) {
|
|
|
|
|
glBegin (GL_LINE_LOOP);
|
|
|
|
|
glLineWidth (style.width/2.0);
|
|
|
|
|
glColor4f (style.c.c.r, style.c.c.g, style.c.c.b, 1.0f);
|
|
|
|
|
for (i = 0; i < pcnt; i++)
|
|
|
|
|
glVertex2i (p[i].x, p[i].y);
|
|
|
|
|
glEnd ();
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -194,11 +200,13 @@ void gfx_draw_img (struct image *dimg, int dx, int dy, int dw, int dh, struct im
|
|
|
|
|
glBegin (GL_QUADS);
|
|
|
|
|
glColor4f (1.0f, 1.0f, 1.0f, 1.0f);
|
|
|
|
|
|
|
|
|
|
fx = (float) sx/(float) simg->width;
|
|
|
|
|
fy = (float) sy/(float) simg->height;
|
|
|
|
|
fw = (float) dw/(float) simg->width;
|
|
|
|
|
fh = (float) dh/(float) simg->height;
|
|
|
|
|
|
|
|
|
|
fx = (float) sx/(float) (simg->width);
|
|
|
|
|
fy = (float) sy/(float) (simg->height);
|
|
|
|
|
fw = (float) dw/(float) (simg->width);
|
|
|
|
|
fh = (float) dh/(float) (simg->height);
|
|
|
|
|
|
|
|
|
|
d_printf ("%d, %d ---- (%d, %d, %d, %d) --- (%f, %f, %f, %f)", simg->width, simg->height, sx, sy, dw, dh, fx, fy, fw, fh);
|
|
|
|
|
|
|
|
|
|
glTexCoord2d (fx, fy);
|
|
|
|
|
glVertex2i (dx, dy);
|
|
|
|
|
glTexCoord2d (fx, fy+fh);
|
|
|
|
|
@ -296,6 +304,22 @@ void gfx_img_free (struct image *img) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void gfx_draw_rect (struct image *dimg, int x1, int y1, int x2, int y2, struct color *c) {
|
|
|
|
|
d_printf ("rect...");
|
|
|
|
|
// int i;
|
|
|
|
|
//
|
|
|
|
|
// gfx_fbo_switch (dimg);
|
|
|
|
|
// glBegin (GL_POLYGON);
|
|
|
|
|
// glColor4f (c.c.r, c.c.g, c.c.b, 1.0f);
|
|
|
|
|
// for (i = 0; i < pcnt; i++)
|
|
|
|
|
// glVertex2i (p[i].x, p[i].y);
|
|
|
|
|
// glEnd ();
|
|
|
|
|
//
|
|
|
|
|
// glBegin (GL_LINES);
|
|
|
|
|
// glLineWidth (style.width/2.0);
|
|
|
|
|
// glColor4f (style.c.c.r, style.c.c.g, style.c.c.b, 1.0f);
|
|
|
|
|
// for (i = 0; i < pcnt; i++)
|
|
|
|
|
// glVertex2i (p[i].x, p[i].y);
|
|
|
|
|
// glEnd ();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|