- Main Page
- Related Pages
- Classes
- Files

- File List

# src/GpuQuadraticCurveRender/Runner.h

Go to the documentation of this file.

    00001
    00002
    00003
    00004
    00005
    00006
    00007
    00008
    00009
    00010
    00011
    00012
    00013
    00014
    00015
    00016
    00017
    00018
    00019
    00020
    00025 #ifndef _RUNNER_H_
    00026 #define _RUNNER_H_
    00027
    00028 #include "IRunner.h"
    00029 #include "IMenuListener.h"
    00030 #include "IMouseListener.h"
    00031 #include "MenuEntry.h"
    00032
    00033 #include "Render.h"
    00034 #include "Logic.h"
    00035
    00036 namespace GpuQuadraticCurveRender
    00037 {
    00038
    00039 enum Actions
    00040 {
    00041         ShowPoints,
    00042         ShowLines,
    00043         ShowTriangles
    00044 };
    00045
    00051 class Runner :
    00052         public GlutWrapper::IRunner, public GlutWrapper::IMenuListener, public GlutWrapper::IMouseListener
    00053 {
    00054 public:
    00056         Runner(void);
    00057
    00059         ~Runner(void);
    00060
    00066         void InitializeOpengl(int width, int height);
    00067
    00072         void Run(void);
    00073
    00079         void Reshape(int width, int height);
    00080
    00086         void ProcessMenuEvents(int option);
    00087
    00090         void ProcessMouse(const GlutWrapper::MouseState& mouseState);
    00091
    00096         const std::vector<GlutWrapper::MenuEntry>& GetMenuEntries(void) const;
    00097
    00098 private:
    00100         std::vector<GlutWrapper::MenuEntry> m_entries;
    00101
    00103         Render m_render;
    00104
    00106         Logic m_logic;
    00107
    00109         int m_selectedPointIndex;
    00110
    00112         Runner(const Runner&);
    00113
    00115         Runner& operator=(const Runner&);
    00116
    00118         void Render(void);
    00119 };
    00120
    00121 }
    00122 #endif