VisualDisplay2D::Shape Class Reference

Class representing a shape. More...

#include <visdisplay.h>

Inheritance diagram for VisualDisplay2D::Shape:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 Shape (unsigned int id, unsigned int owner, fawkes::VisualDisplay2DInterface::LineStyle line_style=fawkes::VisualDisplay2DInterface::LS_SOLID, unsigned char r=0, unsigned char g=0, unsigned char b=0, unsigned char a=0)
 Constructor.
virtual ~Shape ()
 Virtual empty destructor.
virtual void draw (Cairo::RefPtr< Cairo::Context > &cr)=0
 Draw shape to Cairo context.
void apply_style (Cairo::RefPtr< Cairo::Context > &cr)
 Set style on context.
unsigned int id ()
 Get shape ID.
unsigned int owner ()
 Get owner ID.
void color (float &r, float &g, float &b, float &a)
 Get shape color.

Protected Attributes

fawkes::VisualDisplay2DInterface::LineStyle _line_style
 Line style.
float _color_r
 red part of RGBA object color
float _color_g
 green part of RGBA object color
float _color_b
 blue part of RGBA object color
float _color_a
 alpha part of RGBA object color
unsigned int _id
 Object ID.
unsigned int _owner
 Owner ID.

Detailed Description

Class representing a shape.

All shapes inherit from the class and provide drawing primitives. The internal object representations are instances of shapes.

Author:
Tim Niemueller

Definition at line 43 of file visdisplay.h.


Constructor & Destructor Documentation

VisualDisplay2D::Shape::Shape ( unsigned int  id,
unsigned int  owner,
fawkes::VisualDisplay2DInterface::LineStyle  line_style = fawkes::VisualDisplay2DInterface::LS_SOLID,
unsigned char  r = 0,
unsigned char  g = 0,
unsigned char  b = 0,
unsigned char  a = 0 
)

Constructor.

Parameters:
id object ID
owner ID of the owner of the object
line_style drawing style of lines of shapes
r red part of RGBA color
g green part of RGBA color
b blue part of RGBA color
a alpha part of RGBA color

Definition at line 179 of file visdisplay.cpp.

References _color_a, _color_b, _color_g, _color_r, _id, _line_style, and _owner.

VisualDisplay2D::Shape::~Shape (  )  [virtual]

Virtual empty destructor.

Definition at line 195 of file visdisplay.cpp.


Member Function Documentation

void VisualDisplay2D::Shape::apply_style ( Cairo::RefPtr< Cairo::Context > &  cr  )  [inline]

Set style on context.

This method sets the style determined by the shape to the Cairo context.

Parameters:
cr reference to Cairo context. Note that this is a reference bypassing the reference pointer. This is done for efficiency and with the assumption that this method is only called by VisualDisplay2D::draw() which itself has proper refptr handling.

Definition at line 51 of file visdisplay.h.

References _color_a, _color_b, _color_g, and _color_r.

void VisualDisplay2D::Shape::color ( float &  r,
float &  g,
float &  b,
float &  a 
) [inline]

Get shape color.

Parameters:
r upon return contains red part of RGBA color
g upon return contains green part of RGBA color
b upon return contains blue part of RGBA color
a upon return contains alpha part of RGBA color

Definition at line 56 of file visdisplay.h.

References _color_a, _color_b, _color_g, and _color_r.

VisualDisplay2D::Shape::draw ( Cairo::RefPtr< Cairo::Context > &  cr  )  [pure virtual]

Draw shape to Cairo context.

This method shall be implemented by a shape to draw itself using the provided Cairo context.

Parameters:
cr reference to Cairo context. Note that this is a reference bypassing the reference pointer. This is done for efficiency and with the assumption that this method is only called by VisualDisplay2D::draw() which itself has proper refptr handling.

Implemented in VisualDisplay2D::Line, VisualDisplay2D::Rectangle, VisualDisplay2D::Circle, and VisualDisplay2D::Text.

unsigned int VisualDisplay2D::Shape::id (  )  [inline]

Get shape ID.

Returns:
shape ID

Definition at line 54 of file visdisplay.h.

References _id.

unsigned int VisualDisplay2D::Shape::owner (  )  [inline]

Get owner ID.

Returns:
owner ID

Definition at line 55 of file visdisplay.h.

References _owner.


Member Data Documentation

alpha part of RGBA object color

Definition at line 64 of file visdisplay.h.

Referenced by apply_style(), color(), and Shape().

blue part of RGBA object color

Definition at line 63 of file visdisplay.h.

Referenced by apply_style(), color(), and Shape().

green part of RGBA object color

Definition at line 62 of file visdisplay.h.

Referenced by apply_style(), color(), and Shape().

red part of RGBA object color

Definition at line 61 of file visdisplay.h.

Referenced by apply_style(), color(), and Shape().

unsigned int VisualDisplay2D::Shape::_id [protected]

Object ID.

Definition at line 66 of file visdisplay.h.

Referenced by id(), and Shape().

Line style.

Definition at line 60 of file visdisplay.h.

Referenced by Shape().

unsigned int VisualDisplay2D::Shape::_owner [protected]

Owner ID.

Definition at line 67 of file visdisplay.h.

Referenced by owner(), and Shape().


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

Generated on 1 Mar 2011 for Fawkes API by  doxygen 1.6.1