Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members Related Pages

# GraphicsViewportI Class Reference

Device interface for graphics viewport. More...

`#include <GraphicsViewportI.h>`

Inheritance diagram for GraphicsViewportI:

List of all members.

## Public Member Functions
virtual PluginClass::SuperClassIdC | get_super_class_id () const
| Returns super class ID.
virtual PajaTypes::uint32 | save (FileIO::SaveC *pSave)
| Serialize device settings to a Demopaja output stream.
virtual PajaTypes::uint32 | load (FileIO::LoadC *pLoad)
| Serialize device settings from a Demopaja input stream.
virtual void | set_perspective (const PajaTypes::BBox2C &rBBox, PajaTypes::float32 f32FOV, PajaTypes::float32 f32Aspect, PajaTypes::float32 f32ZNear, PajaTypes::float32 f32ZFar)=0
| Sets perspective viewport and projection matrix.
virtual void | set_ortho (const PajaTypes::BBox2C &rBBox, PajaTypes::float32 f32Left, PajaTypes::float32 f32Right, PajaTypes::float32 f32Top, PajaTypes::float32 f32Bottom, PajaTypes::float32 f32ZNear=-1, PajaTypes::float32 f32ZFar=1)=0
| Sets orthographic viewport and projection matrix.
virtual void | set_ortho_pixel (const PajaTypes::BBox2C &rBBox, PajaTypes::float32 f32ZNear=-1, PajaTypes::float32 f32ZFar=1)=0
| Sets orthographic viewport and projection matrix.
virtual PajaTypes::Vector2C | client_to_layout (const PajaTypes::Vector2C &rVec)=0
| Converts positions in screen pixels to the layout coordinate system.
virtual PajaTypes::Vector2C | layout_to_client (const PajaTypes::Vector2C &rVec)=0
| Converts positions in layout coordinate system uints to the screen pixels.
virtual PajaTypes::Vector2C | delta_client_to_layout (const PajaTypes::Vector2C &rVec)=0
| Converts delta values of screen pixels to the layout coordinate system.
virtual PajaTypes::Vector2C | delta_layout_to_client (const PajaTypes::Vector2C &rVec)=0
| Converts delta values layout coordinate system uints to the screen pixels.
virtual const PajaTypes::BBox2C & | get_viewport ()=0
| Returns the viewport (visible are of the demo).
virtual const PajaTypes::BBox2C & | get_layout ()=0
| Returns the layout (rendering are of the demo).
virtual PajaTypes::int32 | get_width ()=0
| Returns the width of the screen in pixels.
virtual PajaTypes::int32 | get_height ()=0
| Returns the height of the screen in pixels.
virtual PajaTypes::float32 | get_pixel_aspect_ratio ()=0
| Returns the pixel aspect ratio.
virtual void | set_pixel_aspect_ratio (PajaTypes::float32 f32PixelAspect)=0
| Sets the pixel aspect ratio.
virtual void | set_dimension (PajaTypes::int32 i32PosX, PajaTypes::int32 i32PosY, PajaTypes::int32 i32Width, PajaTypes::int32 i32Height)=0
| Sets the dimension of the OpenGL rendering are in pixels (used internally).
virtual void | set_viewport (const PajaTypes::BBox2C &rViewport)=0
| Sets the viewport (used internally).
virtual void | set_layout (const PajaTypes::BBox2C &rLayout)=0
| Sets the layout (used internally).
virtual void | activate ()=0
| Resets the last set viewport to the device.
## Protected Member Functions
| GraphicsViewportI ()
| Default constructor.
virtual | ~GraphicsViewportI ()
| Default destructor.

## Detailed Description

Device interface for graphics viewport.

The purpose of the device interface is to setup the area where an effect can draw and to convert coordinates from screen (pixel) coordinates to the layout.

## Constructor & Destructor Documentation

GraphicsViewportI | ( |  | ) | `[protected]`

| Default constructor.

virtual ~GraphicsViewportI | ( |  | ) | `[protected, virtual]`

| Default destructor.

## Member Function Documentation

virtual void activate | ( |  | ) | `[pure virtual]`

| Resets the last set viewport to the device. Implemented in OpenGLViewportC.

virtual PajaTypes::Vector2C client_to_layout | ( | const PajaTypes::Vector2C & | rVec | ) | `[pure virtual]`

| Converts positions in screen pixels to the layout coordinate system. Implemented in OpenGLViewportC.

virtual PajaTypes::Vector2C delta_client_to_layout | ( | const PajaTypes::Vector2C & | rVec | ) | `[pure virtual]`

| Converts delta values of screen pixels to the layout coordinate system. Implemented in OpenGLViewportC.

virtual PajaTypes::Vector2C delta_layout_to_client | ( | const PajaTypes::Vector2C & | rVec | ) | `[pure virtual]`

| Converts delta values layout coordinate system uints to the screen pixels. Implemented in OpenGLViewportC.

virtual PajaTypes::int32 get_height | ( |  | ) | `[pure virtual]`

