ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/SheepShaver/src/include/video.h
(Generate patch)

Comparing SheepShaver/src/include/video.h (file contents):
Revision 1.2 by cebix, 2004-01-12T15:37:23Z vs.
Revision 1.12 by gbeauche, 2005-03-27T13:44:45Z

# Line 1 | Line 1
1   /*
2   *  video.h - Video/graphics emulation
3   *
4 < *  SheepShaver (C) 1997-2004 Marc Hellwig and Christian Bauer
4 > *  SheepShaver (C) 1997-2005 Marc Hellwig and Christian Bauer
5   *
6   *  This program is free software; you can redistribute it and/or modify
7   *  it under the terms of the GNU General Public License as published by
# Line 24 | Line 24
24   extern bool VideoActivated(void);
25   extern bool VideoSnapshot(int xsize, int ysize, uint8 *p);
26  
27 < extern int16 VideoDoDriverIO(void *spaceID, void *commandID, void *commandContents, uint32 commandCode, uint32 commandKind);
27 > extern int16 VideoDoDriverIO(uint32 spaceID, uint32 commandID, uint32 commandContents, uint32 commandCode, uint32 commandKind);
28  
29   // System specific and internal functions/data
30   struct VideoInfo {
# Line 46 | Line 46 | enum { // viAppleMode
46          APPLE_32_BIT
47   };
48  
49 + // 1, 2, 4 and 8 bit depths use a color palette
50 + inline bool IsDirectMode(int mode)
51 + {
52 +        return mode == APPLE_16_BIT || mode == APPLE_32_BIT;
53 + }
54 +
55 + // Return the depth code that corresponds to the specified bits-per-pixel value
56 + inline int DepthModeForPixelDepth(int depth)
57 + {
58 +        switch (depth) {
59 +        case 1: return APPLE_1_BIT;
60 +        case 2: return APPLE_2_BIT;
61 +        case 4: return APPLE_4_BIT;
62 +        case 8: return APPLE_8_BIT;
63 +        case 15: case 16: return APPLE_16_BIT;
64 +        case 24: case 32: return APPLE_32_BIT;
65 +        default: return APPLE_1_BIT;
66 +        }
67 + }
68 +
69 + // Return a bytes-per-row value (assuming no padding) for the specified depth and pixel width
70 + inline uint32 TrivialBytesPerRow(uint32 width, int mode)
71 + {
72 +        switch (mode) {
73 +        case APPLE_1_BIT: return width / 8;
74 +        case APPLE_2_BIT: return width / 4;
75 +        case APPLE_4_BIT: return width / 2;
76 +        case APPLE_8_BIT: return width;
77 +        case APPLE_16_BIT: return width * 2;
78 +        case APPLE_32_BIT: return width * 4;
79 +        default: return width;
80 +        }
81 + }
82 +
83   enum {  // viAppleID
84          APPLE_640x480 = 0x81,
85          APPLE_W_640x480,
86          APPLE_800x600,
87          APPLE_W_800x600,
88          APPLE_1024x768,
89 +        APPLE_1152x768,
90          APPLE_1152x900,
91          APPLE_1280x1024,
92          APPLE_1600x1200,
93 +        APPLE_CUSTOM,
94          APPLE_ID_MIN = APPLE_640x480,
95 <        APPLE_ID_MAX = APPLE_1600x1200
95 >        APPLE_ID_MAX = APPLE_CUSTOM
96   };
97  
98   enum {  // Display type
# Line 73 | Line 109 | extern rgb_color mac_pal[256];
109   extern uint8 remap_mac_be[256];
110   extern uint8 MacCursor[68];
111  
76 struct GammaTbl;
77
112   struct VidLocals{
113          uint16  saveMode;
114          uint32  saveData;
115          uint16  savePage;
116          uint32  saveBaseAddr;
117 <        GammaTbl *gammaTable;           // Current gamma table
117 >        uint32  gammaTable;                     // Mac address of gamma tble
118          uint32  maxGammaTableSize;      // Biggest gamma table allocated
119          uint32  saveVidParms;
120          bool    luminanceMapping;       // Luminance mapping on/off
# Line 90 | Line 124 | struct VidLocals{
124          uint32  cursorSet;
125          uint32  vslServiceID;           // VSL interrupt service ID
126          bool    interruptsEnabled;      // VBL interrupts on/off
127 <        uint32  regEntryID[4];
127 >        uint32  regEntryID;                     // Mac address of the service owner
128   };
129  
130   extern VidLocals *private_data; // Pointer to driver local variables (there is only one display, so this is ok)
# Line 103 | Line 137 | extern void VideoQuitFullScreen(void);
137  
138   extern void video_set_palette(void);
139   extern void video_set_cursor(void);
140 + extern bool video_can_change_cursor(void);
141   extern int16 video_mode_change(VidLocals *csSave, uint32 ParamPtr);
142  
143   extern int16 VSLDoInterruptService(uint32 arg1);
144 < extern void NQDMisc(uint32 arg1, void *arg2);
144 > extern void NQDMisc(uint32 arg1, uintptr arg2);
145 >
146 > // Native QuickDraw acceleration callbacks
147 > extern bool NQD_sync_hook(uint32);
148 > extern bool NQD_bitblt_hook(uint32);
149 > extern bool NQD_fillrect_hook(uint32);
150 > extern void NQD_bitblt(uint32);
151 > extern void NQD_invrect(uint32);
152 > extern void NQD_fillrect(uint32);
153  
154   extern bool keyfile_valid;
155  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines