Mwlike8
From Yan-server-AMD1G
mwlike8 aims to make scale down Nano-X to work in 8-bit MCU
Contents |
[edit] Architecture
+---------+---------+----------+
Application | App 1 | App 2 | ... |
+---------+---------+----------+
| Nano-X API |
+------------------------------+
GUI Engine | mwlike8 |
+-------------+--------+-------+
Nano-X Drivers | Framebuffer | Keypad | Mouse |
+-------------+--------+-------+
| POSIX System Call | e.g. open(), ioctl(), mmap()
+-------------+--------+-------+
Hardware | Display | Keypad | Mouse |
+-------------+--------+-------+
[edit] Source
[edit] Changes to Nano-X
[edit] General
- Do not use Dynamic Memory to prevent running out of heap
- static allocation of 1 client
- static allocation of 1 root window
- static allocation of events, maximum number governed by C-define macro MW_EVENT_MAX
- static allocation of event clients (i.e event mask for window), maximum number governed by C-define macro MW_EVENT_CLIENT_MAX
- static allocation of windows, maximum number governed by C-define macro MW_WINDOW_MAX
- static allocation of graphics context, *maximum number governed by C-define macro MW_GC_MAX
[edit] Window
- no border
- no pixmap
- no clipping
[edit] Fonts
- only 1 font per application (i.e. system font)
- font size is non-resizable
- fixed width (i.e. all characters have identical width)
- only black and white text
- font bitmap orientation and encoding changed
[edit] Pointing Device
- no mouse pointer
[edit] Graphics Context
- mode assume MWMODE_COPY only (i.e. no AND, XOR, etc)
- no background color
[edit] ToDo
- extend to support more than one fonts
- develop framebuffer driver for lcd (128x64 pixel)
- develop keypad driver for 3-key input device (up key, down key, enter key) + possibility of n-Function Keys
- Look into wrapper for program written in gtk code running on X-Window
- so that program developed by Rapid Application Development (RAD) tools (e.g. Glade) can be ported to Nano-X easily

