#include <sdlgraphics.hpp>
Inheritance diagram for gcn::SDLGraphics:

Definition at line 74 of file sdlgraphics.hpp.
Public Member Functions | |
| SDLGraphics () | |
| Constructor. | |
| virtual void | setTarget (SDL_Surface *target) |
| Sets the target SDL_Surface to draw to. | |
| virtual SDL_Surface * | getTarget () const |
| Gets the target SDL_Surface. | |
| virtual void | drawSDLSurface (SDL_Surface *surface, SDL_Rect source, SDL_Rect destination) |
| Draws an SDL_Surface on the target surface. | |
| 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 Color & | getColor () |
| Gets the Color to use when drawing. | |
Protected Member Functions | |
| virtual void | drawHLine (int x1, int y, int x2) |
| Draws a horizontal line. | |
| virtual void | drawVLine (int x, int y1, int y2) |
| Draws a vertical line. | |
Protected Attributes | |
| SDL_Surface * | mTarget |
| Color | mColor |
| bool | mAlpha |
| void gcn::SDLGraphics::_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.
Reimplemented from gcn::Graphics.
Definition at line 83 of file sdlgraphics.cpp.
References gcn::Rectangle::height, mTarget, pushClipArea(), gcn::Rectangle::width, gcn::Rectangle::x, and gcn::Rectangle::y.
| void gcn::SDLGraphics::_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.
Reimplemented from gcn::Graphics.
Definition at line 93 of file sdlgraphics.cpp.
References popClipArea().
| void gcn::SDLGraphics::drawHLine | ( | int | x1, | |
| int | y, | |||
| int | x2 | |||
| ) | [protected, virtual] |
Draws a horizontal line.
| x1 | the start coordinate of the line. | |
| y | the y coordinate of the line. | |
| x2 | the end coordinate of the line. |
Definition at line 231 of file sdlgraphics.cpp.
References gcn::Color::a, gcn::Color::b, gcn::Color::g, gcn::Rectangle::height, mAlpha, gcn::Graphics::mClipStack, mColor, mTarget, gcn::Color::r, gcn::SDLAlpha32(), gcn::Rectangle::width, gcn::Rectangle::x, gcn::ClipRectangle::xOffset, gcn::Rectangle::y, and gcn::ClipRectangle::yOffset.
Referenced by drawLine(), and drawRectangle().
| void gcn::SDLGraphics::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);
| 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 143 of file sdlgraphics.cpp.
References gcn::SDLImage::getSurface(), gcn::Graphics::mClipStack, mTarget, gcn::ClipRectangle::xOffset, and gcn::ClipRectangle::yOffset.
| void gcn::SDLGraphics::drawLine | ( | int | x1, | |
| int | y1, | |||
| int | x2, | |||
| int | y2 | |||
| ) | [virtual] |
Ddraws a line.
| 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 456 of file sdlgraphics.cpp.
References drawHLine(), drawVLine(), gcn::Rectangle::isPointInRect(), mAlpha, gcn::Graphics::mClipStack, mColor, mTarget, gcn::SDLputPixel(), gcn::SDLputPixelAlpha(), gcn::ClipRectangle::xOffset, and gcn::ClipRectangle::yOffset.
| void gcn::SDLGraphics::drawPoint | ( | int | x, | |
| int | y | |||
| ) | [virtual] |
Draws a single point/pixel.
| x | the x coordinate. | |
| y | the y coordinate. |
Implements gcn::Graphics.
Definition at line 212 of file sdlgraphics.cpp.
References gcn::Rectangle::isPointInRect(), mAlpha, gcn::Graphics::mClipStack, mColor, mTarget, gcn::SDLputPixel(), gcn::SDLputPixelAlpha(), gcn::ClipRectangle::xOffset, and gcn::ClipRectangle::yOffset.
| void gcn::SDLGraphics::drawRectangle | ( | const Rectangle & | rectangle | ) | [virtual] |
Draws a simple, non-filled, Rectangle with one pixel width.
| rectangle | the Rectangle to draw. |
Implements gcn::Graphics.
Definition at line 442 of file sdlgraphics.cpp.
References drawHLine(), drawVLine(), gcn::Rectangle::height, gcn::Rectangle::width, gcn::Rectangle::x, and gcn::Rectangle::y.
| void gcn::SDLGraphics::drawSDLSurface | ( | SDL_Surface * | surface, | |
| SDL_Rect | source, | |||
| SDL_Rect | destination | |||
| ) | [virtual] |
Draws an SDL_Surface on the target surface.
Normaly you'll use drawImage, but if you want to write SDL specific code this function might come in handy.
NOTE: The clip areas will be taken into account.
Definition at line 638 of file sdlgraphics.cpp.
References gcn::Graphics::mClipStack, mTarget, gcn::ClipRectangle::xOffset, and gcn::ClipRectangle::yOffset.
| void gcn::SDLGraphics::drawVLine | ( | int | x, | |
| int | y1, | |||
| int | y2 | |||
| ) | [protected, virtual] |
Draws a vertical line.
| x | the x coordinate of the line. | |
| y1 | the start coordinate of the line. | |
| y2 | the end coordinate of the line. |
Definition at line 337 of file sdlgraphics.cpp.
References gcn::Color::a, gcn::Color::b, gcn::Color::g, gcn::Rectangle::height, mAlpha, gcn::Graphics::mClipStack, mColor, mTarget, gcn::Color::r, gcn::SDLAlpha32(), gcn::Rectangle::width, gcn::Rectangle::x, gcn::ClipRectangle::xOffset, gcn::Rectangle::y, and gcn::ClipRectangle::yOffset.
Referenced by drawLine(), and drawRectangle().
| void gcn::SDLGraphics::fillRectangle | ( | const Rectangle & | rectangle | ) | [virtual] |
Draws a filled Rectangle.
| rectangle | the filled Rectangle to draw. |
Implements gcn::Graphics.
Definition at line 167 of file sdlgraphics.cpp.
References gcn::Color::a, gcn::Color::b, gcn::Color::g, gcn::Rectangle::height, gcn::Rectangle::intersect(), mAlpha, gcn::Graphics::mClipStack, mColor, mTarget, gcn::Color::r, gcn::SDLputPixelAlpha(), gcn::Rectangle::width, gcn::Rectangle::x, gcn::ClipRectangle::xOffset, gcn::Rectangle::y, and gcn::ClipRectangle::yOffset.
| const Color & gcn::SDLGraphics::getColor | ( | ) | [virtual] |
Gets the Color to use when drawing.
Implements gcn::Graphics.
Definition at line 633 of file sdlgraphics.cpp.
References mColor.
| SDL_Surface * gcn::SDLGraphics::getTarget | ( | ) | const [virtual] |
Gets the target SDL_Surface.
Definition at line 138 of file sdlgraphics.cpp.
References mTarget.
| void gcn::SDLGraphics::popClipArea | ( | ) | [virtual] |
Removes the topmost clip area from the stack.
| Exception | if the stack is empty. |
Reimplemented from gcn::Graphics.
Definition at line 119 of file sdlgraphics.cpp.
References gcn::Rectangle::height, gcn::Graphics::mClipStack, mTarget, gcn::Graphics::popClipArea(), gcn::Rectangle::width, gcn::Rectangle::x, and gcn::Rectangle::y.
Referenced by _endDraw().
| bool gcn::SDLGraphics::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.
| area | the clip area to be pushed onto the stack. |
Reimplemented from gcn::Graphics.
Definition at line 103 of file sdlgraphics.cpp.
References gcn::Rectangle::height, gcn::Graphics::mClipStack, mTarget, gcn::Graphics::pushClipArea(), gcn::Rectangle::width, gcn::Rectangle::x, and gcn::Rectangle::y.
Referenced by _beginDraw().
| void gcn::SDLGraphics::setColor | ( | const Color & | color | ) | [virtual] |
Sets the Color to use when drawing.
| color | a Color. |
Implements gcn::Graphics.
Definition at line 626 of file sdlgraphics.cpp.
References gcn::Color::a, mAlpha, and mColor.
| void gcn::SDLGraphics::setTarget | ( | SDL_Surface * | target | ) | [virtual] |
Sets the target SDL_Surface to draw to.
The target can be any SDL_Surface. This funtion also pushes a clip areas corresponding to the dimension of the target.
| target | the target to draw to. |
Definition at line 98 of file sdlgraphics.cpp.
References mTarget.
1.4.7