summaryrefslogtreecommitdiff
path: root/src/layer.c
diff options
context:
space:
mode:
authorSadrul Habib Chowdhury <sadrul@users.sourceforge.net>2009-12-05 21:53:52 -0500
committerSadrul Habib Chowdhury <sadrul@users.sourceforge.net>2009-12-05 21:53:52 -0500
commit2199ead34441dd5291ffecb737b9ff4e7ae47f0d (patch)
treeac8af7871a62fcb7ca0ea53382955ef790e17a68 /src/layer.c
parentd5666eda97fbfd704fa9896400fde875e5493998 (diff)
downloadscreen-2199ead34441dd5291ffecb737b9ff4e7ae47f0d.tar.gz
Revamp the display list.
Revamp the display list (in works). The future changes are expected to add full mouse control, and perhaps some other utility functions (e.g. detaching a display, changing permissions perhaps? etc.)
Diffstat (limited to 'src/layer.c')
-rw-r--r--src/layer.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/layer.c b/src/layer.c
index a3ffb3e..8b94b99 100644
--- a/src/layer.c
+++ b/src/layer.c
@@ -1115,3 +1115,27 @@ ExitOverlayPage()
LayRestore();
LaySetCursor();
}
+
+int
+LayProcessMouse(struct layer *l, unsigned char ch)
+{
+ /* XXX: Make sure the layer accepts mouse events */
+ int len;
+
+ if (l->l_mouseevent.len >= sizeof(l->l_mouseevent.buffer))
+ return -1;
+
+ len = l->l_mouseevent.len++;
+ l->l_mouseevent.buffer[len] = (len > 0 ? ch - 33 : ch);
+ return (l->l_mouseevent.len == sizeof(l->l_mouseevent.buffer));
+}
+
+int
+LayProcessMouseSwitch(struct layer *l, int s)
+{
+ if ((l->l_mouseevent.start = s))
+ {
+ l->l_mouseevent.len = 0;
+ }
+}
+