From 4fa50f2c3d8981eaab9753b63c278fea0a26f13d Mon Sep 17 00:00:00 2001 From: Rui Guo Date: Wed, 20 May 2009 12:23:11 +0800 Subject: [PATCH] New document drafts. New directory to put some development documents in. Currently it includes some nodes I got from code reading. --- src/drafts/screen_internal | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/drafts/screen_internal diff --git a/src/drafts/screen_internal b/src/drafts/screen_internal new file mode 100644 index 0000000..11d30d9 --- /dev/null +++ b/src/drafts/screen_internal @@ -0,0 +1,18 @@ +A display stands for an attached display area. Since there can be multiple +users, the possibly multiple displays are chained together in a single +linked-list 'displays'. + +Canvas is a place to draw on. They logically belong to a specific display. +However, a display can be further divided to several sub-regions. As a result, +The regions need corresponding canvases. Moreover, the way that a display is +organised can be saved by layout object. + +Each window in screen stands for a sub-terminal that runs inside screen. +When shown in foreground, the window draws a layer on the showing canvas. +A layer can be drawn on multiple canvas, either in different regions or in +different displays. So it also make sense to call it 'view'. However, the name +layer tells us that it's stackable. One can add an overlay to the existing +one, such as the help page. + +Finally, to ease the clipping of layer, there is also a viewport object to +track the boundary of each canvas. (But why not the canvas itself?) -- 2.11.4.GIT