# graphic_utils
**Repository Path**: aiyongfu/graphic_utils
## Basic Information
- **Project Name**: graphic_utils
- **Description**: Graphic fundamental components | 图形基础组件
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 146
- **Created**: 2021-06-10
- **Last Updated**: 2021-06-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Utils
- [Introduction](#section11660541593)
- [Directory Structure](#section161941989596)
- [Compilation and Building](#section137768191623)
- [Description](#section1312121216216)
- [Usage](#section129654513264)
- [Repositories Involved](#section1371113476307)
## 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
[Graphic subsystem](https://gitee.com/openharmony/docs/blob/master/en/readme/graphics-subsystem.md)
[graphic_wms](https://gitee.com/openharmony/graphic_wms/blob/master/README.md)
[graphic_surface](https://gitee.com/openharmony/graphic_surface/blob/master/README.md)
[graphic_ui](https://gitee.com/openharmony/graphic_ui/blob/master/README.md)
# Hals
- [Introduction](#section11660541593)
- [Directory Structure](#section161941989596)
- [Compilation and Building](#section137768191623)
- [Description](#section1312121216216)
- [Usage](#section129654513264)
- [Repositories Involved](#section1371113476307)
## 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
[Graphic subsystem](https://gitee.com/openharmony/docs/blob/master/en/readme/graphics-subsystem.md)
[graphic_wms](https://gitee.com/openharmony/graphic_wms/blob/master/README.md)
[graphic_surface](https://gitee.com/openharmony/graphic_surface/blob/master/README.md)
[graphic_ui](https://gitee.com/openharmony/graphic_ui/blob/master/README.md)
**graphic_utils**