add a readme
This commit is contained in:
@@ -14,6 +14,7 @@ extern "C" {
|
||||
|
||||
ALLEGRO_BITMAP* _al_load_qoi_f(ALLEGRO_FILE* file, int flags) {
|
||||
qoi_desc meta;
|
||||
ALLEGRO_PIXEL_FORMAT fmt;
|
||||
uint8_t* file_bytes = malloc(al_fsize(file));
|
||||
memset(file_bytes, 0, al_fsize(file));
|
||||
void* file_pos = file_bytes;
|
||||
@@ -27,10 +28,15 @@ ALLEGRO_BITMAP* _al_load_qoi_f(ALLEGRO_FILE* file, int flags) {
|
||||
|
||||
int oldflags = al_get_new_bitmap_flags();
|
||||
al_set_new_bitmap_flags(flags);
|
||||
switch (meta.channels) {
|
||||
case 3: fmt = ALLEGRO_PIXEL_FORMAT_BGR_888; break;
|
||||
case 4: fmt = ALLEGRO_PIXEL_FORMAT_ABGR_8888; break;
|
||||
default: free(data); return NULL; break;
|
||||
}
|
||||
ALLEGRO_BITMAP* bmp = al_create_bitmap(meta.width, meta.height);
|
||||
ALLEGRO_LOCKED_REGION* lock = al_lock_bitmap(
|
||||
bmp,
|
||||
ALLEGRO_PIXEL_FORMAT_ABGR_8888,
|
||||
fmt,
|
||||
ALLEGRO_LOCK_WRITEONLY
|
||||
);
|
||||
al_set_new_bitmap_flags(oldflags);
|
||||
|
||||
Reference in New Issue
Block a user