Picasso API 2.5
picasso_image.h
Go to the documentation of this file.
1
18#ifndef _PICASSO_EXT_IMAGE_DECODERS_H_
19#define _PICASSO_EXT_IMAGE_DECODERS_H_
20
21#include "picasso.h"
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
53
71
77#define IMG_OBJ(image) IMG_OBJ_AT_INDEX(image, 0)
78
84#define IMG_DATA(image) IMG_DATA_AT_INDEX(image, 0)
85
91#define IMG_DATA_SIZE(image) IMG_DATA_SIZE_AT_INDEX(image, 0)
92
98#define IMG_OBJ_AT_INDEX(image, idx) (image->frames[idx].img)
99
105#define IMG_DATA_AT_INDEX(image, idx) (image->frames[idx].data)
106
112#define IMG_DATA_SIZE_AT_INDEX(img, idx) (img->frames[idx].size)
113
119#define IMG_DURATION_AT_INDEX(img, idx) (img->frames[idx].duration)
120
124enum {
126 S_OK = 0,
137};
138
154PEXPORT int PICAPI psx_image_init(void);
155
164PEXPORT int PICAPI psx_image_shutdown(void);
165
185 int width, int height, int pitch, int* err_code);
186
199PEXPORT psx_image* PICAPI psx_image_load(const char* file_name, int* err_code);
200
214PEXPORT psx_image* PICAPI psx_image_load_from_memory(const ps_byte* data, size_t length, int* err_code);
215
219typedef int (*image_writer_fn)(void* param, const ps_byte* data, size_t length);
220
235PEXPORT int PICAPI psx_image_save(const psx_image* image, image_writer_fn func,
236 void* param, const char* type, float quality);
237
251PEXPORT int PICAPI psx_image_save_to_file(const psx_image* image, const char* file_name,
252 const char* type, float quality);
253
264PEXPORT int PICAPI psx_image_destroy(psx_image* image);
269#ifdef __cplusplus
270}
271#endif
272
273#endif /*_PICASSO_EXT_IMAGE_DECODERS_H_*/
enum _ps_color_format ps_color_format
Pixel formats of canvas or image.
uint8_t ps_byte
byte data type
Definition picasso.h:95
PEXPORT int PICAPI psx_image_destroy(psx_image *image)
Destroy the psx_image object and release resources.
PEXPORT int PICAPI psx_image_init(void)
Initialze the library and load resources.
PEXPORT psx_image *PICAPI psx_image_load_from_memory(const ps_byte *data, size_t length, int *err_code)
Create a new psx_image object and load data from memory.
PEXPORT int PICAPI psx_image_shutdown(void)
Release resources and shutdoen.
PEXPORT psx_image *PICAPI psx_image_load(const char *file_name, int *err_code)
Create a new psx_image object and load from file.
PEXPORT int PICAPI psx_image_save(const psx_image *image, image_writer_fn func, void *param, const char *type, float quality)
Encoding psx_image to a gaving format and output it.
PEXPORT int PICAPI psx_image_save_to_file(const psx_image *image, const char *file_name, const char *type, float quality)
Encoding psx_image to a gaving format and output to a file.
int(* image_writer_fn)(void *param, const ps_byte *data, size_t length)
Callback function for saving image data.
PEXPORT psx_image *PICAPI psx_image_create_from_data(ps_byte *data, ps_color_format fmt, int width, int height, int pitch, int *err_code)
Create a new psx_image using a copy of given address in memory.
struct _ps_image ps_image
An opaque type represents an image.
Definition picasso.h:123
struct _psx_image_frame psx_image_frame
A frame image data.
struct _psx_image psx_image
A image object.
@ S_BAD_PARAMS
@ S_INIT_FAILURE
@ S_OUT_OF_MEMORY
@ S_FAILURE
@ S_NOT_SUPPORT
@ S_OK
A frame image data.
A image object.
psx_image_frame * frames
ps_color_format format
size_t num_frames