aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/devdraw/x11-memdraw.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/devdraw/x11-memdraw.h')
-rw-r--r--src/cmd/devdraw/x11-memdraw.h66
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;