How arm-software/arm-2d works
Arm-2D is an embedded 2.5D image-processing library, not a GUI. Its documented workflow accepts application operations through API wrappers, validates and simplifies them in a frontend, then dispatches low-level pixel algorithms to software, Helium SIMD, or optional hardware acceleration. The tree also shows helper services for display/frame handling and scene-oriented applications. Relationships among unsampled subsystems are omitted unless the README documents them; the graph is therefore a product map, not a complete call graph.
Main entry points: arm_2d.h API wrappers · __arm_2d_impl.h Pixel backend · arm_2d.c Task frontend · arm_2d_helium.c Helium SIMD
Components 18
Pixel pipeline
- API wrappers
Library/Include/arm_2d.h - Task frontend
Library/Source/arm_2d.c - Pixel backend
Library/Include/__arm_2d_impl.h
Image operations
- Tiles and regions
Library/Include/arm_2d_tile.h - Drawing
Library/Source/arm_2d_draw.c - Alpha and masks
Library/Include/arm_2d_alpha_blending.h - Colour conversion
Library/Source/arm_2d_conversion.c - Transform and blit
Library/Include/arm_2d_transform.h - Image filters
Library/Source/arm_2d_filter.c
Acceleration
- Software algorithms
Library/Source/__arm_2d_fill_colour_with_alpha_gradient_and_mask.c - Helium SIMD
Library/Source/arm_2d_helium.c - RGB565 accelerator
Acceleration/Arm/ACI/arm_2d_rgb565_aci_lib.c
Display helpers
- Partial frame buffer
Helper/Source/arm_2d_helper_pfb.c - Display adapter
Helper/template/arm_2d_disp_adapter.c - Scene support
Helper/Source/arm_2d_helper_scene.c - Helper lists
Helper/Source/arm_2d_helper_list.c
Other components
- Application engineer
- Display framebuffer
Connections 17
- Application engineer → API wrappers: uses operations
README.md - API wrappers → Task frontend: creates tasks
README.md - Task frontend → Pixel backend: simplifies tasks
README.md - Pixel backend → Software algorithms: runs algorithms
README.md - Pixel backend → Helium SIMD: uses SIMD
README.md - Pixel backend → RGB565 accelerator: supports accelerators
README.md - Pixel backend → Display framebuffer: processes pixels
README.md - API wrappers → Tiles and regions: exposes tile APIs
Library/Include/arm_2d.h - API wrappers → Drawing: exposes drawing
Library/Include/arm_2d.h - API wrappers → Alpha and masks: exposes blending
Library/Include/arm_2d.h - API wrappers → Colour conversion: exposes conversion
Library/Include/arm_2d.h - API wrappers → Transform and blit: exposes transforms
Library/Include/arm_2d.h - API wrappers → Image filters: exposes filters
Library/Include/arm_2d.h - Helium SIMD → Transform and blit: implements SIMD transforms
Library/Source/arm_2d_helium.c - Partial frame buffer → Display adapter: provides frame data
- Scene support → Partial frame buffer: uses frame service
- Helper lists → Scene support: supports scene lists