X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/af49c4b8a2d3553e733e71c7dd3911881f4c1a2a..f068697b463e8ee2787e867597ab74c68e94aba6:/include/wx/mac/pngread.h

diff --git a/include/wx/mac/pngread.h b/include/wx/mac/pngread.h
index 8aa50a09d4..cbd51857c9 100644
--- a/include/wx/mac/pngread.h
+++ b/include/wx/mac/pngread.h
@@ -1,290 +1,5 @@
-/*
- * File:	pngread.h
- * Purpose:	PNG file reader
- * Author:	Alejandro Aguilar Sierra/Julian Smart
- * Created:	1995
- * Copyright:	(c) 1995, Alejandro Aguilar Sierra <asierra@servidor.unam.mx>
- *
- *
- */
-
-#ifndef _WX_PNGREAD__
-#define _WX_PNGREAD__
-
-#if defined(__GNUG__) && !defined(__APPLE__)
-#pragma interface "pngread.h"
+#ifdef __WXMAC_CLASSIC__
+#include "wx/mac/classic/pngread.h"
+#else
+#include "wx/mac/carbon/pngread.h"
 #endif
-
-#ifndef byte
-typedef unsigned char byte;
-#endif
-
-#define WXIMA_COLORS DIB_PAL_COLORS
-
-typedef byte * ImagePointerType;
-
-typedef struct
-{
-	byte red;
-	byte green;
-   byte blue;
-} rgb_color_struct;
-
-
-#define COLORTYPE_PALETTE	1
-#define COLORTYPE_COLOR		2
-#define COLORTYPE_ALPHA		4
-
-class wxPNGReader
-{
-protected:
-  int filetype;
-  char filename[255];
-  ImagePointerType RawImage;  	//  Image data
-
-  int Width, Height;   	        //  Dimensions
-  int Depth;	 		// (bits x pixel)
-  int ColorType;		// Bit 1 = Palette used
-				// Bit 2 = Color used
-				// Bit 3 = Alpha used
-
-  long EfeWidth;	 	// Efective Width
-
-  void *lpbi;
-  int bgindex;
-  wxPalette* m_palette;
-  bool imageOK;
-friend class wxPNGReaderIter;
-public:
-  wxPNGReader(void);
-  wxPNGReader (char* ImageFileName);     // Read an image file
-  virtual ~wxPNGReader ();
-
-  void Create(int width, int height, int deep, int colortype=-1);
-
-  bool ReadFile( char* ImageFileName=0 );
-  bool SaveFile( char* ImageFileName=0 );
-  bool SaveXPM(char *filename, char *name = 0);
-  int  GetWidth( void ) const { return Width; };
-  int  GetHeight( void ) const { return Height; };
-  int  GetDepth( void ) const { return Depth; };
-  int  GetColorType( void ) const { return ColorType; };
-
-  int  GetIndex(int x, int y);
-  bool GetRGB(int x, int y, byte* r, byte* g, byte* b);
-
-  bool SetIndex(int x, int y, int index);
-  bool SetRGB(int x, int y, byte r, byte g, byte b);
-
-  // ColorMap settings
-  bool SetPalette(wxPalette* colourmap);
-  bool SetPalette(int n, rgb_color_struct *rgb_struct);
-  bool SetPalette(int n, byte *r, byte *g=0, byte *b=0);
-  wxPalette* GetPalette() const { return m_palette; }
-
-  void NullData();
-  inline int GetBGIndex(void) { return bgindex; }
-
-  inline bool Inside(int x, int y)
-      { return (0<=y && y<Height && 0<=x && x<Width); }
-
-  virtual wxBitmap *GetBitmap(void);
-  virtual bool InstantiateBitmap(wxBitmap *bitmap);
-  wxMask *CreateMask(void);
-
-  inline bool Ok(void) { return imageOK; }
-};
-
-class wxPNGReaderIter
-{
-protected:
-  int Itx, Ity;				// Counters
-  int Stepx, Stepy;
-  ImagePointerType IterImage;  		//  Image pointer
-  wxPNGReader *ima;
-public:
-// Constructors
-  wxPNGReaderIter ( void );
-  wxPNGReaderIter ( wxPNGReader *imax );
-  operator wxPNGReader* ();
-
-// Iterators
-  bool ItOK ();
-  void reset ();
-  void upset ();
-  void SetRow(byte *buf, int n);
-  void GetRow(byte *buf, int n);
-  byte GetByte( ) { return IterImage[Itx]; }
-  void SetByte(byte b) { IterImage[Itx] = b; }
-  ImagePointerType GetRow(void);
-  bool NextRow();
-  bool PrevRow();
-  bool NextByte();
-  bool PrevByte();
-
-  void SetSteps(int x, int y=0) {  Stepx = x; Stepy = y; }
-  void GetSteps(int *x, int *y) {  *x = Stepx; *y = Stepy; }
-  bool NextStep();
-  bool PrevStep();
-
-////////////////////////// AD - for interlace ///////////////////////////////
-  void SetY(int y);
-/////////////////////////////////////////////////////////////////////////////
-};
-
-
-inline
-wxPNGReaderIter::wxPNGReaderIter(void)
-{
-  ima = 0;
-  IterImage = 0;
-  Itx = Ity = 0;
-  Stepx = Stepy = 0;
-}
-
-inline
-wxPNGReaderIter::wxPNGReaderIter(wxPNGReader *imax): ima(imax)
-{
-  if (ima)
-	 IterImage = ima->RawImage;
-  Itx = Ity = 0;
-  Stepx = Stepy = 0;
-}
-
-inline
-wxPNGReaderIter::operator wxPNGReader* ()
-{
-  return ima;
-}
-
-inline
-bool wxPNGReaderIter::ItOK ()
-{
-  if (ima)
-	 return ima->Inside(Itx, Ity);
-  else
-	 return FALSE;
-}
-
-
-inline void wxPNGReaderIter::reset()
-{
-  IterImage = ima->RawImage;
-  Itx = Ity = 0;
-}
-
-inline void wxPNGReaderIter::upset()
-{
-  Itx = 0;
-  Ity = ima->Height-1;
-  IterImage = ima->RawImage + ima->EfeWidth*(ima->Height-1);
-}
-
-inline bool wxPNGReaderIter::NextRow()
-{
-  if (++Ity >= ima->Height) return 0;
-  IterImage += ima->EfeWidth;
-  return 1;
-}
-
-inline bool wxPNGReaderIter::PrevRow()
-{
-  if (--Ity < 0) return 0;
-  IterImage -= ima->EfeWidth;
-  return 1;
-}
-
-////////////////////////// AD - for interlace ///////////////////////////////
-inline void wxPNGReaderIter::SetY(int y)
-{
-  if ((y < 0) || (y > ima->Height)) return;
-  Ity = y;
-  IterImage = ima->RawImage + ima->EfeWidth*y;
-}
-
-/////////////////////////////////////////////////////////////////////////////
-
-inline void wxPNGReaderIter::SetRow(byte *buf, int n)
-{
-// Here should be bcopy or memcpy
-  //_fmemcpy(IterImage, (void far *)buf, n);
-  if (n<0)
-	 n = ima->GetWidth();
-
-  for (int i=0; i<n; i++) IterImage[i] = buf[i];
-}
-
-inline void wxPNGReaderIter::GetRow(byte *buf, int n)
-{
-  for (int i=0; i<n; i++) buf[i] = IterImage[i];
-}
-
-inline ImagePointerType wxPNGReaderIter::GetRow()
-{
-  return IterImage;
-}
-
-inline bool wxPNGReaderIter::NextByte()
-{
-  if (++Itx < ima->EfeWidth)
-	 return 1;
-  else
-	 if (++Ity < ima->Height)
-	 {
-		IterImage += ima->EfeWidth;
-		Itx = 0;
-		return 1;
-	 } else
-		return 0;
-}
-
-inline bool wxPNGReaderIter::PrevByte()
-{
-  if (--Itx >= 0)
-	 return 1;
-  else
-	 if (--Ity >= 0)
-	 {
-		IterImage -= ima->EfeWidth;
-		Itx = 0;
-		return 1;
-	 } else
-		return 0;
-}
-
-inline bool wxPNGReaderIter::NextStep()
-{
-  Itx += Stepx;
-  if (Itx < ima->EfeWidth)
-	 return 1;
-  else {
-	 Ity += Stepy;
-	 if (Ity < ima->Height)
-	 {
-		IterImage += ima->EfeWidth;
-		Itx = 0;
-		return 1;
-	 } else
-		return 0;
-  }
-}
-
-inline bool wxPNGReaderIter::PrevStep()
-{
-  Itx -= Stepx;
-  if (Itx >= 0)
-	 return 1;
-  else {       
-	 Ity -= Stepy;
-	 if (Ity >= 0 && Ity < ima->Height)
-	 {
-		IterImage -= ima->EfeWidth;
-		Itx = 0;
-		return 1;
-	 } else
-		return 0;
-  }
-}
-
-#endif
-