summaryrefslogtreecommitdiff
path: root/sys/src/cmd/unix/drawterm/kern/screen.h
diff options
context:
space:
mode:
authorTaru Karttunen <taruti@taruti.net>2011-03-30 15:46:40 +0300
committerTaru Karttunen <taruti@taruti.net>2011-03-30 15:46:40 +0300
commite5888a1ffdae813d7575f5fb02275c6bb07e5199 (patch)
treed8d51eac403f07814b9e936eed0c9a79195e2450 /sys/src/cmd/unix/drawterm/kern/screen.h
Import sources from 2011-03-30 iso image
Diffstat (limited to 'sys/src/cmd/unix/drawterm/kern/screen.h')
-rwxr-xr-xsys/src/cmd/unix/drawterm/kern/screen.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/sys/src/cmd/unix/drawterm/kern/screen.h b/sys/src/cmd/unix/drawterm/kern/screen.h
new file mode 100755
index 000000000..dfdc12de5
--- /dev/null
+++ b/sys/src/cmd/unix/drawterm/kern/screen.h
@@ -0,0 +1,63 @@
+typedef struct Mouseinfo Mouseinfo;
+typedef struct Mousestate Mousestate;
+typedef struct Cursorinfo Cursorinfo;
+typedef struct Screeninfo Screeninfo;
+
+#define Mousequeue 16 /* queue can only have Mousequeue-1 elements */
+#define Mousewindow 500 /* mouse event window in millisec */
+
+struct Mousestate {
+ int buttons;
+ Point xy;
+ ulong msec;
+};
+
+struct Mouseinfo {
+ Lock lk;
+ Mousestate queue[Mousequeue];
+ int ri, wi;
+ int lastb;
+ int trans;
+ int open;
+ Rendez r;
+};
+
+struct Cursorinfo {
+ Lock lk;
+ Point offset;
+ uchar clr[2*16];
+ uchar set[2*16];
+};
+
+struct Screeninfo {
+ Lock lk;
+ Memimage *newsoft;
+ int reshaped;
+ int depth;
+ int dibtype;
+};
+
+extern Memimage *gscreen;
+extern Mouseinfo mouse;
+extern Cursorinfo cursor;
+extern Screeninfo screen;
+
+void screeninit(void);
+void screenload(Rectangle, int, uchar *, Point, int);
+
+void getcolor(ulong, ulong*, ulong*, ulong*);
+void setcolor(ulong, ulong, ulong, ulong);
+
+void refreshrect(Rectangle);
+
+void cursorarrow(void);
+void setcursor(void);
+void mouseset(Point);
+void drawflushr(Rectangle);
+void flushmemscreen(Rectangle);
+uchar *attachscreen(Rectangle*, ulong*, int*, int*, int*, void**);
+
+void drawqlock(void);
+void drawqunlock(void);
+int drawcanqlock(void);
+void terminit(void);