Skip to content

Commit

Permalink
GRAPHICS: Add a Surface wrapper for drawThickLine
Browse files Browse the repository at this point in the history
  • Loading branch information
Matthew Hoops committed Oct 27, 2011
1 parent 627684c commit c2af197
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 0 deletions.
11 changes: 11 additions & 0 deletions graphics/surface.cpp
Expand Up @@ -48,6 +48,17 @@ void Surface::drawLine(int x0, int y0, int x1, int y1, uint32 color) {
error("Surface::drawLine: bytesPerPixel must be 1, 2, or 4");
}

void Surface::drawThickLine(int x0, int y0, int x1, int y1, int penX, int penY, uint32 color) {
if (format.bytesPerPixel == 1)
Graphics::drawThickLine(x0, y0, x1, y1, penX, penY, color, plotPoint<byte>, this);
else if (format.bytesPerPixel == 2)
Graphics::drawThickLine(x0, y0, x1, y1, penX, penY, color, plotPoint<uint16>, this);
else if (format.bytesPerPixel == 4)
Graphics::drawThickLine(x0, y0, x1, y1, penX, penY, color, plotPoint<uint32>, this);
else
error("Surface::drawThickLine: bytesPerPixel must be 1, 2, or 4");
}

void Surface::create(uint16 width, uint16 height, const PixelFormat &f) {
free();

Expand Down
16 changes: 16 additions & 0 deletions graphics/surface.h
Expand Up @@ -142,9 +142,25 @@ struct Surface {
* @param x1 The x coordinate of the end point.
* @param y1 The y coordinate of the end point.
* @param color The color of the line.
* @note This is just a wrapper around Graphics::drawLine
*/
void drawLine(int x0, int y0, int x1, int y1, uint32 color);

/**
* Draw a thick line.
*
* @param x0 The x coordinate of the start point.
* @param y0 The y coordiante of the start point.
* @param x1 The x coordinate of the end point.
* @param y1 The y coordinate of the end point.
* @param penX The width of the pen (thickness in the x direction)
* @param penY The height of the pen (thickness in the y direction)
* @param color The color of the line.
* @note This is just a wrapper around Graphics::drawThickLine
* @note The x/y coordinates of the start and end points are the upper-left most part of the pen
*/
void drawThickLine(int x0, int y0, int x1, int y1, int penX, int penY, uint32 color);

/**
* Draw a horizontal line.
*
Expand Down

0 comments on commit c2af197

Please sign in to comment.