/* vim:expandtab:ts=2 sw=2: */ /* Grafx2 - The Ultimate 256-color bitmap paint program Copyright 2019 Thomas Bernard Copyright 2007-2018 Adrien Destugues Copyright 1996-2001 Sunset Design (Guillaume Dorme & Karl Maritaud) Grafx2 is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. Grafx2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Grafx2; if not, see */ #include #include #include "../loadsave.h" #include "../global.h" #include "../gfx2log.h" void Pre_load(T_IO_Context *context, short width, short height, long file_size, int format, enum PIXEL_RATIO ratio, byte bpp) { printf("Pre_load(%p, %hd, %hd, %ld, %d, %d, %hhu)\n", context, width, height, file_size, format, ratio, bpp); context->Width = width; context->Height = height; if (bpp > 8) { fprintf(stderr, "Truecolor not supported yet\n"); File_error = 1; } if (context->Type == CONTEXT_SURFACE) { if (context->Surface) Free_GFX2_Surface(context->Surface); context->Surface = New_GFX2_Surface(width, height); if (context->Surface == NULL) File_error = 1; } } byte Get_pixel(T_IO_Context *context, short x, short y) { if (context->Type == CONTEXT_SURFACE) return Get_GFX2_Surface_pixel(context->Surface, x, y); return 0; } void Pixel_in_layer(int layer, word x, word y, byte color) { (void)layer; (void)x; (void)y; (void)color; } void Set_pixel(T_IO_Context *context, short x, short y, byte c) { if (context->Type == CONTEXT_SURFACE) { if (context->Surface == NULL) { GFX2_Log(GFX2_ERROR, "Set_pixel() : no Surface allocated\n"); File_error = 1; } if ((x < 0) || (x >= context->Surface->w) || (y < 0) || (y >= context->Surface->h)) { GFX2_Log(GFX2_WARNING, "Set_pixel() : position %(%hd,%hd) is outside of the image\n", x, y); return; } Set_GFX2_Surface_pixel(context->Surface, x, y, c); } } void Set_pixel_24b(T_IO_Context *context, short x, short y, byte r, byte g, byte b) { (void)context; (void)x; (void)y; (void)r; (void)g; (void)b; } void Fill_canvas(T_IO_Context *context, byte color) { printf("Fill_canvas(%p, %hhu)\n", context, color); } void Set_saving_layer(T_IO_Context *context, int layer) { printf("Set_saving_layer(%p, %d)\n", context, layer); } void Set_loading_layer(T_IO_Context *context, int layer) { (void)context; (void)layer; //printf("Set_loading_layer(%p, %d)\n", context, layer); } void Set_image_mode(T_IO_Context *context, enum IMAGE_MODES mode) { printf("Set_image_mode(%p, %d)\n", context, mode); } enum IMAGE_MODES Get_image_mode(T_IO_Context *context) { (void)context; return -1; } void Set_frame_duration(T_IO_Context *context, int duration) { printf("Set_frame_duration(%p, %d)\n", context, duration); } int Get_frame_duration(T_IO_Context *context) { (void)context; return 0; }