# Cinder

# cinder::app::AppBasic Class Reference

`#include <AppBasic.h>`

Inherits cinder::app::App.

List of all members.

## Classes
class | Settings
## Public Member Functions
| AppBasic ()
virtual | ~AppBasic ()
virtual void | prepareSettings (Settings *settings)
virtual int | getWindowWidth () const
| Returns the width of the App's window measured in pixels, or the screen when in full-screen mode.
void | setWindowWidth (int windowWidth)
| Sets the width of the App's window measured in pixels. Ignored in full-screen mode.
virtual int | getWindowHeight () const
| Returns the height of the App's window measured in pixels, or the screen when in full-screen mode.
void | setWindowHeight (int windowHeight)
| Sets the height of the App's window measured in pixels. Ignored in full-screen mode.
void | setWindowSize (int windowWidth, int windowHeight)
| Sets the size of the App's window. Ignored in full-screen mode.
virtual float | getFrameRate () const
| Returns the maximum frame-rate the App will attempt to maintain measured in frames-per-second.
virtual void | setFrameRate (float frameRate)
| Sets the maximum frame-rate the App will attempt to maintain \ a frameRate frames-per-second.
virtual bool | isFullScreen () const
| Returns whether the App is in full-screen mode or not.
virtual void | setFullScreen (bool fullScreen)
| Sets whether the active App is in full-screen mode based on fullScreen.
Vec2i | getMousePos () const
| Returns the current location of the mouse. Can be called outside the normal event loop.
void | hideCursor ()
| Hides the mouse cursor.
void | showCursor ()
| Shows the mouse cursor.
const Settings & | getSettings () const
const Display & | getDisplay ()
virtual void | quit ()
| Ceases execution of the application.
virtual std::string | getAppPath ()
| Returns the path to the application on disk.
void | privateSetImpl__ (AppImplCocoaBasic *aImpl)
virtual bool | getsWindowsPaintEvents ()
virtual void | setup ()
| Override to perform any application setup after the Renderer has been initialized.
virtual void | shutdown ()
| Override to perform any application cleanup before exiting.
virtual void | update ()
| Override to perform any once-per-loop computation.
virtual void | draw ()
| Override to perform any rendering once-per-loop or in response to OS-prompted requests for refreshes.
virtual void | mouseDown (MouseEvent event)
| Override to receive mouse-down events.
virtual void | mouseUp (MouseEvent event)
| Override to receive mouse-up events.
virtual void | mouseWheel (MouseEvent event)
| Override to receive mouse-wheel events.
virtual void | mouseMove (MouseEvent event)
| Override to receive mouse-move events.
virtual void | mouseDrag (MouseEvent event)
| Override to receive mouse-drag events.
virtual void | keyDown (KeyEvent event)
| Override to receive key-down events.
virtual void | keyUp (KeyEvent event)
| Override to receive key-up events.
virtual void | resize (int width, int height)
| Override to receive window resize events.
virtual void | fileDrop (FileDropEvent event)
| Override to receive file-drop events.
void | addListener (Listener *listener)
| Adds a Listener to the App's event listeners. The app `delete`s listener upon its own destruction unless it is removed via removeListener.
void | removeListener (Listener *listener)
| Removes a listener from the App's event listeners. Does not `delete` listener.
Renderer * | getRenderer () const
void | setWindowSize (const Vec2i &size)
| Sets the size of the App's window. Ignored in full-screen mode.
Vec2f | getWindowCenter () const
| Returns the center of the App's window or the screen in full-screen mode.
Vec2i | getWindowSize () const
| Returns the size of the App's window or the screen in full-screen mode.
float | getWindowAspectRatio () const
| Returns the aspect ratio of the App's window or the screen in full-screen mode.
Area | getWindowBounds () const
| Returns the bounding area of the App's window or the screen in full-screen mode.
double | getElapsedSeconds () const
| Returns the number of seconds which have elapsed since application launch.
uint32_t | getElapsedFrames () const
| Returns the number of animation frames which have elapsed since application launch.
std::string | getResourcePath (const std::string &rsrcRelativePath)
std::string | getOpenFilePath (const std::string &initialPath="", std::vector< std::string > extensions=std::vector< std::string >())
| Presents the user with a file-open dialog and returns the selected file path.
std::string | getSaveFilePath (const std::string &initialPath="", std::vector< std::string > extensions=std::vector< std::string >())
| Presents the user with a file-save dialog and returns the selected file path.
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.
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.
virtual bool | receivesEvents () const
## Static Public Member Functions
static AppBasic * | get ()
| Returns a pointer to the current global AppBasic.
static DataSourceRef | loadResource (const std::string &macPath, int mswID, const std::string &mswType)
static DataSourcePathRef | loadResource (const std::string &macPath)
static DataSourceBufferRef | loadResource (int mswID, const std::string &mswType)
## Friends
class | AppImplMswBasic

