Cinder  0.9.1
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
cinder::app::Window Class Reference

#include <Window.h>

Inherits enable_shared_from_this< Window >.

Classes

struct  Format
 

Public Member Functions

bool isFullScreen () const
 
void setFullScreen (bool fullScreen=true, const FullScreenOptions &options=FullScreenOptions())
 
int32_t getWidth () const
 
int32_t getHeight () const
 
float getAspectRatio () const
 
Area getBounds () const
 
virtual ivec2 getSize () const
 
void setSize (int32_t width, int32_t height)
 
void setSize (const ivec2 &size)
 
ivec2 getPos () const
 
void setPos (int32_t x, int32_t y) const
 
void setPos (const ivec2 &pos) const
 
vec2 getCenter () const
 
void spanAllDisplays ()
 
float getContentScale () const
 
float toPixels (float s) const
 
vec2 toPixels (vec2 s) const
 
ivec2 toPixels (ivec2 s) const
 
Area toPixels (const Area &a) const
 
Rectf toPixels (const Rectf &a) const
 
float toPoints (float s) const
 
vec2 toPoints (vec2 s) const
 
ivec2 toPoints (ivec2 s) const
 
Area toPoints (const Area &a) const
 
Rectf toPoints (const Rectf &a) const
 
std::string getTitle () const
 
void setTitle (const std::string &title)
 
bool isBorderless () const
 
void setBorderless (bool borderless=true)
 
bool isAlwaysOnTop () const
 
void setAlwaysOnTop (bool alwaysOnTop=true)
 
void hide ()
 
void show ()
 
bool isHidden () const
 
void close ()
 
DisplayRef getDisplay () const
 
RendererRef getRenderer () const
 
void * getNative () const
 
HDC getDc () const
 
EventSignalMousegetSignalMouseDown ()
 
void emitMouseDown (MouseEvent *event)
 
EventSignalMousegetSignalMouseDrag ()
 
void emitMouseDrag (MouseEvent *event)
 
EventSignalMousegetSignalMouseUp ()
 
void emitMouseUp (MouseEvent *event)
 
EventSignalMousegetSignalMouseMove ()
 
void emitMouseMove (MouseEvent *event)
 
EventSignalMousegetSignalMouseWheel ()
 
void emitMouseWheel (MouseEvent *event)
 
EventSignalTouchgetSignalTouchesBegan ()
 
void emitTouchesBegan (TouchEvent *event)
 
EventSignalTouchgetSignalTouchesMoved ()
 
void emitTouchesMoved (TouchEvent *event)
 
EventSignalTouchgetSignalTouchesEnded ()
 
void emitTouchesEnded (TouchEvent *event)
 
const std::vector< TouchEvent::Touch > & getActiveTouches () const
 
EventSignalKeygetSignalKeyDown ()
 
void emitKeyDown (KeyEvent *event)
 
EventSignalKeygetSignalKeyUp ()
 
void emitKeyUp (KeyEvent *event)
 
EventSignalWindow & getSignalDraw ()
 
void emitDraw ()
 
EventSignalWindow & getSignalPostDraw ()
 
EventSignalWindow & getSignalMove ()
 
void emitMove ()
 
EventSignalWindow & getSignalResize ()
 
void emitResize ()
 
EventSignalWindow & getSignalDisplayChange ()
 
void emitDisplayChange ()
 
EventSignalWindow & getSignalClose ()
 
void emitClose ()
 
EventSignalFileDropgetSignalFileDrop ()
 
void emitFileDrop (FileDropEvent *event)
 
template<typename T >
T * getUserData ()
 
template<typename T >
void setUserData (T *userData)
 
bool isValid () const
 
void setInvalid ()
 
AppBasegetApp () const
 

Protected Member Functions

 Window ()
 
void testValid () const
 
void setApp (AppBase *app)
 
void setImpl (WindowImplCocoa *impl)
 

Protected Attributes

AppBasemApp
 
bool mValid
 
std::shared_ptr< void > mUserData
 
EventSignalMouse mSignalMouseDown
 
EventSignalMouse mSignalMouseDrag
 
EventSignalMouse mSignalMouseUp
 
EventSignalMouse mSignalMouseWheel
 
EventSignalMouse mSignalMouseMove
 
EventSignalTouch mSignalTouchesBegan
 
EventSignalTouch mSignalTouchesMoved
 
EventSignalTouch mSignalTouchesEnded
 
EventSignalKey mSignalKeyDown
 
EventSignalKey mSignalKeyUp
 
EventSignalWindow mSignalDraw
 
EventSignalWindow mSignalPostDraw
 
EventSignalWindow mSignalMove
 
EventSignalWindow mSignalResize
 
EventSignalWindow mSignalDisplayChange
 
EventSignalWindow mSignalClose
 
EventSignalFileDrop mSignalFileDrop
 
WindowImplCocoa * mImpl
 

Constructor & Destructor Documentation

cinder::app::Window::Window ( )
protected

