X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;ds=sidebyside;f=mware%2Fgfx.c;h=9f9cf6215c57ef984f76f49464b2ecc8ca033775;hb=ca5880248da0f6d56acb527f11c2139ffc3ca2ac;hp=d03e0a226923e0ebea89ff7a69a8c284b83a006f;hpb=96f0ef786b54356c56cc3d4e4f0838df2505cfcc;p=bertos.git diff --git a/mware/gfx.c b/mware/gfx.c index d03e0a22..9f9cf621 100755 --- a/mware/gfx.c +++ b/mware/gfx.c @@ -14,12 +14,21 @@ * \brief General pourpose graphics routines */ -/* - * $Log$ - * Revision 1.2 2004/06/03 11:27:09 bernie - * Add dual-license information. - * - */ +/*#* + *#* $Log$ + *#* Revision 1.6 2004/09/06 21:50:46 bernie + *#* Clarify side-effects in documentation. + *#* + *#* Revision 1.4 2004/08/24 16:53:10 bernie + *#* Use new-style config macros. + *#* + *#* Revision 1.3 2004/08/04 03:16:59 bernie + *#* Switch to new DevLib CONFIG_ convention. + *#* + *#* Revision 1.2 2004/06/03 11:27:09 bernie + *#* Add dual-license information. + *#* + *#*/ #include "gfx.h" #include "config.h" @@ -55,6 +64,8 @@ /*! * Initialize a Bitmap structure with the provided parameters. + * + * \note The pen position is reset to the origin. */ void gfx_InitBitmap(Bitmap *bm, uint8_t *raster, coord_t w, coord_t h) { @@ -68,6 +79,8 @@ void gfx_InitBitmap(Bitmap *bm, uint8_t *raster, coord_t w, coord_t h) /*! * Clear the whole bitmap surface to all zeros + * + * \note This function does \b not update the current pen position */ void gfx_ClearBitmap(Bitmap *bm) { @@ -78,6 +91,8 @@ void gfx_ClearBitmap(Bitmap *bm) /*! * Copy a raster picture located in program memory in the bitmap. * The size of the raster to copy *must* be the same of the raster bitmap. + * + * \note This function does \b not update the current pen position */ void gfx_blitBitmap_P(Bitmap *bm, const prog_uchar *raster) { @@ -85,12 +100,18 @@ void gfx_blitBitmap_P(Bitmap *bm, const prog_uchar *raster) } +/*! + * Draw a line on the bitmap \a bm using the specified start and end + * coordinates. + * + * \note This function does \b not update the current pen position + */ void gfx_DrawLine(Bitmap *bm, coord_t x1, coord_t y1, coord_t x2, coord_t y2) { int x, y, e, len, adx, ady, signx, signy; -#ifdef CONFIG_GFX_CLIPPING +#if CONFIG_GFX_CLIPPING /* FIXME: broken */ #define XMIN 0 @@ -146,7 +167,7 @@ void gfx_DrawLine(Bitmap *bm, coord_t x1, coord_t y1, coord_t x2, coord_t y2) #undef XMAX #undef YMAX -#endif /* CONFIG_GRAPH_CLIPPING */ +#endif /* CONFIG_GFX_CLIPPING */ if (x2 > x1) @@ -221,13 +242,21 @@ void gfx_DrawLine(Bitmap *bm, coord_t x1, coord_t y1, coord_t x2, coord_t y2) } +/*! + * Move the current pen position to the specified coordinates. + */ void gfx_MoveTo(Bitmap *bm, coord_t x, coord_t y) { bm->penX = x; 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 + * new coordinates. + */ void gfx_LineTo(Bitmap *bm, coord_t x, coord_t y) { gfx_DrawLine(bm, bm->penX, bm->penY, x, y); @@ -237,7 +266,10 @@ void gfx_LineTo(Bitmap *bm, coord_t x, coord_t y) /*! * Draw a filled rectangle. + * * \note The bottom-right border of the rectangle is not drawn. + * + * \note This function does \b not update the current pen position */ void gfx_FillRect(Bitmap *bm, coord_t x1, coord_t y1, coord_t x2, coord_t y2) { @@ -266,7 +298,9 @@ void gfx_FillRect(Bitmap *bm, coord_t x1, coord_t y1, coord_t x2, coord_t y2) /*! * Draw an empty rectangle. + * * \note The bottom-right border of the rectangle is not drawn. + * \note This function does \b not update the current pen position */ void gfx_DrawRect(Bitmap *bm, coord_t x1, coord_t y1, coord_t x2, coord_t y2) { @@ -285,6 +319,7 @@ void gfx_DrawRect(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 drawn. + * \note This function does \b not update the current pen position */ void gfx_ClearRect(Bitmap *bm, coord_t x1, coord_t y1, coord_t x2, coord_t y2) { @@ -334,7 +369,7 @@ void gfx_SetClipRect(Bitmap *bm, coord_t minx, coord_t miny, coord_t maxx, coord } -#ifdef CONFIG_LCD_VCOORDS +#if CONFIG_GFX_VCOORDS /*! * Imposta gli estremi del sistema di coordinate cartesiane rispetto * al rettangolo di clipping della bitmap. @@ -383,4 +418,4 @@ void gfx_VDrawLine(Bitmap *bm, vcoord_t x1, vcoord_t y1, vcoord_t x2, vcoord_t y gfx_TransformX(bm, x1), gfx_TransformY(bm, y1), gfx_TransformY(bm, x2), gfx_TransformY(bm, y2)); } -#endif /* CONFIG_LCD_VCOORDS */ +#endif /* CONFIG_GFX_VCOORDS */