1
1
Fork 0
mirror of https://github.com/QB64Official/qb64.git synced 2024-07-03 10:01:21 +00:00

Indentation only.

This commit is contained in:
FellippeHeitor 2021-01-20 22:18:08 -03:00
parent 933ba12d5b
commit a75adfe519

View file

@ -1,110 +1,110 @@
extern uint32 matchcol(int32 r,int32 g,int32 b);
#ifndef DEPENDENCY_IMAGE_CODEC
//Stub(s):
int32 func__loadimage(qbs *f,int32 bpp,int32 passed);
#else
#ifdef QB64_BACKSLASH_FILESYSTEM
#include "decode\\jpg\\src.c"
#include "decode\\png\\src.c"
#include "decode\\bmp\\src.c"
#include "decode\\other\\src.c" //PNG, TGA, BMP, PSD, GIF, HDR, PIC, PNM(PPM/PGM)
#else
#include "decode/jpg/src.c"
#include "decode/png/src.c"
#include "decode/bmp/src.c"
#include "decode/other/src.c" //PNG, TGA, BMP, PSD, GIF, HDR, PIC, PNM(PPM/PGM)
#endif
int32 func__loadimage(qbs *f,int32 bpp,int32 passed){
if (new_error) return 0;
static int32 isHardware;
isHardware=0; if (bpp==33){bpp=32; isHardware=1;}
//validate bpp
if (passed){
if ((bpp!=32)&&(bpp!=256)){error(5); return 0;}
}else{
if (write_page->text){error(5); return 0;}
bpp=-1;
}
if (!f->len) return -1; //return invalid handle if null length string
if (bpp==256) return -1; //return invalid handle if 256-color mode requested (not valid in this version)
//load the file
int32 fh,result = 0;
int64 lof;
fh=gfs_open(f,1,0,0);
if (fh<0) return -1;
lof=gfs_lof(fh);
static uint8* content;
content=(uint8*)malloc(lof); if (!content){gfs_close(fh); return -1;}
result=gfs_read(fh,-1,content,lof);
gfs_close(fh);
if (result<0){free(content); return -1;}
//Identify format:
static int32 format;
format=0;
//'.png'
if (lof>=8){
if ((content[0]==0x89)&&(content[1]==0x50)&&(content[2]==0x4E)&&(content[3]==0x47)&&
(content[4]==0x0D)&&(content[5]==0x0A)&&(content[6]==0x1A)&&(content[7]==0x0A))
{format=2; goto got_format;}//PNG
}//8
//'.bmp'
if (lof>=6){
if ((content[0]==0x42)&&(content[1]==0x4D)){
if ( (*((int32*)(&content[2]))) == lof ){//length of file
format=3; goto got_format;
}
}//BMP
}//6
//'.jpg' The first two bytes of every JPEG stream are the Start Of Image (SOI) marker values FFh D8h
if (lof>=2){
if ((content[0]==0xFF)&&(content[1]==0xD8)){format=1; goto got_format;}//JP[E]G
}//2
got_format:
static uint8 *pixels;
static int32 x,y;
if (format==1) pixels=image_decode_jpg(content,lof,&result,&x,&y);
if (format==2) pixels=image_decode_png(content,lof,&result,&x,&y);
if (format==3) pixels=image_decode_bmp(content,lof,&result,&x,&y);
if (!(result & 1)) {
pixels=image_decode_other(content,lof,&result,&x,&y);
}
free(content);
if (!(result&1)) return -1;
//...
static int32 i;
static int32 prevDest;
static uint16 scanX, scanY;
static uint8 red, green, blue;
i=func__newimage(x,y,32,1);
if (i==-1){free(pixels); return -1;}
memcpy(img[-i].offset,pixels,x*y*4);
free(pixels);
if (isHardware){
static int32 iHardware;
iHardware=func__copyimage(i,33,1);
sub__freeimage(i,1);
i=iHardware;
}
return i;
}
//Stub(s):
int32 func__loadimage(qbs *f,int32 bpp,int32 passed);
#else
#ifdef QB64_BACKSLASH_FILESYSTEM
#include "decode\\jpg\\src.c"
#include "decode\\png\\src.c"
#include "decode\\bmp\\src.c"
#include "decode\\other\\src.c" //PNG, TGA, BMP, PSD, GIF, HDR, PIC, PNM(PPM/PGM)
#else
#include "decode/jpg/src.c"
#include "decode/png/src.c"
#include "decode/bmp/src.c"
#include "decode/other/src.c" //PNG, TGA, BMP, PSD, GIF, HDR, PIC, PNM(PPM/PGM)
#endif
int32 func__loadimage(qbs *f,int32 bpp,int32 passed){
if (new_error) return 0;
static int32 isHardware;
isHardware=0; if (bpp==33){bpp=32; isHardware=1;}
//validate bpp
if (passed){
if ((bpp!=32)&&(bpp!=256)){error(5); return 0;}
}else{
if (write_page->text){error(5); return 0;}
bpp=-1;
}
if (!f->len) return -1; //return invalid handle if null length string
if (bpp==256) return -1; //return invalid handle if 256-color mode requested (not valid in this version)
//load the file
int32 fh,result = 0;
int64 lof;
fh=gfs_open(f,1,0,0);
if (fh<0) return -1;
lof=gfs_lof(fh);
static uint8* content;
content=(uint8*)malloc(lof); if (!content){gfs_close(fh); return -1;}
result=gfs_read(fh,-1,content,lof);
gfs_close(fh);
if (result<0){free(content); return -1;}
//Identify format:
static int32 format;
format=0;
//'.png'
if (lof>=8){
if ((content[0]==0x89)&&(content[1]==0x50)&&(content[2]==0x4E)&&(content[3]==0x47)&&
(content[4]==0x0D)&&(content[5]==0x0A)&&(content[6]==0x1A)&&(content[7]==0x0A))
{format=2; goto got_format;}//PNG
}//8
//'.bmp'
if (lof>=6){
if ((content[0]==0x42)&&(content[1]==0x4D)){
if ( (*((int32*)(&content[2]))) == lof ){//length of file
format=3; goto got_format;
}
}//BMP
}//6
//'.jpg' The first two bytes of every JPEG stream are the Start Of Image (SOI) marker values FFh D8h
if (lof>=2){
if ((content[0]==0xFF)&&(content[1]==0xD8)){format=1; goto got_format;}//JP[E]G
}//2
got_format:
static uint8 *pixels;
static int32 x,y;
if (format==1) pixels=image_decode_jpg(content,lof,&result,&x,&y);
if (format==2) pixels=image_decode_png(content,lof,&result,&x,&y);
if (format==3) pixels=image_decode_bmp(content,lof,&result,&x,&y);
if (!(result & 1)) {
pixels=image_decode_other(content,lof,&result,&x,&y);
}
free(content);
if (!(result&1)) return -1;
//...
static int32 i;
static int32 prevDest;
static uint16 scanX, scanY;
static uint8 red, green, blue;
i=func__newimage(x,y,32,1);
if (i==-1){free(pixels); return -1;}
memcpy(img[-i].offset,pixels,x*y*4);
free(pixels);
if (isHardware){
static int32 iHardware;
iHardware=func__copyimage(i,33,1);
sub__freeimage(i,1);
i=iHardware;
}
return i;
}
#endif