From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: References: From: hiro <23hiro@gmail.com> Date: Thu, 18 Apr 2019 20:12:36 +0200 Message-ID: To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: text/plain; charset="UTF-8" Subject: Re: [9fans] Understanding /dev/draw Topicbox-Message-UUID: fb3aeafc-ead9-11e9-9d60-3106f5b1d025 > 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? i'm not aware of "window"s on that layer, what specifically do you mean with indirectly? perhaps you mean layers? they can be put to "top" and "bottom". > 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? on-screen images actually seem less intuitive, i don't know what makes you think they have to be associated with a screen. they don't have to, commonly aren't (though there will be a main screenimage for each rio window for example (which will point to the same memory data in the back though!)). How do you make it visible to the user would be the correct question. > 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? Perhaps start with the good old bitblt documentation. it's smaller and doesn't have most of the less obvious features. devdraw is a lot more convoluted and the way it interacts with /dev/mouse and /dev/winname for example is extremely non-intuitive and a lot of back and forth. Have fun.