1 // $Header: x:/prj/tech/libsrc/dev2d/RCS/mode.h 1.6 1997/11/21 11:56:32 KEVIN Exp $
10 #define GRM_FIRST_SVGA_MODE GRM_640x350x4
12 // Translate 'x' to 'X' from mode list in emode.h
112 // Define the flags to send gr_set_mode. Done so that TRUE (=1) and
113 // FALSE (=0) still work as they used to.
115 #define MODE_CLEAR_BIT 1
116 #define MODE_LINEAR_BIT 2
118 #define NO_CLEAR_BANKED 0
119 #define CLEAR_BANKED 1
120 #define NO_CLEAR_LINEAR 2
121 #define CLEAR_LINEAR (MODE_CLEAR_BIT | MODE_LINEAR_BIT)
124 #define MODE_WINDOWED 0x000000004
125 #define MODE_FULLSCREEN 0x000000008
127 #define MODE_WINDOWED 0x000000000
128 #define MODE_FULLSCREEN 0x000000000
131 extern grs_mode_info grd_mode_info
[];
132 extern int gr_set_mode (int mode
, uint flags
);
134 // Enumerated mode <--> Mode info conversions
135 #define gr_mode_info_from_mode(mode) (&grd_mode_info[(mode)])
136 extern int gr_mode_from_info(int w
, int h
, int bitDepth
);
137 extern const char * gr_mode_name(int mode
);
139 // Finds the first 2d mode with w,h, and bitdepth
140 // Note it doesn't care about flat, linear, banked, or anything else
141 // Hopefully the 2d is organized with flat first.
142 extern int gr_find_mode(int w
, int h
, int bitDepth
);
144 // find mode from specified -1 terminated list
145 extern int gr_find_mode_list(int w
, int h
, int bitDepth
, short *mode_list
);
147 // Also checks for all the flag bits set
148 extern int gr_find_mode_flags(int w
,int h
,int bitDepth
,uchar flags
);
150 // find mode from specified -1 terminated list
151 extern int gr_find_mode_flags_list(int w
,int h
,int bitDepth
,uchar flags
,short *mode_list
);
153 #define gr_mode_linear(mode) (grd_mode_info[(mode)].flags & GRM_IS_LINEAR)
154 #define gr_mode_supported(mode) (grd_mode_info[(mode)].flags & GRM_IS_SUPPORTED)
155 #define gr_mode_flat(mode) (gr_mode_linear(mode)||(mode==GRM_320x200x8))
156 #define grd_bpp (grd_mode_info[grd_mode].bitDepth)
161 #endif /* !__MODE_H */