diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2013-11-23 01:05:33 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2013-11-23 01:05:33 +0100 |
commit | 2f9ae0f8ac8610e13ced184847b57b87fe5db580 (patch) | |
tree | f9ad2223d518585a2cfe9ea1c73e1e37d07bf637 /sys/src/cmd/unix/drawterm/include/memdraw.h | |
parent | ea5797c0731203c09ec5fb7172e77eab2750f1a9 (diff) |
removing (outdated) drawterm
drawterm is much better maintained by russ cox,
so removing this outdated copy.
for a more recent version, go to:
http://swtch.com/drawterm/
Diffstat (limited to 'sys/src/cmd/unix/drawterm/include/memdraw.h')
-rw-r--r-- | sys/src/cmd/unix/drawterm/include/memdraw.h | 210 |
1 files changed, 0 insertions, 210 deletions
diff --git a/sys/src/cmd/unix/drawterm/include/memdraw.h b/sys/src/cmd/unix/drawterm/include/memdraw.h deleted file mode 100644 index ba0c2dad2..000000000 --- a/sys/src/cmd/unix/drawterm/include/memdraw.h +++ /dev/null @@ -1,210 +0,0 @@ -#ifdef PLAN9 -#pragma src "/sys/src/libmemdraw" -#pragma lib "libmemdraw.a" -#endif - -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 -{ - ulong *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 */ - ulong 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) */ - ulong width; /* width in words of a single scan line */ - Memlayer *layer; /* nil if not a layer*/ - ulong flags; - - int shift[NChan]; - int mask[NChan]; - int nbits[NChan]; - - void *X; -}; - -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; - - ulong state; - ulong mval; /* if Simplemask, the mask pixel in mask format */ - ulong mrgba; /* mval in rgba */ - ulong sval; /* if Simplesrc, the source pixel in src format */ - ulong srgba; /* sval in rgba */ - ulong sdval; /* sval in dst format */ -}; - -/* - * Memimage management - */ - -extern Memimage* allocmemimage(Rectangle, ulong); -extern Memimage* _allocmemimage(Rectangle, ulong); -extern Memimage* allocmemimaged(Rectangle, ulong, Memdata*, void*); -extern Memimage* readmemimage(int); -extern Memimage* creadmemimage(int); -extern int writememimage(int, Memimage*); -extern void freememimage(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 int loadmemimage(Memimage*, Rectangle, uchar*, int); -extern int cloadmemimage(Memimage*, Rectangle, uchar*, int); -extern int unloadmemimage(Memimage*, Rectangle, uchar*, int); -extern ulong* wordaddr(Memimage*, Point); -extern uchar* byteaddr(Memimage*, Point); -extern int drawclip(Memimage*, Rectangle*, Memimage*, Point*, Memimage*, Point*, Rectangle*, Rectangle*); -extern void memfillcolor(Memimage*, ulong); -extern void _memfillcolor(Memimage*, ulong); -extern int memsetchan(Memimage*, ulong); -extern ulong _rgbatoimg(Memimage*, ulong); - -/* - * 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 Memdrawparam* _memimagedrawsetup(Memimage*, Rectangle, Memimage*, Point, Memimage*, Point, int); -extern void _memimagedraw(Memdrawparam*); -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); -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; - -/* - * doprint interface: numbconv bit strings - */ -#ifdef VARARGCK -#pragma varargck argpos iprint 1 -#pragma varargck type "llb" vlong -#pragma varargck type "llb" uvlong -#pragma varargck type "lb" long -#pragma varargck type "lb" ulong -#pragma varargck type "b" int -#pragma varargck type "b" uint -#endif - -extern ulong _pixelbits(Memimage*,Point); -extern ulong pixelbits(Memimage*, Point); |