fxengine/include/render/bitmap.h

52 lines
1.1 KiB
C
Raw Normal View History

2019-08-28 16:40:40 +02:00
#include <stdint.h>
#include <stdbool.h>
/* bitmap codé bit à bit
0 dans layout -> transparent
1 dans layout -> 1 dans color -> noir
0 dans color -> blanc */
2019-08-29 14:07:02 +02:00
/** bitmap rich type
* @warning Monochrome only !
* transparency is in the layout
*/
struct bitmap_rich
2019-08-28 16:40:40 +02:00
{
2019-08-29 14:07:02 +02:00
uint32_t size_px_x;
uint32_t size_px_y;
uint32_t size_o_y;
2019-08-28 16:40:40 +02:00
2019-08-29 14:07:02 +02:00
uint32_t * color;
uint32_t * layout;
2019-08-28 19:55:39 +02:00
};
2019-08-29 14:07:02 +02:00
typedef struct bitmap_rich bitmap_rich;
/** get the color of pixel from rich bitmap
* @return the color coded in a unsigned char :
* if (color >> 1)
* switch (color%2)
* {
* case 0:
* // WHITE
* break;
* case 1:
* // BLACK
* }
* else
* // TRANSPARENT
* @param the bitmap
* @param x coordinate
* @param y coordinate
*/
inline uint8_t bitmap_get_pixel_r(const bitmap_rich * bmp, uint32_t x, uint32_t y);
/** display a pixel from rich bitmap
* // TRANSPARENT
* @param the bitmap
* @param x coordinate
* @param y coordinate
*/
void bitmap_display_pixel_r(const bitmap_rich * bmp, uint32_t bmp_x, uint32_t bmp_y, uint32_t x, uint32_t y);
2019-08-28 19:55:39 +02:00