Member Function Documentation

bool cinder::app::Window::isFullScreen ( ) const

Returns whether the Window is full-screen or not.

void cinder::app::Window::setFullScreen ( bool  fullScreen = true,
const FullScreenOptions options = FullScreenOptions() 
)

Sets the Window to be full-screen or not.

int32_t cinder::app::Window::getWidth ( ) const

Returns the width of the Window in points.

int32_t cinder::app::Window::getHeight ( ) const

Returns the height of the Window in points.

float cinder::app::Window::getAspectRatio ( ) const

Returns the Window aspect ratio, which is its width / height.

Area cinder::app::Window::getBounds ( ) const

Returns the bounding Area of the Window in points: [0,0]-(width,height)

ivec2 cinder::app::Window::getSize ( ) const
virtual

Gets the size of the Window measured in points.

void cinder::app::Window::setSize ( int32_t  width,
int32_t  height 
)

Sets the size of the Window to ( width, height ) measured in points.

void cinder::app::Window::setSize ( const ivec2 &  size)

Sets the size of the Window to size measured in points.

ivec2 cinder::app::Window::getPos ( ) const

Gets the position of the Window's upper-left corner measured in points, relative to the primary display's upper-left corner.

void cinder::app::Window::setPos ( int32_t  x,
int32_t  y 
) const

Sets the position of the Window's upper-left corner relative to the primary display's upper-left corner to (x, y) measured in points.

void cinder::app::Window::setPos ( const ivec2 &  pos) const

Sets the position of the Window's upper-left corner relative to the primary display's upper-left to pos measured in points.

vec2 cinder::app::Window::getCenter ( ) const

Returns the center of the Window in its own coordinate system measured in points.

void cinder::app::Window::spanAllDisplays ( )

Sets the position and size of the Window so that it spans all connected displays.

float cinder::app::Window::getContentScale ( ) const

Returns the multiplier (typically 2 on high-density (Retina) displays, 1 otherwise) mapping points to pixels.

float cinder::app::Window::toPixels ( float  s) const

Returns a scalar mapped from points to pixels by multiplying by getContentScale()

vec2 cinder::app::Window::toPixels ( vec2  s) const

Returns a vec2 mapped from points to pixels by multiplying by getContentScale()

ivec2 cinder::app::Window::toPixels ( ivec2  s) const

Returns a ivec2 mapped from points to pixels by multiplying by getContentScale()

Area cinder::app::Window::toPixels ( const Area a) const

Returns an Area mapped from points to pixels by multiplying by getContentScale()

Rectf cinder::app::Window::toPixels ( const Rectf a) const

Returns a Rectf mapped from points to pixels by multiplying by getContentScale()

float cinder::app::Window::toPoints ( float  s) const

Returns a scalar mapped from pixels to points by dividing by getContentScale()

vec2 cinder::app::Window::toPoints ( vec2  s) const

Returns a vec2 mapped from pixels to points by dividing by getContentScale()

ivec2 cinder::app::Window::toPoints ( ivec2  s) const

Returns a ivec2 mapped from pixels to points by dividing by getContentScale()

Area cinder::app::Window::toPoints ( const Area a) const

Returns an Area mapped from pixels to points by dividing by getContentScale()

Rectf cinder::app::Window::toPoints ( const Rectf a) const

Returns a Rectf mapped from pixels to points by dividing by getContentScale()

std::string cinder::app::Window::getTitle ( ) const

Returns the Window's title as a UTF-8 string.

void cinder::app::Window::setTitle ( const std::string &  title)

Sets the Window's title as a UTF-8 string.

bool cinder::app::Window::isBorderless ( ) const

Returns whether the window has a border (chrome/frame)

void cinder::app::Window::setBorderless ( bool  borderless = true)

Sets whether the window has a border (chrome/frame)

bool cinder::app::Window::isAlwaysOnTop ( ) const

Returns whether the window always remains above all other windows.

void cinder::app::Window::setAlwaysOnTop ( bool  alwaysOnTop = true)

Sets whether the window always remains above all other windows.

void cinder::app::Window::hide ( )

Hides the window but does not destroy it.

void cinder::app::Window::show ( )

Shows a window that was hidden with hide()

bool cinder::app::Window::isHidden ( ) const

Returns whether the window has been hidden with hide()

void cinder::app::Window::close ( )

Closes and destroys the Window.

DisplayRef cinder::app::Window::getDisplay ( ) const

Returns the Display on which the Window resides.

RendererRef cinder::app::Window::getRenderer ( ) const

Returns the Renderer associated with the Window.

void * cinder::app::Window::getNative ( ) const

Returns the associated NSView on Mac OS X, UIView on iOS, or HWND on MSW.

HDC cinder::app::Window::getDc ( ) const

Returns the Window's HDC on MSW. Suitable for GDI+ calls with Renderer2d.

