# Graphics Subsystem - [Overview](#section5243712115918) - [Directory Structure](#section99241319175914) - [Constraints](#section37625514114) - [Adding a UI Component](#section266451716115) - [Repositories Involved](#section78781240113620) ## Overview The graphics subsystem mainly includes user interface \(UI\) components, layout, animator, font, input event, window management, rendering and drawing modules. It builds an application framework based on the LiteOS to develop applications on Internet of Things \(IoT\) devices with small hardware resources. Module description: - Components: provides application components, including the UIView, UIViewGoup, UIButton, UILabel, UILabelButton, UIList, and UISlider. - Layout: lays out components, including Flexlayout, GridLayout, and ListLayout. - Animator: defines functions for customizing animators. - Fonts: defines functions related to fonts. - Event: processes basic events, including click, press, drag, and long press. - Tasks: manages tasks. - Input: processes input events. - Display: processes display events. - Render: renders and draws components. - Draw2d: draws lines, rectangles, circles, arcs, images, and texts, and connects to platforms and devices with software rendering and hardware acceleration capabilities. - Surface: applies for and releases shared memory. - Window: manages windows, including creating, showing, hiding a window, and combining windows. - Adapter: connects to underlying interfaces of the adaptation layer. ## Directory Structure **Table 1** Source code directory structure of the graphics subsystem