| Returns the height of the screen in pixels. Implemented in OpenGLViewportC.

virtual const PajaTypes::BBox2C& get_layout | ( |  | ) | `[pure virtual]`

| Returns the layout (rendering are of the demo). Implemented in OpenGLViewportC.

virtual PajaTypes::float32 get_pixel_aspect_ratio | ( |  | ) | `[pure virtual]`

| Returns the pixel aspect ratio. Implemented in OpenGLViewportC.

virtual PluginClass::SuperClassIdC get_super_class_id | ( |  | ) | const`[virtual]`

| Returns super class ID. Implements DeviceInterfaceI.

virtual const PajaTypes::BBox2C& get_viewport | ( |  | ) | `[pure virtual]`

| Returns the viewport (visible are of the demo). Implemented in OpenGLViewportC.

virtual PajaTypes::int32 get_width | ( |  | ) | `[pure virtual]`

| Returns the width of the screen in pixels. Implemented in OpenGLViewportC.

virtual PajaTypes::Vector2C layout_to_client | ( | const PajaTypes::Vector2C & | rVec | ) | `[pure virtual]`

| Converts positions in layout coordinate system uints to the screen pixels. Implemented in OpenGLViewportC.

virtual PajaTypes::uint32 load | ( | FileIO::LoadC * | pLoad | ) | `[virtual]`

| Serialize device settings from a Demopaja input stream. Implements DeviceInterfaceI.

virtual PajaTypes::uint32 save | ( | FileIO::SaveC * | pSave | ) | `[virtual]`

| Serialize device settings to a Demopaja output stream. Implements DeviceInterfaceI.

virtual void set_dimension | ( | PajaTypes::int32 | i32PosX,
|  | PajaTypes::int32 | i32PosY,
|  | PajaTypes::int32 | i32Width,
|  | PajaTypes::int32 | i32Height
| ) | `[pure virtual]`

| Sets the dimension of the OpenGL rendering are in pixels (used internally). Implemented in OpenGLViewportC.

virtual void set_layout | ( | const PajaTypes::BBox2C & | rLayout | ) | `[pure virtual]`

| Sets the layout (used internally). Implemented in OpenGLViewportC.

virtual void set_ortho | ( | const PajaTypes::BBox2C & | rBBox,
|  | PajaTypes::float32 | f32Left,
|  | PajaTypes::float32 | f32Right,
|  | PajaTypes::float32 | f32Top,
|  | PajaTypes::float32 | f32Bottom,
|  | PajaTypes::float32 | f32ZNear = -1,
|  | PajaTypes::float32 | f32ZFar = 1
| ) | `[pure virtual]`

  | Sets orthographic viewport and projection matrix. Parameters:
  rBBox | the bounding box of the effect.
  f32Width | Width of the viewport.
  f32Height | Height of the viewport.
  f32ZNear | Near clipping plane.
  f32ZFar | Far clipping plane.
This method is a replacement for glOrtho. Scrissor testing is enabled and the bounding box is used to define the scissor box. Implemented in OpenGLViewportC.

virtual void set_ortho_pixel | ( | const PajaTypes::BBox2C & | rBBox,
|  | PajaTypes::float32 | f32ZNear = -1,
|  | PajaTypes::float32 | f32ZFar = 1
| ) | `[pure virtual]`

  | Sets orthographic viewport and projection matrix. Parameters:
  rBBox | the bounding box of the effect.
  f32ZNear | Near clipping plane.
  f32ZFar | Far clipping plane.
This method sets the orthographic projection to match the pixel dimensions of the current rendering output. The origin is set to the lower left corner of the whole rendering area. This method is equivalent to call glOrtho with: glOrtho( 0, <viewport width>, 0, <viewport height>, f32ZNear, f32ZFar ); Scrissor testing is enabled and the bounding box is used to define the scissor box. Implemented in OpenGLViewportC.

virtual void set_perspective | ( | const PajaTypes::BBox2C & | rBBox,
|  | PajaTypes::float32 | f32FOV,
|  | PajaTypes::float32 | f32Aspect,
|  | PajaTypes::float32 | f32ZNear,
|  | PajaTypes::float32 | f32ZFar
| ) | `[pure virtual]`

  | Sets perspective viewport and projection matrix. Parameters:
  rBBox | the bounding box of the effect.
  f32FOV | FOV on x-axis.
  f32Aspect | Aspect ration of the viewport.
  f32ZNear | Near clipping plane.
  f32ZFar | Far clipping plane.
This method is a replacement for gluPerspective. Note that the FOV is different. Scrissor testing is enabled and the bounding box is used to define the scissor box. Implemented in OpenGLViewportC.

virtual void set_pixel_aspect_ratio | ( | PajaTypes::float32 | f32PixelAspect | ) | `[pure virtual]`

| Sets the pixel aspect ratio. Implemented in OpenGLViewportC.

virtual void set_viewport | ( | const PajaTypes::BBox2C & | rViewport | ) | `[pure virtual]`

| Sets the viewport (used internally). Implemented in OpenGLViewportC.