Annotation of frontvm/hardware/screen.h, revision 1.1

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: 
        !            14: /* WinSTon used NUM_FRAMEBUFFERS=2, but =1 seems to be working better in Hatari... */
        !            15: #define NUM_FRAMEBUFFERS  1
        !            16: 
        !            17: typedef struct
        !            18: {
        !            19:   void *pDrawFunction;              /* Draw function */
        !            20:   /*int DirectDrawMode;*/           /* Mode required for DirectDraw. eg MODE_320x200x256 */
        !            21:   int Width,Height,BitDepth,VertPixelsPerLine;
        !            22:   int PCStartHorizLine,PCStartXOffset;              /* Source ST lines/bytes to skip, Destination screen lines/bytes to skip */
        !            23:   int MouseScale;
        !            24: } SCREENDRAW;
        !            25: 
        !            26: /* Update Palette defines */
        !            27: enum
        !            28: {
        !            29:   UPDATE_PALETTE_NONE,
        !            30:   UPDATE_PALETTE_UPDATE,
        !            31:   UPDATE_PALETTE_FULLUPDATE
        !            32: };
        !            33: 
        !            34: /* Palette mask values for 'HBLPaletteMask[]' */
        !            35: #define PALETTEMASK_RESOLUTION  0x00040000
        !            36: #define PALETTEMASK_PALETTE     0x0000ffff
        !            37: #define PALETTEMASK_UPDATERES   0x20000000
        !            38: #define PALETTEMASK_UPDATEPAL   0x40000000
        !            39: #define PALETTEMASK_UPDATEFULL  0x80000000
        !            40: #define PALETTEMASK_UPDATEMASK  (PALETTEMASK_UPDATEFULL|PALETTEMASK_UPDATEPAL|PALETTEMASK_UPDATERES)
        !            41: 
        !            42: /* Available fullscreen modes */
        !            43: #define NUM_DISPLAYMODEOPTIONS 6
        !            44: enum
        !            45: {
        !            46:   DISPLAYMODE_HICOL_1X,
        !            47:   DISPLAYMODE_HICOL_2X,
        !            48:   DISPLAYMODE_HICOL_SCALE2X
        !            49: };
        !            50: 
        !            51: 
        !            52: /* For palette we don't go from colour '0' as the whole background would change, so go from this value */
        !            53: #define  BASECOLOUR       0x0A
        !            54: #define  BASECOLOUR_LONG  0x0A0A0A0A
        !            55: 
        !            56: extern SCREENDRAW ScreenDraw;
        !            57: extern unsigned char *pScreenBitmap;
        !            58: extern unsigned char *pSTScreen,*pSTScreenCopy;
        !            59: extern unsigned char *pPCScreenDest;
        !            60: extern int STScreenStartHorizLine,STScreenEndHorizLine;
        !            61: extern int PCScreenBytesPerLine,STScreenWidthBytes,STScreenLeftSkipBytes;
        !            62: extern BOOL bInFullScreen;
        !            63: extern BOOL bFullScreenHold;
        !            64: extern BOOL bScreenContentsChanged;
        !            65: extern BOOL bTooSlowSoSkipAFlip;
        !            66: extern int STScreenLineOffset[SCREEN_HEIGHT_HBL];
        !            67: extern unsigned long MainRGBPalette[256];
        !            68: extern unsigned long CtrlRGBPalette[16];
        !            69: 
        !            70: extern unsigned long ST2RGB[2048];
        !            71: extern SDL_Surface *sdlscrn;
        !            72: extern BOOL bGrabMouse;
        !            73: 
        !            74: /* palette length changes as dynamic colours change */
        !            75: extern int len_main_palette;
        !            76: extern unsigned short MainPalette[256];
        !            77: extern unsigned short CtrlPalette[16];
        !            78: 
        !            79: extern void Screen_Init(void);
        !            80: extern void Screen_UnInit(void);
        !            81: extern void Screen_Reset(void);
        !            82: extern void Screen_SetWindowRes();
        !            83: extern void Screen_SetScreenLineOffsets(void);
        !            84: extern void Screen_SetFullUpdate(void);
        !            85: extern void Screen_SetupRGBTable(void);
        !            86: extern void Screen_EnterFullScreen(void);
        !            87: extern void Screen_ReturnFromFullScreen(void);
        !            88: extern void Screen_ClearScreen(void);
        !            89: extern void Screen_SetDrawModes(void);
        !            90: extern void Screen_Blit(BOOL bSwapScreen);
        !            91: extern void Screen_DrawFrame(BOOL bForceFlip);
        !            92: extern void Screen_Draw(unsigned long _dummy);
        !            93: 
        !            94: #endif  /* ifndef HATARI_SCREEN_H */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.