Diff for /parser3/src/classes/gd/Attic/gif.h between versions 1.3 and 1.22

version 1.3, 2001/04/11 17:47:03 version 1.22, 2002/08/01 11:41:13
Line 1 Line 1
 /** @file  /** @file
           Parser: image manipulations decls.
   
           Copyright (c) 2001, 2002 ArtLebedev Group (http://www.artlebedev.com)
           Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
           based on:
         gd.h: declarations file for the gifdraw module.          gd.h: declarations file for the gifdraw module.
   
         Written by Tom Boutell, 5/94.          Written by Tom Boutell, 5/94.
Line 11 Line 16
 */  */
   
 #ifndef GIF_H  #ifndef GIF_H
 #define GIF_H 1  #define GIF_H
   
   static const char* IDENT_GIF_H="$Date$";
   
   #include "pa_config_includes.h"
   
 #include "pa_pool.h"  #include "pa_pool.h"
 #include "pa_string.h"  #include "pa_string.h"
   
 #include <stdio.h>  
 #include <string.h>  
 #define gdMaxColors 0x100  #define gdMaxColors 0x100
 #define HSIZE  5003            /* 80% occupancy */  #define HSIZE  5003            /* 80% occupancy */
   
 /* For backwards compatibility only. Use gdImageSetStyle() for MUCH more flexible line drawing. Also see gdImageSetBrush(). */  
 #define gdDashSize 4  
   
   
 /** Image type.   /** Image type. 
         See functions below; you will not need to change          See functions below; you will not need to change
         the elements directly. Use the provided macros to          the elements directly. Use the provided macros to
Line 33 Line 36
 */  */
 class gdImage : public Pooled {  class gdImage : public Pooled {
   
 public: /* Functions to manipulate images. */  public: 
           
           //@{
           /// @name Functions to manipulate images
         gdImage(Pool& pool) : Pooled(pool) {}          gdImage(Pool& pool) : Pooled(pool) {}
         void Create(int asx, int asy);          void Create(int asx, int asy);
         bool CreateFromGif(FILE *fd);          bool CreateFromGif(FILE *fd);
         void SetPixel(int x, int y, int color);          void SetPixel(int x, int y, int color);
         int GetPixel(int x, int y);          int GetPixel(int x, int y);
         void Line(int x1, int y1, int x2, int y2, int color);          void Line(int x1, int y1, int x2, int y2, int color);
         void DashedLine(int x1, int y1, int x2, int y2, int color);          void StyledLine(int x1, int y1, int x2, int y2, int color, const char *lineStyle);
         void Rectangle(int x1, int y1, int x2, int y2, int color);          void Rectangle(int x1, int y1, int x2, int y2, int color);
         void LineReplaceColor(int x1, int y1, int x2, int y2, int a, int b);          void LineReplaceColor(int x1, int y1, int x2, int y2, int a, int b);
         void FilledRectangle(int x1, int y1, int x2, int y2, int color);          void FilledRectangle(int x1, int y1, int x2, int y2, int color);
           //@}
   
         /* Point type for use in polygon drawing. */          /// Point type for use in polygon drawing.
           
         struct Point {          struct Point {
                 int x, y;                  int x, y;
         };          };
                   
         void Polygon(Point *p, int n, int c);          void Polygon(Point *p, int n, int c, bool closed=true);
         void FilledPolygon(Point *p, int n, int c);          void FilledPolygon(Point *p, int n, int c);
         void FilledPolygonReplaceColor(Point *p, int n, int a, int b);          void FilledPolygonReplaceColor(Point *p, int n, int a, int b);
   
         int ColorAllocate(int r, int g, int b);          int ColorAllocate(int r, int g, int b);
         int ColorClosest(int r, int g, int b);          int ColorClosest(int r, int g, int b, int tolerance=0);
         int ColorExact(int r, int g, int b);          int ColorExact(int r, int g, int b);
         int ColorRGB(int r, int g, int b);          int ColorRGB(int r, int g, int b);
         int Color(unsigned int rgb);          int Color(unsigned int rgb);
Line 69  public: /* Functions to manipulate image Line 74  public: /* Functions to manipulate image
                   
         void Gif(String& out);          void Gif(String& out);
         void Arc(int cx, int cy, int w, int h, int s, int e, int color);          void Arc(int cx, int cy, int w, int h, int s, int e, int color);
           void Sector(int cx, int cy, int w, int h, int s, int e, int color);
         void FillToBorder(int x, int y, int border, int color);          void FillToBorder(int x, int y, int border, int color);
         void Fill(int x, int y, int color);          void Fill(int x, int y, int color);
         void Copy(gdImage& dst, int dstX, int dstY, int srcX, int srcY, int w, int h);          void Copy(gdImage& dst, int dstX, int dstY, int srcX, int srcY, int w, int h);
         void CopyResized(gdImage& dst, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH);          void CopyResampled(gdImage& dst, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH, int tolerance);
         void SetStyle(int width);          void SetLineWidth(int width);
           void SetLineStyle(const char *aLineStyle);
         void SetInterlace(int interlaceArg); /* On or off(1 or 0) */          void SetInterlace(int interlaceArg); /* On or off(1 or 0) */
                   
 public: /* information about image. READ ONLY */  public: 
   
           //@{
           /// @name information about image. READ ONLY
         int SX() { return sx; }          int SX() { return sx; }
         int SY() { return sy; }          int SY() { return sy; }
         int ColorsTotal() { return colorsTotal; }          int ColorsTotal() { return colorsTotal; }
Line 86  public: /* information about image. READ Line 95  public: /* information about image. READ
         int Blue(int c) { return blue[c]; }          int Blue(int c) { return blue[c]; }
         int GetTransparent() { return transparent; }          int GetTransparent() { return transparent; }
         int GetInterlaced() { return interlace; }          int GetInterlaced() { return interlace; }
           //@}
   
 private:  private:
   
Line 100  private: Line 110  private:
         int transparent;          int transparent;
         int *polyInts;          int *polyInts;
         int polyAllocated;          int polyAllocated;
         int styleWidth;          int lineWidth; const char *lineStyle;
         int interlace;          int interlace;
   
 private: // read gif  private: // read gif
Line 117  private: // read gif Line 127  private: // read gif
                   
 };  };
   
   ///     used by gdImage::Gif to produce buffer with bytes in GIF format
 class gdGifEncoder : public Pooled {  class gdGifEncoder : public Pooled {
 public:  public:
   
Line 130  public: Line 141  public:
   
 private:  private:
   
         /*          /// a code_int must be able to hold 2**GIFBITS values of type int, and also -1
          * a code_int must be able to hold 2**GIFBITS values of type int, and also -1  
          */  
         typedef int             code_int;          typedef int             code_int;
         #ifdef SIGNED_COMPARE_SLOW  #ifdef SIGNED_COMPARE_SLOW
         typedef unsigned long int count_int;          typedef unsigned long int count_int;
         typedef unsigned short int count_short;          typedef unsigned short int count_short;
         #else /*SIGNED_COMPARE_SLOW*/  #else
         typedef long int          count_int;          typedef long int          count_int;
         #endif /*SIGNED_COMPARE_SLOW*/  #endif
   
 private:  private:
   
Line 219  inline /*paf int*/void gdImage::DoSetPix Line 228  inline /*paf int*/void gdImage::DoSetPix
     if(BoundsSafe(x, y)) pixels[x][y] = color;      if(BoundsSafe(x, y)) pixels[x][y] = color;
 }  }
   
   
   
 #endif  #endif

Removed from v.1.3  
changed lines
  Added in v.1.22


E-mail: