wmii

git clone git://oldgit.suckless.org/wmii/
Log | Files | Refs | README | LICENSE

commit 942665ff642c982d91e9197053a58f1651cafc80
parent 0104091f56b7c934c90265677635588d806f2e43
Author: Anselm R. Garbe <garbeam@wmii.de>
Date:   Sat, 17 Jun 2006 12:36:09 +0200

proceeded with liblitz (several cleanups)


Diffstat:
liblitz/Makefile | 2+-
liblitz/blitz.h | 48++++++++++--------------------------------------
liblitz/input.c | 17++++++++++-------
liblitz/tile.c | 12++++--------
liblitz/widget.c | 28----------------------------
5 files changed, 25 insertions(+), 82 deletions(-)

diff --git a/liblitz/Makefile b/liblitz/Makefile @@ -6,7 +6,7 @@ include ../config.mk CFLAGS += -I../libixp -I../libcext LDFLAGS += -L../libixp -lixp -L../libcext -lcext -SRC = blitz.c color.c font.c input.c label.c tile.c widget.c +SRC = blitz.c color.c font.c input.c label.c tile.c OBJ = ${SRC:.c=.o} all: liblitz.a diff --git a/liblitz/blitz.h b/liblitz/blitz.h @@ -14,16 +14,12 @@ typedef struct Blitz Blitz; typedef enum BlitzAlign BlitzAlign; typedef struct BlitzColor BlitzColor; typedef struct BlitzFont BlitzFont; -typedef struct BlitzTile BlitzTile; -typedef struct BlitzInput BlitzInput; -typedef union BlitzWidget BlitzWidget; -#define BLITZWIDGET(p) ((BlitzWidget *)(p)) +typedef struct BlitzWidget BlitzWidget; struct Blitz { Display *display; int screen; Window root; - BlitzWidget *widgets; }; enum BlitzAlign { @@ -51,37 +47,16 @@ struct BlitzFont { int descent; }; -struct BlitzTile { +struct BlitzWidget { Drawable drawable; GC gc; - void (*event[LASTEvent]) (BlitzWidget *, XEvent *); - BlitzWidget *next; - /* widget specific */ - BlitzColor color; - XRectangle rect; /* relative rect */ - XRectangle *notch; /* relative notch rect */ -}; - -struct BlitzInput { - Drawable drawable; - GC gc; - void (*event[LASTEvent]) (BlitzWidget *, XEvent *); - BlitzWidget *next; - /* widget specific */ BlitzColor color; BlitzAlign align; BlitzFont font; XRectangle rect; /* relative rect */ + XRectangle *notch; /* relative notch rect */ char *text; -}; - -union BlitzWidget { - Drawable drawable; - GC gc; - void (*event[LASTEvent]) (BlitzWidget *, XEvent *); - BlitzWidget *next; - BlitzTile tile; - BlitzInput input; + void (*draw)(BlitzWidget *); }; /* obsolete, will be replaced soon */ @@ -111,18 +86,15 @@ void blitz_drawlabel(BlitzDraw *d); void blitz_drawborder(BlitzDraw *d); /* input.c */ -BlitzInput *blitz_create_input(Drawable drawable, GC gc); -void blitz_destroy_input(BlitzInput *t); +BlitzWidget *blitz_create_input(Drawable drawable, GC gc); +void blitz_draw_input(BlitzWidget *i); +void blitz_destroy_input(BlitzWidget *i); /* tile.c */ -BlitzTile *blitz_create_tile(Drawable drawable, GC gc); -void blitz_draw_tile(BlitzTile *t); -void blitz_destroy_tile(BlitzTile *t); +BlitzWidget *blitz_create_tile(Drawable drawable, GC gc); +void blitz_draw_tile(BlitzWidget *t); +void blitz_destroy_tile(BlitzWidget *t); /* font.c */ unsigned int blitz_textwidth(BlitzFont *font, char *text); void blitz_loadfont(BlitzFont *font, char *fontstr); - -/* widget.c */ -void blitz_add_widget(BlitzWidget *w); -void blitz_rm_widget(BlitzWidget *w); diff --git a/liblitz/input.c b/liblitz/input.c @@ -4,24 +4,27 @@ */ #include <stdlib.h> - #include <cext.h> - #include "blitz.h" -BlitzInput * +BlitzWidget * blitz_create_input(Drawable drawable, GC gc) { - BlitzInput *i = cext_emallocz(sizeof(BlitzInput)); + BlitzWidget *i = cext_emallocz(sizeof(BlitzWidget)); i->drawable = drawable; i->gc = gc; - blitz_add_widget(BLITZWIDGET(i)); return i; } void -blitz_destroy_input(BlitzInput *i) +blitz_draw_input(BlitzWidget *i) +{ + + +} + +void +blitz_destroy_input(BlitzWidget *i) { - blitz_rm_widget(BLITZWIDGET(i)); free(i); } diff --git a/liblitz/tile.c b/liblitz/tile.c @@ -4,23 +4,20 @@ */ #include <stdlib.h> - #include <cext.h> - #include "blitz.h" -BlitzTile * +BlitzWidget * blitz_create_tile(Drawable drawable, GC gc) { - BlitzTile *t = cext_emallocz(sizeof(BlitzTile)); + BlitzWidget *t = cext_emallocz(sizeof(BlitzWidget)); t->drawable = drawable; t->gc = gc; - blitz_add_widget(BLITZWIDGET(t)); return t; } void -blitz_draw_tile(BlitzTile *t) +blitz_draw_tile(BlitzWidget *t) { XPoint points[5]; XSetForeground(__blitz.display, t->gc, t->color.bg); @@ -41,8 +38,7 @@ blitz_draw_tile(BlitzTile *t) } void -blitz_destroy_tile(BlitzTile *t) +blitz_destroy_tile(BlitzWidget *t) { - blitz_rm_widget(BLITZWIDGET(t)); free(t); } diff --git a/liblitz/widget.c b/liblitz/widget.c @@ -1,28 +0,0 @@ -/* - * (C)opyright MMIV-MMVI Anselm R. Garbe <garbeam at gmail dot com> - * See LICENSE file for license details. - */ - -#include <stdlib.h> - -#include <cext.h> - -#include "blitz.h" - -void -blitz_add_widget(BlitzWidget *w) -{ - BlitzWidget **wp; - for(wp = &__blitz.widgets; *wp; wp = &(*wp)->next); - w->next = nil; - *wp = w; -} - -void -blitz_rm_widget(BlitzWidget *w) -{ - BlitzWidget **wp; - for(wp = &__blitz.widgets; *wp && *wp != w; wp = &(*wp)->next); - cext_assert(*wp == w); - *wp = w->next; -}