--- SheepShaver/src/include/video.h 2005/01/30 21:48:21 1.11 +++ SheepShaver/src/include/video.h 2008/06/25 02:52:22 1.15 @@ -1,7 +1,7 @@ /* * video.h - Video/graphics emulation * - * SheepShaver (C) 1997-2005 Marc Hellwig and Christian Bauer + * SheepShaver (C) 1997-2008 Marc Hellwig and Christian Bauer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -90,8 +90,9 @@ enum { // viAppleID APPLE_1152x900, APPLE_1280x1024, APPLE_1600x1200, + APPLE_CUSTOM, APPLE_ID_MIN = APPLE_640x480, - APPLE_ID_MAX = APPLE_1600x1200 + APPLE_ID_MAX = APPLE_CUSTOM }; enum { // Display type @@ -117,10 +118,14 @@ struct VidLocals{ uint32 maxGammaTableSize; // Biggest gamma table allocated uint32 saveVidParms; bool luminanceMapping; // Luminance mapping on/off - int32 cursorX; // Hardware cursor state. Unused, but must be remembered + bool cursorHardware; // True if using hardware cursor + int32 cursorX; // Hardware cursor state int32 cursorY; uint32 cursorVisible; uint32 cursorSet; + bool cursorHotFlag; + uint8 cursorHotX; + uint8 cursorHotY; uint32 vslServiceID; // VSL interrupt service ID bool interruptsEnabled; // VBL interrupts on/off uint32 regEntryID; // Mac address of the service owner @@ -138,6 +143,7 @@ extern void video_set_palette(void); extern void video_set_cursor(void); extern bool video_can_change_cursor(void); extern int16 video_mode_change(VidLocals *csSave, uint32 ParamPtr); +extern void video_set_dirty_area(int x, int y, int w, int h); extern int16 VSLDoInterruptService(uint32 arg1); extern void NQDMisc(uint32 arg1, uintptr arg2); @@ -146,6 +152,7 @@ extern void NQDMisc(uint32 arg1, uintptr extern bool NQD_sync_hook(uint32); extern bool NQD_bitblt_hook(uint32); extern bool NQD_fillrect_hook(uint32); +extern bool NQD_unknown_hook(uint32); extern void NQD_bitblt(uint32); extern void NQD_invrect(uint32); extern void NQD_fillrect(uint32);