JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
removed DDC, all is Draw-dependent
authoranselm@garbe.us <unknown>
Sun, 18 Nov 2012 16:52:42 +0000 (17:52 +0100)
committeranselm@garbe.us <unknown>
Sun, 18 Nov 2012 16:52:42 +0000 (17:52 +0100)
draw.c
draw.h

diff --git a/draw.c b/draw.c
index df5aeec..01436ea 100644 (file)
--- a/draw.c
+++ b/draw.c
@@ -35,28 +35,6 @@ draw_free(Draw *draw) {
        free(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));
 Fnt *
 font_create(const char *fontname) {
        Fnt *font = (Fnt *)calloc(1, sizeof(Fnt));
@@ -88,57 +66,50 @@ col_free(Col *col) {
 }
 
 void
 }
 
 void
-dc_setfont(DDC *dc, Fnt *font) {
-       if(!dc || !font)
+draw_setfont(Draw *draw, Fnt *font) {
+       if(!draw || !font)
                return;
                return;
-       dc->font = font;
+       draw->font = font;
 }
 
 void
 }
 
 void
-dc_setfg(DDC *dc, Col *col) {
-       if(!dc || !col) 
+draw_setfg(Draw *draw, Col *col) {
+       if(!draw || !col) 
                return;
                return;
-       dc->fg = col;
+       draw->fg = col;
 }
 
 void
 }
 
 void
-dc_setbg(DDC *dc, Col *col) {
-       if(!dc || !col)
+draw_setbg(Draw *draw, Col *col) {
+       if(!draw || !col)
                return;
                return;
-       dc->bg = col;
+       draw->bg = col;
 }
 
 void
 }
 
 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
                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
                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;
                return;
-       /* TODO: map the dc contents in the region */
+       /* TODO: map the draw contents in the region */
 }
 
 void
 }
 
 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 */
 }
                return;
        /* TODO: get extents */
 }
diff --git a/draw.h b/draw.h
index 95242ea..d1a2f37 100644 (file)
--- a/draw.h
+++ b/draw.h
@@ -1,19 +1,5 @@
 /* See LICENSE file for copyright and license details. */
 
 /* 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;
 };
 struct _XCol {
        unsigned long rgb;
 };
@@ -29,15 +15,6 @@ struct _XFont {
 typedef struct _XFont Fnt;
 /* X11 types - end */
 
 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;
 typedef struct {
        unsigned int w;
        unsigned int h;
@@ -47,15 +24,26 @@ typedef struct {
        int yOff;
 } TextExtents;
 
        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);
 
 /* 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);
 /* 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 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 */
 
 /* 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 */
 
 /* 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 */
 
 /* Text functions */
-void dc_getextents(DDC *dc, const char *text, TextExtents *extents);
+void draw_getextents(Draw *draw, const char *text, TextExtents *extents);