Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #ifndef __SP_RENDERCONTEXT_DIRECT3D9_H__
00009 #define __SP_RENDERCONTEXT_DIRECT3D9_H__
00010
00011
00012 #include "Base/spStandard.hpp"
00013
00014 #if defined(SP_COMPILE_WITH_DIRECT3D9)
00015
00016
00017 #include "RenderSystem/spDesktopRenderContext.hpp"
00018
00019 #include <d3d9.h>
00020
00021
00022 namespace sp
00023 {
00024 namespace video
00025 {
00026
00027
00029 class SP_EXPORT Direct3D9RenderContext : public DesktopRenderContext
00030 {
00031
00032 public:
00033
00034 Direct3D9RenderContext();
00035 ~Direct3D9RenderContext();
00036
00037
00038
00039 bool openGraphicsScreen(
00040 void* ParentWindow, const dim::size2di &Resolution, const io::stringc &Title,
00041 s32 ColorDepth, bool isFullscreen, const SDeviceFlags &Flags
00042 );
00043 void closeGraphicsScreen();
00044
00045 void flipBuffers();
00046
00047 bool activate();
00048 bool deactivate();
00049
00050 private:
00051
00052
00053
00054 bool createRenderContext();
00055 void releaseRenderContext();
00056
00057 void switchFullscreenMode(bool isFullscreen);
00058
00059 bool checkDepthStencilFormat();
00060 bool checkAntiAliasFormat();
00061
00062
00063
00064 IDirect3D9* D3DInstance_;
00065 IDirect3DDevice9* D3DDevice_;
00066
00067 D3DPRESENT_PARAMETERS Presenter_;
00068
00069 };
00070
00071
00072 }
00073
00074 }
00075
00076
00077 #endif
00078
00079 #endif
00080
00081
00082
00083