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

X Window System (X11R6) device / software surface. More...

#include <mitsuba/hw/x11device.h>

+ Inheritance diagram for mitsuba::X11Device:

Public Member Functions

 X11Device (X11Session *session)
 Create a new device. More...
 
void init (Device *other=NULL)
 Initialize the device. More...
 
void shutdown ()
 Shut the device down. More...
 
virtual 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 X11 cursor? More...
 
void setGrab (bool grab)
 Set the cursor grab state. More...
 
void warpMouse (const Point2i &position)
 Move the mouse to another position. More...
 
void processEvent (const XEvent &event)
 Handle an X11 event. Called by the session. More...
 
void makeCurrent (Renderer *renderer)
 Associate a renderer with this device. 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 ~X11Device ()
 Virtual destructor. More...
 
virtual XVisualInfo * createVisual ()
 Create a visual. 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...
 

Protected Attributes

Window m_window
 
XVisualInfo * m_visinfo
 
XF86VidModeModeInfo m_previousMode
 
Atom m_deleteWindow
 
bool m_visible
 
Cursor m_cursor
 
int m_keymap [256]
 
Point2i m_mouse
 
int m_modifierState
 
int m_buttonState
 
bool m_grab
 
- 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
 

Friends

class X11Session
 
class GLXRenderer
 

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...
 

Detailed Description

X Window System (X11R6) device / software surface.

Constructor & Destructor Documentation

mitsuba::X11Device::X11Device ( X11Session session)

Create a new device.

virtual mitsuba::X11Device::~X11Device ( )
protectedvirtual

Virtual destructor.

Member Function Documentation

virtual XVisualInfo* mitsuba::X11Device::createVisual ( )
protectedvirtual

Create a visual.

Reimplemented in mitsuba::GLXDevice.

virtual void mitsuba::X11Device::flip ( )
virtual

Flip the buffers.

Reimplemented from mitsuba::Device.

Reimplemented in mitsuba::GLXDevice.

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

Retrieve this object's class.

Reimplemented from mitsuba::Device.

Reimplemented in mitsuba::GLXDevice.

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

Initialize the device.

Reimplemented from mitsuba::Device.

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

Associate a renderer with this device.

Implements mitsuba::Device.

void mitsuba::X11Device::processEvent ( const XEvent &  event)

Handle an X11 event. Called by the session.

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

Set the cursor grab state.

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

Only applies in windowed mode.

Reimplemented from mitsuba::Device.

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

Set the window title.

Reimplemented from mitsuba::Device.

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

Only applies in windowed mode.

Implements mitsuba::Device.

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

Display the X11 cursor?

void mitsuba::X11Device::shutdown ( )
virtual

Shut the device down.

Reimplemented from mitsuba::Device.

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

Move the mouse to another position.

Friends And Related Function Documentation

friend class GLXRenderer
friend
friend class X11Session
friend

Member Data Documentation

int mitsuba::X11Device::m_buttonState
protected
Cursor mitsuba::X11Device::m_cursor
protected
Atom mitsuba::X11Device::m_deleteWindow
protected
bool mitsuba::X11Device::m_grab
protected
int mitsuba::X11Device::m_keymap[256]
protected
int mitsuba::X11Device::m_modifierState
protected
Point2i mitsuba::X11Device::m_mouse
protected
XF86VidModeModeInfo mitsuba::X11Device::m_previousMode
protected
Class* mitsuba::X11Device::m_theClass
static
bool mitsuba::X11Device::m_visible
protected
XVisualInfo* mitsuba::X11Device::m_visinfo
protected
Window mitsuba::X11Device::m_window
protected

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