Diff for /parser3/src/classes/gd/Attic/gif.h between versions 1.10.4.1 and 1.23.2.5.2.2

version 1.10.4.1, 2001/09/15 15:42:08 version 1.23.2.5.2.2, 2003/03/24 14:53:56
Line 1 Line 1
 /** @file  /** @file
         Parser: image manipulations decls.          Parser: image manipulations decls.
   
         Author: Alexander Petrosyan <paf@design.ru> (http://design.ru/paf)          Copyright (c) 2001-2003 ArtLebedev Group (http://www.artlebedev.com)
           Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
         $Id$  
   
   
         based on:          based on:
         gd.h: declarations file for the gifdraw module.          gd.h: declarations file for the gifdraw module.
   
Line 19 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_config_includes.h"
   
 #include "pa_pool.h"  
 #include "pa_string.h"  #include "pa_memory.h"
   
   extern "C" {
   #include "ec.h"
   }
   
 #define gdMaxColors 0x100  #define gdMaxColors 0x100
 #define HSIZE  5003            /* 80% occupancy */  #define HSIZE  5003            /* 80% occupancy */
   
   struct gdBuf {
           void *ptr;
           size_t size;
   
           gdBuf(void *aptr, size_t asize): ptr(aptr), size(asize) {}
   };
   
   
 /** 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
         access sx, sy, the color table, and colorsTotal for           access sx, sy, the color table, and colorsTotal for 
         read-only purposes.           read-only purposes. 
 */  */
 class gdImage : public Pooled {  class gdImage: public PA_Object {
   
 public:   public: 
                   
         //@{          //@{
         /// @name Functions to manipulate images          /// @name Functions to manipulate images
         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 StyledLine(int x1, int y1, int x2, int y2, int color, const char *lineStyle);          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);
Line 58  public: Line 68  public:
                 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 73  public: Line 83  public:
         int BoundsSafe(int x, int y);          int BoundsSafe(int x, int y);
         void DoSetPixel(int x, int y, int color);          void DoSetPixel(int x, int y, int color);
                   
         void Gif(String& out);          gdBuf Gif();
         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 SetLineWidth(int width);          void SetLineWidth(int width);
         void SetLineStyle(const char *aLineStyle);          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:   public: 
Line 110  private: Line 121  private:
         int transparent;          int transparent;
         int *polyInts;          int *polyInts;
         int polyAllocated;          int polyAllocated;
         int lineWidth;          int lineWidth; const char* lineStyle;
         int interlace;          int interlace;
   
 private: // read gif  private: // read gif
Line 128  private: // read gif Line 139  private: // read gif
 };  };
   
 ///     used by gdImage::Gif to produce buffer with bytes in GIF format  ///     used by gdImage::Gif to produce buffer with bytes in GIF format
 class gdGifEncoder : public Pooled {  class gdGifEncoder: public PA_Object {
 public:  public:
   
         gdGifEncoder(Pool& pool, gdImage& aim, String& afp);          gdGifEncoder(gdImage& aim, CORD_ec& afp);
   
         void encode(           void encode( 
                 int GWidth, int GHeight,                   int GWidth, int GHeight, 
Line 170  private: Line 181  private:
 private:  private:
                   
         gdImage& im;          gdImage& im;
         String& fp;          CORD_ec& fp;
   
         int Width, Height;          int Width, Height;
         int curx, cury;          int curx, cury;
Line 227  inline int gdImage::BoundsSafe(int x, in Line 238  inline int gdImage::BoundsSafe(int x, in
 inline /*paf int*/void gdImage::DoSetPixel(int x, int y, int color){  inline /*paf int*/void gdImage::DoSetPixel(int x, int y, int color){
     if(BoundsSafe(x, y)) pixels[x][y] = color;      if(BoundsSafe(x, y)) pixels[x][y] = color;
 }  }
   DECLARE_OBJECT_PTR(gdGifEncoder);
   
 #endif  #endif

Removed from v.1.10.4.1  
changed lines
  Added in v.1.23.2.5.2.2


E-mail: