GrpcPrint/PrintC/UI/UIWin.h
2024-04-09 16:53:02 +08:00

95 lines
2.4 KiB
C++

#pragma once
#include <map>
#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<string, TextureBean*>* m_TextureMap ;
};