#include <App.h>
Classes | |
class | Settings |
Public Member Functions | |
App () | |
virtual | ~App () |
virtual void | setup () |
Override to perform any application setup after the Renderer has been initialized. More... | |
virtual void | shutdown () |
Override to perform any application cleanup before exiting. More... | |
virtual void | update () |
Override to perform any once-per-loop computation. More... | |
virtual void | draw () |
Override to perform any rendering once-per-loop or in response to OS-prompted requests for refreshes. More... | |
virtual void | mouseDown (MouseEvent event) |
Override to receive mouse-down events. More... | |
virtual void | mouseUp (MouseEvent event) |
Override to receive mouse-up events. More... | |
virtual void | mouseWheel (MouseEvent event) |
Override to receive mouse-wheel events. More... | |
virtual void | mouseMove (MouseEvent event) |
Override to receive mouse-move events. More... | |
virtual void | mouseDrag (MouseEvent event) |
Override to receive mouse-drag events. More... | |
virtual void | touchesBegan (TouchEvent event) |
Override to respond to the beginning of a multitouch sequence. More... | |
virtual void | touchesMoved (TouchEvent event) |
Override to respond to movement (drags) during a multitouch sequence. More... | |
virtual void | touchesEnded (TouchEvent event) |
Override to respond to the end of a multitouch sequence. More... | |
virtual void | keyDown (KeyEvent event) |
Override to receive key-down events. More... | |
virtual void | keyUp (KeyEvent event) |
Override to receive key-up events. More... | |
virtual void | resize () |
Override to receive window resize events. More... | |
virtual void | fileDrop (FileDropEvent event) |
Override to receive file-drop events. More... | |
virtual void | quit ()=0 |
Quits the application gracefully. More... | |
signals::signal< void()> & | getSignalUpdate () |
Emitted at the start of each application update cycle. More... | |
signals::signal< void()> & | getSignalShutdown () |
Emitted prior to the application shutting down. More... | |
void | emitShutdown () |
signals::signal< void()> & | getSignalWillResignActive () |
void | emitWillResignActive () |
signals::signal< void()> & | getSignalDidBecomeActive () |
void | emitDidBecomeActive () |
const std::vector < TouchEvent::Touch > & | getActiveTouches () const |
virtual const Settings & | getSettings () const =0 |
RendererRef | getRenderer () const |
Returns the Renderer of the active Window. More... | |
DisplayRef | getDisplay () const |
Returns the Display of the active Window. More... | |
virtual WindowRef | getWindow () const =0 |
Returns the the currently active Window. Throws ExcInvalidWindow if called with no active window. More... | |
virtual size_t | getNumWindows () const =0 |
Returns the number of Windows the app has open. More... | |
virtual WindowRef | getWindowIndex (size_t index) const =0 |
Gets a Window by index, in the range [0, getNumWindows()). Throw ExcInvalidWindow if index is out of bounds. More... | |
virtual void | enablePowerManagement (bool powerManagement=true) |
a value of true allows screensavers or the system's power management to hide the app. Default value is false on desktop, and true on mobile More... | |
virtual bool | isPowerManagementEnabled () const |
is power management enabled, allowing screensavers and the system's power management to hide the application More... | |
int | getWindowWidth () const |
Returns the width of the App's current window measured in points. More... | |
int | getWindowHeight () const |
Returns the height of the App's current window measured in points. More... | |
void | setWindowSize (int windowWidth, int windowHeight) |
Sets the size of the App's current window measured in points. Ignored in full-screen mode. More... | |
void | setWindowSize (const Vec2i &size) |
Sets the size of the App's window measured in points. Ignored in full-screen mode. More... | |
Vec2f | getWindowCenter () const |
Returns the center of the App's window measured in points. More... | |
Vec2i | getWindowSize () const |
Returns the size of the App's current window measured in points. More... | |
float | getWindowAspectRatio () const |
Returns the aspect ratio of the App's current window. More... | |
Area | getWindowBounds () const |
Returns the bounding area of the App's current window measured in points. More... | |
float | getWindowContentScale () const |
Returns the contentScale of the App's window, which is the multiplier that maps points to pixels. More... | |
Vec2i | getWindowPos () const |
Returns tcoordinates of the top-left corner of the current window measured in points. More... | |
int | getWindowPosX () const |
Returns the X coordinate of the top-left corner of the current window measured in points. More... | |
int | getWindowPosY () const |
Returns the Y coordinate of the top-left corner of the current window contents measured in points. More... | |
void | setWindowPos (int x, int y) |
Sets the coordinates of the top-left corner of the current window measured in points. More... | |
virtual void | setWindowPos (const Vec2i &windowPos) |
Sets the coordinates of the top-left corner of the current window measured points. More... | |
virtual float | getFrameRate () const =0 |
Returns the maximum frame-rate the App will attempt to maintain. More... | |
virtual void | setFrameRate (float frameRate)=0 |
Sets the maximum frame-rate the App will attempt to maintain. More... | |
float | getAverageFps () const |
Returns the average frame-rate attained by the App as measured in frames-per-second. More... | |
double | getFpsSampleInterval () const |
Returns the sampling rate in seconds for measuring the average frame-per-second as returned by getAverageFps() More... | |
void | setFpsSampleInterval (double sampleInterval) |
Sets the sampling rate in seconds for measuring the average frame-per-second as returned by getAverageFps() More... | |
bool | isFullScreen () const |
Returns whether the App is in full-screen mode or not. More... | |
void | setFullScreen (bool aFullScreen, const FullScreenOptions &options=FullScreenOptions()) |
Sets whether the active App is in full-screen mode based on fullScreen. More... | |
double | getElapsedSeconds () const |
Returns the number of seconds which have elapsed since application launch. More... | |
uint32_t | getElapsedFrames () const |
Returns the number of animation frames which have elapsed since application launch. More... | |
DataSourceRef | loadAsset (const fs::path &relativePath) |
Returns a DataSourceRef to an application asset. Throws a AssetLoadExc on failure. More... | |
fs::path | getAssetPath (const fs::path &relativePath) |
Returns a fs::path to an application asset. Returns an empty path on failure. More... | |
void | addAssetDirectory (const fs::path &dirPath) |
Adds an absolute path 'dirPath' to the list of directories which are searched for assets. More... | |
virtual fs::path | getAppPath () const =0 |
Returns the path to the application on disk. More... | |
fs::path | getOpenFilePath (const fs::path &initialPath="", std::vector< std::string > extensions=std::vector< std::string >()) |
Presents the user with a folder-open dialog and returns the selected folder path in the spcified callback. More... | |
fs::path | getFolderPath (const fs::path &initialPath="") |
Presents the user with a folder-open dialog and returns the selected folder. More... | |
fs::path | getSaveFilePath (const fs::path &initialPath="", std::vector< std::string > extensions=std::vector< std::string >()) |
Presents the user with a file-save dialog and returns the selected file path. More... | |
std::ostream & | console () |
Returns a reference to an output console, which is an alias to std::cout on the mac, and a wrapper around OutputDebugString on MSW. More... | |
Timeline & | timeline () |
Returns a reference to the App's Timeline. More... | |
boost::asio::io_service & | io_service () |
Returns a reference to the App's boost::asio::io_service() More... | |
void | dispatchAsync (const std::function< void()> &fn) |
defined( CINDER_WINRT ) More... | |
template<typename T > | |
std::result_of< T()>::type | dispatchSync (T fn) |
RendererRef | getDefaultRenderer () const |
Returns the default Renderer which will be used when creating a new Window. Set by the app instantiation macro automatically. More... | |
Surface | copyWindowSurface () |
Surface | copyWindowSurface (const Area &area) |
void | restoreWindowContext () |
Restores the current rendering context to be the App's window or the screen in full-screen mode. Generally this is only necessary if the app has displayed a dialog box or some other external window. More... | |
RendererRef | findSharedRenderer (RendererRef searchRenderer) const |
Finds any Renderer of the same type as searchRenderer among existing windows. This is generally not necessary and used to enable context sharing between Windows. Returns NULL on failure. More... | |
virtual bool | receivesEvents () const |
Static Public Member Functions | |
static Vec2i | getMousePos () |
Returns the current location of the mouse in screen coordinates measured in points. Can be called outside the normal event loop. More... | |
static DataSourceRef | loadResource (const std::string &macPath, int mswID, const std::string &mswType) |
Returns a DataSourceRef to an application resource. On Mac OS X, macPath is a path relative to the bundle's resources folder. On Windows, mswID and mswType identify the resource as defined the application's .rc file(s). Throws ResourceLoadExc on failure. More... | |
static bool | isPrimaryThread () |
Return true if the calling thread is the Application's primary thread. More... | |
static App * | get () |
Returns a pointer to the active App. More... | |
Protected Attributes | |
RendererRef | mDefaultRenderer |
bool | mPowerManagement |
Static Protected Attributes | |
static App * | sInstance |
cinder::app::App::App | ( | ) |
|
virtual |
|
virtual |
Override to perform any application setup after the Renderer has been initialized.
|
virtual |
Override to perform any application cleanup before exiting.
|
virtual |
Override to perform any once-per-loop computation.
|
virtual |
Override to perform any rendering once-per-loop or in response to OS-prompted requests for refreshes.
|
virtual |
Override to receive mouse-down events.
|
virtual |
Override to receive mouse-up events.
|
virtual |
Override to receive mouse-wheel events.
|
virtual |
Override to receive mouse-move events.
|
virtual |
Override to receive mouse-drag events.
|
virtual |
Override to respond to the beginning of a multitouch sequence.
|
virtual |
Override to respond to movement (drags) during a multitouch sequence.
|
virtual |
Override to respond to the end of a multitouch sequence.
Override to receive key-down events.
|
virtual |
Override to receive window resize events.
|
virtual |
Override to receive file-drop events.
|
pure virtual |
Quits the application gracefully.
Implemented in cinder::app::AppCocoaTouch, cinder::app::AppBasic, cinder::app::AppScreenSaver, and cinder::app::AppCocoaView.
signals::signal<void()>& cinder::app::App::getSignalUpdate | ( | ) |
Emitted at the start of each application update cycle.
signals::signal<void()>& cinder::app::App::getSignalShutdown | ( | ) |
Emitted prior to the application shutting down.
void cinder::app::App::emitShutdown | ( | ) |
signals::signal<void()>& cinder::app::App::getSignalWillResignActive | ( | ) |
void cinder::app::App::emitWillResignActive | ( | ) |
signals::signal<void()>& cinder::app::App::getSignalDidBecomeActive | ( | ) |
void cinder::app::App::emitDidBecomeActive | ( | ) |
const std::vector<TouchEvent::Touch>& cinder::app::App::getActiveTouches | ( | ) | const |
|
pure virtual |
Implemented in cinder::app::AppCocoaTouch, cinder::app::AppBasic, cinder::app::AppScreenSaver, and cinder::app::AppCocoaView.
RendererRef cinder::app::App::getRenderer | ( | ) | const |
DisplayRef cinder::app::App::getDisplay | ( | ) | const |
|
pure virtual |
Returns the the currently active Window. Throws ExcInvalidWindow if called with no active window.
Implemented in cinder::app::AppBasic, cinder::app::AppScreenSaver, cinder::app::AppCocoaTouch, and cinder::app::AppCocoaView.
|
pure virtual |
Returns the number of Windows the app has open.
Implemented in cinder::app::AppBasic, cinder::app::AppScreenSaver, cinder::app::AppCocoaTouch, and cinder::app::AppCocoaView.
|
pure virtual |
Gets a Window by index, in the range [0, getNumWindows()). Throw ExcInvalidWindow if index is out of bounds.
Implemented in cinder::app::AppBasic, cinder::app::AppScreenSaver, cinder::app::AppCocoaTouch, and cinder::app::AppCocoaView.
|
virtual |
a value of true allows screensavers or the system's power management to hide the app. Default value is false
on desktop, and true
on mobile
Reimplemented in cinder::app::AppCocoaTouch.
|
virtual |
is power management enabled, allowing screensavers and the system's power management to hide the application
int cinder::app::App::getWindowWidth | ( | ) | const |
Returns the width of the App's current window measured in points.
int cinder::app::App::getWindowHeight | ( | ) | const |
Returns the height of the App's current window measured in points.
Sets the size of the App's current window measured in points. Ignored in full-screen mode.
Sets the size of the App's window measured in points. Ignored in full-screen mode.
Vec2f cinder::app::App::getWindowCenter | ( | ) | const |
Returns the center of the App's window measured in points.
Equivalent to Vec2f( getWindowWidth() * 0.5, getWindowHeight() * 0.5 )
Vec2i cinder::app::App::getWindowSize | ( | ) | const |
Returns the size of the App's current window measured in points.
float cinder::app::App::getWindowAspectRatio | ( | ) | const |
Returns the aspect ratio of the App's current window.
Area cinder::app::App::getWindowBounds | ( | ) | const |
Returns the bounding area of the App's current window measured in points.
Equivalent to Area( 0, 0, getWindowWidth(), getWindowHeight() );
float cinder::app::App::getWindowContentScale | ( | ) | const |
Returns the contentScale of the App's window, which is the multiplier that maps points to pixels.
Vec2i cinder::app::App::getWindowPos | ( | ) | const |
Returns tcoordinates of the top-left corner of the current window measured in points.
int cinder::app::App::getWindowPosX | ( | ) | const |
Returns the X coordinate of the top-left corner of the current window measured in points.
int cinder::app::App::getWindowPosY | ( | ) | const |
Returns the Y coordinate of the top-left corner of the current window contents measured in points.
Sets the coordinates of the top-left corner of the current window measured in points.
Sets the coordinates of the top-left corner of the current window measured points.
|
pure virtual |
Returns the maximum frame-rate the App will attempt to maintain.
Implemented in cinder::app::AppCocoaTouch, cinder::app::AppBasic, cinder::app::AppScreenSaver, and cinder::app::AppCocoaView.
|
pure virtual |
Sets the maximum frame-rate the App will attempt to maintain.
Implemented in cinder::app::AppCocoaTouch, cinder::app::AppBasic, cinder::app::AppScreenSaver, and cinder::app::AppCocoaView.
float cinder::app::App::getAverageFps | ( | ) | const |
Returns the average frame-rate attained by the App as measured in frames-per-second.
double cinder::app::App::getFpsSampleInterval | ( | ) | const |
Returns the sampling rate in seconds for measuring the average frame-per-second as returned by getAverageFps()
void cinder::app::App::setFpsSampleInterval | ( | double | sampleInterval | ) |
Sets the sampling rate in seconds for measuring the average frame-per-second as returned by getAverageFps()
bool cinder::app::App::isFullScreen | ( | ) | const |
Returns whether the App is in full-screen mode or not.
void cinder::app::App::setFullScreen | ( | bool | aFullScreen, |
const FullScreenOptions & | options = FullScreenOptions() |
||
) |
Sets whether the active App is in full-screen mode based on fullScreen.
double cinder::app::App::getElapsedSeconds | ( | ) | const |
Returns the number of seconds which have elapsed since application launch.
uint32_t cinder::app::App::getElapsedFrames | ( | ) | const |
Returns the number of animation frames which have elapsed since application launch.
|
static |
Returns the current location of the mouse in screen coordinates measured in points. Can be called outside the normal event loop.
|
static |
Returns a DataSourceRef to an application resource. On Mac OS X, macPath is a path relative to the bundle's resources folder. On Windows, mswID and mswType identify the resource as defined the application's .rc file(s). Throws ResourceLoadExc on failure.
DataSourceRef cinder::app::App::loadAsset | ( | const fs::path & | relativePath | ) |
Returns a DataSourceRef to an application asset. Throws a AssetLoadExc on failure.
fs::path cinder::app::App::getAssetPath | ( | const fs::path & | relativePath | ) |
Returns a fs::path to an application asset. Returns an empty path on failure.
void cinder::app::App::addAssetDirectory | ( | const fs::path & | dirPath | ) |
Adds an absolute path 'dirPath' to the list of directories which are searched for assets.
|
pure virtual |
Returns the path to the application on disk.
Implemented in cinder::app::AppCocoaTouch, cinder::app::AppBasic, cinder::app::AppScreenSaver, and cinder::app::AppCocoaView.
fs::path cinder::app::App::getOpenFilePath | ( | const fs::path & | initialPath = "" , |
std::vector< std::string > | extensions = std::vector<std::string>() |
||
) |
Presents the user with a folder-open dialog and returns the selected folder path in the spcified callback.
The dialog optionally begins at the path initialPath and can be limited to allow selection of files ending in the extensions enumerated in extensions. On WinRT, at least one extension must be specified in extensions or an exception will occur. If the active app is in snapped mode it will be unsnapped to present the dialog.
fs::path cinder::app::App::getFolderPath | ( | const fs::path & | initialPath = "" | ) |
Presents the user with a folder-open dialog and returns the selected folder.
fs::path cinder::app::App::getSaveFilePath | ( | const fs::path & | initialPath = "" , |
std::vector< std::string > | extensions = std::vector<std::string>() |
||
) |
Presents the user with a file-save dialog and returns the selected file path.
The dialog optionally begins at the path initialPath and can be limited to allow selection of files ending in the extensions enumerated in extensions. If the active app is in full-screen mode it will temporarily switch to windowed-mode to present the dialog.
std::ostream & cinder::app::App::console | ( | ) |
Returns a reference to an output console, which is an alias to std::cout on the mac, and a wrapper around OutputDebugString on MSW.
|
static |
Return true
if the calling thread is the Application's primary thread.
boost::asio::io_service& cinder::app::App::io_service | ( | ) |
Returns a reference to the App's boost::asio::io_service()
std::result_of<T()>::type cinder::app::App::dispatchSync | ( | T | fn | ) |
RendererRef cinder::app::App::getDefaultRenderer | ( | ) | const |
Surface cinder::app::App::copyWindowSurface | ( | ) |
void cinder::app::App::restoreWindowContext | ( | ) |
Restores the current rendering context to be the App's window or the screen in full-screen mode. Generally this is only necessary if the app has displayed a dialog box or some other external window.
RendererRef cinder::app::App::findSharedRenderer | ( | RendererRef | searchRenderer | ) | const |
Finds any Renderer of the same type as searchRenderer among existing windows. This is generally not necessary and used to enable context sharing between Windows. Returns NULL on failure.
|
virtual |
Reimplemented in cinder::app::AppScreenSaver.
|
staticprotected |
|
protected |
|
protected |