## Constructor & Destructor Documentation

cinder::app::AppBasic::AppBasic | ( |  | ) |

cinder::app::AppBasic::~AppBasic | ( |  | ) | `[virtual]`

## Member Function Documentation

virtual void cinder::app::AppBasic::prepareSettings | ( | Settings * | settings | ) | `[virtual]`

int cinder::app::AppBasic::getWindowWidth | ( |  | ) | const`[virtual]`

Returns the width of the App's window measured in pixels, or the screen when in full-screen mode.

Implements cinder::app::App.

void cinder::app::AppBasic::setWindowWidth | ( | int | windowWidth | ) | `[virtual]`

Sets the width of the App's window measured in pixels. Ignored in full-screen mode.

Implements cinder::app::App.

int cinder::app::AppBasic::getWindowHeight | ( |  | ) | const`[virtual]`

Returns the height of the App's window measured in pixels, or the screen when in full-screen mode.

Implements cinder::app::App.

void cinder::app::AppBasic::setWindowHeight | ( | int | windowHeight | ) | `[virtual]`

Sets the height of the App's window measured in pixels. Ignored in full-screen mode.

Implements cinder::app::App.

void cinder::app::AppBasic::setWindowSize | ( | int | windowWidth,
|  | int | windowHeight |
| ) |  |  | `[virtual]`

Sets the size of the App's window. Ignored in full-screen mode.

Implements cinder::app::App.

float cinder::app::AppBasic::getFrameRate | ( |  | ) | const`[virtual]`

Returns the maximum frame-rate the App will attempt to maintain measured in frames-per-second.

Implements cinder::app::App.

void cinder::app::AppBasic::setFrameRate | ( | float | frameRate | ) | `[virtual]`

Sets the maximum frame-rate the App will attempt to maintain \ a frameRate frames-per-second.

Implements cinder::app::App.

bool cinder::app::AppBasic::isFullScreen | ( |  | ) | const`[virtual]`

Returns whether the App is in full-screen mode or not.

Implements cinder::app::App.

void cinder::app::AppBasic::setFullScreen | ( | bool | fullScreen | ) | `[virtual]`

Sets whether the active App is in full-screen mode based on fullScreen.

Implements cinder::app::App.

Vec2i cinder::app::AppBasic::getMousePos | ( |  | ) | const

Returns the current location of the mouse. Can be called outside the normal event loop.

void cinder::app::AppBasic::hideCursor | ( |  | ) |

Hides the mouse cursor.

void cinder::app::AppBasic::showCursor | ( |  | ) |

Shows the mouse cursor.

const Settings& cinder::app::AppBasic::getSettings | ( |  | ) | const`[virtual]`

Reimplemented from cinder::app::App.

const Display & cinder::app::AppBasic::getDisplay | ( |  | ) |

void cinder::app::AppBasic::quit | ( |  | ) | `[virtual]`

Ceases execution of the application.

Implements cinder::app::App.

std::string cinder::app::AppBasic::getAppPath | ( |  | ) | `[virtual]`

Returns the path to the application on disk.

Implements cinder::app::App.

void cinder::app::AppBasic::privateSetImpl__ | ( | AppImplCocoaBasic * | aImpl | ) |

virtual bool cinder::app::AppBasic::getsWindowsPaintEvents | ( |  | ) | `[virtual]`

Implements cinder::app::App.

static AppBasic* cinder::app::AppBasic::get | ( |  | ) | `[static]`

Returns a pointer to the current global AppBasic.

Reimplemented from cinder::app::App.

virtual void cinder::app::App::setup | ( |  | ) | `[virtual, inherited]`

Override to perform any application setup after the Renderer has been initialized.

virtual void cinder::app::App::shutdown | ( |  | ) | `[virtual, inherited]`

Override to perform any application cleanup before exiting.

virtual void cinder::app::App::update | ( |  | ) | `[virtual, inherited]`

Override to perform any once-per-loop computation.

virtual void cinder::app::App::draw | ( |  | ) | `[virtual, inherited]`

Override to perform any rendering once-per-loop or in response to OS-prompted requests for refreshes.

virtual void cinder::app::App::mouseDown | ( | MouseEvent | event | ) | `[virtual, inherited]`

Override to receive mouse-down events.

virtual void cinder::app::App::mouseUp | ( | MouseEvent | event | ) | `[virtual, inherited]`

Override to receive mouse-up events.

virtual void cinder::app::App::mouseWheel | ( | MouseEvent | event | ) | `[virtual, inherited]`

Override to receive mouse-wheel events.

virtual void cinder::app::App::mouseMove | ( | MouseEvent | event | ) | `[virtual, inherited]`

