mirror of
https://github.com/openharmony/graphic_utils.git
synced 2026-07-01 21:44:51 -04:00
4.0 KiB
4.0 KiB
Utils
Introduction
The Utils module defines the common data structure in the graphics subsystem and provides a lite OS adaptation layer, which includes the lock, thread, and file system.
Figure 1 Dependency between modules of the graphics subsystem

Directory Structure
/foundation/graphic/utils
├── frameworks # Framework code
│ ├── hals # Hardware adaptation layer
│ ├── linux # Linux platform adaptation layer
│ ├── liteos # LiteOS platform adaptation layer
│ └── windows # Windows platform adaptation layer
├── interfaces # APIs
│ ├── innerkits # APIs between modules
│ │ └── hals # APIs of the hardware adaptation layer
│ └── kits # External APIs
└── test # Unit testing
Compilation and Building
# Generate the libgraphic_utils.so file in the out directory of the product folder through GN compilation.
hb build lite_graphic_utils
Description
Usage
- Utils is used in UI, surface, and WMS modules. For details, see the related source code.
- The test folder provides unit testing for each utils API. Refer to it for the usage of utils.
Repositories Involved
/hmf/graphic/surface
/hmf/graphic/wms
/hmf/graphic/ui
Hals
Introduction
The Hals module adapts and encapsulates the functions related to the driver subsystem and platform, including FrameBuffer, graphics (GFX), and single instruction, multiple data (SIMD).
Figure 1 Dependency between modules of the graphics subsystem and that between graphics modules and the driver subsystem

Directory Structure
/foundation/graphic/utils
├── frameworks # Framework code
│ ├── hals # Hardware adaptation layer
│ ├── linux # Linux platform adaptation layer
│ ├── liteos # LiteOS platform adaptation layer
│ └── windows # Windows platform adaptation layer
├── interfaces # APIs
│ ├── innerkits # APIs between modules
│ │ └── hals # APIs of the hardware adaptation layer
│ └── kits # External APIs
└── test # Unit testing
Compilation and Building
# Generate the libgraphic_hals.so file in the out directory of the product folder through GN compilation.
hb build lite_graphic_utils
Description
Usage
- Hals is used in UI, surface, and WMS modules. For details, see the related source code.
Repositories Involved
/hmf/graphic/surface
/hmf/graphic/wms
/hmf/graphic/ui