X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=Usermode%2FApplications%2Faxwin4_src%2FNotes.txt;fp=Usermode%2FApplications%2Faxwin4_src%2FNotes.txt;h=ee09686bb3e24771397e1764c76cb31a06aeb637;hb=845b6f9d90bb87b5e760e4d49aa93b0e003ab750;hp=0000000000000000000000000000000000000000;hpb=67a7fe2bb79eceaf10c572a99bd8345c4e81cf5b;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin4_src/Notes.txt b/Usermode/Applications/axwin4_src/Notes.txt new file mode 100644 index 00000000..ee09686b --- /dev/null +++ b/Usermode/Applications/axwin4_src/Notes.txt @@ -0,0 +1,47 @@ +Layers: + +IPC / Client management +Compositor / Window Manager +Renderer / Window Contents + +Renderers +Window Management +> "WM_CreateWindow(Parent, Class, Name)" +Window Drawing +> "WD_Fill" +> "WD_Blit" +> "WD_LockSurface" +> "WD_UnlockSurface" +Decorations +> ".InitWindow" +> ".Render" ++ "WM_SetBorder" +Compositing +> Dirty rectangling, use 2DCmd to selectively blit +> Request kernel/server buffers if possible + + +Clients own windows +Windows are composed of multiple regions that conform to several types (see below) +- Re-draw is handled by using these regions + +Server-side rendering primitives: + # Apply to regions, rendered in fixed order, each has an ID +> Auto-scaling bitmaps + - Control backed by an image with three/five regions per axis + Edge Fixed, Fill, Center Fixed, Fill, Edge Fixed + - Definition is via two pixel counts (edge width, fill width), rest is derived + - Command to switch backing image to another already provided +> Tiling bitmaps + filled rects +> Text (single line) +> Canvas (Takes drawing commands, draws to internal buffer) +> Shared buffer (of an unspecified pixel format) + +=== Config options === +- Root App +- Display device (- = stdout) +- Keyboard device (- = stdin) +- Mouse device +- Pipe suffix, port number, etc. +- Key bindings +