Newer
Older
ubixos-pre / doc / doxygen / html / ogDisplay__UbixOS_8h-source.html
@reddawg reddawg on 18 Jun 2004 6 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_UbixOS.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.3 -->
<h1>ogDisplay_UbixOS.h</h1><div class="fragment"><pre>00001 <span class="preprocessor">#ifndef OGDISPLAY_UBIXOS_H</span>
00002 <span class="preprocessor"></span><span class="preprocessor">#define OGDISPLAY_UBIXOS_H</span>
00003 <span class="preprocessor"></span>
00004 <span class="preprocessor">#include &lt;objgfx40/objgfx40.h&gt;</span>
00005 
00006 <span class="keyword">struct </span>ogModeInfo {
00007     uInt16 modeAttributes     __attribute__((packed));
00008     uInt8  windowAFlags       __attribute__((packed));
00009     uInt8  windowBFlags       __attribute__((packed));
00010     uInt16 granularity        __attribute__((packed));
00011     uInt16 windowSize         __attribute__((packed));
00012     uInt16 windowASeg         __attribute__((packed));
00013     uInt16 windowBSeg         __attribute__((packed));
00014     <span class="keywordtype">void</span>*  bankSwitch         __attribute__((packed));
00015     uInt16 bytesPerLine       __attribute__((packed));
00016     uInt16 xRes               __attribute__((packed));
00017     uInt16 yRes               __attribute__((packed));
00018     uInt8  charWidth          __attribute__((packed));
00019     uInt8  charHeight         __attribute__((packed));
00020     uInt8  numBitPlanes       __attribute__((packed));
00021     uInt8  bitsPerPixel       __attribute__((packed));
00022     uInt8  numberOfBanks      __attribute__((packed));
00023     uInt8  memoryModel        __attribute__((packed));
00024     uInt8  bankSize           __attribute__((packed));
00025     uInt8  numOfImagePages    __attribute__((packed));
00026     uInt8  reserved           __attribute__((packed));
00027     <span class="comment">// Direct colour fields (required for Direct/6 and YUV/7 memory models</span>
00028     uInt8  redMaskSize        __attribute__((packed));
00029     uInt8  redFieldPosition   __attribute__((packed));
00030     uInt8  greenMaskSize      __attribute__((packed));
00031     uInt8  greenFieldPosition __attribute__((packed));
00032     uInt8  blueMaskSize       __attribute__((packed));
00033     uInt8  blueFieldPosition  __attribute__((packed));
00034     uInt8  alphaMaskSize      __attribute__((packed));
00035     uInt8  alphaFieldPosition __attribute__((packed));
00036     uInt8  directColourMode   __attribute__((packed));
00037     <span class="comment">// VESA 2.0 specific fields</span>
00038     uInt32 physBasePtr        __attribute__((packed));
00039     <span class="keywordtype">void</span>*  offScreenMemOffset __attribute__((packed));
00040     uInt16 offScreenMemSize   __attribute__((packed));
00041     uInt8  paddington[461]    __attribute__((packed));
00042 };
00043 
00044 <span class="keyword">struct </span>ogVESAInfo {
00045     <span class="keywordtype">char</span>    VBESignature[4]   __attribute__((packed));
00046     uInt8   minVersion        __attribute__((packed));
00047     uInt8   majVersion        __attribute__((packed));
00048     uInt32  OEMStringPtr      __attribute__((packed));
00049     uInt32  capabilities      __attribute__((packed));
00050     uInt32  videoModePtr      __attribute__((packed));
00051     uInt16  totalMemory       __attribute__((packed));
00052     <span class="comment">// VESA 2.0 specific fields</span>
00053     uInt16  OEMSoftwareRev    __attribute__((packed));
00054     uInt32  OEMVendorNamePtr  __attribute__((packed));
00055     uInt32  OEMProductNamePtr __attribute__((packed));
00056     uInt32  OEMProductRevPtr  __attribute__((packed));
00057     uInt8   paddington[474]   __attribute__((packed));
00058 };
00059 
00060 
00061 <span class="keyword">class </span>ogDisplay_UbixOS : <span class="keyword">public</span> ogSurface {
00062  <span class="keyword">protected</span>:
00063   <span class="keywordtype">void</span> *         pages[2];
00064   uInt32         activePage;
00065   uInt32         visualPage;
00066   ogVESAInfo *   VESAInfo;
00067   ogModeInfo *   modeInfo;
00068 
00069   uInt16         FindMode(uInt32, uInt32, uInt32);
00070   <span class="keywordtype">void</span>           GetModeInfo(uInt16);
00071   <span class="keywordtype">void</span>           GetVESAInfo(<span class="keywordtype">void</span>);
00072   <span class="keywordtype">void</span>           SetMode(uInt16);
00073   <span class="keywordtype">void</span>           SetPal(<span class="keywordtype">void</span>);
00074  <span class="keyword">public</span>:
00075                  ogDisplay_UbixOS(<span class="keywordtype">void</span>);
00076   <span class="keyword">virtual</span> <span class="keywordtype">bool</span>   Alias(ogSurface&amp;, uInt32, uInt32, uInt32, uInt32);
00077   <span class="keyword">virtual</span> <span class="keywordtype">bool</span>   Clone(ogSurface&amp;);
00078   <span class="keyword">virtual</span> <span class="keywordtype">void</span>   CopyPalette(ogSurface&amp;);
00079   <span class="keyword">virtual</span> <span class="keywordtype">bool</span>   Create(uInt32, uInt32, ogPixelFmt);
00080   <span class="keyword">virtual</span> <span class="keywordtype">bool</span>   LoadPalette(<span class="keyword">const</span> <span class="keywordtype">char</span> *);
00081   <span class="keyword">virtual</span> <span class="keywordtype">void</span>   SetPalette(<span class="keyword">const</span> ogRGBA8[]);
00082   <span class="keyword">virtual</span> <span class="keywordtype">void</span>   SetPalette(uInt8, uInt8, uInt8, uInt8);
00083   <span class="keyword">virtual</span> <span class="keywordtype">void</span>   SetPalette(uInt8, uInt8, uInt8, uInt8, uInt8);
00084   <span class="keyword">virtual</span>        ~ogDisplay_UbixOS(<span class="keywordtype">void</span>);
00085 }; <span class="comment">// ogDisplay_UbixOS</span>
00086 
00087 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Apr 28 17:49:38 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>