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 {
 
  177     std::deque<float> _fpswindow;
 
  188     std::unordered_map<Uint32, scheduable> _callbacks;
 
  190     std::mutex _queueMutex;
 
  200     void processCallbacks(Uint32 millis);
 
  203 #pragma mark Constructors 
  255 #pragma mark Virtual Methods 
  344 #pragma mark Application Loop 
  404     Uint32 
schedule(std::function<
bool()> callback, Uint32 time=0);
 
  432     Uint32 
schedule(std::function<
bool()> callback, Uint32 time, Uint32 period);
 
  452 #pragma mark Initialization Attributes 
  466     void setSize(
int width, 
int height);
 
  586 #pragma mark Runtime Attributes 
  600     void setName(
const char* name);
 
  614     void setName(
const std::string& name);
 
  747 #pragma mark File Directories 
  795 #pragma mark Internal Helpers 
  804     bool prepareOpenGL();
 
bool _highdpi
Definition: CUApplication.h:159
 
SDL_GLContext _glContext
Definition: CUApplication.h:149
 
Uint32 period
Definition: CUApplication.h:64
 
const Size & getDisplaySize() const 
Definition: CUApplication.h:487
 
std::string _savesdir
Definition: CUApplication.h:144
 
int getDisplayWidth() const 
Definition: CUApplication.h:473
 
bool isMultiSampled() const 
Definition: CUApplication.h:583
 
State getState() const 
Definition: CUApplication.h:737
 
SDL_Window * _window
Definition: CUApplication.h:147
 
virtual void onSuspend()
Definition: CUApplication.h:304
 
Rect _display
Definition: CUApplication.h:155
 
std::string getAssetDirectory()
 
const std::string getOpenGLDescription() const 
 
const std::string & getName() const 
Definition: CUApplication.h:625
 
virtual void onResume()
Definition: CUApplication.h:316
 
void setClearColor(Color4 color)
Definition: CUApplication.h:719
 
bool _fullscreen
Definition: CUApplication.h:157
 
Definition: CUColor4.h:73
 
State
Definition: CUApplication.h:93
 
float width
Definition: CUSize.h:61
 
std::string _org
Definition: CUApplication.h:139
 
const Rect & getDisplayBounds() const 
Definition: CUApplication.h:498
 
virtual void onShutdown()
 
float _fps
Definition: CUApplication.h:164
 
void setFullscreen(bool value)
 
virtual void update(float timestep)
Definition: CUApplication.h:329
 
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:480
 
std::string _name
Definition: CUApplication.h:137
 
std::function< bool()> callback
Definition: CUApplication.h:62
 
std::string getSaveDirectory()
 
Color4 getClearColor() const 
Definition: CUApplication.h:729
 
bool isHighDPI() const 
Definition: CUApplication.h:555
 
Color4f _clearColor
Definition: CUApplication.h:166
 
float getFPS() const 
Definition: CUApplication.h:695
 
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:152
 
Definition: CUColor4.h:1084
 
void setHighDPI(bool highDPI)
 
virtual void onLowMemory()
Definition: CUApplication.h:291
 
const std::string & getOrganization() const 
Definition: CUApplication.h:664
 
Definition: CUAction.h:51
 
bool isFullscreen() const 
Definition: CUApplication.h:519
 
~Application()
Definition: CUApplication.h:216
 
void setName(const char *name)
 
bool _multisamp
Definition: CUApplication.h:161
 
virtual void draw()
Definition: CUApplication.h:340
 
static Application * _theapp
Definition: CUApplication.h:169
 
void unschedule(Uint32 id)