dwm

my fork of dwm
Index Commits Files Refs README LICENSE
commit c0ba635c50dc53f06e4fc96392415b3d19b25826
parent 0a673ad7a37f3a1bdda7cef316bda300f8f181eb
Author: anselm@garbe.us <unknown>
Date:   Sun, 18 Nov 2012 17:52:42 +0100

removed DDC, all is Draw-dependent
Diffstat:
Mdraw.c | 65++++++++++++++++++-----------------------------------------------
Mdraw.h | 57++++++++++++++++++++++-----------------------------------
2 files changed, 40 insertions(+), 82 deletions(-)
diff --git 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
@@ -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);