Override to receive mouse-move events.

virtual void cinder::app::App::mouseDrag | ( | MouseEvent | event | ) | `[virtual, inherited]`

Override to receive mouse-drag events.

virtual void cinder::app::App::keyDown | ( | KeyEvent | event | ) | `[virtual, inherited]`

Override to receive key-down events.

virtual void cinder::app::App::keyUp | ( | KeyEvent | event | ) | `[virtual, inherited]`

Override to receive key-up events.

virtual void cinder::app::App::resize | ( | int | width,
|  | int | height |
| ) |  |  | `[virtual, inherited]`

Override to receive window resize events.

virtual void cinder::app::App::fileDrop | ( | FileDropEvent | event | ) | `[virtual, inherited]`

Override to receive file-drop events.

void cinder::app::App::addListener | ( | Listener * | listener | ) | `[inherited]`

Adds a Listener to the App's event listeners. The app `delete`s listener upon its own destruction unless it is removed via removeListener.

void cinder::app::App::removeListener | ( | Listener * | listener | ) | `[inherited]`

Removes a listener from the App's event listeners. Does not `delete` listener.

Renderer* cinder::app::App::getRenderer | ( |  | ) | const`[inherited]`

void cinder::app::App::setWindowSize | ( | const Vec2i & | size | ) | `[inherited]`

Sets the size of the App's window. Ignored in full-screen mode.

Vec2f cinder::app::App::getWindowCenter | ( |  | ) | const`[inherited]`

Returns the center of the App's window or the screen in full-screen mode.

Equivalent to

     Vec2f( getWindowWidth() * 0.5, getWindowHeight() * 0.5 )

Vec2i cinder::app::App::getWindowSize | ( |  | ) | const`[inherited]`

Returns the size of the App's window or the screen in full-screen mode.

float cinder::app::App::getWindowAspectRatio | ( |  | ) | const`[inherited]`

Returns the aspect ratio of the App's window or the screen in full-screen mode.

Area cinder::app::App::getWindowBounds | ( |  | ) | const`[inherited]`

Returns the bounding area of the App's window or the screen in full-screen mode.

Equivalent to

     Area( 0, 0, getWindowWidth(), getWindowHeight() );

double cinder::app::App::getElapsedSeconds | ( |  | ) | const`[inherited]`

Returns the number of seconds which have elapsed since application launch.

Reimplemented in cinder::app::AppCocoaTouch.

uint32_t cinder::app::App::getElapsedFrames | ( |  | ) | const`[inherited]`

Returns the number of animation frames which have elapsed since application launch.

DataSourceRef cinder::app::App::loadResource | ( | const std::string & | macPath,
|  | int | mswID,
|  | const std::string & | mswType |
| ) |  |  | `[static, inherited]`

DataSourcePathRef cinder::app::App::loadResource | ( | const std::string & | macPath | ) | `[static, inherited]`

DataSourceBufferRef cinder::app::App::loadResource | ( | int | mswID,
|  | const std::string & | mswType |
| ) |  |  | `[static, inherited]`

string cinder::app::App::getResourcePath | ( | const std::string & | rsrcRelativePath | ) | `[inherited]`

string cinder::app::App::getOpenFilePath | ( | const std::string & | initialPath = `""`,
|  | std::vector< std::string > | extensions = `std::vector<std::string>()` |
| ) |  |  | `[inherited]`

Presents the user with a file-open 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.

Returns:
  the selected file path or an empty string if the user cancelled.

string cinder::app::App::getSaveFilePath | ( | const std::string & | initialPath = `""`,
|  | std::vector< std::string > | extensions = `std::vector<std::string>()` |
| ) |  |  | `[inherited]`

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.

Returns:
  the selected file path or an empty string if the user cancelled.

std::ostream & cinder::app::App::console | ( |  | ) | `[inherited]`

Returns a reference to an output console, which is an alias to std::cout on the mac, and a wrapper around OutputDebugString on MSW.

Surface cinder::app::App::copyWindowSurface | ( |  | ) | `[inherited]`

Returns:
  a copy of the window's contents as a Surface8u

Surface cinder::app::App::copyWindowSurface | ( | const Area & | area | ) | `[inherited]`

Returns:
  a copy of the Area area from the window's contents as a Surface8u

void cinder::app::App::restoreWindowContext | ( |  | ) | `[inherited]`

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.

virtual bool cinder::app::App::receivesEvents | ( |  | ) | const`[virtual, inherited]`

Reimplemented in cinder::app::AppScreenSaver.

## Friends And Related Function Documentation

friend class AppImplMswBasic`[friend]`

The documentation for this class was generated from the following files:

- include/cinder/app/AppBasic.h
- src/cinder/app/AppBasic.cpp