<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Ubixos: ogDisplay_VESA.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.3.3 --> <h1>ogDisplay_VESA.h</h1><a href="og_display___v_e_s_a_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="preprocessor">#ifndef OGDISPLAY_VESA_H</span> 00002 <span class="preprocessor"></span> 00003 <span class="preprocessor">#define OGDISPLAY_VESA_H</span> 00004 <span class="preprocessor"></span> 00005 <a name="l00006"></a><a class="code" href="struct_t_mode___rec.html">00006</a> 00007 <span class="preprocessor">#include "objgfx30.h"</span> 00008 00009 00010 00011 <span class="keyword">struct </span><a class="code" href="struct_t_mode___rec.html">TMode_Rec</a> { 00012 00013 <a class="code" href="types_8h.html#a2">uInt16</a> ModeAttributes <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00014 00015 <a class="code" href="types_8h.html#a1">uInt8</a> WindowAFlags <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00016 00017 <a class="code" href="types_8h.html#a1">uInt8</a> WindowBFlags <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00018 00019 <a class="code" href="types_8h.html#a2">uInt16</a> Granularity <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00020 00021 <a class="code" href="types_8h.html#a2">uInt16</a> WindowSize <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00022 00023 <a class="code" href="types_8h.html#a2">uInt16</a> WindowASeg <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00024 00025 <a class="code" href="types_8h.html#a2">uInt16</a> WindowBSeg <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00026 00027 <span class="keywordtype">void</span>* BankSwitch <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00028 00029 <a class="code" href="types_8h.html#a2">uInt16</a> BytesPerLine <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00030 00031 <a class="code" href="types_8h.html#a2">uInt16</a> xRes <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00032 00033 <a class="code" href="types_8h.html#a2">uInt16</a> yRes <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00034 00035 <a class="code" href="types_8h.html#a1">uInt8</a> CharWidth <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00036 00037 <a class="code" href="types_8h.html#a1">uInt8</a> CharHeight <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00038 00039 <a class="code" href="types_8h.html#a1">uInt8</a> NumBitPlanes <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00040 00041 <a class="code" href="types_8h.html#a1">uInt8</a> BitsPerPixel <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00042 00043 <a class="code" href="types_8h.html#a1">uInt8</a> NumberOfBanks <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); <a name="l00044"></a><a class="code" href="struct_t_v_e_s_a___rec.html">00044</a> 00045 <a class="code" href="types_8h.html#a1">uInt8</a> MemoryModel <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((packed)); 00046 00047 <a class="code" href="types_8h.html#a1">uInt8</a> BankSize <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((packed)); 00048 00049 <a class="code" href="types_8h.html#a1">uInt8</a> NumOfImagePages <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((packed)); 00050 00051 <a class="code" href="types_8h.html#a1">uInt8</a> Reserved <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((packed)); 00052 00053 <span class="comment">// Direct colour fields (required for Direct/6 and YUV/7 memory models</span> 00054 00055 <a class="code" href="types_8h.html#a1">uInt8</a> RedMaskSize <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((packed)); 00056 00057 <a class="code" href="types_8h.html#a1">uInt8</a> RedFieldPosition <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((packed)); 00058 00059 <a class="code" href="types_8h.html#a1">uInt8</a> GreenMaskSize <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((packed)); <a name="l00060"></a><a class="code" href="classog_display___v_e_s_a.html">00060</a> 00061 <a class="code" href="types_8h.html#a1">uInt8</a> GreenFieldPosition <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((packed)); <a name="l00062"></a><a class="code" href="classog_display___v_e_s_a.html#p0">00062</a> <a name="l00063"></a><a class="code" href="classog_display___v_e_s_a.html#p1">00063</a> <a class="code" href="types_8h.html#a1">uInt8</a> BlueMaskSize <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((packed)); <a name="l00064"></a><a class="code" href="classog_display___v_e_s_a.html#p2">00064</a> <a name="l00065"></a><a class="code" href="classog_display___v_e_s_a.html#p3">00065</a> <a class="code" href="types_8h.html#a1">uInt8</a> BlueFieldPosition <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((packed)); 00066 00067 <a class="code" href="types_8h.html#a1">uInt8</a> AlphaMaskSize <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((packed)); 00068 00069 <a class="code" href="types_8h.html#a1">uInt8</a> AlphaFieldPosition <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((packed)); 00070 00071 <a class="code" href="types_8h.html#a1">uInt8</a> DirectColourMode <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((packed)); 00072 00073 <span class="comment">// VESA 2.0 specific fields</span> 00074 00075 <a class="code" href="types_8h.html#a3">uInt32</a> physBasePtr <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((packed)); 00076 00077 <span class="keywordtype">void</span>* OffScreenMemOffset <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((packed)); 00078 00079 <a class="code" href="types_8h.html#a2">uInt16</a> OffScreenMemSize <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((packed)); 00080 00081 <a class="code" href="types_8h.html#a1">uInt8</a> paddington[461] <a class="code" href="struct_t_mode___rec.html#a0">__attribute__</a>((packed)); 00082 00083 }; 00084 00085 00086 00087 <span class="keyword">struct </span><a class="code" href="struct_t_v_e_s_a___rec.html">TVESA_Rec</a> { 00088 00089 <span class="keywordtype">char</span> VBESignature[4] <a class="code" href="struct_t_v_e_s_a___rec.html#a0">__attribute__</a>((packed)); 00090 00091 <a class="code" href="types_8h.html#a1">uInt8</a> minVersion <a class="code" href="struct_t_v_e_s_a___rec.html#a0">__attribute__</a>((packed)); 00092 00093 <a class="code" href="types_8h.html#a1">uInt8</a> majVersion <a class="code" href="struct_t_v_e_s_a___rec.html#a0">__attribute__</a>((packed)); 00094 00095 <a class="code" href="types_8h.html#a3">uInt32</a> OEMStringPtr <a class="code" href="struct_t_v_e_s_a___rec.html#a0">__attribute__</a>((packed)); 00096 00097 <a class="code" href="types_8h.html#a3">uInt32</a> Capabilities <a class="code" href="struct_t_v_e_s_a___rec.html#a0">__attribute__</a>((packed)); 00098 00099 <a class="code" href="types_8h.html#a3">uInt32</a> VideoModePtr <a class="code" href="struct_t_v_e_s_a___rec.html#a0">__attribute__</a>((packed)); 00100 00101 <a class="code" href="types_8h.html#a2">uInt16</a> TotalMemory <a class="code" href="struct_t_v_e_s_a___rec.html#a0">__attribute__</a>((packed)); 00102 00103 <span class="comment">// VESA 2.0 specific fields</span> 00104 00105 <a class="code" href="types_8h.html#a2">uInt16</a> OEMSoftwareRev <a class="code" href="struct_t_v_e_s_a___rec.html#a0">__attribute__</a>((packed)); 00106 00107 <a class="code" href="types_8h.html#a3">uInt32</a> OEMVendorNamePtr <a class="code" href="struct_t_v_e_s_a___rec.html#a0">__attribute__</a>((packed)); 00108 00109 <a class="code" href="types_8h.html#a3">uInt32</a> OEMProductNamePtr <a class="code" href="struct_t_v_e_s_a___rec.html#a0">__attribute__</a>((packed)); 00110 00111 <a class="code" href="types_8h.html#a3">uInt32</a> OEMProductRevPtr <a class="code" href="struct_t_v_e_s_a___rec.html#a0">__attribute__</a>((packed)); 00112 00113 <a class="code" href="types_8h.html#a1">uInt8</a> paddington[474] <a class="code" href="struct_t_v_e_s_a___rec.html#a0">__attribute__</a>((packed)); 00114 00115 }; 00116 00117 00118 00119 <span class="keyword">class </span><a class="code" href="classog_display___v_e_s_a.html">ogDisplay_VESA</a> : <span class="keyword">public</span> ogSurface { 00120 00121 <span class="keyword">protected</span>: 00122 00123 <a class="code" href="types_8h.html#a2">uInt16</a> <a class="code" href="classog_display___v_e_s_a.html#p0">ScreenSelector</a>; 00124 00125 <a class="code" href="struct_t_v_e_s_a___rec.html">TVESA_Rec</a>* <a class="code" href="classog_display___v_e_s_a.html#p1">VESARec</a>; 00126 00127 <a class="code" href="struct_t_mode___rec.html">TMode_Rec</a>* <a class="code" href="classog_display___v_e_s_a.html#p2">ModeRec</a>; 00128 00129 <span class="keywordtype">bool</span> <a class="code" href="classog_display___v_e_s_a.html#p3">InGraphics</a>; 00130 00131 <a class="code" href="types_8h.html#a2">uInt16</a> <a class="code" href="classog_display___v_e_s_a.html#b0">findMode</a>(uInt32, uInt32, uInt32); 00132 00133 <span class="keywordtype">void</span> <a class="code" href="classog_display___v_e_s_a.html#b1">getModeInfo</a>(uInt16); 00134 00135 <span class="keywordtype">void</span> <a class="code" href="classog_display___v_e_s_a.html#b2">getVESAInfo</a>(<span class="keywordtype">void</span>); 00136 00137 <span class="keywordtype">void</span> <a class="code" href="classog_display___v_e_s_a.html#b3">setMode</a>(uInt16); 00138 00139 <span class="keyword">virtual</span> <a class="code" href="types_8h.html#a3">uInt32</a> <a class="code" href="classog_display___v_e_s_a.html#b4">rawGetPixel</a>(uInt32, uInt32); 00140 00141 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classog_display___v_e_s_a.html#b5">rawSetPixel</a>(uInt32, uInt32, uInt32); 00142 00143 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classog_display___v_e_s_a.html#b6">rawLine</a>(uInt32, uInt32, uInt32, uInt32, uInt32); 00144 00145 <span class="keywordtype">void</span> <a class="code" href="classog_display___v_e_s_a.html#b7">setPal</a>(<span class="keywordtype">void</span>); 00146 00147 <span class="keyword">public</span>: 00148 00149 <a class="code" href="classog_display___v_e_s_a.html#a0">ogDisplay_VESA</a>(<span class="keywordtype">void</span>); 00150 00151 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classog_display___v_e_s_a.html#a1">ogAvail</a>(<span class="keywordtype">void</span>); 00152 00153 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classog_display___v_e_s_a.html#a2">ogAlias</a>(ogSurface&, uInt32, uInt32, uInt32, uInt32); 00154 00155 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classog_display___v_e_s_a.html#a3">ogClear</a>(uInt32); 00156 00157 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classog_display___v_e_s_a.html#a4">ogClone</a>(ogSurface&); 00158 00159 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classog_display___v_e_s_a.html#a5">ogCopyLineTo</a>(uInt32, uInt32, <span class="keyword">const</span> <span class="keywordtype">void</span> *, uInt32); 00160 00161 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classog_display___v_e_s_a.html#a6">ogCopyLineFrom</a>(uInt32, uInt32, <span class="keywordtype">void</span> *, uInt32); 00162 00163 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classog_display___v_e_s_a.html#a7">ogCopyPal</a>(ogSurface&); 00164 00165 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classog_display___v_e_s_a.html#a8">ogCreate</a>(uInt32, uInt32, ogPixelFmt); 00166 00167 <span class="keyword">virtual</span> <a class="code" href="types_8h.html#a3">uInt32</a> <a class="code" href="classog_display___v_e_s_a.html#a9">ogGetPixel</a>(int32, int32); 00168 00169 <span class="keyword">virtual</span> <span class="keywordtype">void</span> * <a class="code" href="classog_display___v_e_s_a.html#a10">ogGetPtr</a>(uInt32, uInt32); 00170 00171 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classog_display___v_e_s_a.html#a11">ogHLine</a>(int32, int32, int32, uInt32); 00172 00173 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classog_display___v_e_s_a.html#a12">ogLoadPal</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *); 00174 00175 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classog_display___v_e_s_a.html#a13">ogSetPixel</a>(int32, int32, uInt32); 00176 00177 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classog_display___v_e_s_a.html#a14">ogSetRGBPalette</a>(uInt8, uInt8, uInt8, uInt8); 00178 00179 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classog_display___v_e_s_a.html#a15">ogVFlip</a>(<span class="keywordtype">void</span>); 00180 00181 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classog_display___v_e_s_a.html#a16">ogVLine</a>(int32, int32, int32, uInt32); 00182 00183 <span class="keyword">virtual</span> <a class="code" href="classog_display___v_e_s_a.html#a17">~ogDisplay_VESA</a>(<span class="keywordtype">void</span>); 00184 00185 }; <span class="comment">// ogDisplay_VESA</span> 00186 00187 00188 00189 <span class="preprocessor">#endif</span> 00190 <span class="preprocessor"></span> </pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat May 8 09:28:17 2004 for Ubixos by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.3 </small></address> </body> </html>