diff options
author | Sadrul Habib Chowdhury <sadrul@users.sourceforge.net> | 2009-12-05 21:53:52 -0500 |
---|---|---|
committer | Sadrul Habib Chowdhury <sadrul@users.sourceforge.net> | 2009-12-05 21:53:52 -0500 |
commit | 2199ead34441dd5291ffecb737b9ff4e7ae47f0d (patch) | |
tree | ac8af7871a62fcb7ca0ea53382955ef790e17a68 /src/layer.c | |
parent | d5666eda97fbfd704fa9896400fde875e5493998 (diff) | |
download | screen-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.c | 24 |
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; + } +} + |