== Read == - UTF-8 / UCS-4 Character Stream > Selected with mode call == Write == UTF-8 Emulation Text Mode: - Emuates a character device > VT-100/ANSI Control Codes > Characters/Symbols are sent as UTF-8 /* Native Text Mode: - NxM 64-bit entries > UCS-32 Codepoint (if a diacritic is encountered, the previous character is modified) > 12-bit (16 encoded) Foreground > 12-bit (16 encoded) Background */ Framebuffer Graphics: - WxH 32-bit (3x 8-bit channels) framebuffer - Write to entire framebuffer Accellerated Graphics: - Command Stream > Each Node.Write call is a single command + NOP (-) + Direct (Uint16 X, Y, W, H, Uint32 Data[]) + Blit (Uint16 W, H, SrcX, SrxY, DstX, DstY, Uint32 Data[]) + Fill (Uint16 X, Y, W, H) + Rect (Uint16 X, Y, W, H) + Line (Uint16 X, Y, W, H) + Text (Uint16 X, Y, Size, Font) + ShowTile (Uint16 ID, Uint16 X, Y) + DelTile (Uint16 ID) - Extra IOCtls + int LoadFont(char *Path) + UnloadFont(int *ID) + int MakeTile(struct {Uint16 W, H, Uint32 Data[]} *Img) + DelTile(int *ID) - Allow fast switch between Accel/Framebuffer? - Min Reqd Tile Size 32x32 > Tiles should be driver emulated if unavaliable by hardware 3D Graphics: (Can be emulated if not avaliable, or just denied) - Command Stream > + NOP (-) + FlipBuffer (-) + LoadTexture(Uint16 ID, W, H, Uint32 Data[]) + UnloadTexture(Uint16 ID) + SetTexture(Uint16 ID) + Triangle (Uint16 Texture, Uint32[3+3+2][3])