From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 From: Chris McGee Date: Thu, 18 Apr 2019 10:35:59 -0400 Message-ID: To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/alternative; boundary="000000000000544f4f0586ceeca3" Subject: [9fans] Understanding /dev/draw Topicbox-Message-UUID: fad4d7d0-ead9-11e9-9d60-3106f5b1d025 --000000000000544f4f0586ceeca3 Content-Type: text/plain; charset="UTF-8" Hi All, I'm looking at creating an alternate filesystem for /dev/draw, /dev/mouse and /dev/kbd that hooks up to a web server providing HTML interfaces (e.g. canvas) for Plan 9 UI. I've been reading over the manual pages, which are quite detailed, which is great, but there are some points of confusion for me. In particular, /dev/draw's interface and documentation keep referring to the concept of a "window" indirectly. It seems that in some cases the server providing /dev/draw needs to track windows and refresh them. But, what defines a window in this protocol? Is every image a window or only some of them? Also, I'm trying to understand how off-screen images, such as fonts are loaded. It seems that every image must be associated with a screen and be given a position within the screen. So, how do you prevent the image from being visible to the user? Hopefully, if I can understand some of the high-level concepts here then the manual page will be all that I need. Does anyone have experience with this area or could point me to information that might help clarify it? My next step will probably be to figure out how libmemdraw does all of this on top of a frame buffer. Thanks, Chris --000000000000544f4f0586ceeca3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi All,

I'm looking at c= reating an alternate filesystem for /dev/draw, /dev/mouse and /dev/kbd that= hooks up to a web server providing HTML interfaces (e.g. canvas) for Plan = 9 UI. I've been reading over the manual pages, which are quite detailed= , which is great, but there are some points of confusion for me.
=
In particular, /dev/draw's interface and documentation k= eep referring to the concept of a "window" indirectly. It seems t= hat in some cases the server providing /dev/draw needs to track windows and= refresh them. But, what defines a window in this protocol? Is every image = a window or only some of them?

Also, I'm tryin= g to understand how off-screen images, such as fonts are loaded. It seems t= hat every image must be associated with a screen and be given a position wi= thin the screen. So, how do you prevent the image from being visible to the= user?

Hopefully, if I can understand some of = the high-level concepts here then the manual page will be all that I need. = Does anyone have experience with this area or could point me to information= that might help clarify it?

My next step will pro= bably be to figure out how libmemdraw does all of this on top of a frame bu= ffer.

Thanks,
Chris
--000000000000544f4f0586ceeca3--