Sophie

Sophie

distrib > Mandriva > 10.2 > i586 > media > contrib > by-pkgid > 04e5d8c10ae76748689b4e7f48e0fa33 > files > 394

libogre5-devel-1.0.0-1mdk.i586.rpm

<html>
<head>
<title>OgreD3D9RenderWindow.h Source File - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<link type="text/css" rel="stylesheet" href="style.css">
</head>

<body>
<!-- Generated by Doxygen 1.3.6 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
<h1>OgreD3D9RenderWindow.h</h1><a href="OgreD3D9RenderWindow_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
00002 <span class="comment">-----------------------------------------------------------------------------</span>
00003 <span class="comment">This source file is part of OGRE</span>
00004 <span class="comment">    (Object-oriented Graphics Rendering Engine)</span>
00005 <span class="comment">For the latest info, see http://www.ogre3d.org/</span>
00006 <span class="comment"></span>
00007 <span class="comment">Copyright (c) 2000-2005 The OGRE Team</span>
00008 <span class="comment">Also see acknowledgements in Readme.html</span>
00009 <span class="comment"></span>
00010 <span class="comment">This program is free software; you can redistribute it and/or modify it under</span>
00011 <span class="comment">the terms of the GNU Lesser General Public License as published by the Free Software</span>
00012 <span class="comment">Foundation; either version 2 of the License, or (at your option) any later</span>
00013 <span class="comment">version.</span>
00014 <span class="comment"></span>
00015 <span class="comment">This program is distributed in the hope that it will be useful, but WITHOUT</span>
00016 <span class="comment">ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS</span>
00017 <span class="comment">FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.</span>
00018 <span class="comment"></span>
00019 <span class="comment">You should have received a copy of the GNU Lesser General Public License along with</span>
00020 <span class="comment">this program; if not, write to the Free Software Foundation, Inc., 59 Temple</span>
00021 <span class="comment">Place - Suite 330, Boston, MA 02111-1307, USA, or go to</span>
00022 <span class="comment">http://www.gnu.org/copyleft/lesser.txt.</span>
00023 <span class="comment">-----------------------------------------------------------------------------</span>
00024 <span class="comment">*/</span>
00025 <span class="preprocessor">#ifndef __D3D9RENDERWINDOW_H__</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define __D3D9RENDERWINDOW_H__</span>
00027 <span class="preprocessor"></span>
00028 <span class="preprocessor">#include "<a class="code" href="OgreD3D9Prerequisites_8h.html">OgreD3D9Prerequisites.h</a>"</span>
00029 <span class="preprocessor">#include "<a class="code" href="OgreRenderWindow_8h.html">OgreRenderWindow.h</a>"</span>
00030 <span class="preprocessor">#include "<a class="code" href="OgreD3D9Driver_8h.html">OgreD3D9Driver.h</a>"</span>
00031 
00032 <span class="keyword">namespace </span>Ogre 
00033 {
<a name="l00034"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html">00034</a>     <span class="keyword">class </span><a class="code" href="classOgre_1_1D3D9RenderWindow.html">D3D9RenderWindow</a> : <span class="keyword">public</span> <a class="code" href="classOgre_1_1RenderWindow.html">RenderWindow</a>
00035     {
00036     <span class="keyword">public</span>:
00043         <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa0">D3D9RenderWindow</a>(HINSTANCE instance, <a class="code" href="classOgre_1_1D3D9Driver.html">D3D9Driver</a> *driver, LPDIRECT3DDEVICE9 deviceIfSwapChain = 0);
00044         <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa1">~D3D9RenderWindow</a>();
00045         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa2">create</a>(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> width, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> height,
00046                 <span class="keywordtype">bool</span> fullScreen, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a62">NameValuePairList</a> *miscParams);
00047         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa3">destroy</a>(<span class="keywordtype">void</span>);
<a name="l00048"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa4">00048</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa4">isActive</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mActive; }
<a name="l00049"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa5">00049</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa5">isClosed</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mClosed; }
<a name="l00050"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa6">00050</a>         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa6">reposition</a>( <span class="keywordtype">int</span> left, <span class="keywordtype">int</span> top ) {}
00051         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa7">resize</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> width, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> height );
00052         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa8">swapBuffers</a>( <span class="keywordtype">bool</span> waitForVSync = <span class="keyword">true</span> );
<a name="l00053"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa9">00053</a>         HWND <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa9">getWindowHandle</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mHWnd; }
00054 
<a name="l00055"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa10">00055</a>         <a class="code" href="classOgre_1_1D3D9Driver.html">D3D9Driver</a>* <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa10">getDirectD3DDriver</a>() { <span class="keywordflow">return</span> mDriver; }
<a name="l00056"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa11">00056</a>         LPDIRECT3DDEVICE9 <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa11">getD3DDevice</a>() { <span class="keywordflow">return</span> mpD3DDevice; }
00057 
00058         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa12">getCustomAttribute</a>( <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name, <span class="keywordtype">void</span>* pData );
00061         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa13">writeContentsToFile</a>(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; filename);
<a name="l00062"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa14">00062</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa14">requiresTextureFlipping</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">false</span>; }
00063 
00064         <span class="comment">// Method for dealing with resize / move &amp; 3d library</span>
00065         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa15">WindowMovedOrResized</a>(<span class="keywordtype">void</span>);
00066 
<a name="l00067"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa16">00067</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa16">isReady</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mReady; }
<a name="l00068"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa17">00068</a>         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa17">setReady</a>(<span class="keywordtype">bool</span> set) { mReady = set; }
<a name="l00069"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa18">00069</a>         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa18">setActive</a>(<span class="keywordtype">bool</span> set) { mActive = set; }
<a name="l00071"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa19">00071</a>         D3DPRESENT_PARAMETERS* <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa19">getPresentationParameters</a>(<span class="keywordtype">void</span>) 
00072         { <span class="keywordflow">return</span> &amp;<a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowp9">md3dpp</a>; }
00074         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa20">update</a>(<span class="keywordtype">void</span>);
00075 
00078         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowa21">createD3DResources</a>(<span class="keywordtype">void</span>);
00079     
00080     <span class="keyword">protected</span>:
<a name="l00081"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowp0">00081</a>         HINSTANCE mInstance;            <span class="comment">// Process instance</span>
<a name="l00082"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowp1">00082</a>         <a class="code" href="classOgre_1_1D3D9Driver.html">D3D9Driver</a> *mDriver;            <span class="comment">// D3D9 driver</span>
<a name="l00083"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowp2">00083</a>         HWND    mHWnd;                  <span class="comment">// Win32 Window handle</span>
<a name="l00084"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowp3">00084</a>         <span class="keywordtype">bool</span>    mActive;                <span class="comment">// Is active i.e. visible</span>
<a name="l00085"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowp4">00085</a>         <span class="keywordtype">bool</span>    mReady;                 <span class="comment">// Is ready i.e. available for update</span>
<a name="l00086"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowp5">00086</a>         <span class="keywordtype">bool</span>    mClosed;
<a name="l00087"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowp6">00087</a>         <span class="keywordtype">bool</span>    <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowp6">mIsSwapChain</a>;           <span class="comment">// Is this a secondary window?</span>
00088 
00089         <span class="keyword">static</span> LRESULT CALLBACK <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowf0">WndProc</a>(
00090             HWND hWnd,
00091             UINT uMsg,
00092             WPARAM wParam,
00093             LPARAM lParam );
00094 
00095         <span class="comment">// -------------------------------------------------------</span>
00096         <span class="comment">// DirectX-specific</span>
00097         <span class="comment">// -------------------------------------------------------</span>
00098 
00099         <span class="comment">// Pointer to the 3D device - window 'owns' this if !mIsSwapChain</span>
<a name="l00100"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowp7">00100</a>         LPDIRECT3DDEVICE9   mpD3DDevice;
00101         <span class="comment">// Pointer to swap chain, only valid if mIsSwapChain</span>
<a name="l00102"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowp8">00102</a>         LPDIRECT3DSWAPCHAIN9 <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowp8">mpSwapChain</a>;
<a name="l00103"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowp9">00103</a>         D3DPRESENT_PARAMETERS <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowp9">md3dpp</a>;
<a name="l00104"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowp10">00104</a>         LPDIRECT3DSURFACE9 <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowp10">mpRenderSurface</a>;
<a name="l00105"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowp11">00105</a>         LPDIRECT3DSURFACE9 <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowp11">mpRenderZBuffer</a>;
<a name="l00106"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowp12">00106</a>         D3DMULTISAMPLE_TYPE mFSAAType;
<a name="l00107"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowp13">00107</a>         DWORD mFSAAQuality;
<a name="l00108"></a><a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowp14">00108</a>         <span class="keywordtype">bool</span> mVSync;
00109 
00110         <span class="comment">// just check if the multisampling requested is supported by the device</span>
00111         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1D3D9RenderWindow.html#Ogre_1_1D3D9RenderWindowb0">_checkMultiSampleQuality</a>(D3DMULTISAMPLE_TYPE type, DWORD *outQuality, D3DFORMAT format, UINT adapterNum, D3DDEVTYPE deviceType, BOOL fullScreen);
00112 
00113     };
00114 }
00115 <span class="preprocessor">#endif</span>
</pre></div><p>
Copyright &copy; 2000-2005 by The OGRE Team<br />
Last modified Wed Feb 23 00:19:05 2005
</p>
</body>
</html>