|
|
1.1 ! root 1: /* ! 2: Hatari - screen.h ! 3: ! 4: This file is distributed under the GNU Public License, version 2 or at your ! 5: option any later version. Read the file gpl.txt for details. ! 6: */ ! 7: ! 8: #ifndef HATARI_SCREEN_H ! 9: #define HATARI_SCREEN_H ! 10: ! 11: #include <SDL_video.h> /* for SDL_Surface */ ! 12: ! 13: extern unsigned long VideoBase; ! 14: extern unsigned char *VideoRaster; ! 15: ! 16: extern unsigned int MainRGBPalette[256]; ! 17: extern unsigned int CtrlRGBPalette[16]; ! 18: extern int fe2_bgcol; ! 19: ! 20: extern SDL_Surface *sdlscrn; ! 21: extern BOOL bGrabMouse; ! 22: extern BOOL bInFullScreen; ! 23: enum RENDERERS { ! 24: R_OLD, ! 25: R_GLWIRE, ! 26: R_GL, ! 27: R_MAX ! 28: }; ! 29: extern enum RENDERERS use_renderer; ! 30: ! 31: /* palette length changes as dynamic colours change */ ! 32: extern int len_main_palette; ! 33: extern unsigned short MainPalette[256]; ! 34: extern unsigned short CtrlPalette[16]; ! 35: ! 36: /* XXX this crap is only needed for the software renderer */ ! 37: /* Do not use directly - they are just locations in STRam */ ! 38: extern unsigned long logscreen, logscreen2, physcreen, physcreen2; ! 39: /* Use these instead. They read the value */ ! 40: #define LOGSCREEN (STRam + STMemory_ReadLong (logscreen)) ! 41: #define LOGSCREEN2 (STRam + STMemory_ReadLong (logscreen2)) ! 42: #define PHYSCREEN (STRam + STMemory_ReadLong (physcreen)) ! 43: #define PHYSCREEN2 (STRam + STMemory_ReadLong (physcreen2)) ! 44: ! 45: /* Returns new xpos */ ! 46: extern int DrawStr (int xpos, int ypos, int col, unsigned char *str, bool shadowed); ! 47: ! 48: extern void Screen_Init(void); ! 49: extern void Screen_UnInit(void); ! 50: extern void Screen_ToggleFullScreen (void); ! 51: extern void Screen_ToggleRenderer (); ! 52: ! 53: extern void Nu_PutComplexStart (); ! 54: extern void Nu_PutTriangle (); ! 55: extern void Nu_PutQuad (); ! 56: extern void Nu_PutLine (); ! 57: extern void Nu_PutPoint (); ! 58: extern void Nu_PutTwinklyCircle (); ! 59: extern void Nu_PutCircle (); ! 60: extern void Nu_PutColoredPoint (); ! 61: extern void Nu_PutBezierLine (); ! 62: extern void Nu_ComplexStart (); ! 63: extern void Nu_ComplexSNext (); ! 64: extern void Nu_ComplexSBegin (); ! 65: extern void Nu_ComplexEnd (); ! 66: extern void Nu_3DViewInit (); ! 67: extern void Nu_InsertZNode (); ! 68: extern void Nu_ComplexStartInner (); ! 69: extern void Nu_ComplexBezier (); ! 70: extern void Nu_DrawScreen (); ! 71: extern void Nu_PutTeardrop (); ! 72: extern void Nu_PutOval (); ! 73: extern void Nu_IsGLRenderer (); ! 74: extern void Nu_GLClearArea (); ! 75: extern void Nu_QueueDrawStr (); ! 76: extern void Nu_PutCylinder (); ! 77: extern void Nu_PutBlob (); ! 78: extern void Nu_PutPlanet (); ! 79: ! 80: extern int screen_w; ! 81: extern int screen_h; ! 82: extern int mouse_shown; ! 83: extern float hack; ! 84: ! 85: #endif /* ifndef HATARI_SCREEN_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.