diff options
Diffstat (limited to 'src/cmd/devdraw/x11-memdraw.h')
-rw-r--r-- | src/cmd/devdraw/x11-memdraw.h | 66 |
1 files changed, 27 insertions, 39 deletions
diff --git a/src/cmd/devdraw/x11-memdraw.h b/src/cmd/devdraw/x11-memdraw.h index d2cab13b..0c78b9b6 100644 --- a/src/cmd/devdraw/x11-memdraw.h +++ b/src/cmd/devdraw/x11-memdraw.h @@ -4,6 +4,7 @@ typedef struct Xmem Xmem; typedef struct Xprivate Xprivate; +typedef struct Xwin Xwin; enum { @@ -26,7 +27,6 @@ struct Xprivate { XDisplay *display; int fd; /* of display */ int depth; /* of screen */ - XDrawable drawable; XColor map[256]; XColor map7[128]; uchar map7to8[128][2]; @@ -50,12 +50,6 @@ struct Xprivate { u32int gczeropixmap; XGC gczero0; u32int gczero0pixmap; - Rectangle newscreenr; - Memimage* screenimage; - QLock screenlock; - XDrawable screenpm; - XDrawable nextscreenpm; - Rectangle screenr; int toplan9[256]; int tox11[256]; int usetable; @@ -70,9 +64,35 @@ struct Xprivate { Atom wmprotos; uint putsnarf; uint assertsnarf; + int kbuttons; + int kstate; + int altdown; + + Xwin* windows; +}; + +struct Client; + +struct Xwin +{ + XDrawable drawable; + struct Client* client; + + Rectangle newscreenr; + Memimage* screenimage; + XDrawable screenpm; + XDrawable nextscreenpm; + Rectangle screenr; + Rectangle screenrect; + Rectangle windowrect; + int fullscreen; int destroyed; + + Xwin* next; }; +void xlock(void); +void xunlock(void); extern Xprivate _x; extern Memimage *_xallocmemimage(Rectangle, u32int, int); @@ -83,35 +103,3 @@ extern void _xfreexdata(Memimage*); extern XImage *_xgetxdata(Memimage*, Rectangle); extern void _xputxdata(Memimage*, Rectangle); -struct Mouse; -extern int _xtoplan9mouse(XEvent*, struct Mouse*); -extern int _xtoplan9kbd(XEvent*); -extern void _xexpose(XEvent*); -extern int _xselect(XEvent*); -extern int _xconfigure(XEvent*); -extern int _xdestroy(XEvent*); -extern void _flushmemscreen(Rectangle); -extern void _xmoveto(Point); -struct Cursor; -extern void _xsetcursor(struct Cursor*); -extern void _xbouncemouse(Mouse*); -extern int _xsetlabel(char*); -extern Memimage* _xattach(char*, char*); -extern char* _xgetsnarf(void); -extern void _xputsnarf(char *data); -extern void _xtopwindow(void); -extern void _xresizewindow(Rectangle); -extern void _xmovewindow(Rectangle); -extern int _xreplacescreenimage(void); - -#define MouseMask (\ - ButtonPressMask|\ - ButtonReleaseMask|\ - PointerMotionMask|\ - Button1MotionMask|\ - Button2MotionMask|\ - Button3MotionMask) - -extern Rectangle screenrect; -extern Rectangle windowrect; -extern int fullscreen; |