gcn::AllegroGraphics Class Reference

#include <allegrographics.hpp>

Inheritance diagram for gcn::AllegroGraphics:

gcn::Graphics List of all members.

Detailed Description

Allegro implementation of Graphics.

Definition at line 73 of file allegrographics.hpp.

Public Member Functions

 AllegroGraphics ()
 Constructor.
 AllegroGraphics (BITMAP *target)
 Contsructor.
virtual ~AllegroGraphics ()
 Destructor.
virtual void setTarget (BITMAP *target)
 Sets the target bitmap to draw to.
virtual BITMAP * getTarget ()
 Gets the target bitmap.
virtual void _beginDraw ()
 Initializes drawing.
virtual void _endDraw ()
 Deinitializes drawing.
virtual bool pushClipArea (Rectangle area)
 Pushes a clip area onto the stack.
virtual void popClipArea ()
 Removes the topmost clip area from the stack.
virtual void drawImage (const Image *image, int srcX, int srcY, int dstX, int dstY, int width, int height)
 Draws a part of an Image.
virtual void drawPoint (int x, int y)
 Draws a single point/pixel.
virtual void drawLine (int x1, int y1, int x2, int y2)
 Ddraws a line.
virtual void drawRectangle (const Rectangle &rectangle)
 Draws a simple, non-filled, Rectangle with one pixel width.
virtual void fillRectangle (const Rectangle &rectangle)
 Draws a filled Rectangle.
virtual void setColor (const Color &color)
 Sets the Color to use when drawing.
virtual const ColorgetColor ()
 Gets the Color to use when drawing.

Protected Attributes

BITMAP * mTarget
bool mClipNull
int mAlColor
Color mColor


Constructor & Destructor Documentation

gcn::AllegroGraphics::AllegroGraphics ( BITMAP *  target  ) 

Contsructor.

Sets the drawing target.

Parameters:
target the target to draw to.

Definition at line 76 of file allegrographics.cpp.

References mTarget.


Member Function Documentation

void gcn::AllegroGraphics::_beginDraw (  )  [virtual]

Initializes drawing.

Called by the Gui when Gui::draw() is called. It is needed by some implementations of Graphics to perform preparations before drawing. An example of such an implementation would be OpenGLGraphics.

NOTE: You will never need to call this function yourself. Gui will do it for you.

See also:
_endDraw, Gui::draw

Reimplemented from gcn::Graphics.

Definition at line 95 of file allegrographics.cpp.

References mTarget, and pushClipArea().

void gcn::AllegroGraphics::_endDraw (  )  [virtual]

Deinitializes drawing.

Called by the Gui when a Gui::draw() is done. done. It should reset any state changes made by _beginDraw().

NOTE: You will never need to call this function yourself. Gui will do it for you.

See also:
_beginDraw, Gui::draw

Reimplemented from gcn::Graphics.

Definition at line 106 of file allegrographics.cpp.

References popClipArea().

void gcn::AllegroGraphics::drawImage ( const Image image,
int  srcX,
int  srcY,
int  dstX,
int  dstY,
int  width,
int  height 
) [virtual]

Draws a part of an Image.

NOTE: Width and height arguments will not scale the Image but specifies the size of the part to be drawn. If you want to draw the whole Image there is a simplified version of this function.

EXAMPLE:

 drawImage(myImage, 10, 10, 20, 20, 40, 40); 
Will draw a rectangular piece of myImage starting at coordinate (10, 10) in myImage, with width and height 40. The piece will be drawn with it's top left corner at coordinate (20, 20).

Parameters:
image the Image to draw.
srcX source Image x coordinate.
srcY source Image y coordinate.
dstX destination x coordinate.
dstY destination y coordinate.
width the width of the piece.
height the height of the piece.

Implements gcn::Graphics.

Definition at line 167 of file allegrographics.cpp.

References gcn::AllegroImage::getBitmap(), mClipNull, gcn::Graphics::mClipStack, and mTarget.

void gcn::AllegroGraphics::drawLine ( int  x1,
int  y1,
int  x2,
int  y2 
) [virtual]

Ddraws a line.

Parameters:
x1 the first x coordinate.
y1 the first y coordinate.
x2 the second x coordinate.
y2 the second y coordinate.

