<!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><a href="og_display___ubix_o_s_8h.html">Go to the documentation of this file.</a><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 <objgfx40/objgfx40.h></span> 00005 <a name="l00006"></a><a class="code" href="structog_mode_info.html">00006</a> <span class="keyword">struct </span><a class="code" href="structog_mode_info.html">ogModeInfo</a> { 00007 <a class="code" href="types_8h.html#a2">uInt16</a> modeAttributes <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00008 <a class="code" href="types_8h.html#a1">uInt8</a> windowAFlags <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00009 <a class="code" href="types_8h.html#a1">uInt8</a> windowBFlags <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00010 <a class="code" href="types_8h.html#a2">uInt16</a> granularity <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00011 <a class="code" href="types_8h.html#a2">uInt16</a> windowSize <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00012 <a class="code" href="types_8h.html#a2">uInt16</a> windowASeg <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00013 <a class="code" href="types_8h.html#a2">uInt16</a> windowBSeg <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00014 <span class="keywordtype">void</span>* bankSwitch <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00015 <a class="code" href="types_8h.html#a2">uInt16</a> bytesPerLine <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00016 <a class="code" href="types_8h.html#a2">uInt16</a> xRes <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00017 <a class="code" href="types_8h.html#a2">uInt16</a> yRes <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00018 <a class="code" href="types_8h.html#a1">uInt8</a> charWidth <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00019 <a class="code" href="types_8h.html#a1">uInt8</a> charHeight <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00020 <a class="code" href="types_8h.html#a1">uInt8</a> numBitPlanes <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00021 <a class="code" href="types_8h.html#a1">uInt8</a> bitsPerPixel <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00022 <a class="code" href="types_8h.html#a1">uInt8</a> numberOfBanks <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00023 <a class="code" href="types_8h.html#a1">uInt8</a> memoryModel <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00024 <a class="code" href="types_8h.html#a1">uInt8</a> bankSize <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00025 <a class="code" href="types_8h.html#a1">uInt8</a> numOfImagePages <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00026 <a class="code" href="types_8h.html#a1">uInt8</a> reserved <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00027 <span class="comment">// Direct colour fields (required for Direct/6 and YUV/7 memory models</span> 00028 <a class="code" href="types_8h.html#a1">uInt8</a> redMaskSize <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00029 <a class="code" href="types_8h.html#a1">uInt8</a> redFieldPosition <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00030 <a class="code" href="types_8h.html#a1">uInt8</a> greenMaskSize <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00031 <a class="code" href="types_8h.html#a1">uInt8</a> greenFieldPosition <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00032 <a class="code" href="types_8h.html#a1">uInt8</a> blueMaskSize <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00033 <a class="code" href="types_8h.html#a1">uInt8</a> blueFieldPosition <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00034 <a class="code" href="types_8h.html#a1">uInt8</a> alphaMaskSize <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00035 <a class="code" href="types_8h.html#a1">uInt8</a> alphaFieldPosition <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00036 <a class="code" href="types_8h.html#a1">uInt8</a> directColourMode <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00037 <span class="comment">// VESA 2.0 specific fields</span> 00038 <a class="code" href="types_8h.html#a3">uInt32</a> physBasePtr <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00039 <span class="keywordtype">void</span>* offScreenMemOffset <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00040 <a class="code" href="types_8h.html#a2">uInt16</a> offScreenMemSize <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00041 <a class="code" href="types_8h.html#a1">uInt8</a> paddington[461] <a class="code" href="structog_mode_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00042 }; 00043 <a name="l00044"></a><a class="code" href="structog_v_e_s_a_info.html">00044</a> <span class="keyword">struct </span><a class="code" href="structog_v_e_s_a_info.html">ogVESAInfo</a> { 00045 <span class="keywordtype">char</span> VBESignature[4] <a class="code" href="structog_v_e_s_a_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00046 <a class="code" href="types_8h.html#a1">uInt8</a> minVersion <a class="code" href="structog_v_e_s_a_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00047 <a class="code" href="types_8h.html#a1">uInt8</a> majVersion <a class="code" href="structog_v_e_s_a_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00048 <a class="code" href="types_8h.html#a3">uInt32</a> OEMStringPtr <a class="code" href="structog_v_e_s_a_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00049 <a class="code" href="types_8h.html#a3">uInt32</a> capabilities <a class="code" href="structog_v_e_s_a_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00050 <a class="code" href="types_8h.html#a3">uInt32</a> videoModePtr <a class="code" href="structog_v_e_s_a_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00051 <a class="code" href="types_8h.html#a2">uInt16</a> totalMemory <a class="code" href="structog_v_e_s_a_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00052 <span class="comment">// VESA 2.0 specific fields</span> 00053 <a class="code" href="types_8h.html#a2">uInt16</a> OEMSoftwareRev <a class="code" href="structog_v_e_s_a_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00054 <a class="code" href="types_8h.html#a3">uInt32</a> OEMVendorNamePtr <a class="code" href="structog_v_e_s_a_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00055 <a class="code" href="types_8h.html#a3">uInt32</a> OEMProductNamePtr <a class="code" href="structog_v_e_s_a_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00056 <a class="code" href="types_8h.html#a3">uInt32</a> OEMProductRevPtr <a class="code" href="structog_v_e_s_a_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00057 <a class="code" href="types_8h.html#a1">uInt8</a> paddington[474] <a class="code" href="structog_v_e_s_a_info.html#a0">__attribute__</a>((<a class="code" href="gdt_8h.html#a24">packed</a>)); 00058 }; 00059 00060 <a name="l00061"></a><a class="code" href="classog_display___ubix_o_s.html">00061</a> <span class="keyword">class </span><a class="code" href="classog_display___ubix_o_s.html">ogDisplay_UbixOS</a> : <span class="keyword">public</span> ogSurface { 00062 <span class="keyword">protected</span>: <a name="l00063"></a><a class="code" href="classog_display___ubix_o_s.html#p0">00063</a> <span class="keywordtype">void</span> * <a class="code" href="classog_display___ubix_o_s.html#p0">pages</a>[2]; <a name="l00064"></a><a class="code" href="classog_display___ubix_o_s.html#p1">00064</a> <a class="code" href="types_8h.html#a3">uInt32</a> <a class="code" href="classog_display___ubix_o_s.html#p1">activePage</a>; <a name="l00065"></a><a class="code" href="classog_display___ubix_o_s.html#p2">00065</a> <a class="code" href="types_8h.html#a3">uInt32</a> <a class="code" href="classog_display___ubix_o_s.html#p2">visualPage</a>; <a name="l00066"></a><a class="code" href="classog_display___ubix_o_s.html#p3">00066</a> <a class="code" href="structog_v_e_s_a_info.html">ogVESAInfo</a> * <a class="code" href="classog_display___ubix_o_s.html#p3">VESAInfo</a>; <a name="l00067"></a><a class="code" href="classog_display___ubix_o_s.html#p4">00067</a> <a class="code" href="structog_mode_info.html">ogModeInfo</a> * <a class="code" href="classog_display___ubix_o_s.html#p4">modeInfo</a>; 00068 00069 <a class="code" href="types_8h.html#a2">uInt16</a> <a class="code" href="classog_display___ubix_o_s.html#b0">FindMode</a>(uInt32, uInt32, uInt32); 00070 <span class="keywordtype">void</span> <a class="code" href="classog_display___ubix_o_s.html#b1">GetModeInfo</a>(uInt16); 00071 <span class="keywordtype">void</span> <a class="code" href="classog_display___ubix_o_s.html#b2">GetVESAInfo</a>(<span class="keywordtype">void</span>); 00072 <span class="keywordtype">void</span> <a class="code" href="classog_display___ubix_o_s.html#b3">SetMode</a>(uInt16); 00073 <span class="keywordtype">void</span> <a class="code" href="classog_display___ubix_o_s.html#b4">SetPal</a>(<span class="keywordtype">void</span>); 00074 <span class="keyword">public</span>: 00075 <a class="code" href="classog_display___ubix_o_s.html#a0">ogDisplay_UbixOS</a>(<span class="keywordtype">void</span>); 00076 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classog_display___ubix_o_s.html#a1">Alias</a>(ogSurface&, uInt32, uInt32, uInt32, uInt32); 00077 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classog_display___ubix_o_s.html#a2">Clone</a>(ogSurface&); 00078 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classog_display___ubix_o_s.html#a3">CopyPalette</a>(ogSurface&); 00079 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classog_display___ubix_o_s.html#a4">Create</a>(uInt32, uInt32, ogPixelFmt); 00080 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classog_display___ubix_o_s.html#a5">LoadPalette</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *); 00081 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classog_display___ubix_o_s.html#a6">SetPalette</a>(<span class="keyword">const</span> ogRGBA8[]); 00082 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classog_display___ubix_o_s.html#a6">SetPalette</a>(uInt8, uInt8, uInt8, uInt8); 00083 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classog_display___ubix_o_s.html#a6">SetPalette</a>(uInt8, uInt8, uInt8, uInt8, uInt8); 00084 <span class="keyword">virtual</span> <a class="code" href="classog_display___ubix_o_s.html#a9">~ogDisplay_UbixOS</a>(<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 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>