/* color */
enum { ColFG, ColBG, ColLast };
-typedef struct DC DC;
-typedef struct Fnt Fnt;
-
-struct Fnt {
- XFontStruct *xfont;
- XFontSet set;
- int ascent;
- int descent;
- int height;
-};
-
-struct DC {
+typedef struct {
int x, y, w, h;
unsigned long norm[ColLast];
unsigned long sel[ColLast];
Drawable drawable;
- Fnt font;
GC gc;
-}; /* draw context */
-
-extern int screen;
-extern Display *dpy;
-extern DC dc; /* global drawing context */
+ struct {
+ XFontStruct *xfont;
+ XFontSet set;
+ int ascent;
+ int descent;
+ int height;
+ } font;
+} DC; /* draw context */
+
+int screen;
+Display *dpy;
+DC dc; /* global drawing context */
+
+/* draw.c */
+void drawtext(const char *text, unsigned long col[ColLast]);
+unsigned int textw(const char *text);
+unsigned int textnw(const char *text, unsigned int len);
/* util.c */
-extern void *emalloc(unsigned int size); /* allocates memory, exits on error */
-extern void eprint(const char *errstr, ...); /* prints errstr and exits with 1 */
-extern char *estrdup(const char *str); /* duplicates str, exits on allocation error */
+void *emalloc(unsigned int size); /* allocates memory, exits on error */
+void eprint(const char *errstr, ...); /* prints errstr and exits with 1 */
+char *estrdup(const char *str); /* duplicates str, exits on allocation error */