Sophie

Sophie

distrib > Mandriva > 10.0-com > i586 > by-pkgid > af7a4b7f1ee5a4a084c41b9005da5527 > files > 366

libfox1.1_46-devel-1.1.46-1mdk.i586.rpm

<html>
<head>
<link rel="stylesheet" href="page.css" type="text/css">
<title>fox-toolkit.org - Documentation</title>
</head>
<body bgcolor=#ffffff link=#990033 vlink=#990033 alink=#990033 text=#000000>
<font face='verdana,sans-serif' size=2 >

<!---- TOPIC TITLE WITH LOGO--->
<table border=0 cellpadding= cellspacing=2 width=100% ><tr><td><a href='http://www.fox-toolkit.org/doc.html'><img src='../art/foxlogo_small.jpg' border=0></a></td><td width=100% valign=bottom><font face='verdana,sans-serif' size=2 ><b>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a>
<br><img src='../art/line.gif' width=100% height=1></b></font></td></tr></table>
<p>
<!--- TOPIC TITLE WITH LOGO --->
<!-- Generated by Doxygen 1.3.3 -->
<h1>FXGLVisual.h</h1><div class="fragment"><pre>00001 <span class="comment">/********************************************************************************</span>
00002 <span class="comment">*                                                                               *</span>
00003 <span class="comment">*                            V i s u a l   C l a s s                            *</span>
00004 <span class="comment">*                                                                               *</span>
00005 <span class="comment">*********************************************************************************</span>
00006 <span class="comment">* Copyright (C) 1999,2004 by Jeroen van der Zijp.   All Rights Reserved.        *</span>
00007 <span class="comment">*********************************************************************************</span>
00008 <span class="comment">* This library is free software; you can redistribute it and/or                 *</span>
00009 <span class="comment">* modify it under the terms of the GNU Lesser General Public                    *</span>
00010 <span class="comment">* License as published by the Free Software Foundation; either                  *</span>
00011 <span class="comment">* version 2.1 of the License, or (at your option) any later version.            *</span>
00012 <span class="comment">*                                                                               *</span>
00013 <span class="comment">* This library is distributed in the hope that it will be useful,               *</span>
00014 <span class="comment">* but WITHOUT ANY WARRANTY; without even the implied warranty of                *</span>
00015 <span class="comment">* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU             *</span>
00016 <span class="comment">* Lesser General Public License for more details.                               *</span>
00017 <span class="comment">*                                                                               *</span>
00018 <span class="comment">* You should have received a copy of the GNU Lesser General Public              *</span>
00019 <span class="comment">* License along with this library; if not, write to the Free Software           *</span>
00020 <span class="comment">* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA.    *</span>
00021 <span class="comment">*********************************************************************************</span>
00022 <span class="comment">* $Id: FXGLVisual.h,v 1.20 2004/02/08 17:17:33 fox Exp $                        *</span>
00023 <span class="comment">********************************************************************************/</span>
00024 <span class="preprocessor">#ifndef FXGLVISUAL_H</span>
00025 <span class="preprocessor"></span><span class="preprocessor">#define FXGLVISUAL_H</span>
00026 <span class="preprocessor"></span>
00027 <span class="preprocessor">#ifndef FXVISUAL_H</span>
00028 <span class="preprocessor"></span><span class="preprocessor">#include "FXVisual.h"</span>
00029 <span class="preprocessor">#endif</span>
00030 <span class="preprocessor"></span>
00031 <span class="keyword">namespace </span>FX {
00032 
00033 
00034 <span class="keyword">class </span>FXFont;
00035 <span class="keyword">class </span>FXWindow;
00036 <span class="keyword">class </span>FXImage;
00037 <span class="keyword">class </span>FXIcon;
00038 <span class="keyword">class </span>FXBitmap;
00039 <span class="keyword">class </span>FXDCWindow;
00040 <span class="keyword">class </span>FXGLCanvas;
00041 
00042 <span class="comment"></span>
00043 <span class="comment">/// Visual describes pixel format of a drawable</span>
<a name="l00044"></a><a class="code" href="classFX_1_1FXGLVisual.html">00044</a> <span class="comment"></span><span class="keyword">class </span>FXAPI FXGLVisual : <span class="keyword">public</span> <a class="code" href="classFX_1_1FXVisual.html">FXVisual</a> {
00045   FXDECLARE(FXGLVisual)
00046   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classFX_1_1FXWindow.html">FXWindow</a>;
00047   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classFX_1_1FXImage.html">FXImage</a>;
00048   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classFX_1_1FXIcon.html">FXIcon</a>;
00049   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classFX_1_1FXBitmap.html">FXBitmap</a>;
00050   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classFX_1_1FXDCWindow.html">FXDCWindow</a>;
00051   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classFX_1_1FXGLCanvas.html">FXGLCanvas</a>;
00052 <span class="keyword">protected</span>:
00053   FXint        redSize;             <span class="comment">// Desired #bits for red</span>
00054   FXint        greenSize;           <span class="comment">// Desired #bits for green</span>
00055   FXint        blueSize;            <span class="comment">// Desired #bits for blue</span>
00056   FXint        alphaSize;           <span class="comment">// Desired #bits for alpha</span>
00057   FXint        depthSize;           <span class="comment">// Desired #bits for Z</span>
00058   FXint        stencilSize;         <span class="comment">// Desired #bits for stencil</span>
00059   FXint        accumRedSize;        <span class="comment">// Desired #bits for accum red</span>
00060   FXint        accumGreenSize;      <span class="comment">// Desired #bits for accum green</span>
00061   FXint        accumBlueSize;       <span class="comment">// Desired #bits for accum blue</span>
00062   FXint        accumAlphaSize;      <span class="comment">// Desired #bits for accum alpha</span>
00063 <span class="keyword">protected</span>:
00064   FXGLVisual();
00065 <span class="preprocessor">#ifdef WIN32</span>
00066 <span class="preprocessor"></span>  <span class="keywordtype">void</span> makeOpenGLPalette();
00067 <span class="preprocessor">#endif</span>
00068 <span class="preprocessor"></span><span class="keyword">private</span>:
00069   FXGLVisual(<span class="keyword">const</span> FXGLVisual&amp;);
00070   FXGLVisual &amp;operator=(<span class="keyword">const</span> FXGLVisual&amp;);
00071 <span class="keyword">public</span>:
00072 <span class="comment"></span>
00073 <span class="comment">  /// Construct default visual</span>
00074 <span class="comment"></span>  FXGLVisual(<a class="code" href="classFX_1_1FXApp.html">FXApp</a>* a,FXuint flags);
00075 <span class="comment"></span>
<a name="l00076"></a><a class="code" href="classFX_1_1FXGLVisual.html#a4">00076</a> <span class="comment">  /**</span>
00077 <span class="comment">  * Test if OpenGL is possible, and what level is supported.</span>
00078 <span class="comment">  * Because of remote display capability, the display server may</span>
00079 <span class="comment">  * support a different level of OpenGL than the client; it may</span>
00080 <span class="comment">  * even support no OpenGL at all!  This function returns the lesser</span>
00081 <span class="comment">  * of the client support level and the display server support level.</span>
00082 <span class="comment">  */</span>
00083   <span class="keyword">static</span> FXbool supported(<a class="code" href="classFX_1_1FXApp.html">FXApp</a>* application,<span class="keywordtype">int</span>&amp; major,<span class="keywordtype">int</span>&amp; minor);
00084 <span class="comment"></span>
00085 <span class="comment">  /// Create visual</span>
00086 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> create();
00087 <span class="comment"></span>
<a name="l00088"></a><a class="code" href="classFX_1_1FXGLVisual.html#a14">00088</a> <span class="comment">  /// Detach visual</span>
00089 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> detach();
00090 <span class="comment"></span>
00091 <span class="comment">  /// Destroy visual</span>
00092 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> destroy();
00093 <span class="comment"></span>
00094 <span class="comment">  /// Get sizes for bit-planes</span>
00095 <span class="comment"></span>  FXint getRedSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> redSize; }
00096   FXint getGreenSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> greenSize; }
00097   FXint getBlueSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> blueSize; }
00098   FXint getAlphaSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> alphaSize; }
00099   FXint getDepthSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> depthSize; }
00100   FXint getStencilSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> stencilSize; }
00101   FXint getAccumRedSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> accumRedSize; }
00102   FXint getAccumGreenSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> accumGreenSize; }
00103   FXint getAccumBlueSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> accumBlueSize; }
00104   FXint getAccumAlphaSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> accumAlphaSize; }
00105 <span class="comment"></span>
00106 <span class="comment">  /// Set sizes for bit-planes</span>
00107 <span class="comment"></span>  <span class="keywordtype">void</span> setRedSize(FXint rs){ redSize=rs; }
00108   <span class="keywordtype">void</span> setGreenSize(FXint gs){ greenSize=gs; }
00109   <span class="keywordtype">void</span> setBlueSize(FXint bs){ blueSize=bs; }
00110   <span class="keywordtype">void</span> setAlphaSize(FXint as){ alphaSize=as; }
00111   <span class="keywordtype">void</span> setDepthSize(FXint ds){ depthSize=ds; }
00112   <span class="keywordtype">void</span> setStencilSize(FXint ss){ stencilSize=ss; }
00113   <span class="keywordtype">void</span> setAccumRedSize(FXint rs){ accumRedSize=rs; }
00114   <span class="keywordtype">void</span> setAccumGreenSize(FXint gs){ accumGreenSize=gs; }
00115   <span class="keywordtype">void</span> setAccumBlueSize(FXint bs){ accumBlueSize=bs; }
00116   <span class="keywordtype">void</span> setAccumAlphaSize(FXint as){ accumAlphaSize=as; }
00117 <span class="comment"></span>
00118 <span class="comment">  /// Get ACTUAL sizes for bit-planes</span>
00119 <span class="comment"></span>  FXint getActualRedSize() <span class="keyword">const</span>;
00120   FXint getActualGreenSize() <span class="keyword">const</span>;
00121   FXint getActualBlueSize() <span class="keyword">const</span>;
00122   FXint getActualAlphaSize() <span class="keyword">const</span>;
00123   FXint getActualDepthSize() <span class="keyword">const</span>;
00124   FXint getActualStencilSize() <span class="keyword">const</span>;
00125   FXint getActualAccumRedSize() <span class="keyword">const</span>;
00126   FXint getActualAccumGreenSize() <span class="keyword">const</span>;
00127   FXint getActualAccumBlueSize() <span class="keyword">const</span>;
00128   FXint getActualAccumAlphaSize() <span class="keyword">const</span>;
00129 <span class="comment"></span>
00130 <span class="comment">  /// Is it double buffered?</span>
00131 <span class="comment"></span>  FXbool isDoubleBuffer() <span class="keyword">const</span>;
00132 <span class="comment"></span>
00133 <span class="comment">  /// Is it stereo?</span>
00134 <span class="comment"></span>  FXbool isStereo() <span class="keyword">const</span>;
00135 <span class="comment"></span>
00136 <span class="comment">  /// Is it hardware-accelerated?</span>
00137 <span class="comment"></span>  FXbool isAccelerated() <span class="keyword">const</span>;
00138 <span class="comment"></span>
00139 <span class="comment">  /// Save visual info to a stream</span>
00140 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> save(FXStream&amp; store) <span class="keyword">const</span>;
00141 <span class="comment"></span>
00142 <span class="comment">  /// Load visual info to a stream</span>
00143 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> load(FXStream&amp; store);
00144 <span class="comment"></span>
00145 <span class="comment">  /// Destructor</span>
00146 <span class="comment"></span>  <span class="keyword">virtual</span> ~FXGLVisual();
00147   };
00148 
00149 <span class="comment"></span>
00150 <span class="comment">/// Create a display list of bitmaps from font glyphs in a font</span>
00151 <span class="comment"></span><span class="keyword">extern</span> FXAPI <span class="keywordtype">void</span> glUseFXFont(FXFont* font,<span class="keywordtype">int</span> first,<span class="keywordtype">int</span> count,<span class="keywordtype">int</span> list);
00152 
00153 }
00154 
00155 <span class="preprocessor">#endif</span>
</pre></div></font>

<!--- COPYRIGHT -->
<p>
<table width=100% cellpadding=0 cellspacing=0><tr><td width=100% valign=top id=HEADLINE align=right>
<img src='../art/line.gif' width=100% height=1><font size=-1>
Copyright &copy; 1997-2004 Jeroen van der Zijp</font>
</td></tr></table>
</p>
<!--- COPYRIGHT -->
</body>
</html>