diff options
author | Benji Dial <benji@benjidial.net> | 2024-05-20 17:40:47 -0400 |
---|---|---|
committer | Benji Dial <benji@benjidial.net> | 2024-05-20 17:40:47 -0400 |
commit | 9af5588c30c4126a2800aae1afcb0de2c373dc6c (patch) | |
tree | d2a48a97b1664f958b5f88a8b0c03ef8366b0f49 /documentation/compositor.txt | |
parent | 5a54df93c4e9368c36e69d1e9c88cd2904e92308 (diff) | |
download | hilbert-os-9af5588c30c4126a2800aae1afcb0de2c373dc6c.tar.gz |
rewrite application stuff in the kernel to support multitasking
Diffstat (limited to 'documentation/compositor.txt')
-rw-r--r-- | documentation/compositor.txt | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/documentation/compositor.txt b/documentation/compositor.txt index 8946eff..7442d51 100644 --- a/documentation/compositor.txt +++ b/documentation/compositor.txt @@ -1,14 +1,25 @@ 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: - color24: - byte: red - byte: green - byte: blue + 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 - color24 rectangle: - multiple color24's, 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: @@ -19,8 +30,15 @@ messages from applications to compositor: update window region: byte: 0x01 + window: the window dword: start x dword: start y dword: width dword: height - color24 rectangle: the data + color rectangle: the data + +messages from compositor to application: + + window opened: + byte: 0x00 + window: the window |