Fawkes API  Fawkes Development Version
VisualDisplay2D::Shape Class Reference

Class representing a shape. More...

#include "visdisplay.h"

Inheritance diagram for VisualDisplay2D::Shape:

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

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:
idobject ID
ownerID of the owner of the object
line_styledrawing style of lines of shapes
rred part of RGBA color
ggreen part of RGBA color
bblue part of RGBA color
aalpha part of RGBA color

Definition at line 179 of file visdisplay.cpp.

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:
crreference 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_r, _color_g, _color_b, and _color_a.

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

Get shape color.

Parameters:
rupon return contains red part of RGBA color
gupon return contains green part of RGBA color
bupon return contains blue part of RGBA color
aupon return contains alpha part of RGBA color

Definition at line 56 of file visdisplay.h.

References _color_r, _color_g, _color_b, and _color_a.

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:
crreference 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::Text, VisualDisplay2D::Circle, VisualDisplay2D::Rectangle, and VisualDisplay2D::Line.

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(), and color().

blue part of RGBA object color

Definition at line 63 of file visdisplay.h.

Referenced by apply_style(), and color().

green part of RGBA object color

Definition at line 62 of file visdisplay.h.

Referenced by apply_style(), and color().

red part of RGBA object color

Definition at line 61 of file visdisplay.h.

Referenced by apply_style(), and color().

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

Object ID.

Definition at line 66 of file visdisplay.h.

Referenced by id().

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

Owner ID.

Definition at line 67 of file visdisplay.h.

Referenced by owner().


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