about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--draw.c65
-rw-r--r--draw.h57
2 files changed, 40 insertions, 82 deletions
diff --git a/draw.c b/draw.c
index df5aeec..01436ea 100644
--- a/draw.c
+++ b/draw.c
@@ -35,28 +35,6 @@ draw_free(Draw *draw) {
 	free(draw);
 }
 
-DDC *
-dc_create(Draw *draw) {
-	DDC *dc = (DDC *)calloc(1, sizeof(DDC));
-	dc->draw = draw;
-	dc->next = draw->dc;
-	draw->dc = dc;
-	return dc;
-}
-
-void
-dc_free(DDC *dc) {
-	DDC **tdc;
-
-	if(!dc)
-		return;
-	/* remove from dc list */
-	for(tdc = &dc->draw->dc; *tdc && *tdc != dc; tdc = &(*tdc)->next);
-	*tdc = dc->next;
-	/* TODO: deallocate any resources of this dc, if needed */
-	free(dc);
-}
-
 Fnt *
 font_create(const char *fontname) {
 	Fnt *font = (Fnt *)calloc(1, sizeof(Fnt));
@@ -88,57 +66,50 @@ col_free(Col *col) {
 }
 
 void
-dc_setfont(DDC *dc, Fnt *font) {
-	if(!dc || !font)
+draw_setfont(Draw *draw, Fnt *font) {
+	if(!draw || !font)
 		return;
-	dc->font = font;
+	draw->font = font;
 }
 
 void
-dc_setfg(DDC *dc, Col *col) {
-	if(!dc || !col) 
+draw_setfg(Draw *draw, Col *col) {
+	if(!draw || !col) 
 		return;
-	dc->fg = col;
+	draw->fg = col;
 }
 
 void
-dc_setbg(DDC *dc, Col *col) {
-	if(!dc || !col)
+draw_setbg(Draw *draw, Col *col) {
+	if(!draw || !col)
 		return;
-	dc->bg = col;
+	draw->bg = col;
 }
 
 void
-dc_setfill(DDC *dc, Bool fill) {
-	if(!dc)
-		return;
-	dc->fill = fill;
-}
-
-void
-dc_drawrect(DDC *dc, int x, int y, unsigned int w, unsigned int h) {
-	if(!dc)
+draw_rect(Draw *draw, int x, int y, unsigned int w, unsigned int h) {
+	if(!draw)
 		return;
 	/* TODO: draw the rectangle */
 }
 
 void
-dc_drawtext(DDC *dc, int x, int y, const char *text) {
-	if(!dc)
+draw_text(Draw *draw, int x, int y, const char *text) {
+	if(!draw)
 		return;
 	/* TODO: draw the text */
 }
 
 void
-dc_map(DDC *dc, int x, int y, unsigned int w, unsigned int h) {
-	if(!dc)
+draw_map(Draw *draw, int x, int y, unsigned int w, unsigned int h) {
+	if(!draw)
 		return;
-	/* TODO: map the dc contents in the region */
+	/* TODO: map the draw contents in the region */
 }
 
 void
-dc_getextents(DDC *dc, const char *text, TextExtents *extents) {
-	if(!dc || !extents)
+draw_getextents(Draw *draw, const char *text, TextExtents *extents) {
+	if(!draw || !extents)
 		return;
 	/* TODO: get extents */
 }
diff --git a/draw.h b/draw.h
index 95242ea..d1a2f37 100644
--- a/draw.h
+++ b/draw.h
@@ -1,19 +1,5 @@
 /* See LICENSE file for copyright and license details. */
 
-typedef struct _DDC DDC;
-
-/* X11 types - begin */
-typedef struct _XDraw Draw;
-struct _XDraw {
-	unsigned int w, h;
-	Display *dpy;
-	int screen;
-	Window win;
-	Drawable drawable;
-	GC gc;
-	DDC *dc;
-};
-
 struct _XCol {
 	unsigned long rgb;
 };
@@ -29,15 +15,6 @@ struct _XFont {
 typedef struct _XFont Fnt;
 /* X11 types - end */
 
-struct _DDC {
-	Draw *draw;
-	Col *fg;
-	Col *bg;
-	Fnt *font;
-	Bool fill;
-	DDC *next;
-};
-
 typedef struct {
 	unsigned int w;
 	unsigned int h;
@@ -47,15 +24,26 @@ typedef struct {
 	int yOff;
 } TextExtents;
 
+
+/* X11 types - begin */
+typedef struct _XDraw Draw;
+struct _XDraw {
+	unsigned int w, h;
+	Display *dpy;
+	int screen;
+	Window win;
+	Drawable drawable;
+	GC gc;
+	Col *fg;
+	Col *bg;
+	Fnt *font;
+};
+
 /* Drawable abstraction */
 Draw *draw_create(Display *dpy, int screen, Window win, unsigned int w, unsigned int h);
 void draw_resize(Draw *draw, unsigned int w, unsigned int h);
 void draw_free(Draw *draw);
 
-/* Drawing context abstraction */
-DDC *dc_create(Draw *draw);
-void dc_free(DDC *dc);
-
 /* Fnt abstraction */
 Fnt *font_create(const char *fontname);
 void font_free(Fnt *font);
@@ -65,18 +53,17 @@ Col *col_create(const char *colname);
 void col_free(Col *col);
 
 /* Drawing context manipulation */
-void dc_setfont(DDC *dc, Fnt *font);
-void dc_setfg(DDC *dc, Col *col);
-void dc_setbg(DDC *dc, Col *col);
-void dc_setfill(DDC *dc, Bool fill);
+void draw_setfont(Draw *draw, Fnt *font);
+void draw_setfg(Draw *draw, Col *col);
+void draw_setbg(Draw *draw, Col *col);
 
 /* Drawing functions */
-void dc_drawrect(DDC *dc, int x, int y, unsigned int w, unsigned int h);
-void dc_drawtext(DDC *dc, int x, int y, const char *text);
+void draw_rect(Draw *draw, int x, int y, unsigned int w, unsigned int h);
+void draw_text(Draw *draw, int x, int y, const char *text);
 
 /* Map functions */
-void dc_map(DDC *dc, int x, int y, unsigned int w, unsigned int h);
+void draw_map(Draw *draw, int x, int y, unsigned int w, unsigned int h);
 
 /* Text functions */
-void dc_getextents(DDC *dc, const char *text, TextExtents *extents);
+void draw_getextents(Draw *draw, const char *text, TextExtents *extents);