GCP Assignment 1
MainStateUI.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <SDL.h>
4 #include <iostream>
5 #include <cstdint>
6 #include <sstream>
7 #include <iomanip>
8 #include <unordered_map>
9 #include "../PGGAssignment2Code/Shader.h"
10 #include "../PGGAssignment2Code/UIObject.h"
11 #include "../PGGAssignment2Code/UI.h"
12 #include "../Core/Logging.h"
13 
17 class MainStateUI : public UI
18 {
19 public:
24  MainStateUI(std::unordered_map<std::string, Shader*> &shaders);
25 
29  ~MainStateUI();
30 
35  void update(float dt);
36 
40  void draw();
41 
46 
51 
56  void updateTime(float time);
57 
62  void updateAxis(char axis);
63 
68  void updateMethod(char method);
69 
75 
80  void updateMemory(int memory);
81 
86  char getAxis() { return axis; }
87 
92  int getRotations() { return rotations; }
93 
98  char getMethod() { return method; }
99 
104  void setHelp(bool state) { helpState = state; }
105 
110  bool getHelp() { return helpState; }
111 
112 private:
138  char axis;
140  char method;
142  bool helpState;
143 };
char getAxis()
A function to get the current axis.
Definition: MainStateUI.h:86
UIObject * loadingText
The loading text.
Definition: MainStateUI.h:135
UIObject * set100Text
Definition: MainStateUI.h:127
UIObject * timeText
The performance texts.
Definition: MainStateUI.h:132
bool getHelp()
A function to get the current help state.
Definition: MainStateUI.h:110
void updateNumberOfRotations(int rotations)
A function to update the number of rotations.
Definition: MainStateUI.cpp:227
char getMethod()
A function to get the current method.
Definition: MainStateUI.h:98
UIObject * rotationMethodText
Definition: MainStateUI.h:120
A UI for the MainState using my old PGG2 UI classes.
Definition: MainStateUI.h:17
UIObject * performanceText
Definition: MainStateUI.h:136
UIObject * zText
Definition: MainStateUI.h:125
UIObject * axisText
Info Text.
Definition: MainStateUI.h:118
char axis
the current axis
Definition: MainStateUI.h:138
void updateAxis(char axis)
A function to update the axis.
Definition: MainStateUI.cpp:144
MainStateUI(std::unordered_map< std::string, Shader *> &shaders)
Constructs the MainStateUI.
Definition: MainStateUI.cpp:3
int getRotations()
A function to get the current number of rotations.
Definition: MainStateUI.h:92
A class for the 2D user interfaces.
Definition: UI.h:16
void updateMethod(char method)
A function to update the method.
Definition: MainStateUI.cpp:189
~MainStateUI()
Destructs the MainStateUI object.
Definition: MainStateUI.cpp:84
void updateTime(float time)
A function to update the time text.
Definition: MainStateUI.cpp:112
UIObject * set1000Text
Definition: MainStateUI.h:128
UIObject * set10Text
Definition: MainStateUI.h:126
void drawLoading()
A function to draw to the loading text to the screen.
Definition: MainStateUI.h:45
bool helpState
if the help should be displayed
Definition: MainStateUI.h:142
void draw()
A function to draw to the screen.
Definition: MainStateUI.cpp:311
void draw(Shader *shader)
A function to draw to the screen.
Definition: UIObject.cpp:224
void updateMemory(int memory)
A function to update the memory text.
Definition: MainStateUI.cpp:279
int rotations
Definition: MainStateUI.h:139
UIObject * matrixText
Definition: MainStateUI.h:121
UIObject * quatText
Definition: MainStateUI.h:122
A class for the UI Objects.
Definition: UIObject.h:13
void drawPerformance()
A function to draw to the performance text to the screen.
Definition: MainStateUI.h:50
UIObject * background
The Title Image.
Definition: MainStateUI.h:114
void setHelp(bool state)
A function to set the help state.
Definition: MainStateUI.h:104
UIObject * xText
Definition: MainStateUI.h:123
char method
Definition: MainStateUI.h:140
UIObject * memoryText
Definition: MainStateUI.h:133
UIObject * yText
Definition: MainStateUI.h:124
Shader * shader
The shader for the UI.
Definition: UI.h:52
void update(float dt)
A function to update the MainStateUI.
Definition: MainStateUI.cpp:108
UIObject * numberOfRotationsText
Definition: MainStateUI.h:119
UIObject * helpText
Definition: MainStateUI.h:130
UIObject * help
The help image.
Definition: MainStateUI.h:116
UIObject * set10000Text
Definition: MainStateUI.h:129