EventSignalMouse& cinder::app::Window::getSignalMouseDown ( )
void cinder::app::Window::emitMouseDown ( MouseEvent event)
EventSignalMouse& cinder::app::Window::getSignalMouseDrag ( )
void cinder::app::Window::emitMouseDrag ( MouseEvent event)
EventSignalMouse& cinder::app::Window::getSignalMouseUp ( )
void cinder::app::Window::emitMouseUp ( MouseEvent event)
EventSignalMouse& cinder::app::Window::getSignalMouseMove ( )
void cinder::app::Window::emitMouseMove ( MouseEvent event)
EventSignalMouse& cinder::app::Window::getSignalMouseWheel ( )
void cinder::app::Window::emitMouseWheel ( MouseEvent event)
EventSignalTouch& cinder::app::Window::getSignalTouchesBegan ( )
void cinder::app::Window::emitTouchesBegan ( TouchEvent event)
EventSignalTouch& cinder::app::Window::getSignalTouchesMoved ( )
void cinder::app::Window::emitTouchesMoved ( TouchEvent event)
EventSignalTouch& cinder::app::Window::getSignalTouchesEnded ( )
void cinder::app::Window::emitTouchesEnded ( TouchEvent event)
const std::vector< TouchEvent::Touch > & cinder::app::Window::getActiveTouches ( ) const

Returns a std::vector of all active touches.

EventSignalKey& cinder::app::Window::getSignalKeyDown ( )
void cinder::app::Window::emitKeyDown ( KeyEvent event)
EventSignalKey& cinder::app::Window::getSignalKeyUp ( )
void cinder::app::Window::emitKeyUp ( KeyEvent event)
EventSignalWindow& cinder::app::Window::getSignalDraw ( )
void cinder::app::Window::emitDraw ( )

Fires the 'draw' signal. Note in general this should not be called directly as it doesn't perform all necessary setup.

EventSignalWindow& cinder::app::Window::getSignalPostDraw ( )

Returns the signal which is emitted after the draw signal and app's draw() virtual method.

EventSignalWindow& cinder::app::Window::getSignalMove ( )
void cinder::app::Window::emitMove ( )
EventSignalWindow& cinder::app::Window::getSignalResize ( )
void cinder::app::Window::emitResize ( )
EventSignalWindow& cinder::app::Window::getSignalDisplayChange ( )
void cinder::app::Window::emitDisplayChange ( )
EventSignalWindow& cinder::app::Window::getSignalClose ( )

Returns the Signal emitted whenever a Window is closing. The WindowRef parameter is still valid at this point but its renderer is not.

void cinder::app::Window::emitClose ( )

Fires the 'close' signal.

EventSignalFileDrop& cinder::app::Window::getSignalFileDrop ( )
void cinder::app::Window::emitFileDrop ( FileDropEvent event)
template<typename T >
T* cinder::app::Window::getUserData ( )

Returns the window-specific data associated with this Window.

template<typename T >
void cinder::app::Window::setUserData ( T *  userData)

Sets the window-specific data associated with this Window. The variable is deleted upon destruction of the Window.

bool cinder::app::Window::isValid ( ) const

Returns whether this Window is valid. false means it should no longer be used (neither read nor write)

void cinder::app::Window::setInvalid ( )
AppBase* cinder::app::Window::getApp ( ) const
void cinder::app::Window::testValid ( ) const
protected
void cinder::app::Window::setApp ( AppBase app)
protected
void cinder::app::Window::setImpl ( WindowImplCocoa *  impl)
protected

Member Data Documentation

AppBase* cinder::app::Window::mApp
protected
bool cinder::app::Window::mValid
protected
std::shared_ptr<void> cinder::app::Window::mUserData
protected
EventSignalMouse cinder::app::Window::mSignalMouseDown
protected
EventSignalMouse cinder::app::Window::mSignalMouseDrag
protected
EventSignalMouse cinder::app::Window::mSignalMouseUp
protected
EventSignalMouse cinder::app::Window::mSignalMouseWheel
protected
EventSignalMouse cinder::app::Window::mSignalMouseMove
protected
EventSignalTouch cinder::app::Window::mSignalTouchesBegan
protected
EventSignalTouch cinder::app::Window::mSignalTouchesMoved
protected
EventSignalTouch cinder::app::Window::mSignalTouchesEnded
protected
EventSignalKey cinder::app::Window::mSignalKeyDown
protected
EventSignalKey cinder::app::Window::mSignalKeyUp
protected
EventSignalWindow cinder::app::Window::mSignalDraw
protected
EventSignalWindow cinder::app::Window::mSignalPostDraw
protected
EventSignalWindow cinder::app::Window::mSignalMove
protected
EventSignalWindow cinder::app::Window::mSignalResize
protected
EventSignalWindow cinder::app::Window::mSignalDisplayChange
protected
EventSignalWindow cinder::app::Window::mSignalClose
protected
EventSignalFileDrop cinder::app::Window::mSignalFileDrop
protected
WindowImplCocoa* cinder::app::Window::mImpl
protected

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