📄 glwindow2.h
字号:
// -*- c++ -*-// Copyright 2008 Isis Innovation Limited#ifndef __GL_WINDOW_2_H#define __GL_WINDOW_2_H//// A class which wraps a CVD::GLWindow and provides some basic// user-interface funtionality: A gvars-driven clickable menu, and a// caption line for text display. Also provides some handy GL helpers// and a wrapper for CVD's text display routines.#include <cvd/glwindow.h>#include <TooN/numerics.h>class GLWindowMenu;class GLWindow2 : public CVD::GLWindow, public CVD::GLWindow::EventHandler{public: GLWindow2(CVD::ImageRef irSize, std::string sTitle); // The preferred event handler.. void HandlePendingEvents(); // Menu interface: void AddMenu(std::string sName, std::string sTitle); void DrawMenus(); // Some OpenGL helpers: void SetupViewport(); void SetupVideoOrtho(); void SetupUnitOrtho(); void SetupWindowOrtho(); void SetupVideoRasterPosAndZoom(); // Text display functions: void PrintString(CVD::ImageRef irPos, std::string s); void DrawCaption(std::string s); // Map viewer mouse interface: std::pair<TooN::Vector<6>, TooN::Vector<6> > GetMousePoseUpdate(); protected: void GUICommandHandler(std::string sCommand, std::string sParams); static void GUICommandCallBack(void* ptr, std::string sCommand, std::string sParams); // User interface menus: std::vector<GLWindowMenu*> mvpGLWindowMenus; CVD::ImageRef mirVideoSize; // The size of the source video material. // Event handling routines: virtual void on_key_down(GLWindow&, int key); virtual void on_mouse_move(GLWindow& win, CVD::ImageRef where, int state); virtual void on_mouse_down(GLWindow& win, CVD::ImageRef where, int state, int button); virtual void on_event(GLWindow& win, int event); CVD::ImageRef mirLastMousePos; // Storage for map viewer updates: TooN::Vector<6> mvMCPoseUpdate; TooN::Vector<6> mvLeftPoseUpdate; };#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -