diff options
Diffstat (limited to '')
-rw-r--r-- | dev/MinGfx/tests/gui_plus_opengl/gui_plus_opengl.h | 192 |
1 files changed, 96 insertions, 96 deletions
diff --git a/dev/MinGfx/tests/gui_plus_opengl/gui_plus_opengl.h b/dev/MinGfx/tests/gui_plus_opengl/gui_plus_opengl.h index faf3580..316b747 100644 --- a/dev/MinGfx/tests/gui_plus_opengl/gui_plus_opengl.h +++ b/dev/MinGfx/tests/gui_plus_opengl/gui_plus_opengl.h @@ -1,96 +1,96 @@ -/* - This file is part of the MinGfx Project. - - Copyright (c) 2017,2018 Regents of the University of Minnesota. - All Rights Reserved. - - Original Author(s) of this File: - Dan Keefe, 2018, University of Minnesota - - Author(s) of Significant Updates/Modifications to the File: - ... - */ - -#include <mingfx.h> -using namespace mingfx; - - -/** An application that opens up a window that includes a few buttons - for controlling the simulation and can be used to draw circles and - other computer graphics. - - After constructing a new CircleViewer, call Run() to start and - run the application. Run() will not return until the application - window is closed. Make sure that you call cs3081::InitGraphics() - before creating the RobotViewer app. Example: - - ``` - int main(int argc, char **argv) { - cs3081::InitGraphics(); - cs3081::CircleViewer *app = new cs3081::CircleViewer(); - app->Run(); - cs3081::ShutdownGraphics(); - return 0; - } - ``` - - While the window is open UpdateSimulation() will be called - repeatedly, once per frame. Fill this in to update your simulation - or perform any other processing that should happen over time as the - simulation progresses. - - Fill in the On*() methods as desired to respond to user input events. - - Fill in the Draw*() methods to draw graphics to the screen using - either the nanovg library or raw OpenGL. -*/ -class GuiPlusOpenGL : public GraphicsApp { -public: - GuiPlusOpenGL(); - ~GuiPlusOpenGL(); - - void InitNanoGUI(); - - void UpdateSimulation(double dt); - - - void OnRestartBtnPressed(); - void OnPauseBtnPressed(); - - - void OnMouseMove(const Point2 &pos, const Vector2 &delta); - - void OnLeftMouseDown(const Point2 &pos); - void OnLeftMouseDrag(const Point2 &pos, const Vector2 &delta); - void OnLeftMouseUp(const Point2 &pos); - - void OnMiddleMouseDown(const Point2 &pos); - void OnMiddleMouseDrag(const Point2 &pos, const Vector2 &delta); - void OnMiddleMouseUp(const Point2 &pos); - - void OnRightMouseDown(const Point2 &pos); - void OnRightMouseDrag(const Point2 &pos, const Vector2 &delta); - void OnRightMouseUp(const Point2 &pos); - - - - void OnKeyDown(const char *c, int modifiers); - - void OnKeyUp(const char *c, int modifiers); - - void OnSpecialKeyDown(int key, int scancode, int modifiers); - - void OnSpecialKeyUp(int key, int scancode, int modifiers); - - - void DrawUsingNanoVG(NVGcontext *ctx); - - void InitOpenGL(); - - void DrawUsingOpenGL(); - -private: - double simTime_; - bool paused_; - nanogui::Button *pauseBtn_; -}; +/*
+ This file is part of the MinGfx Project.
+
+ Copyright (c) 2017,2018 Regents of the University of Minnesota.
+ All Rights Reserved.
+
+ Original Author(s) of this File:
+ Dan Keefe, 2018, University of Minnesota
+
+ Author(s) of Significant Updates/Modifications to the File:
+ ...
+ */
+
+#include <mingfx.h>
+using namespace mingfx;
+
+
+/** An application that opens up a window that includes a few buttons
+ for controlling the simulation and can be used to draw circles and
+ other computer graphics.
+
+ After constructing a new CircleViewer, call Run() to start and
+ run the application. Run() will not return until the application
+ window is closed. Make sure that you call cs3081::InitGraphics()
+ before creating the RobotViewer app. Example:
+
+ ```
+ int main(int argc, char **argv) {
+ cs3081::InitGraphics();
+ cs3081::CircleViewer *app = new cs3081::CircleViewer();
+ app->Run();
+ cs3081::ShutdownGraphics();
+ return 0;
+ }
+ ```
+
+ While the window is open UpdateSimulation() will be called
+ repeatedly, once per frame. Fill this in to update your simulation
+ or perform any other processing that should happen over time as the
+ simulation progresses.
+
+ Fill in the On*() methods as desired to respond to user input events.
+
+ Fill in the Draw*() methods to draw graphics to the screen using
+ either the nanovg library or raw OpenGL.
+*/
+class GuiPlusOpenGL : public GraphicsApp {
+public:
+ GuiPlusOpenGL();
+ ~GuiPlusOpenGL();
+
+ void InitNanoGUI();
+
+ void UpdateSimulation(double dt);
+
+
+ void OnRestartBtnPressed();
+ void OnPauseBtnPressed();
+
+
+ void OnMouseMove(const Point2 &pos, const Vector2 &delta);
+
+ void OnLeftMouseDown(const Point2 &pos);
+ void OnLeftMouseDrag(const Point2 &pos, const Vector2 &delta);
+ void OnLeftMouseUp(const Point2 &pos);
+
+ void OnMiddleMouseDown(const Point2 &pos);
+ void OnMiddleMouseDrag(const Point2 &pos, const Vector2 &delta);
+ void OnMiddleMouseUp(const Point2 &pos);
+
+ void OnRightMouseDown(const Point2 &pos);
+ void OnRightMouseDrag(const Point2 &pos, const Vector2 &delta);
+ void OnRightMouseUp(const Point2 &pos);
+
+
+
+ void OnKeyDown(const char *c, int modifiers);
+
+ void OnKeyUp(const char *c, int modifiers);
+
+ void OnSpecialKeyDown(int key, int scancode, int modifiers);
+
+ void OnSpecialKeyUp(int key, int scancode, int modifiers);
+
+
+ void DrawUsingNanoVG(NVGcontext *ctx);
+
+ void InitOpenGL();
+
+ void DrawUsingOpenGL();
+
+private:
+ double simTime_;
+ bool paused_;
+ nanogui::Button *pauseBtn_;
+};
|