home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2002 April / pcpro0402.iso / essentials / graphics / Gimp / gimp-src-20001226.exe / src / gimp / app / scan_convert.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-12-17  |  2.0 KB  |  59 lines

  1. /* The GIMP -- an image manipulation program
  2.  * Copyright (C) 1995-1999 Spencer Kimball and Peter Mattis
  3.  *
  4.  * This program is free software; you can redistribute it and/or modify
  5.  * it under the terms of the GNU General Public License as published by
  6.  * the Free Software Foundation; either version 2 of the License, or
  7.  * (at your option) any later version.
  8.  *
  9.  * This program is distributed in the hope that it will be useful,
  10.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.  * GNU General Public License for more details.
  13.  *
  14.  * You should have received a copy of the GNU General Public License
  15.  * along with this program; if not, write to the Free Software
  16.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  17.  */
  18.  
  19. #ifndef SCAN_CONVERT_H
  20. #define SCAN_CONVERT_H
  21.  
  22.  
  23. typedef struct 
  24. {
  25.   gdouble    x;
  26.   gdouble    y;
  27. } ScanConvertPoint;
  28.  
  29.  
  30. typedef struct ScanConverterPrivate ScanConverter;
  31.  
  32.  
  33. /* Create a new scan conversion context.  Set "antialias" to 1 for no
  34.  * supersampling, or the amount to supersample by otherwise.  */
  35. ScanConverter * scan_converter_new (guint width, guint height,
  36.                     guint antialias);
  37.  
  38.  
  39. /* Add "npoints" from "pointlist" to the polygon currently being
  40.  * described by "scan_converter".  */
  41. void scan_converter_add_points (ScanConverter *scan_converter,
  42.                 guint npoints,
  43.                 ScanConvertPoint *pointlist);
  44.  
  45.  
  46. /* Scan convert the polygon described by the list of points passed to
  47.  * scan_convert_add_points, and return a channel with a bits set if
  48.  * they fall within the polygon defined.  The polygon is filled
  49.  * according to the even-odd rule.  The polygon is closed by
  50.  * joining the final point to the initial point. */
  51. Channel * scan_converter_to_channel (ScanConverter *scan_converter,
  52.                      GimpImage *gimage);
  53.  
  54.  
  55. void scan_converter_free (ScanConverter *scan_converter);
  56.  
  57.  
  58. #endif /* SCAN_CONVERT_H */
  59.