Notes - Strike UDI off the TODO list
[tpg/acess2.git] / Notes / VTerm.txt
1
2 == Read ==
3 - UTF-8 / UCS-4 Character Stream
4  > Selected with mode call
5
6 == Write ==
7 UTF-8 Emulation Text Mode:
8 - Emuates a character device
9  > VT-100/ANSI Control Codes
10  > Characters/Symbols are sent as UTF-8
11
12 /*
13 Native Text Mode:
14 - NxM 64-bit entries
15  > UCS-32 Codepoint (if a diacritic is encountered, the previous character is modified)
16  > 12-bit (16 encoded) Foreground
17  > 12-bit (16 encoded) Background
18 */
19
20 Framebuffer Graphics:
21 - WxH 32-bit (3x 8-bit channels) framebuffer
22 - Write to entire framebuffer
23
24 Accellerated Graphics:
25 - Command Stream
26  > Each Node.Write call is a single command
27  + NOP (-)
28  + Direct (Uint16 X, Y, W, H, Uint32 Data[])
29  + Blit (Uint16 W, H, SrcX, SrxY, DstX, DstY, Uint32 Data[])
30  + Fill (Uint16 X, Y, W, H)
31  + Rect (Uint16 X, Y, W, H)
32  + Line (Uint16 X, Y, W, H)
33  + Text (Uint16 X, Y, Size, Font)
34  + ShowTile (Uint16 ID, Uint16 X, Y)
35  + DelTile (Uint16 ID)
36 - Extra IOCtls
37  + int LoadFont(char *Path)
38  + UnloadFont(int *ID)
39  + int MakeTile(struct {Uint16 W, H, Uint32 Data[]} *Img)
40  + DelTile(int *ID)
41 - Allow fast switch between Accel/Framebuffer?
42 - Min Reqd Tile Size 32x32
43  > Tiles should be driver emulated if unavaliable by hardware
44  
45 3D Graphics: (Can be emulated if not avaliable, or just denied)
46 - Command Stream
47  >
48  + NOP (-)
49  + FlipBuffer (-)
50  + LoadTexture(Uint16 ID, W, H, Uint32 Data[])
51  + UnloadTexture(Uint16 ID)
52  + SetTexture(Uint16 ID)
53  + Triangle (Uint16 Texture, Uint32[3+3+2][3])

UCC git Repository :: git.ucc.asn.au