Implements gcn::Graphics.

Definition at line 206 of file allegrographics.cpp.

References mAlColor, mClipNull, gcn::Graphics::mClipStack, and mTarget.

void gcn::AllegroGraphics::drawPoint ( int  x,
int  y 
) [virtual]

Draws a single point/pixel.

Parameters:
x the x coordinate.
y the y coordinate.

Implements gcn::Graphics.

Definition at line 190 of file allegrographics.cpp.

References mAlColor, mClipNull, gcn::Graphics::mClipStack, and mTarget.

void gcn::AllegroGraphics::drawRectangle ( const Rectangle rectangle  )  [virtual]

Draws a simple, non-filled, Rectangle with one pixel width.

Parameters:
rectangle the Rectangle to draw.

Implements gcn::Graphics.

Definition at line 224 of file allegrographics.cpp.

References gcn::Rectangle::height, mAlColor, mClipNull, gcn::Graphics::mClipStack, mTarget, gcn::Rectangle::width, gcn::Rectangle::x, and gcn::Rectangle::y.

void gcn::AllegroGraphics::fillRectangle ( const Rectangle rectangle  )  [virtual]

Draws a filled Rectangle.

Parameters:
rectangle the filled Rectangle to draw.

Implements gcn::Graphics.

Definition at line 242 of file allegrographics.cpp.

References gcn::Rectangle::height, mAlColor, mClipNull, gcn::Graphics::mClipStack, mTarget, gcn::Rectangle::width, gcn::Rectangle::x, and gcn::Rectangle::y.

const Color & gcn::AllegroGraphics::getColor (  )  [virtual]

Gets the Color to use when drawing.

Returns:
the Color used when drawing.

Implements gcn::Graphics.

Definition at line 276 of file allegrographics.cpp.

References mColor.

BITMAP * gcn::AllegroGraphics::getTarget (  )  [virtual]

Gets the target bitmap.

Returns:
the target bitmap.

Definition at line 90 of file allegrographics.cpp.

References mTarget.

void gcn::AllegroGraphics::popClipArea (  )  [virtual]

Removes the topmost clip area from the stack.

Exceptions:
Exception if the stack is empty.

Reimplemented from gcn::Graphics.

Definition at line 138 of file allegrographics.cpp.

References gcn::Rectangle::height, mClipNull, gcn::Graphics::mClipStack, mTarget, gcn::Graphics::popClipArea(), gcn::Rectangle::width, gcn::Rectangle::x, and gcn::Rectangle::y.

Referenced by _endDraw().

bool gcn::AllegroGraphics::pushClipArea ( Rectangle  area  )  [virtual]

Pushes a clip area onto the stack.

The x and y coordinates in the Rectangle will be relative to the last pushed clip area. If the new area falls outside the current clip area, it will be clipped as necessary.

Parameters:
area the clip area to be pushed onto the stack.
Returns:
false if the the new area lays totally outside the current clip area. Note that an empty clip area will be pused in this case.

Reimplemented from gcn::Graphics.

Definition at line 112 of file allegrographics.cpp.

References gcn::Rectangle::height, mClipNull, gcn::Graphics::mClipStack, mTarget, gcn::Graphics::pushClipArea(), gcn::Rectangle::width, gcn::Rectangle::x, and gcn::Rectangle::y.

Referenced by _beginDraw().

void gcn::AllegroGraphics::setColor ( const Color color  )  [virtual]

Sets the Color to use when drawing.

Parameters:
color a Color.

Implements gcn::Graphics.

Definition at line 260 of file allegrographics.cpp.

References gcn::Color::a, gcn::Color::b, gcn::Color::g, mAlColor, mColor, and gcn::Color::r.

void gcn::AllegroGraphics::setTarget ( BITMAP *  target  )  [virtual]

Sets the target bitmap to draw to.

It can be any bitmap with the same bit-depth as the screen. However, if you pass the screen bitmap you will probably get flicker. Use a double buffer!

Parameters:
target the bitmap to draw to.

Definition at line 85 of file allegrographics.cpp.

References mTarget.


The documentation for this class was generated from the following files:
Generated on Sat Jul 29 19:38:48 2006 for Guichan by  doxygen 1.4.7