Newer
Older
ubixos-pre / doc / doxygen / html / og_display___v_e_s_a_8h-source.html
@reddawg reddawg on 18 Jun 2004 15 KB UbixOS PreRelease
<!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&amp;, 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&amp;);
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&amp;);
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>