Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- -----------------------------------------------------------------------------
- Filename: Window.hpp
- -----------------------------------------------------------------------------
- -----------------------------------------------------------------------------
- */
- // Declare Once
- #pragma once
- // Includes
- #include "Defines.hpp"
- // Namespace ------------------------------------------------------------------------------
- namespace Little
- {
- // Class definition -------------------------------------------------------------------
- class Window : Aligned
- {
- private:
- // Constructors
- Window();
- Window(const Window&) {};
- ~Window() {};
- //Methods
- bool Create(Description::Window);
- void Shutdown();
- //--//
- bool Resize(Float, Float);
- void Clear(Float, Float, Float, Float);
- void Finish();
- // Methods
- const Matrix& GetProjectionMatrix();
- const Matrix& GetOrthoMatrix();
- //--//
- void GetVideoCardInfo(char*, Int&);
- private:
- bool mVsyncEnabled;
- bool mFullscreen;
- UInt mWindowWidth, mWindowHeight;
- Matrix mProjectionMatrix;
- //--//
- HINSTANCE mHINSTANCE;
- WString mApplicationName;
- HWND mHWND;
- //--//
- IDXGISwapChain* mSwapChain;
- ID3D11Device* mDevice;
- ID3D11DeviceContext* mDeviceContext;
- ID3D11RenderTargetView* mRenderTargetView;
- ID3D11Texture2D* mDepthStencilBuffer;
- ID3D11DepthStencilState* mDepthStencilState;
- ID3D11DepthStencilView* mDepthStencilView;
- ID3D11RasterizerState* mRasterState;
- UInt mVideoCardMemory;
- char mVideoCardDescription[128];
- //--//
- friend class Engine;
- //--//
- friend class Mesh;
- friend class Shader;
- };
- // Global singleton module handles
- typedef ID3D11Device Device;
- typedef ID3D11DeviceContext DeviceContext;
- namespace Handle
- {
- extern Little::Window* Window;
- static Little::Device* Device;
- static Little::DeviceContext* DeviceContext;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment