no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3971 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
286
include/wx/os2/pngread.h
Normal file
286
include/wx/os2/pngread.h
Normal file
@@ -0,0 +1,286 @@
|
||||
/*
|
||||
* 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__
|
||||
|
||||
#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;
|
||||
wxChar 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
|
||||
|
||||
LPBITMAPINFOHEADER lpbi;
|
||||
int bgindex;
|
||||
wxPalette* Palette;
|
||||
bool imageOK;
|
||||
friend class wxPNGReaderIter;
|
||||
public:
|
||||
wxPNGReader(void);
|
||||
wxPNGReader (wxChar* ImageFileName); // Read an image file
|
||||
~wxPNGReader ();
|
||||
|
||||
void Create(int width, int height, int deep, int colortype=-1);
|
||||
|
||||
bool ReadFile( wxChar* ImageFileName=0 );
|
||||
bool SaveFile( wxChar* ImageFileName=0 );
|
||||
bool SaveXPM(wxChar *filename, wxChar *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 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
|
||||
|
@@ -1,76 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: printdlg.h
|
||||
// Purpose: wxPrintDialog, wxPageSetupDialog classes
|
||||
// Author: Julian Smart
|
||||
// Modified by:
|
||||
// Created: 01/02/97
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Julian Smart
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_PRINTDLG_H_
|
||||
#define _WX_PRINTDLG_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "printdlg.h"
|
||||
#endif
|
||||
|
||||
#if wxUSE_PRINTING_ARCHITECTURE
|
||||
|
||||
#include "wx/dialog.h"
|
||||
#include "wx/cmndata.h"
|
||||
|
||||
class WXDLLEXPORT wxDC;
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// wxPrinterDialog: the common dialog for printing.
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxPrintDialog : public wxDialog
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxPrintDialog)
|
||||
|
||||
public:
|
||||
wxPrintDialog();
|
||||
wxPrintDialog(wxWindow *parent, wxPrintDialogData* data = NULL);
|
||||
wxPrintDialog(wxWindow *parent, wxPrintData* data);
|
||||
virtual ~wxPrintDialog();
|
||||
|
||||
bool Create(wxWindow *parent, wxPrintDialogData* data = NULL);
|
||||
virtual int ShowModal();
|
||||
|
||||
wxPrintDialogData& GetPrintDialogData() { return m_printDialogData; }
|
||||
wxPrintData& GetPrintData() { return m_printDialogData.GetPrintData(); }
|
||||
virtual wxDC *GetPrintDC();
|
||||
|
||||
private:
|
||||
wxPrintDialogData m_printDialogData;
|
||||
wxDC* m_printerDC;
|
||||
bool m_destroyDC;
|
||||
wxWindow* m_dialogParent;
|
||||
};
|
||||
|
||||
class WXDLLEXPORT wxPageSetupDialog: public wxDialog
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxPageSetupDialog)
|
||||
|
||||
public:
|
||||
wxPageSetupDialog();
|
||||
wxPageSetupDialog(wxWindow *parent, wxPageSetupData *data = NULL);
|
||||
virtual ~wxPageSetupDialog();
|
||||
|
||||
bool Create(wxWindow *parent, wxPageSetupData *data = NULL);
|
||||
virtual int ShowModal();
|
||||
|
||||
wxPageSetupData& GetPageSetupData() { return m_pageSetupData; }
|
||||
|
||||
private:
|
||||
wxPageSetupData m_pageSetupData;
|
||||
wxWindow* m_dialogParent;
|
||||
};
|
||||
|
||||
#endif // wxUSE_PRINTING_ARCHITECTURE
|
||||
|
||||
#endif
|
||||
// _WX_PRINTDLG_H_
|
@@ -17,6 +17,11 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
// headers
|
||||
// ---------------------------------------------------------------------------
|
||||
#define INCL_DOS
|
||||
#define INCL_PM
|
||||
#define INCL_GPI
|
||||
#include <os2.h>
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// forward declarations
|
||||
@@ -412,6 +417,10 @@ private:
|
||||
bool HandleNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result);
|
||||
DECLARE_NO_COPY_CLASS(wxWindow);
|
||||
DECLARE_EVENT_TABLE()
|
||||
private:
|
||||
// Virtual function hiding supression
|
||||
inline virtual bool Reparent( wxWindowBase *newParent )
|
||||
{ return(wxWindowBase::Reparent(newParent));};
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
Reference in New Issue
Block a user