mirror of
https://github.com/DirectFB/directfb.git
synced 2025-10-15 04:21:06 +08:00
87 lines
2.5 KiB
Plaintext
87 lines
2.5 KiB
Plaintext
Initialization map (outdated !!)
|
|
----------------------------------
|
|
|
|
- normal entry
|
|
- (optional entry)
|
|
* function call
|
|
= loop (generally for each like)
|
|
X entering arena (like switch)
|
|
: possible way of entering (like case)
|
|
+ new arena field allocated
|
|
# reactor related
|
|
O object pool related
|
|
$ property related
|
|
|
|
|
|
DirectFBInit
|
|
* dfb_config_init
|
|
- allocate config
|
|
- read config from files and command line
|
|
* dfb_core_init
|
|
- dlopen ourself if linked dynamically
|
|
* dfb_system_lookup
|
|
|
|
DirectFBCreate
|
|
* dfb_core_ref
|
|
- (atexit)
|
|
- (sync)
|
|
- (block all signals)
|
|
* dfb_system_thread_init if multi app
|
|
* dfb_find_best_memcpy
|
|
* fusion_init
|
|
- init local core data
|
|
X arena_enter
|
|
: dfb_core_initialize
|
|
- (install signal handlers)
|
|
+ core clip field
|
|
* dfb_colorhash_initialize
|
|
+ color hash field
|
|
* dfb_system_initialize (fbdev)
|
|
+ fbdev field
|
|
- open framebuffer device
|
|
* dfb_vt_initialize
|
|
- open /dev/tty0
|
|
- (switch to new vt)
|
|
- open /dev/ttyN
|
|
- (set graphics mode)
|
|
- get fixed screen info
|
|
- mmap framebuffer
|
|
- get variable screen info
|
|
- get color map
|
|
# new/attach to rpc reactor
|
|
* dfb_layers_register
|
|
- add to local layer list
|
|
- initialize local state for drawing
|
|
* dfb_input_initialize
|
|
+ input field
|
|
- explore driver module directory
|
|
* init_devices
|
|
- ask each driver for devices
|
|
- unload unused driver modules
|
|
= for each device
|
|
- init local and shared data
|
|
# new input device reactor
|
|
* OpenDevice
|
|
- (allocate device keymap)
|
|
- add to local and shared input device list
|
|
* dfb_gfxcard_initialize
|
|
+ card field
|
|
- explore driver module directory
|
|
- (load/init graphics driver)
|
|
- create surface manager
|
|
O palette pool
|
|
O surface pool
|
|
* dfb_layers_initialize
|
|
+ layers field
|
|
= for each registered layer
|
|
- init shared data
|
|
$ layer property
|
|
* InitLayer
|
|
* dfb_layer_enable (primary layer)
|
|
- ... (TODO)
|
|
* apply_configuration
|
|
- set buffer mode of primary layer
|
|
- set background color of primary layer
|
|
- (set background image of primary layer)
|
|
- (enable mouse cursor)
|