blob: 7442d51a92f0195548746ac32dbfd3b480b7ed3d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
compositors listen on the socket id "hilbert.compositor".
when a window is opened by an application, that window can only be referred to
on that stream. the opaque value given in the "window opened" message refers to
that window in future messages on that stream. it is guaranteed to be distinct
for different windows on the same stream, and in no way guaranteed to be
distinct for different windows on different streams. the window is bound
just to the stream, not to the application. if the stream where a window
was created is gifted to a new process, the new process has complete control
over the window, and the compositor does not need to be informed.
data types:
color:
opaque dword (result of encode color system call).
from c++, use __euler_encode_color in euler/syscall.hpp.
color rectangle:
multiple hilbert colors, top to bottom by row, left to right within row
window:
opaque word (given in "window opened" message after "open window" message)
messages from applications to compositor:
open window:
byte: 0x00
dword: window width
dword: window height
update window region:
byte: 0x01
window: the window
dword: start x
dword: start y
dword: width
dword: height
color rectangle: the data
messages from compositor to application:
window opened:
byte: 0x00
window: the window
|