Files
2026-01-15 16:49:53 -05:00

42 lines
970 B
C

#ifndef DISPLAY_H
#define DISPLAY_H
#include "main.h"
#define DISPLAY_WIDTH 240
#define DISPLAY_HEIGHT 320
#define PIXEL_FORMAT_565
//#define PIXEL_FORMAT_888
typedef uint16_t rgb565_pixel_t;
typedef uint32_t rgb888_pixel_t;
#ifdef PIXEL_FORMAT_565
typedef rgb565_pixel_t pixel_t;
#define PIXEL_RED(p) (((p) >> 11) & 0x1F)
#define PIXEL_GREEN(p) (((p) >> 5) & 0x3F)
#define PIXEL_BLUE(p) ((p) & 0x1F)
#define MAKE_PIXEL(r,g,b) \
((((r & 0xFF) >> 3) << 11) | (((g & 0xFF) >> 2) << 5) | ((b & 0xFF) >> 3))
#endif // PIXEL_FORMAT_565
#ifdef PIXEL_FORMAT_888
typedef rgb888_pixel_t pixel_t;
#define PIXEL_RED(p) (((p) >> 16) & 0xFF)
#define PIXEL_GREEN(p) (((p) >> 8) & 0xFF)
#define PIXEL_BLUE(p) ((p) & 0xFF)
#define MAKE_PIXEL(r,g,b) \
(((r & 0xFF) << 16) | ((g & 0xFF) << 8) | (b & 0xFF))
#endif // PIXEL_FORMAT_888
extern volatile pixel_t *current_framebuffer;
extern volatile pixel_t *next_framebuffer;
void swap_framebuffers(void);
#endif