|
|
1.1 root 1: /*
2: Hatari - hostscreen.h
3:
4: This file is distributed under the GNU Public License, version 2 or at
5: your option any later version. Read the file gpl.txt for details.
6: */
7:
8: #ifndef HATARI_HOSTSCREEN_H
9: #define HATARI_HOSTSCREEN_H
10:
11: #include <SDL.h>
12:
13: #include "araglue.h"
14:
15: /**
16: * This macro handles the endianity for 24 bit per item data
17: **/
18: #if SDL_BYTEORDER == SDL_BIG_ENDIAN
19:
20: #define putBpp24Pixel( address, color ) \
21: { \
22: ((Uint8*)(address))[0] = ((color) >> 16) & 0xff; \
23: ((Uint8*)(address))[1] = ((color) >> 8) & 0xff; \
24: ((Uint8*)(address))[2] = (color) & 0xff; \
25: }
26:
27: #define getBpp24Pixel( address ) \
1.1.1.2 ! root 28: ( ((Uint32)(address)[0] << 16) | ((Uint32)(address)[1] << 8) | (Uint32)(address)[2] )
1.1 root 29:
30: #else
31:
32: #define putBpp24Pixel( address, color ) \
33: { \
34: ((Uint8*)(address))[0] = (color) & 0xff; \
35: ((Uint8*)(address))[1] = ((color) >> 8) & 0xff; \
36: ((Uint8*)(address))[2] = ((color) >> 16) & 0xff; \
37: }
38:
39: #define getBpp24Pixel( address ) \
1.1.1.2 ! root 40: ( ((Uint32)(address)[2] << 16) | ((Uint32)(address)[1] << 8) | (Uint32)(address)[0] )
1.1 root 41:
42: #endif
43:
44:
45: extern void HostScreen_Init(void);
46: extern void HostScreen_UnInit(void);
47: extern void HostScreen_toggleFullScreen(void);
1.1.1.2 ! root 48: extern bool HostScreen_renderBegin(void);
1.1 root 49: extern void HostScreen_renderEnd(void);
1.1.1.2 ! root 50: extern void HostScreen_update1(bool forced);
1.1 root 51: extern void HostScreen_update0(void);
1.1.1.2 ! root 52: extern Uint32 HostScreen_getBpp(void); /* Bytes per pixel */
! 53: extern Uint32 HostScreen_getBitsPerPixel(void);
! 54: extern Uint32 HostScreen_getPitch(void);
! 55: extern Uint32 HostScreen_getWidth(void);
! 56: extern Uint32 HostScreen_getHeight(void);
! 57: extern Uint8 * HostScreen_getVideoramAddress(void);
! 58: extern void HostScreen_setPaletteColor(Uint8 idx, Uint32 red, Uint32 green, Uint32 blue);
! 59: extern Uint32 HostScreen_getPaletteColor(Uint8 idx);
! 60: extern void HostScreen_updatePalette(Uint16 colorCount);
! 61: extern Uint32 HostScreen_getColor(Uint32 red, Uint32 green, Uint32 blue);
! 62: extern void HostScreen_setWindowSize(Uint32 width, Uint32 height, Uint32 bpp);
! 63: extern void HostScreen_bitplaneToChunky(Uint16 *atariBitplaneData, Uint16 bpp, Uint8 colorValues[16]);
1.1 root 64:
65: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.