GK SDK 源码库: XMIPCLinuxV100R005C00SPC030 (kernel/tools/open_source excluded)
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
/*!
|
||||
*****************************************************************************
|
||||
** file osd.h
|
||||
**
|
||||
** version 2016-05-08 18:43 heyong -> v1.0
|
||||
**
|
||||
** brief the canvas operations define.
|
||||
**
|
||||
** attention THIS SAMPLE CODE IS PROVIDED AS IS. GOKE MICROELECTRONICS
|
||||
** ACCEPTS NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR
|
||||
** OMMISSIONS
|
||||
**
|
||||
** (C) Copyright 2016-2020 BY GOKE MICROELECTRONICS CO.,LTD
|
||||
**
|
||||
*****************************************************************************
|
||||
*/
|
||||
#ifndef _CANVAS_H_
|
||||
#define _CANVAS_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define MAX_CANVAS_NUMS (3)
|
||||
|
||||
#define LITTLE_ENDIAN_ALIGNED(__val, __align) ( (__val) & ~((__align)-1u) )
|
||||
#define BIG_ENDIAN_ALIGNED(__val, __align) LITTLE_ENDIAN_ALIGNED((__val) + (__align) - 1, (__align))
|
||||
|
||||
|
||||
#ifndef ROUND_UP
|
||||
#define ROUND_UP(x, n) ( ((x)+(n)-1u) & ~((n)-1u) )
|
||||
#endif
|
||||
|
||||
typedef union canvas_pixel_format_s {
|
||||
int argb8888;
|
||||
struct {
|
||||
unsigned char blue, green, red, alpha;
|
||||
};
|
||||
} canvas_pixel_t;
|
||||
|
||||
typedef struct canvas_s {
|
||||
int width;
|
||||
int height;
|
||||
void* pixels;
|
||||
int width_min, height_min, height_max;
|
||||
unsigned char* image;
|
||||
} canvas_t;
|
||||
|
||||
canvas_t *canvas_init(int width, int height);
|
||||
int canvas_init_obj(canvas_t *canvas, int width, int height);
|
||||
int canvas_deinit(canvas_t *canvas);
|
||||
|
||||
int canvas_put_pixel(canvas_t *canvas, int x, int y, canvas_pixel_t pixel);
|
||||
int canvas_get_pixel(canvas_t *canvas, int x, int y, canvas_pixel_t *pixel);
|
||||
|
||||
int canvas_match_pixel(canvas_t *canvas, canvas_pixel_t pixel1, canvas_pixel_t pixel2);
|
||||
|
||||
void canvas_clear(canvas_t *canvas);
|
||||
|
||||
canvas_t *canvas_init_by_bmp24file(const char *bmp24_path);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _CANVAS_H_ */
|
||||
|
||||
Reference in New Issue
Block a user