Mitsuba Renderer  0.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mitsuba::NSGLDevice Class Reference

A MacOS X (NSGL) device. More...

#include <mitsuba/hw/nsgldevice.h>

+ Inheritance diagram for mitsuba::NSGLDevice:

Public Member Functions

 NSGLDevice (NSGLSession *session)
 Create a new device. More...
 
void init (Device *other=NULL)
 Initialize the device. More...
 
void shutdown ()
 Shut the device down. More...
 
void flip ()
 Flip the buffers. More...
 
void setVisible (bool enabled)
 Only applies in windowed mode. More...
 
void setPosition (const Point2i &position)
 Only applies in windowed mode. More...
 
void setTitle (const std::string &title)
 Set the window title. More...
 
void showCursor (bool enabled)
 Display the NSGL cursor? More...
 
void warpMouse (const Point2i &position)
 Move the mouse to another position. More...
 
void makeCurrent (Renderer *renderer)
 Associate a renderer with this device. More...
 
void setGrab (bool grab)
 Set the cursor grab state. More...
 
bool getCursor () const
 Is the NSGL cursor shown? More...
 
bool isMouseInWindow ()
 Is the mouse inside the window? More...
 
void pushEvent (const DeviceEvent &event)
 Push a device event onto the stack. More...
 
void processEvents ()
 
void * getWindow ()
 Return the NSWindow. More...
 
void * getPixelFormat ()
 Return the pixel format. More...
 
virtual const ClassgetClass () const
 Retrieve this object's class. More...
 
- Public Member Functions inherited from mitsuba::Device
Vector2i getSize () const
 Return the dimension of the device. More...
 
void setSize (const Vector2i &dimension)
 Set the dimension of the device. More...
 
Float getAspect () const
 Return the aspect ratio of the device. More...
 
Point2i getPosition () const
 Return the position of the device. More...
 
void setFSAA (int fsaa)
 Set the FSAA sample count, do this before Init() More...
 
int getFSAA () const
 Return the FSAA sample count. More...
 
void setColorBits (int colorBits)
 A convenience method. More...
 
void setRedBits (int redBits)
 Set the amount of bits for the red component. More...
 
int getRedBits () const
 Return the amount of bits for the red component. More...
 
void setGreenBits (int greenBits)
 Set the amount of bits for the green component. More...
 
int getGreenBits () const
 Return the amount of bits for the green component. More...
 
void setBlueBits (int blueBits)
 Set the amount of bits for the blue component. More...
 
int getBlueBits () const
 Return the amount of bits for the blue component. More...
 
void setAlphaBits (int alphaBits)
 Set the amount of bits for the alpha component. More...
 
int getAlphaBits () const
 Return the amount of bits for the alpha component. More...
 
void setDepthBits (int depthBits)
 Set the amount of bits for the depth component. More...
 
int getDepthBits () const
 Return the amount of bits for the depth component. More...
 
void setStencilBits (int stencilBits)
 Set the amount of bits for the stencil component. More...
 
int getStencilBits () const
 Return the amount of bits for the stencil component. More...
 
void setDoubleBuffer (bool doubleBuffer)
 Define whether to enable double buffering. More...
 
bool getDoubleBuffer () const
 
void setFullscreen (bool fullscreen)
 
bool getFullscreen () const
 Return whether full screen drawing is enabled. More...
 
void setResizeAllowed (bool resizeAllowed)
 
bool isResizeAllowed () const
 Return whether it is possible to resize the window. More...
 
void setCenter (bool center)
 Define whether to enable window centering. More...
 
bool getCenter () const
 Return whether window centering is enabled. More...
 
void setShowFPS (bool showFPS)
 Define whether to show the frames per second. More...
 
bool getShowFPS () const
 Return whether to show the frames per second. More...
 
int getFPS () const
 Return the frames per second (0 if no data is available) More...
 
void setXPos (int xpos)
 Set the x window position. More...
 
