1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- #ifndef RESOR_H_INCLUDED
- #define RESOR_H_INCLUDED
- #include "rebox.h"
- enum ResorKind_ {
- RESOR_NONE = 0,
- RESOR_BITMAP = 1,
- RESOR_FONT = 2,
- RESOR_AUDIO_STREAM = 3,
- RESOR_SAMPLE = 4,
- RESOR_CONFIG = 5,
- RESOR_OTHER = 8,
- RESOR_TILEMAP = 9,
- };
- enum ResorStatus_ {
- RESOR_OK = 0,
- RESOR_EMPTY = 1,
- RESOR_ENOENT = 2,
- RESOR_ENOMEM = 3,
- RESOR_NULL = 4,
- };
- typedef enum ResorKind_ ResorKind;
- typedef enum ResorStatus_ ResorStatus;
- typedef union ResorData_ ResorData;
- typedef struct Resor_ Resor;
- union ResorData_ {
- ALLEGRO_BITMAP * bitmap;
- ALLEGRO_FONT * font;
- ALLEGRO_SAMPLE * sample;
- ALLEGRO_AUDIO_STREAM * stream;
- ALLEGRO_CONFIG * config;
- void * other;
- };
- typedef int ResorDestructor(Resor * self);
- typedef void* ResorLoader(const char * vpath, void * extra);
- ALLEGRO_SAMPLE *resor_sample(Resor *self);
- ALLEGRO_AUDIO_STREAM *resor_audio_stream(Resor *self);
- ALLEGRO_BITMAP *resor_bitmap(Resor *self);
- ALLEGRO_FONT *resor_font(Resor *self);
- void * resor_other(Resor * self, unsigned kind);
- Resor *
- resor_grab_font_from_resor(Resor * res, int count, int ranges[]);
- Resor *resor_load_bitmap(const char *vpath);
- Resor *resor_load_bitmap_flags(const char *vpath,int flags);
- Resor *resor_load_sample(const char *vpath);
- Resor *resor_load_audio_stream(const char *vpath,size_t buffer_count,int samples);
- Resor *resor_load_bitmap_font(const char *vpath);
- Resor *resor_load_bitmap_font_flags(const char *vpath,int flags);
- Resor *resor_load_ttf_font(const char *vpath,int h,int flags);
- Resor *resor_load_ttf_font_stretch(const char *vpath,int w,int h,int flags);
- Resor *
- resor_load_other(const char *vpath, ResorKind kind,
- ResorLoader * loader, ResorDestructor * destroy, void *extra);
- Resor *resor_new_audio_stream(ALLEGRO_AUDIO_STREAM *stream);
- Resor *resor_new_sample(ALLEGRO_SAMPLE *sample);
- Resor *resor_new_bitmap(ALLEGRO_BITMAP *bitmap);
- Resor *resor_new_font(ALLEGRO_FONT *font);
- Resor *resor_new(ResorKind kind,ResorData data,ResorDestructor *free);
- Resor *resor_new_other(ResorKind kind, void * data, ResorDestructor * free);
- Resor *resor_alloc();
- Resor *resor_init(Resor *self,ResorKind kind,ResorData data,ResorDestructor *free);
- int resor_kind(Resor *self);
- int resor_free(Resor *self);
- int resor_done(Resor *self);
- bool resor_get_bitmap_format(Resor *self,int *value);
- bool resor_get_bitmap_flags(Resor *self,int *value);
- bool resor_get_bitmap_height(Resor *self,int *value);
- bool resor_get_bitmap_width(Resor *self,int *value);
- bool resor_get_ustr_dimensions(Resor *self,ALLEGRO_USTR *text,Rebox *value);
- bool resor_get_ustr_width(Resor *self,ALLEGRO_USTR *text,int *value);
- bool resor_get_text_dimensions(Resor *self,char *text,Rebox *value);
- bool resor_get_text_width(Resor *self,char *text,int *value);
- bool resor_get_font_line_height(Resor *self,int *value);
- bool resor_get_font_descent(Resor *self,int *value);
- bool resor_get_font_ascent(Resor *self,int *value);
- #endif /* RESOR_H_INCLUDED */
|