#pragma once #include #include "../external/imgui/glfw3.h" #include "../external/imgui/imgui.h" #include "../Render/Renderer.h" #include "Controller.h" #include "UIBean.h" #include "TextureBean.h" #include "../Registration/Registration.h" #include "../DataManage/DataHandle.h" class UIWin { public: UIWin(); ~UIWin(); bool Init(); void Display(); private: void SetupDockSpace(void); void DrawTitleBar(); void Draw(); void DrawToolBar(); void DrawMain(); void DrawIO(); static void GLFWMouseWheelCallback(GLFWwindow* window, double xoffset, double yoffset); static void GLFWMousePositionCallback(GLFWwindow* window, double xpos, double ypos); static void GLFWMouseButtonCallback(GLFWwindow* window, int button, int action, int mods); static void GLFWKeyCallback(GLFWwindow* window, int key, int scancode, int action, int mods); private: GLFWwindow* m_GLFWWin; GLFWwindow* m_SplashWin; GLFWmonitor* m_GLFWMon; const GLFWvidmode* m_GLFWMode; //Tex* m_Textures; ImVec4 m_bgColor = ImVec4(0.87f, 0.90f, 0.98f, 1.00f); bool m_IOWinShow = false; bool m_powderWinShow = false; bool m_scanWinShow = false; bool m_modelWinShow = false; bool m_configWinShow = false; bool m_StateWinShow = false; bool m_PrintRemoveWinShow = false; //bool m_PurifierWinShow = false; bool m_LogWinShow = false; bool m_CamWinShow = false; bool m_TestWinShow = false; bool m_IsFullScreen; bool m_LockScreenWinShow = false; bool m_WindDbgShow = false; bool m_InFillCfgWinShow = false; bool m_LaserStateShow = false; bool m_ServoStateShow = false; bool m_SignalStateShow = false; bool m_ScannerWinShow = false; bool m_SimpleSupplyWinShow = false; bool m_PowerMeterShow = false; bool m_RecoatCheckWinShow = false; bool m_KeyboardOpen = false; int m_winWidth = 1280; int m_winHeight = 720; int m_MainWidth; const int TITLE_HEIGHT = 40; const int DEFAULT_WIN_WIDTH = 1440; const int DEFAULT_WIN_HEIGHT = 900; int STATUS_HEIGHT = 45; Controller* m_Controller; VLRenderer* m_Renderer; VLRenderer* m_PrevRenderer; bool m_PreviewWinShow = false; // JobFileProcessor * m_prev_jfp; //unsigned int m_prev_layer; //JobFileProcessor * m_curr_jfp; Registration m_Reg; Registration::RegType m_RegResult; ImVec2 m_RenderSize; ImVec2 m_PreviewSize; uint64_t m_IdleTime; CRITICAL_SECTION m_IdleTimeCS; bool m_RenderToPreview; ImGuiID dockspace_id; bool m_IsShowInitError; string m_ProductVersion; map* m_TextureMap; };