const std::string & getTitle () const
 Return the window title. More...
 
const SessiongetSession () const
 Get the session. More...
 
SessiongetSession ()
 Get the session. More...
 
void addCallback (DeviceEventListener *callback)
 Add an event callback to the device. More...
 
void removeCallback (DeviceEventListener *callback)
 Remove an event callback from the device. More...
 
- Public Member Functions inherited from Object
 Object ()
 Construct a new object. More...
 
int getRefCount () const
 Return the current reference count. More...
 
void incRef () const
 Increase the reference count of the object by one. More...
 
void decRef (bool autoDeallocate=true) const
 Decrease the reference count of the object and possibly deallocate it. More...
 
virtual std::string toString () const
 Return a human-readable string representation of the object's contents. More...
 

Static Public Attributes

static Classm_theClass
 
- Static Public Attributes inherited from mitsuba::Device
static Classm_theClass
 
- Static Public Attributes inherited from Object
static Classm_theClass
 Pointer to the object's class descriptor. More...
 

Protected Member Functions

virtual ~NSGLDevice ()
 Virtual destructor. More...
 
- Protected Member Functions inherited from mitsuba::Device
virtual ~Device ()
 Virtual destructor. More...
 
 Device (Session *session)
 Create a new device. More...
 
void fireDeviceEvent (const DeviceEvent &event)
 Send a device event using the registered callbacks. More...
 
- Protected Member Functions inherited from Object
virtual ~Object ()
 Virtual private deconstructor. (Will only be called by ref) More...
 

Additional Inherited Members

- Public Types inherited from mitsuba::Device
enum  EEventType {
  ENoEvent = 0x0000, EQuitEvent = 0x0001, EKeyDownEvent = 0x0002, EKeyUpEvent = 0x0004,
  EMouseMotionEvent = 0x0008, EMouseDragEvent = 0x0010, EMouseButtonDownEvent = 0x0020, EMouseButtonUpEvent = 0x0040,
  EMouseEnterEvent = 0x0080, EMouseLeaveEvent = 0x0100, EMouseBeginDragEvent = 0x0200, EMouseEndDragEvent = 0x0400,
  EMouseDoubleClickEvent = 0x0800, EGainFocusEvent = 0x1000, ELoseFocusEvent = 0x2000, EResizeEvent = 0x4000
}
 Device event types. More...
 
enum  EKeyboardModifiers { EShiftModifier = 0x01, EControlModifier = 0x02, EAltModifier = 0x04, EMetaModifier = 0x08 }
 Device keyboard event modifiers. More...
 
enum  EMouseButton {
  ENoButton = 0x0, ELeftButton = 0x01, EMiddleButton = 0x02, ERightButton = 0x04,
  EWheelUpButton = 0x08, EWheelDownButton = 0x10
}
 Device keyboard event modifiers. More...
 
enum  ESpecialKeys {
  ENoSpecial = 0, EKeyEscape, EKeyF1, EKeyF2,
  EKeyF3, EKeyF4, EKeyF5, EKeyF6,
  EKeyF7, EKeyF8, EKeyF9, EKeyF10,
  EKeyF11, EKeyF12, EKeyF13, EKeyF14,
  EKeyF15, EKeyBackspace, EKeyTab, EKeyClear,
  EKeyReturn, EKeyPause, EKeyInsert, EKeyDelete,
  EKeyUp, EKeyDown, EKeyLeft, EKeyRight,
  EKeyHome, EKeyEnd, EKeyPageUp, EKeyPageDown,
  EKeyNumLock, EKeyCapsLock, EKeyScrollLock, EKeyLShift,
  EKeyRShift, EKeyLAlt, EKeyRAlt, EKeyLMeta,
  EKeyRMeta, EKeyLControl, EKeyRControl, EKeyKeyPad0,
  EKeyKeyPad1, EKeyKeyPad2, EKeyKeyPad3, EKeyKeyPad4,
  EKeyKeyPad5, EKeyKeyPad6, EKeyKeyPad7, EKeyKeyPad8,
  EKeyKeyPad9, EKeyKeyPadPeriod, EKeyKeyPadDivide, EKeyKeyPadMultiply,
  EKeyKeyPadMinus, EKeyKeyPadPlus, EKeyKeyPadEnter, EKeyKeyPadEquals,
  EKeyLastSpecialKey
}
 Device special keys. More...
 
