#pragma once #include #include "Graphics.h" #include #include "Logger.h" #include #include "Section.h" #include "Mouse.h" #include "Stage.h" using namespace std; class Window { public: // ¹¹Ô캯Êý Window(HWND& hWnd, HINSTANCE& hInstance, int nCmdShow, int x, int y, Logger& logger); //~Window(); Window(const Window&) = delete; Window& operator=(const Window&) = delete; // Get Graphics member Graphics& GetGfx(); // Put all scene initialization here void InitScenes(Logger& logger); // Draw all scenes void DrawScenes(Graphics& gfx, Logger& logger) noexcept; // Set title for test void SetTitle(HWND hWnd, const std::string& title); private: static LRESULT CALLBACK HandleMsgSetup(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) noexcept; static LRESULT CALLBACK HandleMsgThunk(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) noexcept; static LRESULT HandleMsg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) noexcept; public: static Mouse mouse; private: unique_ptr pGfx; vector> pScenes; shared_ptr pStage; };