34 #ifndef __CU_APPLICATION_H__
35 #define __CU_APPLICATION_H__
36 #include <cugl/util/CUTimestamp.h>
37 #include <cugl/math/CUColor4.h>
38 #include <cugl/math/CURect.h>
39 #include <unordered_map>
93 enum class State : unsigned int {
174 std::deque<float> _fpswindow;
185 std::unordered_map<Uint32, scheduable> _callbacks;
187 std::mutex _queueMutex;
197 void processCallbacks(Uint32 millis);
200 #pragma mark Constructors
252 #pragma mark Virtual Methods
341 #pragma mark Application Loop
401 Uint32
schedule(std::function<
bool()> callback, Uint32 time=0);
429 Uint32
schedule(std::function<
bool()> callback, Uint32 time, Uint32 period);
449 #pragma mark Initialization Attributes
464 void setSize(
int width,
int height);
626 #pragma mark Runtime Attributes
640 void setName(
const char* name);
654 void setName(
const std::string& name);
787 #pragma mark File Directories
bool _highdpi
Definition: CUApplication.h:156
Uint32 period
Definition: CUApplication.h:64
std::string _savesdir
Definition: CUApplication.h:144
int getDisplayWidth() const
Definition: CUApplication.h:476
bool isMultiSampled() const
Definition: CUApplication.h:623
Rect getSafeArea() const
Definition: CUApplication.h:532
State getState() const
Definition: CUApplication.h:777
virtual void onSuspend()
Definition: CUApplication.h:301
Rect getDisplayBounds() const
Definition: CUApplication.h:516
Rect _display
Definition: CUApplication.h:150
std::string getAssetDirectory()
const std::string getOpenGLDescription() const
const std::string & getName() const
Definition: CUApplication.h:665
Size getDisplaySize() const
Definition: CUApplication.h:500
virtual void onResume()
Definition: CUApplication.h:313
void setClearColor(Color4 color)
Definition: CUApplication.h:759
bool _fullscreen
Definition: CUApplication.h:154
Definition: CUColor4.h:73
State
Definition: CUApplication.h:93
float width
Definition: CUSize.h:61
std::string _org
Definition: CUApplication.h:139
Rect _safearea
Definition: CUApplication.h:152
virtual void onShutdown()
float _fps
Definition: CUApplication.h:161
void setFullscreen(bool value)
virtual void update(float timestep)
Definition: CUApplication.h:326
std::string _assetdir
Definition: CUApplication.h:142
Uint32 schedule(std::function< bool()> callback, Uint32 time=0)
float height
Definition: CUSize.h:63
int getDisplayHeight() const
Definition: CUApplication.h:488
std::string _name
Definition: CUApplication.h:137
std::function< bool()> callback
Definition: CUApplication.h:62
std::string getSaveDirectory()
Color4 getClearColor() const
Definition: CUApplication.h:769
bool isHighDPI() const
Definition: CUApplication.h:595
Color4f _clearColor
Definition: CUApplication.h:163
float getFPS() const
Definition: CUApplication.h:735
Definition: CUApplication.h:84
void setOrganization(const char *name)
float getAverageFPS() const
Definition: CUApplication.h:60
Uint32 timer
Definition: CUApplication.h:66
void setMultiSampled(bool flag)
Size size
Definition: CURect.h:51
void setSize(int width, int height)
State _state
Definition: CUApplication.h:147
Definition: CUColor4.h:1084
void setHighDPI(bool highDPI)
virtual void onLowMemory()
Definition: CUApplication.h:288
const std::string & getOrganization() const
Definition: CUApplication.h:704
Definition: CUAction.h:51
bool isFullscreen() const
Definition: CUApplication.h:559
~Application()
Definition: CUApplication.h:213
void setName(const char *name)
bool _multisamp
Definition: CUApplication.h:158
virtual void draw()
Definition: CUApplication.h:337
static Application * _theapp
Definition: CUApplication.h:166
void unschedule(Uint32 id)