#pragma region Public Domain Code /* This code is in the public domain. You can do whatever you want with it, change it, appropriate it, relicense it, redistribute it, include it in your own libraries and applications, sell it and never mention where you've got it. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #pragma endregion // Public Domain Code #ifndef NUCLEX_GRAPHICS_DEMO_DEMO_H #define NUCLEX_GRAPHICS_DEMO_DEMO_H #include #include #include "Window.h" #include "Nuclex/Graphics/Rasterization/Direct3D11Rasterizer.h" namespace Nuclex { namespace Graphics { namespace Demo { // ------------------------------------------------------------------------------------------- // /// Demo application for the Nuclex.Graphis.Native librar class Demo { /// Initializes a new instance of the demo application /// Instance handle of the running process public: Demo(HINSTANCE instanceHandle); public: bool WasQuitRequested() const { return this->quitRequested || this->mainWindow.WasCloseRequested(); } public: void Draw() { } private: void positionMainWindow(); /// Main window the demo application renders into private: Window mainWindow; /// Rasterizer that will be used for rendering private: Nuclex::Graphics::Rasterization::Direct3D11Rasterizer rasterizer; /// Whether the demo has been requested to end private: bool quitRequested; }; // ------------------------------------------------------------------------------------------- // }}} // namespace Nuclex::Graphics::Demo #endif // NUCLEX_GRAPHICS_DEMO_DEMO_H