diff options
author | rsc <devnull@localhost> | 2003-09-30 19:05:50 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2003-09-30 19:05:50 +0000 |
commit | 522b0689c340d26feeac360640bf7e2e0582353c (patch) | |
tree | ba3a550c28684be3b3997899528a110c4e9cd91a /src/libdraw | |
parent | 2df2758496b2ab508d349208449f04d85ae2eb2c (diff) | |
download | plan9port-522b0689c340d26feeac360640bf7e2e0582353c.tar.gz plan9port-522b0689c340d26feeac360640bf7e2e0582353c.tar.bz2 plan9port-522b0689c340d26feeac360640bf7e2e0582353c.zip |
Reorg
Diffstat (limited to 'src/libdraw')
-rw-r--r-- | src/libdraw/Make.Darwin-PowerMacintosh | 6 | ||||
-rw-r--r-- | src/libdraw/Make.FreeBSD-386 | 7 | ||||
-rw-r--r-- | src/libdraw/Make.HP-UX-9000 | 6 | ||||
-rw-r--r-- | src/libdraw/Make.Linux-386 | 7 | ||||
-rw-r--r-- | src/libdraw/Make.NetBSD-386 | 7 | ||||
-rw-r--r-- | src/libdraw/Make.OSF1-alpha | 6 | ||||
-rw-r--r-- | src/libdraw/Make.SunOS-sun4u | 2 | ||||
-rw-r--r-- | src/libdraw/Make.SunOS-sun4u-cc | 6 | ||||
-rw-r--r-- | src/libdraw/Make.SunOS-sun4u-gcc | 6 | ||||
-rw-r--r-- | src/libdraw/Makefile | 100 | ||||
-rw-r--r-- | src/libdraw/Makefile.MID | 123 | ||||
-rw-r--r-- | src/libdraw/cursor.h | 7 | ||||
-rw-r--r-- | src/libdraw/draw.h | 520 | ||||
-rw-r--r-- | src/libdraw/event.h | 63 | ||||
-rw-r--r-- | src/libdraw/keyboard.h | 36 | ||||
-rw-r--r-- | src/libdraw/memdraw.h | 209 | ||||
-rw-r--r-- | src/libdraw/memlayer.h | 48 | ||||
-rw-r--r-- | src/libdraw/mkfile | 1 | ||||
-rw-r--r-- | src/libdraw/mouse.h | 44 | ||||
-rwxr-xr-x | src/libdraw/test | bin | 500581 -> 0 bytes |
20 files changed, 14 insertions, 1190 deletions
diff --git a/src/libdraw/Make.Darwin-PowerMacintosh b/src/libdraw/Make.Darwin-PowerMacintosh deleted file mode 100644 index 14b8d4e7..00000000 --- a/src/libdraw/Make.Darwin-PowerMacintosh +++ /dev/null @@ -1,6 +0,0 @@ -CC=gcc -CFLAGS+=-Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -O2 -g -c -I. -I${PREFIX}/include -O=o -AR=ar -ARFLAGS=rvc -NAN=nan64.$O diff --git a/src/libdraw/Make.FreeBSD-386 b/src/libdraw/Make.FreeBSD-386 deleted file mode 100644 index 087ed3ab..00000000 --- a/src/libdraw/Make.FreeBSD-386 +++ /dev/null @@ -1,7 +0,0 @@ -CC=gcc -CFLAGS+=-Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -O2 -g -c -I. -I$(PREFIX)/include -O=o -AR=ar -ARFLAGS=rvc -NAN=nan64.$O # default, can be overriden by Make.$(SYSNAME) -NAN=nan64.$O diff --git a/src/libdraw/Make.HP-UX-9000 b/src/libdraw/Make.HP-UX-9000 deleted file mode 100644 index edbdc111..00000000 --- a/src/libdraw/Make.HP-UX-9000 +++ /dev/null @@ -1,6 +0,0 @@ -CC=cc -CFLAGS=-O -c -Ae -I. -O=o -AR=ar -ARFLAGS=rvc -NAN=nan64.$O diff --git a/src/libdraw/Make.Linux-386 b/src/libdraw/Make.Linux-386 deleted file mode 100644 index 74b0252c..00000000 --- a/src/libdraw/Make.Linux-386 +++ /dev/null @@ -1,7 +0,0 @@ -CC=gcc -CFLAGS+=-Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -O2 -g -c -I. -O=o -AR=ar -ARFLAGS=rvc -NAN=nan64.$O # default, can be overriden by Make.$(SYSNAME) -NAN=nan64.$O diff --git a/src/libdraw/Make.NetBSD-386 b/src/libdraw/Make.NetBSD-386 deleted file mode 100644 index 087ed3ab..00000000 --- a/src/libdraw/Make.NetBSD-386 +++ /dev/null @@ -1,7 +0,0 @@ -CC=gcc -CFLAGS+=-Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -O2 -g -c -I. -I$(PREFIX)/include -O=o -AR=ar -ARFLAGS=rvc -NAN=nan64.$O # default, can be overriden by Make.$(SYSNAME) -NAN=nan64.$O diff --git a/src/libdraw/Make.OSF1-alpha b/src/libdraw/Make.OSF1-alpha deleted file mode 100644 index 3d45279b..00000000 --- a/src/libdraw/Make.OSF1-alpha +++ /dev/null @@ -1,6 +0,0 @@ -CC=cc -CFLAGS+=-g -c -I. -O=o -AR=ar -ARFLAGS=rvc -NAN=nan64.$O diff --git a/src/libdraw/Make.SunOS-sun4u b/src/libdraw/Make.SunOS-sun4u deleted file mode 100644 index c5fe67b8..00000000 --- a/src/libdraw/Make.SunOS-sun4u +++ /dev/null @@ -1,2 +0,0 @@ -include Make.SunOS-sun4u-$(CC) -NAN=nan64.$O diff --git a/src/libdraw/Make.SunOS-sun4u-cc b/src/libdraw/Make.SunOS-sun4u-cc deleted file mode 100644 index 829301de..00000000 --- a/src/libdraw/Make.SunOS-sun4u-cc +++ /dev/null @@ -1,6 +0,0 @@ -CC=cc -CFLAGS+=-g -c -I. -O -O=o -AR=ar -ARFLAGS=rvc -NAN=nan64.$O diff --git a/src/libdraw/Make.SunOS-sun4u-gcc b/src/libdraw/Make.SunOS-sun4u-gcc deleted file mode 100644 index 5c415948..00000000 --- a/src/libdraw/Make.SunOS-sun4u-gcc +++ /dev/null @@ -1,6 +0,0 @@ -CC=gcc -CFLAGS+=-Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -O2 -g -c -O=o -AR=ar -ARFLAGS=rvc -NAN=nan64.$O diff --git a/src/libdraw/Makefile b/src/libdraw/Makefile index 0aa2cd2d..8013efa5 100644 --- a/src/libdraw/Makefile +++ b/src/libdraw/Makefile @@ -1,30 +1,8 @@ - -# this works in gnu make -SYSNAME:=${shell uname} -OBJTYPE:=${shell uname -m | sed 's;i.86;386;; s;/.*;;; s; ;;g'} - -# this works in bsd make -SYSNAME!=uname -OBJTYPE!=uname -m | sed 's;i.86;386;; s;/.*;;; s; ;;g' - -# the gnu rules will mess up bsd but not vice versa, -# hence the gnu rules come first. - -include Make.$(SYSNAME)-$(OBJTYPE) - -PREFIX=/usr/local - -NUKEFILES= - -TGZFILES= +9SRC=.. +include $(9SRC)/Makehdr LIB=libdraw.a -VERSION=2.0 -PORTPLACE=devel/libdraw -NAME=libdraw -# keyboard.$O\ -# newwindow.$O\ OFILES=\ alloc.$O\ allocimagemix.$O\ @@ -125,70 +103,20 @@ OFILES=\ unix.$O\ HFILES=\ - draw.h\ - memdraw.h + $(9SRC)/include/draw.h\ + $(9SRC)/include/memdraw.h\ + $(9SRC)/include/memlayer.h\ + $(9SRC)/include/event.h\ + $(9SRC)/include/cursor.h\ + $(9SRC)/include/mouse.h\ + $(9SRC)/include/keyboard.h\ + x11-inc.h\ + x11-memdraw.h\ -all: $(LIB) +CFLAGS+=-I$(X11)/include -install: $(LIB) - install -c -m 0644 $(LIB) $(PREFIX)/lib/$(LIB) - install -c -m 0644 draw.h $(PREFIX)/include/draw.h - install -c -m 0644 event.h $(PREFIX)/include/event.h - install -c -m 0644 cursor.h $(PREFIX)/include/cursor.h - install -c -m 0644 mouse.h $(PREFIX)/include/mouse.h - install -c -m 0644 keyboard.h $(PREFIX)/include/keyboard.h +include $(9SRC)/Makesyslib test: test.o $(LIB) - gcc -o test test.o $(LIB) -L$(PREFIX)/lib -l9 -lfmt -lutf -L/usr/X11R6/lib -lX11 -lm - -$(LIB): $(OFILES) - $(AR) $(ARFLAGS) $(LIB) $(OFILES) - -NUKEFILES+=$(LIB) -.c.$O: - $(CC) $(CFLAGS) -I/usr/X11R6/include -I../sam -I$(PREFIX)/include $*.c - -%.$O: %.c - $(CC) $(CFLAGS) -I/usr/X11R6/include -I../sam -I$(PREFIX)/include $*.c - - -$(OFILES): $(HFILES) - -tgz: - rm -rf $(NAME)-$(VERSION) - mkdir $(NAME)-$(VERSION) - cp Makefile Make.* README LICENSE NOTICE *.[ch137] rpm.spec bundle.ports $(TGZFILES) $(NAME)-$(VERSION) - tar cf - $(NAME)-$(VERSION) | gzip >$(NAME)-$(VERSION).tgz - rm -rf $(NAME)-$(VERSION) - -clean: - rm -f $(OFILES) $(LIB) - -nuke: - rm -f $(OFILES) *.tgz *.rpm $(NUKEFILES) - -rpm: - make tgz - cp $(NAME)-$(VERSION).tgz /usr/src/RPM/SOURCES - rpm -ba rpm.spec - cp /usr/src/RPM/SRPMS/$(NAME)-$(VERSION)-1.src.rpm . - cp /usr/src/RPM/RPMS/i586/$(NAME)-$(VERSION)-1.i586.rpm . - scp *.rpm rsc@amsterdam.lcs.mit.edu:public_html/software - -PORTDIR=/usr/ports/$(PORTPLACE) - -ports: - make tgz - rm -rf $(PORTDIR) - mkdir $(PORTDIR) - cp $(NAME)-$(VERSION).tgz /usr/ports/distfiles - cat bundle.ports | (cd $(PORTDIR) && awk '$$1=="---" && $$3=="---" { ofile=$$2; next} {if(ofile) print >ofile}') - (cd $(PORTDIR); make makesum) - (cd $(PORTDIR); make) - (cd $(PORTDIR); /usr/local/bin/portlint) - rm -rf $(PORTDIR)/work - shar `find $(PORTDIR)` > ports.shar - (cd $(PORTDIR); tar cf - *) | gzip >$(NAME)-$(VERSION)-ports.tgz - scp *.tgz rsc@amsterdam.lcs.mit.edu:public_html/software + gcc -o test test.o -L$(9SRC) -ldraw -l9 -lfmt -lutf -L$(X11)/lib -lX11 -lm -.phony: all clean nuke install tgz rpm ports diff --git a/src/libdraw/Makefile.MID b/src/libdraw/Makefile.MID deleted file mode 100644 index 55cf7d4a..00000000 --- a/src/libdraw/Makefile.MID +++ /dev/null @@ -1,123 +0,0 @@ -LIB=libdraw.a -VERSION=2.0 -PORTPLACE=devel/libdraw -NAME=libdraw - -# keyboard.$O\ -# newwindow.$O\ -OFILES=\ - alloc.$O\ - allocimagemix.$O\ - arith.$O\ - bezier.$O\ - border.$O\ - buildfont.$O\ - bytesperline.$O\ - chan.$O\ - cloadimage.$O\ - computil.$O\ - creadimage.$O\ - debug.$O\ - defont.$O\ - draw.$O\ - drawrepl.$O\ - egetrect.$O\ - ellipse.$O\ - emenuhit.$O\ - font.$O\ - freesubfont.$O\ - getdefont.$O\ - getrect.$O\ - getsubfont.$O\ - icossin.$O\ - icossin2.$O\ - init.$O\ - line.$O\ - loadimage.$O\ - menuhit.$O\ - mkfont.$O\ - openfont.$O\ - poly.$O\ - readcolmap.$O\ - readimage.$O\ - readsubfont.$O\ - rectclip.$O\ - replclipr.$O\ - rgb.$O\ - string.$O\ - stringbg.$O\ - stringsubfont.$O\ - stringwidth.$O\ - subfont.$O\ - subfontcache.$O\ - subfontname.$O\ - unloadimage.$O\ - window.$O\ - writecolmap.$O\ - writeimage.$O\ - writesubfont.$O\ - md-alloc.$O\ - md-arc.$O\ - md-cload.$O\ - md-cmap.$O\ - md-cread.$O\ - md-defont.$O\ - md-draw.$O\ - md-ellipse.$O\ - md-fillpoly.$O\ - md-hwdraw.$O\ - md-iprint.$O\ - md-line.$O\ - md-load.$O\ - md-openmemsubfont.$O\ - md-poly.$O\ - md-read.$O\ - md-string.$O\ - md-subfont.$O\ - md-unload.$O\ - md-write.$O\ - ml-draw.$O\ - ml-lalloc.$O\ - ml-layerop.$O\ - ml-ldelete.$O\ - ml-lhide.$O\ - ml-line.$O\ - ml-load.$O\ - ml-lorigin.$O\ - ml-lsetrefresh.$O\ - ml-ltofront.$O\ - ml-ltorear.$O\ - ml-unload.$O\ - x11-alloc.$O\ - x11-cload.$O\ - x11-draw.$O\ - x11-event.$O\ - x11-fill.$O\ - x11-get.$O\ - x11-init.$O\ - x11-itrans.$O\ - x11-keyboard.$O\ - x11-load.$O\ - x11-mouse.$O\ - x11-pixelbits.$O\ - x11-unload.$O\ - devdraw.$O\ - unix.$O\ - -HFILES=\ - draw.h\ - memdraw.h - -all: $(LIB) - -install: $(LIB) - install -c -m 0644 $(LIB) $(PREFIX)/lib/$(LIB) - install -c -m 0644 draw.h $(PREFIX)/include/draw.h - install -c -m 0644 event.h $(PREFIX)/include/event.h - install -c -m 0644 cursor.h $(PREFIX)/include/cursor.h - install -c -m 0644 mouse.h $(PREFIX)/include/mouse.h - install -c -m 0644 keyboard.h $(PREFIX)/include/keyboard.h - -test: test.o $(LIB) - gcc -o test test.o $(LIB) -L$(PREFIX)/lib -l9 -lfmt -lutf -L/usr/X11R6/lib -lX11 -lm - diff --git a/src/libdraw/cursor.h b/src/libdraw/cursor.h deleted file mode 100644 index 105cd0ef..00000000 --- a/src/libdraw/cursor.h +++ /dev/null @@ -1,7 +0,0 @@ -typedef struct Cursor Cursor; -struct Cursor -{ - Point offset; - uchar clr[2*16]; - uchar set[2*16]; -}; diff --git a/src/libdraw/draw.h b/src/libdraw/draw.h deleted file mode 100644 index 0f9ba63a..00000000 --- a/src/libdraw/draw.h +++ /dev/null @@ -1,520 +0,0 @@ -typedef struct Cachefont Cachefont; -typedef struct Cacheinfo Cacheinfo; -typedef struct Cachesubf Cachesubf; -typedef struct Display Display; -typedef struct Font Font; -typedef struct Fontchar Fontchar; -typedef struct Image Image; -typedef struct Mouse Mouse; -typedef struct Point Point; -typedef struct Rectangle Rectangle; -typedef struct RGB RGB; -typedef struct Screen Screen; -typedef struct Subfont Subfont; - -extern int Rfmt(Fmt*); -extern int Pfmt(Fmt*); - -enum -{ - DOpaque = 0xFFFFFFFF, - DTransparent = 0x00000000, /* only useful for allocimage, memfillcolor */ - DBlack = 0x000000FF, - DWhite = 0xFFFFFFFF, - DRed = 0xFF0000FF, - DGreen = 0x00FF00FF, - DBlue = 0x0000FFFF, - DCyan = 0x00FFFFFF, - DMagenta = 0xFF00FFFF, - DYellow = 0xFFFF00FF, - DPaleyellow = 0xFFFFAAFF, - DDarkyellow = 0xEEEE9EFF, - DDarkgreen = 0x448844FF, - DPalegreen = 0xAAFFAAFF, - DMedgreen = 0x88CC88FF, - DDarkblue = 0x000055FF, - DPalebluegreen= 0xAAFFFFFF, - DPaleblue = 0x0000BBFF, - DBluegreen = 0x008888FF, - DGreygreen = 0x55AAAAFF, - DPalegreygreen = 0x9EEEEEFF, - DYellowgreen = 0x99994CFF, - DMedblue = 0x000099FF, - DGreyblue = 0x005DBBFF, - DPalegreyblue = 0x4993DDFF, - DPurpleblue = 0x8888CCFF, - - DNotacolor = 0xFFFFFF00, - DNofill = DNotacolor, - -}; - -enum -{ - Displaybufsize = 8000, - ICOSSCALE = 1024, - Borderwidth = 4, -}; - -enum -{ - /* refresh methods */ - Refbackup = 0, - Refnone = 1, - Refmesg = 2 -}; -#define NOREFRESH ((void*)-1) - -enum -{ - /* line ends */ - Endsquare = 0, - Enddisc = 1, - Endarrow = 2, - Endmask = 0x1F -}; - -#define ARROW(a, b, c) (Endarrow|((a)<<5)|((b)<<14)|((c)<<23)) - -typedef enum -{ - /* Porter-Duff compositing operators */ - Clear = 0, - - SinD = 8, - DinS = 4, - SoutD = 2, - DoutS = 1, - - S = SinD|SoutD, - SoverD = SinD|SoutD|DoutS, - SatopD = SinD|DoutS, - SxorD = SoutD|DoutS, - - D = DinS|DoutS, - DoverS = DinS|DoutS|SoutD, - DatopS = DinS|SoutD, - DxorS = DoutS|SoutD, /* == SxorD */ - - Ncomp = 12, -} Drawop; - -/* - * image channel descriptors - */ -enum { - CRed = 0, - CGreen, - CBlue, - CGrey, - CAlpha, - CMap, - CIgnore, - NChan, -}; - -#define __DC(type, nbits) ((((type)&15)<<4)|((nbits)&15)) -#define CHAN1(a,b) __DC(a,b) -#define CHAN2(a,b,c,d) (CHAN1((a),(b))<<8|__DC((c),(d))) -#define CHAN3(a,b,c,d,e,f) (CHAN2((a),(b),(c),(d))<<8|__DC((e),(f))) -#define CHAN4(a,b,c,d,e,f,g,h) (CHAN3((a),(b),(c),(d),(e),(f))<<8|__DC((g),(h))) - -#define NBITS(c) ((c)&15) -#define TYPE(c) (((c)>>4)&15) - -enum { - GREY1 = CHAN1(CGrey, 1), - GREY2 = CHAN1(CGrey, 2), - GREY4 = CHAN1(CGrey, 4), - GREY8 = CHAN1(CGrey, 8), - CMAP8 = CHAN1(CMap, 8), - RGB15 = CHAN4(CIgnore, 1, CRed, 5, CGreen, 5, CBlue, 5), - RGB16 = CHAN3(CRed, 5, CGreen, 6, CBlue, 5), - RGB24 = CHAN3(CRed, 8, CGreen, 8, CBlue, 8), - BGR24 = CHAN3(CBlue, 8, CGreen, 8, CRed, 8), - RGBA32 = CHAN4(CRed, 8, CGreen, 8, CBlue, 8, CAlpha, 8), - ARGB32 = CHAN4(CAlpha, 8, CRed, 8, CGreen, 8, CBlue, 8), /* stupid VGAs */ - XRGB32 = CHAN4(CIgnore, 8, CRed, 8, CGreen, 8, CBlue, 8), - XBGR32 = CHAN4(CIgnore, 8, CBlue, 8, CGreen, 8, CRed, 8), -}; - -extern char* chantostr(char*, u32int); -extern u32int strtochan(char*); -extern int chantodepth(u32int); - -struct Point -{ - int x; - int y; -}; - -struct Rectangle -{ - Point min; - Point max; -}; - -typedef void (*Reffn)(Image*, Rectangle, void*); - -struct Screen -{ - Display *display; /* display holding data */ - int id; /* id of system-held Screen */ - Image *image; /* unused; for reference only */ - Image *fill; /* color to paint behind windows */ -}; - -struct Display -{ - QLock qlock; - int locking; /*program is using lockdisplay */ - int dirno; - int imageid; - int local; - void (*error)(Display*, char*); - char *devdir; - char *windir; - char oldlabel[64]; - u32int dataqid; - Image *image; - Image *white; - Image *black; - Image *opaque; - Image *transparent; - uchar *buf; - int bufsize; - uchar *bufp; - uchar *obuf; - int obufsize; - uchar *obufp; - Font *defaultfont; - Subfont *defaultsubfont; - Image *windows; - Image *screenimage; - int _isnewdisplay; -}; - -struct Image -{ - Display *display; /* display holding data */ - int id; /* id of system-held Image */ - Rectangle r; /* rectangle in data area, local coords */ - Rectangle clipr; /* clipping region */ - int depth; /* number of bits per pixel */ - u32int chan; - int repl; /* flag: data replicates to tile clipr */ - Screen *screen; /* 0 if not a window */ - Image *next; /* next in list of windows */ -}; - -struct RGB -{ - u32int red; - u32int green; - u32int blue; -}; - -/* - * Subfonts - * - * given char c, Subfont *f, Fontchar *i, and Point p, one says - * i = f->info+c; - * draw(b, Rect(p.x+i->left, p.y+i->top, - * p.x+i->left+((i+1)->x-i->x), p.y+i->bottom), - * color, f->bits, Pt(i->x, i->top)); - * p.x += i->width; - * to draw characters in the specified color (itself an Image) in Image b. - */ - -struct Fontchar -{ - int x; /* left edge of bits */ - uchar top; /* first non-zero scan-line */ - uchar bottom; /* last non-zero scan-line + 1 */ - char left; /* offset of baseline */ - uchar width; /* width of baseline */ -}; - -struct Subfont -{ - char *name; - short n; /* number of chars in font */ - uchar height; /* height of image */ - char ascent; /* top of image to baseline */ - Fontchar *info; /* n+1 character descriptors */ - Image *bits; /* of font */ - int ref; -}; - -enum -{ - /* starting values */ - LOG2NFCACHE = 6, - NFCACHE = (1<<LOG2NFCACHE), /* #chars cached */ - NFLOOK = 5, /* #chars to scan in cache */ - NFSUBF = 2, /* #subfonts to cache */ - /* max value */ - MAXFCACHE = 1024+NFLOOK, /* upper limit */ - MAXSUBF = 50, /* generous upper limit */ - /* deltas */ - DSUBF = 4, - /* expiry ages */ - SUBFAGE = 10000, - CACHEAGE = 10000 -}; - -struct Cachefont -{ - Rune min; /* lowest rune value to be taken from subfont */ - Rune max; /* highest rune value+1 to be taken from subfont */ - int offset; /* position in subfont of character at min */ - char *name; /* stored in font */ - char *subfontname; /* to access subfont */ -}; - -struct Cacheinfo -{ - ushort x; /* left edge of bits */ - uchar width; /* width of baseline */ - schar left; /* offset of baseline */ - Rune value; /* value of character at this slot in cache */ - ushort age; -}; - -struct Cachesubf -{ - u32int age; /* for replacement */ - Cachefont *cf; /* font info that owns us */ - Subfont *f; /* attached subfont */ -}; - -struct Font -{ - char *name; - Display *display; - short height; /* max height of image, interline spacing */ - short ascent; /* top of image to baseline */ - short width; /* widest so far; used in caching only */ - short nsub; /* number of subfonts */ - u32int age; /* increasing counter; used for LRU */ - int maxdepth; /* maximum depth of all loaded subfonts */ - int ncache; /* size of cache */ - int nsubf; /* size of subfont list */ - Cacheinfo *cache; - Cachesubf *subf; - Cachefont **sub; /* as read from file */ - Image *cacheimage; -}; - -#define Dx(r) ((r).max.x-(r).min.x) -#define Dy(r) ((r).max.y-(r).min.y) - -/* - * Image management - */ -extern Image* _allocimage(Image*, Display*, Rectangle, u32int, int, u32int, int, int); -extern Image* allocimage(Display*, Rectangle, u32int, int, u32int); -extern uchar* bufimage(Display*, int); -extern int bytesperline(Rectangle, int); -extern void closedisplay(Display*); -extern void drawerror(Display*, char*); -extern int flushimage(Display*, int); -extern int freeimage(Image*); -extern int _freeimage1(Image*); -extern int geninitdraw(char*, void(*)(Display*, char*), char*, char*, char*, int); -extern int initdraw(void(*)(Display*, char*), char*, char*); -extern int newwindow(char*); -extern int loadimage(Image*, Rectangle, uchar*, int); -extern int cloadimage(Image*, Rectangle, uchar*, int); -extern int getwindow(Display*, int); -extern int gengetwindow(Display*, char*, Image**, Screen**, int); -extern Image* readimage(Display*, int, int); -extern Image* creadimage(Display*, int, int); -extern int unloadimage(Image*, Rectangle, uchar*, int); -extern int wordsperline(Rectangle, int); -extern int writeimage(int, Image*, int); -extern Image* namedimage(Display*, char*); -extern int nameimage(Image*, char*, int); -extern Image* allocimagemix(Display*, u32int, u32int); - -/* - * Colors - */ -extern void readcolmap(Display*, RGB*); -extern void writecolmap(Display*, RGB*); -extern u32int setalpha(u32int, uchar); - -/* - * Windows - */ -extern Screen* allocscreen(Image*, Image*, int); -extern Image* _allocwindow(Image*, Screen*, Rectangle, int, u32int); -extern Image* allocwindow(Screen*, Rectangle, int, u32int); -extern void bottomnwindows(Image**, int); -extern void bottomwindow(Image*); -extern int freescreen(Screen*); -extern Screen* publicscreen(Display*, int, u32int); -extern void topnwindows(Image**, int); -extern void topwindow(Image*); -extern int originwindow(Image*, Point, Point); - -/* - * Geometry - */ -extern Point Pt(int, int); -extern Rectangle Rect(int, int, int, int); -extern Rectangle Rpt(Point, Point); -extern Point addpt(Point, Point); -extern Point subpt(Point, Point); -extern Point divpt(Point, int); -extern Point mulpt(Point, int); -extern int eqpt(Point, Point); -extern int eqrect(Rectangle, Rectangle); -extern Rectangle insetrect(Rectangle, int); -extern Rectangle rectaddpt(Rectangle, Point); -extern Rectangle rectsubpt(Rectangle, Point); -extern Rectangle canonrect(Rectangle); -extern int rectXrect(Rectangle, Rectangle); -extern int rectinrect(Rectangle, Rectangle); -extern void combinerect(Rectangle*, Rectangle); -extern int rectclip(Rectangle*, Rectangle); -extern int ptinrect(Point, Rectangle); -extern void replclipr(Image*, int, Rectangle); -extern int drawreplxy(int, int, int); /* used to be drawsetxy */ -extern Point drawrepl(Rectangle, Point); -extern int rgb2cmap(int, int, int); -extern int cmap2rgb(int); -extern int cmap2rgba(int); -extern void icossin(int, int*, int*); -extern void icossin2(int, int, int*, int*); - -/* - * Graphics - */ -extern void draw(Image*, Rectangle, Image*, Image*, Point); -extern void drawop(Image*, Rectangle, Image*, Image*, Point, Drawop); -extern void gendraw(Image*, Rectangle, Image*, Point, Image*, Point); -extern void gendrawop(Image*, Rectangle, Image*, Point, Image*, Point, Drawop); -extern void line(Image*, Point, Point, int, int, int, Image*, Point); -extern void lineop(Image*, Point, Point, int, int, int, Image*, Point, Drawop); -extern void poly(Image*, Point*, int, int, int, int, Image*, Point); -extern void polyop(Image*, Point*, int, int, int, int, Image*, Point, Drawop); -extern void fillpoly(Image*, Point*, int, int, Image*, Point); -extern void fillpolyop(Image*, Point*, int, int, Image*, Point, Drawop); -extern Point string(Image*, Point, Image*, Point, Font*, char*); -extern Point stringop(Image*, Point, Image*, Point, Font*, char*, Drawop); -extern Point stringn(Image*, Point, Image*, Point, Font*, char*, int); -extern Point stringnop(Image*, Point, Image*, Point, Font*, char*, int, Drawop); -extern Point runestring(Image*, Point, Image*, Point, Font*, Rune*); -extern Point runestringop(Image*, Point, Image*, Point, Font*, Rune*, Drawop); -extern Point runestringn(Image*, Point, Image*, Point, Font*, Rune*, int); -extern Point runestringnop(Image*, Point, Image*, Point, Font*, Rune*, int, Drawop); -extern Point stringbg(Image*, Point, Image*, Point, Font*, char*, Image*, Point); -extern Point stringbgop(Image*, Point, Image*, Point, Font*, char*, Image*, Point, Drawop); -extern Point stringnbg(Image*, Point, Image*, Point, Font*, char*, int, Image*, Point); -extern Point stringnbgop(Image*, Point, Image*, Point, Font*, char*, int, Image*, Point, Drawop); -extern Point runestringbg(Image*, Point, Image*, Point, Font*, Rune*, Image*, Point); -extern Point runestringbgop(Image*, Point, Image*, Point, Font*, Rune*, Image*, Point, Drawop); -extern Point runestringnbg(Image*, Point, Image*, Point, Font*, Rune*, int, Image*, Point); -extern Point runestringnbgop(Image*, Point, Image*, Point, Font*, Rune*, int, Image*, Point, Drawop); -extern Point _string(Image*, Point, Image*, Point, Font*, char*, Rune*, int, Rectangle, Image*, Point, Drawop); -extern Point stringsubfont(Image*, Point, Image*, Subfont*, char*); -extern int bezier(Image*, Point, Point, Point, Point, int, int, int, Image*, Point); -extern int bezierop(Image*, Point, Point, Point, Point, int, int, int, Image*, Point, Drawop); -extern int bezspline(Image*, Point*, int, int, int, int, Image*, Point); -extern int bezsplineop(Image*, Point*, int, int, int, int, Image*, Point, Drawop); -extern int bezsplinepts(Point*, int, Point**); -extern int fillbezier(Image*, Point, Point, Point, Point, int, Image*, Point); -extern int fillbezierop(Image*, Point, Point, Point, Point, int, Image*, Point, Drawop); -extern int fillbezspline(Image*, Point*, int, int, Image*, Point); -extern int fillbezsplineop(Image*, Point*, int, int, Image*, Point, Drawop); -extern void ellipse(Image*, Point, int, int, int, Image*, Point); -extern void ellipseop(Image*, Point, int, int, int, Image*, Point, Drawop); -extern void fillellipse(Image*, Point, int, int, Image*, Point); -extern void fillellipseop(Image*, Point, int, int, Image*, Point, Drawop); -extern void arc(Image*, Point, int, int, int, Image*, Point, int, int); -extern void arcop(Image*, Point, int, int, int, Image*, Point, int, int, Drawop); -extern void fillarc(Image*, Point, int, int, Image*, Point, int, int); -extern void fillarcop(Image*, Point, int, int, Image*, Point, int, int, Drawop); -extern void border(Image*, Rectangle, int, Image*, Point); -extern void borderop(Image*, Rectangle, int, Image*, Point, Drawop); - -/* - * Font management - */ -extern Font* openfont(Display*, char*); -extern Font* buildfont(Display*, char*, char*); -extern void freefont(Font*); -extern Font* mkfont(Subfont*, Rune); -extern int cachechars(Font*, char**, Rune**, ushort*, int, int*, char**); -extern void agefont(Font*); -extern Subfont* allocsubfont(char*, int, int, int, Fontchar*, Image*); -extern Subfont* lookupsubfont(Display*, char*); -extern void installsubfont(char*, Subfont*); -extern void uninstallsubfont(Subfont*); -extern void freesubfont(Subfont*); -extern Subfont* readsubfont(Display*, char*, int, int); -extern Subfont* readsubfonti(Display*, char*, int, Image*, int); -extern int writesubfont(int, Subfont*); -extern void _unpackinfo(Fontchar*, uchar*, int); -extern Point stringsize(Font*, char*); -extern int stringwidth(Font*, char*); -extern int stringnwidth(Font*, char*, int); -extern Point runestringsize(Font*, Rune*); -extern int runestringwidth(Font*, Rune*); -extern int runestringnwidth(Font*, Rune*, int); -extern Point strsubfontwidth(Subfont*, char*); -extern int loadchar(Font*, Rune, Cacheinfo*, int, int, char**); -extern char* subfontname(char*, char*, int); -extern Subfont* _getsubfont(Display*, char*); -extern Subfont* getdefont(Display*); -extern void lockdisplay(Display*); -extern void unlockdisplay(Display*); -extern int drawlsetrefresh(u32int, int, void*, void*); - -/* - * Predefined - */ -extern uchar defontdata[]; -extern int sizeofdefont; -extern Point ZP; -extern Rectangle ZR; - -/* - * Set up by initdraw() - */ -extern Display *display; -extern Font *font; -extern Image *screen; -extern Screen *_screen; -extern int _cursorfd; -extern int _drawdebug; /* set to 1 to see errors from flushimage */ -extern void _setdrawop(Display*, Drawop); -extern Display *_initdisplay(void(*)(Display*,char*), char*); - -#define BGSHORT(p) (((p)[0]<<0) | ((p)[1]<<8)) -#define BGLONG(p) ((BGSHORT(p)<<0) | (BGSHORT(p+2)<<16)) -#define BPSHORT(p, v) ((p)[0]=(v), (p)[1]=((v)>>8)) -#define BPLONG(p, v) (BPSHORT(p, (v)), BPSHORT(p+2, (v)>>16)) - -/* - * Compressed image file parameters and helper routines - */ -#define NMATCH 3 /* shortest match possible */ -#define NRUN (NMATCH+31) /* longest match possible */ -#define NMEM 1024 /* window size */ -#define NDUMP 128 /* maximum length of dump */ -#define NCBLOCK 6000 /* size of compressed blocks */ -extern void _twiddlecompressed(uchar*, int); -extern int _compblocksize(Rectangle, int); - -/* XXX backwards helps; should go */ -extern int log2[]; -extern u32int drawld2chan[]; -extern void drawsetdebug(int); - -/* - * Port magic. - */ -int _drawmsgread(Display*, void*, int); -int _drawmsgwrite(Display*, void*, int); diff --git a/src/libdraw/event.h b/src/libdraw/event.h deleted file mode 100644 index e74183d4..00000000 --- a/src/libdraw/event.h +++ /dev/null @@ -1,63 +0,0 @@ -typedef struct Event Event; -typedef struct Menu Menu; - -enum -{ - Emouse = 1, - Ekeyboard = 2, -}; - -enum -{ - MAXSLAVE = 32, - EMAXMSG = 128+8192, /* size of 9p header+data */ -}; - -struct Mouse -{ - int buttons; /* bit array: LMR=124 */ - Point xy; - ulong msec; -}; - -struct Event -{ - int kbdc; - Mouse mouse; - int n; /* number of characters in message */ - void *v; /* data unpacked by general event-handling function */ - uchar data[EMAXMSG]; /* message from an arbitrary file descriptor */ -}; - -struct Menu -{ - char **item; - char *(*gen)(int); - int lasthit; -}; - -/* - * Events - */ -extern void einit(ulong); -extern ulong estart(ulong, int, int); -extern ulong estartfn(ulong, int, int, int (*fn)(int, Event*, uchar*, int)); -extern ulong etimer(ulong, int); -extern ulong event(Event*); -extern ulong eread(ulong, Event*); -extern Mouse emouse(void); -extern int ekbd(void); -extern int ecanread(ulong); -extern int ecanmouse(void); -extern int ecankbd(void); -extern void eresized(int); /* supplied by user */ -extern int emenuhit(int, Mouse*, Menu*); -extern int eatomouse(Mouse*, char*, int); -extern Rectangle getrect(int, Mouse*); -struct Cursor; -extern void esetcursor(struct Cursor*); -extern void emoveto(Point); -extern Rectangle egetrect(int, Mouse*); -extern void edrawgetrect(Rectangle, int); -extern int ereadmouse(Mouse*); -extern int eatomouse(Mouse*, char*, int); diff --git a/src/libdraw/keyboard.h b/src/libdraw/keyboard.h deleted file mode 100644 index a6d99bf6..00000000 --- a/src/libdraw/keyboard.h +++ /dev/null @@ -1,36 +0,0 @@ -typedef struct Keyboardctl Keyboardctl; - -struct Keyboardctl -{ - struct Channel *c; /* chan(Rune)[20] */ - - char *file; - int consfd; /* to cons file */ - int ctlfd; /* to ctl file */ - int pid; /* of slave proc */ -}; - - -extern Keyboardctl* initkeyboard(char*); -extern int ctlkeyboard(Keyboardctl*, char*); -extern void closekeyboard(Keyboardctl*); - -enum { - KF= 0xF000, /* Rune: beginning of private Unicode space */ - /* KF|1, KF|2, ..., KF|0xC is F1, F2, ..., F12 */ - Khome= KF|0x0D, - Kup= KF|0x0E, - Kpgup= KF|0x0F, - Kprint= KF|0x10, - Kleft= KF|0x11, - Kright= KF|0x12, - Kdown= 0x80, - Kview= 0x80, - Kpgdown= KF|0x13, - Kins= KF|0x14, - Kend= '\r', /* [sic] */ - - Kalt= KF|0x15, - Kshift= KF|0x16, - Kctl= KF|0x17, -}; diff --git a/src/libdraw/memdraw.h b/src/libdraw/memdraw.h deleted file mode 100644 index 08784ce9..00000000 --- a/src/libdraw/memdraw.h +++ /dev/null @@ -1,209 +0,0 @@ -typedef struct Memimage Memimage; -typedef struct Memdata Memdata; -typedef struct Memsubfont Memsubfont; -typedef struct Memlayer Memlayer; -typedef struct Memcmap Memcmap; -typedef struct Memdrawparam Memdrawparam; - -/* - * Memdata is allocated from main pool, but .data from the image pool. - * Memdata is allocated separately to permit patching its pointer after - * compaction when windows share the image data. - * The first word of data is a back pointer to the Memdata, to find - * The word to patch. - */ - -struct Memdata -{ - u32int *base; /* allocated data pointer */ - uchar *bdata; /* pointer to first byte of actual data; word-aligned */ - int ref; /* number of Memimages using this data */ - void* imref; - int allocd; /* is this malloc'd? */ -}; - -enum { - Frepl = 1<<0, /* is replicated */ - Fsimple = 1<<1, /* is 1x1 */ - Fgrey = 1<<2, /* is grey */ - Falpha = 1<<3, /* has explicit alpha */ - Fcmap = 1<<4, /* has cmap channel */ - Fbytes = 1<<5, /* has only 8-bit channels */ -}; - -struct Memimage -{ - Rectangle r; /* rectangle in data area, local coords */ - Rectangle clipr; /* clipping region */ - int depth; /* number of bits of storage per pixel */ - int nchan; /* number of channels */ - u32int chan; /* channel descriptions */ - Memcmap *cmap; - - Memdata *data; /* pointer to data; shared by windows in this image */ - int zero; /* data->bdata+zero==&byte containing (0,0) */ - u32int width; /* width in words of a single scan line */ - Memlayer *layer; /* nil if not a layer*/ - u32int flags; - void *X; - - int shift[NChan]; - int mask[NChan]; - int nbits[NChan]; -}; - -struct Memcmap -{ - uchar cmap2rgb[3*256]; - uchar rgb2cmap[16*16*16]; -}; - -/* - * Subfonts - * - * given char c, Subfont *f, Fontchar *i, and Point p, one says - * i = f->info+c; - * draw(b, Rect(p.x+i->left, p.y+i->top, - * p.x+i->left+((i+1)->x-i->x), p.y+i->bottom), - * color, f->bits, Pt(i->x, i->top)); - * p.x += i->width; - * to draw characters in the specified color (itself a Memimage) in Memimage b. - */ - -struct Memsubfont -{ - char *name; - short n; /* number of chars in font */ - uchar height; /* height of bitmap */ - char ascent; /* top of bitmap to baseline */ - Fontchar *info; /* n+1 character descriptors */ - Memimage *bits; /* of font */ -}; - -/* - * Encapsulated parameters and information for sub-draw routines. - */ -enum { - Simplesrc=1<<0, - Simplemask=1<<1, - Replsrc=1<<2, - Replmask=1<<3, - Fullmask=1<<4, -}; -struct Memdrawparam -{ - Memimage *dst; - Rectangle r; - Memimage *src; - Rectangle sr; - Memimage *mask; - Rectangle mr; - int op; - - u32int state; - u32int mval; /* if Simplemask, the mask pixel in mask format */ - u32int mrgba; /* mval in rgba */ - u32int sval; /* if Simplesrc, the source pixel in src format */ - u32int srgba; /* sval in rgba */ - u32int sdval; /* sval in dst format */ -}; - -/* - * Memimage management - */ - -extern Memimage* allocmemimage(Rectangle, u32int); -extern Memimage* allocmemimaged(Rectangle, u32int, Memdata*, void*); -extern Memimage* readmemimage(int); -extern Memimage* creadmemimage(int); -extern int writememimage(int, Memimage*); -extern void freememimage(Memimage*); -extern int loadmemimage(Memimage*, Rectangle, uchar*, int); -extern int cloadmemimage(Memimage*, Rectangle, uchar*, int); -extern int unloadmemimage(Memimage*, Rectangle, uchar*, int); -extern u32int* wordaddr(Memimage*, Point); -extern uchar* byteaddr(Memimage*, Point); -extern int drawclip(Memimage*, Rectangle*, Memimage*, Point*, - Memimage*, Point*, Rectangle*, Rectangle*); -extern void memfillcolor(Memimage*, u32int); -extern int memsetchan(Memimage*, u32int); -extern u32int pixelbits(Memimage*, Point); - -/* - * Graphics - */ -extern void memdraw(Memimage*, Rectangle, Memimage*, Point, - Memimage*, Point, int); -extern void memline(Memimage*, Point, Point, int, int, int, - Memimage*, Point, int); -extern void mempoly(Memimage*, Point*, int, int, int, int, - Memimage*, Point, int); -extern void memfillpoly(Memimage*, Point*, int, int, - Memimage*, Point, int); -extern void _memfillpolysc(Memimage*, Point*, int, int, - Memimage*, Point, int, int, int, int); -extern void memimagedraw(Memimage*, Rectangle, Memimage*, Point, - Memimage*, Point, int); -extern int hwdraw(Memdrawparam*); -extern void memimageline(Memimage*, Point, Point, int, int, int, - Memimage*, Point, int); -extern void _memimageline(Memimage*, Point, Point, int, int, int, - Memimage*, Point, Rectangle, int); -extern Point memimagestring(Memimage*, Point, Memimage*, Point, - Memsubfont*, char*); -extern void memellipse(Memimage*, Point, int, int, int, - Memimage*, Point, int); -extern void memarc(Memimage*, Point, int, int, int, Memimage*, - Point, int, int, int); -extern Rectangle memlinebbox(Point, Point, int, int, int); -extern int memlineendsize(int); -extern void _memmkcmap(void); -extern void memimageinit(void); - -/* - * Subfont management - */ -extern Memsubfont* allocmemsubfont(char*, int, int, int, Fontchar*, Memimage*); -extern Memsubfont* openmemsubfont(char*); -extern void freememsubfont(Memsubfont*); -extern Point memsubfontwidth(Memsubfont*, char*); -extern Memsubfont* getmemdefont(void); - -/* - * Predefined - */ -extern Memimage* memwhite; -extern Memimage* memblack; -extern Memimage* memopaque; -extern Memimage* memtransparent; -extern Memcmap* memdefcmap; - -/* - * Kernel interface - */ -void memimagemove(void*, void*); - -/* - * Kernel cruft - */ -extern void rdb(void); -extern int iprint(char*, ...); -extern int drawdebug; - -/* - * For other implementations, like x11. - */ -extern void _memfillcolor(Memimage*, u32int); -extern Memimage* _allocmemimage(Rectangle, u32int); -extern int _cloadmemimage(Memimage*, Rectangle, uchar*, int); -extern int _loadmemimage(Memimage*, Rectangle, uchar*, int); -extern void _freememimage(Memimage*); -extern u32int _rgbatoimg(Memimage*, u32int); -extern u32int _imgtorgba(Memimage*, u32int); -extern u32int _pixelbits(Memimage*, Point); -extern int _unloadmemimage(Memimage*, Rectangle, uchar*, int); -extern Memdrawparam* _memimagedrawsetup(Memimage*, - Rectangle, Memimage*, Point, Memimage*, - Point, int); -extern void _memimagedraw(Memdrawparam*); -extern void _drawreplacescreenimage(Memimage*); diff --git a/src/libdraw/memlayer.h b/src/libdraw/memlayer.h deleted file mode 100644 index 36d87767..00000000 --- a/src/libdraw/memlayer.h +++ /dev/null @@ -1,48 +0,0 @@ -typedef struct Memscreen Memscreen; -typedef void (*Refreshfn)(Memimage*, Rectangle, void*); - -struct Memscreen -{ - Memimage *frontmost; /* frontmost layer on screen */ - Memimage *rearmost; /* rearmost layer on screen */ - Memimage *image; /* upon which all layers are drawn */ - Memimage *fill; /* if non-zero, picture to use when repainting */ -}; - -struct Memlayer -{ - Rectangle screenr; /* true position of layer on screen */ - Point delta; /* add delta to go from image coords to screen */ - Memscreen *screen; /* screen this layer belongs to */ - Memimage *front; /* window in front of this one */ - Memimage *rear; /* window behind this one*/ - int clear; /* layer is fully visible */ - Memimage *save; /* save area for obscured parts */ - Refreshfn refreshfn; /* function to call to refresh obscured parts if save==nil */ - void *refreshptr; /* argument to refreshfn */ -}; - -/* - * These functions accept local coordinates - */ -int memload(Memimage*, Rectangle, uchar*, int, int); -int memunload(Memimage*, Rectangle, uchar*, int); - -/* - * All these functions accept screen coordinates, not local ones. - */ -void _memlayerop(void (*fn)(Memimage*, Rectangle, Rectangle, void*, int), Memimage*, Rectangle, Rectangle, void*); -Memimage* memlalloc(Memscreen*, Rectangle, Refreshfn, void*, u32int); -void memldelete(Memimage*); -void memlfree(Memimage*); -void memltofront(Memimage*); -void memltofrontn(Memimage**, int); -void _memltofrontfill(Memimage*, int); -void memltorear(Memimage*); -void memltorearn(Memimage**, int); -int memlsetrefresh(Memimage*, Refreshfn, void*); -void memlhide(Memimage*, Rectangle); -void memlexpose(Memimage*, Rectangle); -void _memlsetclear(Memscreen*); -int memlorigin(Memimage*, Point, Point); -void memlnorefresh(Memimage*, Rectangle, void*); diff --git a/src/libdraw/mkfile b/src/libdraw/mkfile deleted file mode 100644 index bb99a25a..00000000 --- a/src/libdraw/mkfile +++ /dev/null @@ -1 +0,0 @@ -<../libutf/mkfile diff --git a/src/libdraw/mouse.h b/src/libdraw/mouse.h deleted file mode 100644 index f0a0f697..00000000 --- a/src/libdraw/mouse.h +++ /dev/null @@ -1,44 +0,0 @@ -typedef struct Menu Menu; -typedef struct Mousectl Mousectl; - -struct Mouse -{ - int buttons; /* bit array: LMR=124 */ - Point xy; - ulong msec; -}; - -struct Mousectl -{ - Mouse m; - struct Channel *c; /* chan(Mouse) */ - struct Channel *resizec; /* chan(int)[2] */ - /* buffered in case client is waiting for a mouse action before handling resize */ - - char *file; - int mfd; /* to mouse file */ - int cfd; /* to cursor file */ - int pid; /* of slave proc */ - Display *display; - /*Image* image; / * of associated window/display */ -}; - -struct Menu -{ - char **item; - char *(*gen)(int); - int lasthit; -}; - -/* - * Mouse - */ -extern Mousectl* initmouse(char*, Image*); -extern void moveto(Mousectl*, Point); -extern int readmouse(Mousectl*); -extern void closemouse(Mousectl*); -struct Cursor; -extern void setcursor(Mousectl*, struct Cursor*); -extern void drawgetrect(Rectangle, int); -extern Rectangle getrect(int, Mousectl*); -extern int menuhit(int, Mousectl*, Menu*, Screen*); diff --git a/src/libdraw/test b/src/libdraw/test Binary files differdeleted file mode 100755 index 5d99bb5b..00000000 --- a/src/libdraw/test +++ /dev/null |