IFillRec.c
资源名称:ilib [点击查看]
上传用户:changbiao
上传日期:2007-01-13
资源大小:141k
文件大小:1k
源码类别:

图片显示

开发平台:

C/C++

  1. /*
  2.  * IFillRec.c
  3.  *
  4.  * Image library
  5.  *
  6.  * Description:
  7.  * Portable routines to manipulate raster images.
  8.  *
  9.  * History:
  10.  * 20-May-96 Craig Knudsen cknudsen@radix.net
  11.  * Created
  12.  *
  13.  ****************************************************************************/
  14. #include <stdio.h>
  15. #include <stdlib.h>
  16. #include <ctype.h>
  17. #include <memory.h>
  18. #include "Ilib.h"
  19. #include "IlibP.h"
  20. IError IFillRectangle ( image, gc, x, y, w, h )
  21. IImage image;
  22. IGC gc;
  23. int x;
  24. int y;
  25. unsigned int w;
  26. unsigned int h;
  27. {
  28.   IGCP *gcp = (IGCP *)gc;
  29.   IImageP *imagep = (IImageP *)image;
  30.   int row, col;
  31.   if ( ! gcp )
  32.     return ( IInvalidGC );
  33.   if ( gcp->magic != IMAGIC_GC )
  34.     return ( IInvalidGC );
  35.   if ( ! imagep )
  36.     return ( IInvalidImage );
  37.   if ( imagep->magic != IMAGIC_IMAGE )
  38.     return ( IInvalidImage );
  39.   for ( row = y; row < y + h && row < imagep->height; row++ ) {
  40.     for ( col = x; col < x + w && col < imagep->width; col++ ) {
  41.       if ( row >= 0 && col >= 0 ) {
  42.         _ISetPoint ( imagep, gcp, col, row );
  43.       }
  44.     }
  45.   }
  46.   return ( INoError );
  47. }