X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=gfx%2Fline.c;h=f3909b15337da90735ce947f7b567c4739339670;hb=0e98bd5ee418681c347fc7fbe02ad53c59502f41;hp=b3e74f03a9f1d4d5e84bd9557d19e30052db78be;hpb=03d72c14a213544bfe50fd9145fe0e4c9f9229c8;p=bertos.git diff --git a/gfx/line.c b/gfx/line.c old mode 100755 new mode 100644 index b3e74f03..f3909b15 --- a/gfx/line.c +++ b/gfx/line.c @@ -1,9 +1,34 @@ -/*! +/** * \file * * * \version $Id$ @@ -14,22 +39,22 @@ * \brief Line drawing graphics routines */ -/*#* - *#* $Log$ - *#* Revision 1.1 2006/01/24 02:17:49 bernie - *#* Split out gfx.c into bitmap.c and line.c. - *#* - *#*/ - #include "gfx.h" #include "gfx_p.h" #include /* ASSERT() */ -#include /* CPU_HARVARD */ #include /* SWAP() */ #include /* CONFIG_GFX_CLIPPING */ -/*! +/* Configuration sanity checks */ +#if !defined(CONFIG_GFX_CLIPPING) || (CONFIG_GFX_CLIPPING != 0 && CONFIG_GFX_CLIPPING != 1) + #error CONFIG_GFX_CLIPPING must be defined to either 0 or 1 +#endif +#if !defined(CONFIG_GFX_VCOORDS) || (CONFIG_GFX_VCOORDS != 0 && CONFIG_GFX_VCOORDS != 1) + #error CONFIG_GFX_VCOORDS must be defined to either 0 or 1 +#endif + +/** * Draw a sloped line without performing clipping. * * Parameters are the same of gfx_line(). @@ -117,7 +142,9 @@ static void gfx_lineUnclipped(Bitmap *bm, coord_t x1, coord_t y1, coord_t x2, co } } -//! Helper routine for gfx_line(). +#if CONFIG_GFX_CLIPPING + +/// Helper routine for gfx_line(). static int gfx_findRegion(int x, int y, Rect *cr) { int code = 0; @@ -135,6 +162,8 @@ static int gfx_findRegion(int x, int y, Rect *cr) return code; } +#endif /* CONFIG_CLIPPING */ + /** * Draw a sloped line segment. * @@ -211,7 +240,7 @@ void gfx_line(Bitmap *bm, coord_t x1, coord_t y1, coord_t x2, coord_t y2) gfx_lineUnclipped(bm, x1, y1, x2, y2); } -/*! +/** * Move the current pen position to the specified coordinates. * * The pen position is used for drawing operations such as @@ -223,7 +252,7 @@ void gfx_moveTo(Bitmap *bm, coord_t x, coord_t y) bm->penY = y; } -/*! +/** * Draw a line from the current pen position to the new coordinates. * * \note This function moves the current pen position to the @@ -238,7 +267,7 @@ void gfx_lineTo(Bitmap *bm, coord_t x, coord_t y) } -/*! +/** * Draw the perimeter of an hollow rectangle. * * \note The bottom-right corner of the rectangle is drawn at (x2-1;y2-1). @@ -258,7 +287,7 @@ void gfx_rectDraw(Bitmap *bm, coord_t x1, coord_t y1, coord_t x2, coord_t y2) } -/*! +/** * Fill a rectangular area with \a color. * * \note The bottom-right border of the rectangle is not drawn. @@ -283,7 +312,7 @@ void gfx_rectFillC(Bitmap *bm, coord_t x1, coord_t y1, coord_t x2, coord_t y2, u if (y2 < bm->cr.ymin) y2 = bm->cr.ymin; if (y1 > bm->cr.ymax) y1 = bm->cr.ymax; if (y2 > bm->cr.ymax) y2 = bm->cr.ymax; -#endif +#endif /* CONFIG_GFX_CLIPPING */ /* NOTE: Code paths are duplicated for efficiency */ if (color) /* fill */ @@ -301,7 +330,7 @@ void gfx_rectFillC(Bitmap *bm, coord_t x1, coord_t y1, coord_t x2, coord_t y2, u } -/*! +/** * Draw a filled rectangle. * * \note The bottom-right border of the rectangle is not drawn. @@ -314,7 +343,7 @@ void gfx_rectFill(Bitmap *bm, coord_t x1, coord_t y1, coord_t x2, coord_t y2) } -/*! +/** * Clear a rectangular area. * * \note The bottom-right border of the rectangle is not cleared. @@ -328,7 +357,7 @@ void gfx_rectClear(Bitmap *bm, coord_t x1, coord_t y1, coord_t x2, coord_t y2) #if CONFIG_GFX_VCOORDS -/*! +/** * Imposta gli estremi del sistema di coordinate cartesiane rispetto * al rettangolo di clipping della bitmap. */ @@ -348,7 +377,7 @@ void gfx_setViewRect(Bitmap *bm, vcoord_t x1, vcoord_t y1, vcoord_t x2, vcoord_t } -/*! +/** * Transform a coordinate from the current reference system to a * pixel offset within the bitmap. */ @@ -357,7 +386,7 @@ coord_t gfx_transformX(Bitmap *bm, vcoord_t x) return bm->cr.xmin + (coord_t)((x - bm->orgX) * bm->scaleX); } -/*! +/** * Transform a coordinate from the current reference system to a * pixel offset within the bitmap. */ @@ -367,7 +396,7 @@ coord_t gfx_transformY(Bitmap *bm, vcoord_t y) } -/*! +/** * Draw a line from (x1;y1) to (x2;y2). */ void gfx_vline(Bitmap *bm, vcoord_t x1, vcoord_t y1, vcoord_t x2, vcoord_t y2)