diff options
| author | anselm@garbe.us <unknown> | 2012-11-18 17:52:42 +0100 | 
|---|---|---|
| committer | anselm@garbe.us <unknown> | 2012-11-18 17:52:42 +0100 | 
| commit | c0ba635c50dc53f06e4fc96392415b3d19b25826 (patch) | |
| tree | 4132d1d70ac788936b8619f5b3af8c0f78907b43 | |
| parent | 0a673ad7a37f3a1bdda7cef316bda300f8f181eb (diff) | |
removed DDC, all is Draw-dependent
| -rw-r--r-- | draw.c | 65 | ||||
| -rw-r--r-- | draw.h | 57 | 
2 files changed, 40 insertions, 82 deletions
| @@ -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 */  } @@ -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); | 