- Static Public Member Functions inherited from mitsuba::Device
static Devicecreate (Session *session)
 Construct a new device using the appropriate implementation. More...
 
- Static Public Member Functions inherited from Object
static void staticInitialization ()
 Initializes the built-in reference count debugger (if enabled) More...
 
static void staticShutdown ()
 Free the memory taken by staticInitialization() More...
 
- Protected Attributes inherited from mitsuba::Device
ref< Sessionm_session
 
ref< Timerm_timer
 
Vector2i m_size
 
Point2i m_position
 
int m_fsaa
 
int m_redBits
 
int m_greenBits
 
int m_blueBits
 
int m_alphaBits
 
int m_depthBits
 
int m_stencilBits
 
bool m_doubleBuffer
 
bool m_initialized
 
bool m_fullscreen
 
bool m_center
 
bool m_showFPS
 
bool m_resizeAllowed
 
int m_fpsCounter
 
int m_fps
 
int m_lastTime
 
std::string m_title
 
std::list< DeviceEventListener * > m_callbacks
 

Detailed Description

A MacOS X (NSGL) device.

Constructor & Destructor Documentation

mitsuba::NSGLDevice::NSGLDevice ( NSGLSession session)

Create a new device.

virtual mitsuba::NSGLDevice::~NSGLDevice ( )
protectedvirtual

Virtual destructor.

Member Function Documentation

void mitsuba::NSGLDevice::flip ( )
virtual

Flip the buffers.

Reimplemented from mitsuba::Device.

virtual const Class* mitsuba::NSGLDevice::getClass ( ) const
virtual

Retrieve this object's class.

Reimplemented from mitsuba::Device.

bool mitsuba::NSGLDevice::getCursor ( ) const
inline

Is the NSGL cursor shown?

void* mitsuba::NSGLDevice::getPixelFormat ( )
inline

Return the pixel format.

void* mitsuba::NSGLDevice::getWindow ( )
inline

Return the NSWindow.

void mitsuba::NSGLDevice::init ( Device other = NULL)
virtual

Initialize the device.

Reimplemented from mitsuba::Device.

bool mitsuba::NSGLDevice::isMouseInWindow ( )

Is the mouse inside the window?

void mitsuba::NSGLDevice::makeCurrent ( Renderer renderer)
virtual

Associate a renderer with this device.

Implements mitsuba::Device.

void mitsuba::NSGLDevice::processEvents ( )

Deliver all events which have been received asynchronously

void mitsuba::NSGLDevice::pushEvent ( const DeviceEvent event)

Push a device event onto the stack.

void mitsuba::NSGLDevice::setGrab ( bool  grab)

Set the cursor grab state.

void mitsuba::NSGLDevice::setPosition ( const Point2i position)
virtual

Only applies in windowed mode.

Reimplemented from mitsuba::Device.

void mitsuba::NSGLDevice::setTitle ( const std::string &  title)
virtual

Set the window title.

Reimplemented from mitsuba::Device.

void mitsuba::NSGLDevice::setVisible ( bool  enabled)
virtual

Only applies in windowed mode.

Implements mitsuba::Device.

void mitsuba::NSGLDevice::showCursor ( bool  enabled)

Display the NSGL cursor?

void mitsuba::NSGLDevice::shutdown ( )
virtual

Shut the device down.

Reimplemented from mitsuba::Device.

void mitsuba::NSGLDevice::warpMouse ( const Point2i position)

Move the mouse to another position.

Member Data Documentation

Class* mitsuba::NSGLDevice::m_theClass
static

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