Made wxGTK dcps.cpp generic.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1447 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
cd5bf2a6e3
commit
bf38cbffd5
7
include/wx/dcps.h
Normal file
7
include/wx/dcps.h
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#ifndef _WX_DCPS_H_BASE_
|
||||||
|
#define _WX_DCPS_H_BASE_
|
||||||
|
|
||||||
|
#include "wx/generic/dcpsg.h"
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
@ -1,62 +1,45 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: postscrp.h
|
// Name: dcps.h
|
||||||
// Purpose: wxPostScriptDC class
|
// Purpose: wxPostScriptDC class
|
||||||
// Author: Julian Smart and others
|
// Author: Julian Smart and others
|
||||||
// Modified by:
|
// Modified by:
|
||||||
// Created: 01/02/97
|
|
||||||
// RCS-ID: $Id$
|
// RCS-ID: $Id$
|
||||||
// Copyright: (c) Julian Smart and Markus Holzem
|
// Copyright: (c) Julian Smart, Robert Roebling and Markus Holzem
|
||||||
// Licence: wxWindows licence
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef _WX_POSTSCRPH__
|
#ifndef _WX_DCPSG_H_
|
||||||
#define _WX_POSTSCRPH__
|
#define _WX_DCPSG_H_
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
#pragma interface "postscrp.h"
|
#pragma interface
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "wx/dc.h"
|
#include "wx/dc.h"
|
||||||
#include "wx/dialog.h"
|
|
||||||
#include "wx/module.h"
|
|
||||||
|
|
||||||
#if wxUSE_POSTSCRIPT
|
#if wxUSE_POSTSCRIPT
|
||||||
|
|
||||||
// A module to allow initialization/cleanup of PostScript-related
|
#include "wx/dialog.h"
|
||||||
// things without calling these functions from app.cpp.
|
#include "wx/module.h"
|
||||||
|
#include <fstream.h>
|
||||||
|
|
||||||
class WXDLLEXPORT wxPostScriptModule: public wxModule
|
|
||||||
{
|
|
||||||
DECLARE_DYNAMIC_CLASS(wxPostScriptModule)
|
|
||||||
public:
|
|
||||||
wxPostScriptModule() {}
|
|
||||||
bool OnInit();
|
|
||||||
void OnExit();
|
|
||||||
};
|
|
||||||
|
|
||||||
#if wxUSE_IOSTREAMH
|
//-----------------------------------------------------------------------------
|
||||||
# include <fstream.h>
|
// classes
|
||||||
#else
|
//-----------------------------------------------------------------------------
|
||||||
# include <fstream>
|
|
||||||
# ifdef _MSC_VER
|
|
||||||
using namespace std;
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__WXGTK__) || defined(__WXMOTIF__)
|
class wxPostScriptDC;
|
||||||
|
|
||||||
// wxGTK has its own wxPostscriptDC
|
//-----------------------------------------------------------------------------
|
||||||
|
// wxPostScriptDC
|
||||||
#include "wx/gtk/dcps.h"
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
class WXDLLEXPORT wxPostScriptDC: public wxDC
|
class WXDLLEXPORT wxPostScriptDC: public wxDC
|
||||||
{
|
{
|
||||||
DECLARE_DYNAMIC_CLASS(wxPostScriptDC)
|
DECLARE_DYNAMIC_CLASS(wxPostScriptDC)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Create a printer DC
|
|
||||||
wxPostScriptDC();
|
wxPostScriptDC();
|
||||||
wxPostScriptDC(const wxString& output, bool interactive = TRUE, wxWindow *parent = (wxWindow *) NULL);
|
wxPostScriptDC(const wxString& output, bool interactive = TRUE, wxWindow *parent = (wxWindow *) NULL);
|
||||||
|
|
||||||
@ -64,10 +47,12 @@ class WXDLLEXPORT wxPostScriptDC: public wxDC
|
|||||||
|
|
||||||
bool Create(const wxString& output, bool interactive = TRUE, wxWindow *parent = (wxWindow *) NULL);
|
bool Create(const wxString& output, bool interactive = TRUE, wxWindow *parent = (wxWindow *) NULL);
|
||||||
|
|
||||||
|
virtual bool Ok() const;
|
||||||
|
|
||||||
virtual bool PrinterDialog(wxWindow *parent = (wxWindow *) NULL);
|
virtual bool PrinterDialog(wxWindow *parent = (wxWindow *) NULL);
|
||||||
|
|
||||||
inline virtual void BeginDrawing(void) {} ;
|
virtual void BeginDrawing() {}
|
||||||
inline virtual void EndDrawing(void) {} ;
|
virtual void EndDrawing() {}
|
||||||
|
|
||||||
void FloodFill(long x1, long y1, const wxColour &col, int style=wxFLOOD_SURFACE) ;
|
void FloodFill(long x1, long y1, const wxColour &col, int style=wxFLOOD_SURFACE) ;
|
||||||
bool GetPixel(long x1, long y1, wxColour *col) const;
|
bool GetPixel(long x1, long y1, wxColour *col) const;
|
||||||
@ -93,17 +78,22 @@ class WXDLLEXPORT wxPostScriptDC: public wxDC
|
|||||||
|
|
||||||
void DrawSpline(wxList *points);
|
void DrawSpline(wxList *points);
|
||||||
|
|
||||||
|
bool Blit(long xdest, long ydest, long width, long height,
|
||||||
|
wxDC *source, long xsrc, long ysrc, int rop = wxCOPY, bool useMask = FALSE);
|
||||||
|
inline bool CanDrawBitmap(void) const { return TRUE; }
|
||||||
|
|
||||||
void DrawIcon( const wxIcon& icon, long x, long y );
|
void DrawIcon( const wxIcon& icon, long x, long y );
|
||||||
void DrawBitmap( const wxBitmap& bitmap, long x, long y, bool useMask=FALSE );
|
void DrawBitmap( const wxBitmap& bitmap, long x, long y, bool useMask=FALSE );
|
||||||
|
|
||||||
void DrawText(const wxString& text, long x, long y, bool use16 = FALSE);
|
void DrawText(const wxString& text, long x, long y, bool use16 = FALSE);
|
||||||
|
|
||||||
void Clear();
|
void Clear();
|
||||||
void SetFont(const wxFont& font);
|
void SetFont( const wxFont& font );
|
||||||
void SetPen(const wxPen& pen);
|
void SetPen( const wxPen& pen );
|
||||||
void SetBrush(const wxBrush& brush);
|
void SetBrush( const wxBrush& brush );
|
||||||
void SetLogicalFunction(int function);
|
void SetLogicalFunction( int function );
|
||||||
void SetBackground(const wxBrush& brush);
|
void SetBackground( const wxBrush& brush );
|
||||||
|
|
||||||
void SetClippingRegion(long x, long y, long width, long height);
|
void SetClippingRegion(long x, long y, long width, long height);
|
||||||
void SetClippingRegion( const wxRegion ®ion );
|
void SetClippingRegion( const wxRegion ®ion );
|
||||||
void DestroyClippingRegion();
|
void DestroyClippingRegion();
|
||||||
@ -115,52 +105,50 @@ class WXDLLEXPORT wxPostScriptDC: public wxDC
|
|||||||
|
|
||||||
long GetCharHeight();
|
long GetCharHeight();
|
||||||
long GetCharWidth();
|
long GetCharWidth();
|
||||||
|
inline bool CanGetTextExtent(void) const { return FALSE; }
|
||||||
void GetTextExtent(const wxString& string, long *x, long *y,
|
void GetTextExtent(const wxString& string, long *x, long *y,
|
||||||
long *descent = (long *) NULL,
|
long *descent = (long *) NULL,
|
||||||
long *externalLeading = (long *) NULL,
|
long *externalLeading = (long *) NULL,
|
||||||
wxFont *theFont = (wxFont *) NULL, bool use16 = FALSE);
|
wxFont *theFont = (wxFont *) NULL, bool use16 = FALSE);
|
||||||
virtual void SetLogicalOrigin(long x, long y);
|
|
||||||
virtual void CalcBoundingBox(long x, long y);
|
|
||||||
|
|
||||||
void SetMapMode(int mode);
|
|
||||||
void SetUserScale(double x, double y);
|
|
||||||
long DeviceToLogicalX(int x) const;
|
|
||||||
long DeviceToLogicalY(int y) const;
|
|
||||||
long DeviceToLogicalXRel(int x) const;
|
|
||||||
long DeviceToLogicalYRel(int y) const;
|
|
||||||
long LogicalToDeviceX(long x) const;
|
|
||||||
long LogicalToDeviceY(long y) const;
|
|
||||||
long LogicalToDeviceXRel(long x) const;
|
|
||||||
long LogicalToDeviceYRel(long y) const;
|
|
||||||
bool Blit(long xdest, long ydest, long width, long height,
|
|
||||||
wxDC *source, long xsrc, long ysrc, int rop = wxCOPY, bool useMask = FALSE);
|
|
||||||
inline bool CanGetTextExtent(void) const { return FALSE; }
|
|
||||||
inline bool CanDrawBitmap(void) const { return FALSE; }
|
|
||||||
|
|
||||||
void GetSize(int* width, int* height) const;
|
void GetSize(int* width, int* height) const;
|
||||||
void GetSizeMM(long *width, long *height) const;
|
void GetSizeMM(long *width, long *height) const;
|
||||||
|
|
||||||
inline void SetBackgroundMode(int WXUNUSED(mode)) {};
|
void SetAxisOrientation( bool xLeftRight, bool yBottomUp );
|
||||||
inline void SetPalette(const wxPalette& WXUNUSED(palette)) {}
|
void SetDeviceOrigin( long x, long y );
|
||||||
|
|
||||||
inline ofstream *GetStream(void) const { return m_pstream; }
|
|
||||||
inline int GetYOrigin(void) const { return m_yOrigin; }
|
|
||||||
|
|
||||||
void SetupCTM();
|
inline void SetBackgroundMode(int WXUNUSED(mode)) {}
|
||||||
|
inline void SetPalette(const wxPalette& WXUNUSED(palette)) {}
|
||||||
|
|
||||||
|
inline ofstream *GetStream(void) const { return m_pstream; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
int m_yOrigin; // For EPS
|
|
||||||
ofstream * m_pstream; // PostScript output stream
|
ofstream * m_pstream; // PostScript output stream
|
||||||
wxString m_title;
|
wxString m_title;
|
||||||
unsigned char m_currentRed;
|
unsigned char m_currentRed;
|
||||||
unsigned char m_currentGreen;
|
unsigned char m_currentGreen;
|
||||||
unsigned char m_currentBlue;
|
unsigned char m_currentBlue;
|
||||||
double m_scaleFactor;
|
int m_pageNumber;
|
||||||
|
bool m_clipping;
|
||||||
|
double m_underlinePosition;
|
||||||
|
double m_underlineThickness;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
// A module to allow initialization/cleanup of PostScript-related
|
||||||
// __WXGTK__
|
// things without calling these functions from app.cpp.
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxPostScriptModule: public wxModule
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxPostScriptModule)
|
||||||
|
public:
|
||||||
|
wxPostScriptModule() {}
|
||||||
|
bool OnInit();
|
||||||
|
void OnExit();
|
||||||
|
};
|
||||||
|
|
||||||
|
// TODO Needed? Should perhaps use wxGenericPrintDialog instead.
|
||||||
|
#if 1
|
||||||
#define wxID_PRINTER_COMMAND 1
|
#define wxID_PRINTER_COMMAND 1
|
||||||
#define wxID_PRINTER_OPTIONS 2
|
#define wxID_PRINTER_OPTIONS 2
|
||||||
#define wxID_PRINTER_ORIENTATION 3
|
#define wxID_PRINTER_ORIENTATION 3
|
||||||
@ -180,7 +168,7 @@ public:
|
|||||||
|
|
||||||
virtual int ShowModal(void) ;
|
virtual int ShowModal(void) ;
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
// Print Orientation (Should also add Left, Right)
|
// Print Orientation (Should also add Left, Right)
|
||||||
enum {
|
enum {
|
||||||
@ -319,10 +307,8 @@ private:
|
|||||||
|
|
||||||
WXDLLEXPORT_DATA(extern wxPrintPaperDatabase*) wxThePrintPaperDatabase;
|
WXDLLEXPORT_DATA(extern wxPrintPaperDatabase*) wxThePrintPaperDatabase;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// wxUSE_POSTSCRIPT
|
// wxUSE_POSTSCRIPT
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// _WX_POSTSCRPH__
|
// _WX_DCPSG_H_
|
||||||
|
|
||||||
|
|
@ -21,7 +21,11 @@
|
|||||||
#include "wx/dialog.h"
|
#include "wx/dialog.h"
|
||||||
#include "wx/dc.h"
|
#include "wx/dc.h"
|
||||||
#include "wx/cmndata.h"
|
#include "wx/cmndata.h"
|
||||||
#include "wx/postscrp.h"
|
#include "wx/dialog.h"
|
||||||
|
|
||||||
|
#if wxUSE_POSTSCRIPT
|
||||||
|
#include "wx/dcps.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
class WXDLLEXPORT wxTextCtrl;
|
class WXDLLEXPORT wxTextCtrl;
|
||||||
class WXDLLEXPORT wxButton;
|
class WXDLLEXPORT wxButton;
|
||||||
|
@ -18,7 +18,10 @@
|
|||||||
#include "wx/object.h"
|
#include "wx/object.h"
|
||||||
#include "wx/string.h"
|
#include "wx/string.h"
|
||||||
#include "wx/gdicmn.h"
|
#include "wx/gdicmn.h"
|
||||||
|
|
||||||
|
#if wxUSE_STREAMS
|
||||||
#include "wx/stream.h"
|
#include "wx/stream.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// classes
|
// classes
|
||||||
@ -44,8 +47,10 @@ class WXDLLEXPORT wxImageHandler: public wxObject
|
|||||||
public:
|
public:
|
||||||
wxImageHandler() { m_name = ""; m_extension = ""; m_type = 0; }
|
wxImageHandler() { m_name = ""; m_extension = ""; m_type = 0; }
|
||||||
|
|
||||||
|
#if wxUSE_STREAMS
|
||||||
virtual bool LoadFile( wxImage *image, wxInputStream& stream );
|
virtual bool LoadFile( wxImage *image, wxInputStream& stream );
|
||||||
virtual bool SaveFile( wxImage *image, wxOutputStream& stream );
|
virtual bool SaveFile( wxImage *image, wxOutputStream& stream );
|
||||||
|
#endif
|
||||||
|
|
||||||
inline void SetName(const wxString& name) { m_name = name; }
|
inline void SetName(const wxString& name) { m_name = name; }
|
||||||
inline void SetExtension(const wxString& ext) { m_extension = ext; }
|
inline void SetExtension(const wxString& ext) { m_extension = ext; }
|
||||||
@ -79,8 +84,11 @@ public:
|
|||||||
m_type = wxBITMAP_TYPE_PNG;
|
m_type = wxBITMAP_TYPE_PNG;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if wxUSE_STREAMS
|
||||||
virtual bool LoadFile( wxImage *image, wxInputStream& stream );
|
virtual bool LoadFile( wxImage *image, wxInputStream& stream );
|
||||||
virtual bool SaveFile( wxImage *image, wxOutputStream& stream );
|
virtual bool SaveFile( wxImage *image, wxOutputStream& stream );
|
||||||
|
#endif
|
||||||
|
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -101,7 +109,9 @@ public:
|
|||||||
m_type = wxBITMAP_TYPE_BMP;
|
m_type = wxBITMAP_TYPE_BMP;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if wxUSE_STREAMS
|
||||||
virtual bool LoadFile( wxImage *image, wxInputStream& stream );
|
virtual bool LoadFile( wxImage *image, wxInputStream& stream );
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -140,9 +150,16 @@ public:
|
|||||||
unsigned char GetBlue( int x, int y );
|
unsigned char GetBlue( int x, int y );
|
||||||
|
|
||||||
virtual bool LoadFile( const wxString& name, long type = wxBITMAP_TYPE_PNG );
|
virtual bool LoadFile( const wxString& name, long type = wxBITMAP_TYPE_PNG );
|
||||||
|
|
||||||
|
#if wxUSE_STREAMS
|
||||||
virtual bool LoadFile( wxInputStream& stream, long type = wxBITMAP_TYPE_PNG );
|
virtual bool LoadFile( wxInputStream& stream, long type = wxBITMAP_TYPE_PNG );
|
||||||
|
#endif
|
||||||
|
|
||||||
virtual bool SaveFile( const wxString& name, int type );
|
virtual bool SaveFile( const wxString& name, int type );
|
||||||
|
|
||||||
|
#if wxUSE_STREAMS
|
||||||
virtual bool SaveFile( wxOutputStream& stream, int type );
|
virtual bool SaveFile( wxOutputStream& stream, int type );
|
||||||
|
#endif
|
||||||
|
|
||||||
bool Ok() const;
|
bool Ok() const;
|
||||||
int GetWidth() const;
|
int GetWidth() const;
|
||||||
|
@ -134,6 +134,9 @@
|
|||||||
#define wxUSE_STD_IOSTREAM 1
|
#define wxUSE_STD_IOSTREAM 1
|
||||||
// Use standard C++ streams if 1. If 0, use wxWin
|
// Use standard C++ streams if 1. If 0, use wxWin
|
||||||
// streams implementation.
|
// streams implementation.
|
||||||
|
#define wxUSE_STREAMS 1
|
||||||
|
// Use wxStream implementation within wxWindows code
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Finer detail
|
* Finer detail
|
||||||
*
|
*
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
|
|
||||||
#ifndef WX_PRECOMP
|
#ifndef WX_PRECOMP
|
||||||
#include "wx/wx.h"
|
#include "wx/wx.h"
|
||||||
#include "wx/postscrp.h"
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !wxUSE_PRINTING_ARCHITECTURE
|
#if !wxUSE_PRINTING_ARCHITECTURE
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,26 +1,23 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: dcps.cpp
|
// Name: dcpsg.cpp
|
||||||
// Purpose: wxPostScriptDC implementation
|
// Purpose: Generic wxPostScriptDC implementation
|
||||||
// Author: Julian Smart, Robert Roebling, Markus Holzhem
|
// Author: Julian Smart, Robert Roebling, Markus Holzhem
|
||||||
// Modified by:
|
// Modified by:
|
||||||
// Created: 04/01/98
|
// Created: 04/01/98
|
||||||
// RCS-ID: $Id$
|
// RCS-ID: $Id$
|
||||||
// Copyright: (c) Julian Smart and Markus Holzem
|
// Copyright: (c) Julian Smart and Markus Holzem
|
||||||
// Licence: wxWindows license
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef __WXMOTIF__
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
#pragma implementation
|
#pragma implementation
|
||||||
#pragma interface
|
#pragma interface
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "wx/defs.h"
|
#include "wx/defs.h"
|
||||||
|
|
||||||
#if wxUSE_POSTSCRIPT
|
#if wxUSE_POSTSCRIPT
|
||||||
|
|
||||||
#include "wx/postscrp.h"
|
|
||||||
#include "wx/dcmemory.h"
|
#include "wx/dcmemory.h"
|
||||||
#include "wx/utils.h"
|
#include "wx/utils.h"
|
||||||
#include "wx/intl.h"
|
#include "wx/intl.h"
|
||||||
@ -29,6 +26,12 @@
|
|||||||
#include "wx/msgdlg.h"
|
#include "wx/msgdlg.h"
|
||||||
#include "wx/image.h"
|
#include "wx/image.h"
|
||||||
#include "wx/log.h"
|
#include "wx/log.h"
|
||||||
|
#include "wx/generic/dcpsg.h"
|
||||||
|
#include "wx/generic/prntdlgg.h"
|
||||||
|
#include "wx/button.h"
|
||||||
|
#include "wx/stattext.h"
|
||||||
|
#include "wx/radiobox.h"
|
||||||
|
#include "wx/textctrl.h"
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
@ -37,6 +40,26 @@
|
|||||||
#include "gtk/gtk.h"
|
#include "gtk/gtk.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __WXMSW__
|
||||||
|
|
||||||
|
#ifdef DrawText
|
||||||
|
#undef DrawText
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef StartDoc
|
||||||
|
#undef StartDoc
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef GetCharWidth
|
||||||
|
#undef GetCharWidth
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FindWindow
|
||||||
|
#undef FindWindow
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// start and end of document/page
|
// start and end of document/page
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -1754,5 +1777,629 @@ void wxPostScriptDC::GetSizeMM(long *width, long *height) const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Determine the Default Postscript Previewer
|
||||||
|
// available on the platform
|
||||||
|
#if defined(__SUN__) && defined(__XVIEW__)
|
||||||
|
// OpenWindow/NeWS's Postscript Previewer
|
||||||
|
# define PS_VIEWER_PROG "pageview"
|
||||||
|
#elif defined(__VMS__)
|
||||||
|
#define PS_VIEWER_PROG "view/format=ps/select=x_display"
|
||||||
|
#elif defined(__SGI__)
|
||||||
|
// SGI's Display Postscript Previewer
|
||||||
|
//# define PS_VIEWER_PROG "dps"
|
||||||
|
# define PS_VIEWER_PROG "xpsview"
|
||||||
|
#elif defined(__X__) || defined(__WXGTK__)
|
||||||
|
// Front-end to ghostscript
|
||||||
|
# define PS_VIEWER_PROG "ghostview"
|
||||||
|
#else
|
||||||
|
// Windows ghostscript/ghostview
|
||||||
|
# define PS_VIEWER_PROG NULL
|
||||||
|
#endif
|
||||||
|
|
||||||
|
wxPrintSetupData *wxThePrintSetupData = (wxPrintSetupData *) NULL;
|
||||||
|
|
||||||
|
#if !USE_SHARED_LIBRARY
|
||||||
|
IMPLEMENT_DYNAMIC_CLASS(wxPostScriptModule, wxModule)
|
||||||
|
IMPLEMENT_DYNAMIC_CLASS(wxPostScriptDC, wxDC)
|
||||||
|
IMPLEMENT_DYNAMIC_CLASS(wxPrintSetupData, wxObject)
|
||||||
|
IMPLEMENT_DYNAMIC_CLASS(wxPrintPaperType, wxObject)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Redundant now I think
|
||||||
|
#if 1
|
||||||
|
IMPLEMENT_CLASS(wxPostScriptPrintDialog, wxDialog)
|
||||||
|
|
||||||
|
wxPostScriptPrintDialog::wxPostScriptPrintDialog (wxWindow *parent, const wxString& title,
|
||||||
|
const wxPoint& pos, const wxSize& size, long style):
|
||||||
|
wxDialog(parent, -1, title, pos, size, style)
|
||||||
|
{
|
||||||
|
wxBeginBusyCursor();
|
||||||
|
|
||||||
|
char buf[100];
|
||||||
|
int yPos = 40;
|
||||||
|
wxString
|
||||||
|
*orientation = new wxString[2],
|
||||||
|
*print_modes = new wxString[3];
|
||||||
|
int features;
|
||||||
|
long wx_printer_translate_x, wx_printer_translate_y;
|
||||||
|
double wx_printer_scale_x, wx_printer_scale_y;
|
||||||
|
|
||||||
|
orientation[0] = _("Portrait");
|
||||||
|
orientation[1] = _("Landscape");
|
||||||
|
|
||||||
|
print_modes[0] = _("Send to Printer");
|
||||||
|
print_modes[1] = _("Print to File");
|
||||||
|
print_modes[2] = _("Preview Only");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
wxButton *okBut = new wxButton (this, wxID_OK, _("OK"), wxPoint(5, 5));
|
||||||
|
(void) new wxButton (this, wxID_CANCEL, _("Cancel"), wxPoint(40, 5));
|
||||||
|
okBut->SetDefault();
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(__WXGTK__) || defined (__WXMOTIF__)
|
||||||
|
(void) new wxStaticText( this, -1, _("Printer Command: "),
|
||||||
|
wxPoint(5, yPos) );
|
||||||
|
(void) new wxTextCtrl( this, wxID_PRINTER_COMMAND, wxThePrintSetupData->GetPrinterCommand(),
|
||||||
|
wxPoint(100, yPos), wxSize(100, -1) );
|
||||||
|
|
||||||
|
(void) new wxStaticText( this, -1, _("Printer Options: "),
|
||||||
|
wxPoint(210, yPos) );
|
||||||
|
(void) new wxTextCtrl( this, wxID_PRINTER_OPTIONS, wxThePrintSetupData->GetPrinterOptions(),
|
||||||
|
wxPoint(305, yPos), wxSize(150, -1) );
|
||||||
|
|
||||||
|
yPos += 40;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
wxRadioBox *radio0 = new wxRadioBox(this, wxID_PRINTER_ORIENTATION, "Orientation: ", wxPoint(5, yPos), wxSize(-1,-1),
|
||||||
|
2,orientation,2,wxRA_SPECIFY_ROWS);
|
||||||
|
radio0->SetSelection((int)wxThePrintSetupData->GetPrinterOrientation() - 1);
|
||||||
|
|
||||||
|
// @@@ Configuration hook
|
||||||
|
if (wxThePrintSetupData->GetPrintPreviewCommand() == NULL)
|
||||||
|
wxThePrintSetupData->SetPrintPreviewCommand(PS_VIEWER_PROG);
|
||||||
|
|
||||||
|
wxGetResource ("wxWindows", "PSView", &wxThePrintSetupData->previewCommand);
|
||||||
|
|
||||||
|
features = (wxThePrintSetupData->GetPrintPreviewCommand() &&
|
||||||
|
*wxThePrintSetupData->GetPrintPreviewCommand()) ? 3 : 2;
|
||||||
|
|
||||||
|
wxRadioBox *radio1 = new wxRadioBox(this, wxID_PRINTER_MODES, _("PostScript:"),
|
||||||
|
wxPoint(150, yPos),
|
||||||
|
wxSize(-1,-1), features,
|
||||||
|
print_modes, features, wxRA_SPECIFY_ROWS);
|
||||||
|
|
||||||
|
#ifdef __WXMSW__
|
||||||
|
radio1->Enable(0, FALSE);
|
||||||
|
if (wxThePrintSetupData->GetPrintPreviewCommand() && *wxThePrintSetupData->GetPrintPreviewCommand())
|
||||||
|
radio1->Enable(2, FALSE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
radio1->SetSelection((int)wxThePrintSetupData->GetPrinterMode());
|
||||||
|
wxThePrintSetupData->GetPrinterTranslation(&wx_printer_translate_x, &wx_printer_translate_y);
|
||||||
|
wxThePrintSetupData->GetPrinterScaling(&wx_printer_scale_x, &wx_printer_scale_y);
|
||||||
|
|
||||||
|
sprintf (buf, "%.2f", wx_printer_scale_x);
|
||||||
|
|
||||||
|
yPos += 90;
|
||||||
|
(void) new wxStaticText(this, -1, _("X Scaling"), wxPoint(5, yPos));
|
||||||
|
/* wxTextCtrl *text1 = */ (void) new wxTextCtrl(this, wxID_PRINTER_X_SCALE, buf, wxPoint(100, yPos), wxSize(100, -1));
|
||||||
|
|
||||||
|
sprintf (buf, "%.2f", wx_printer_scale_y);
|
||||||
|
(void) new wxStaticText(this, -1, _("Y Scaling"), wxPoint(220, yPos));
|
||||||
|
/* wxTextCtrl *text2 = */ (void) new wxTextCtrl(this, wxID_PRINTER_Y_SCALE, buf, wxPoint(320, yPos), wxSize(100, -1));
|
||||||
|
|
||||||
|
yPos += 25;
|
||||||
|
|
||||||
|
(void) new wxStaticText(this, -1, _("X Translation"), wxPoint(5, yPos));
|
||||||
|
sprintf (buf, "%.2ld", wx_printer_translate_x);
|
||||||
|
/* wxTextCtrl *text3 = */ (void) new wxTextCtrl(this, wxID_PRINTER_X_TRANS, buf, wxPoint(100, yPos), wxSize(100, -1));
|
||||||
|
|
||||||
|
(void) new wxStaticText(this, -1, _("Y Translation"), wxPoint(220, yPos));
|
||||||
|
sprintf (buf, "%.2ld", wx_printer_translate_y);
|
||||||
|
/* wxTextCtrl *text4 = */ (void) new wxTextCtrl(this, wxID_PRINTER_Y_TRANS, buf, wxPoint(320, yPos), wxSize(100, -1));
|
||||||
|
|
||||||
|
Fit ();
|
||||||
|
|
||||||
|
delete[] orientation;
|
||||||
|
delete[] print_modes;
|
||||||
|
|
||||||
|
wxEndBusyCursor();
|
||||||
|
}
|
||||||
|
|
||||||
|
int wxPostScriptPrintDialog::ShowModal ()
|
||||||
|
{
|
||||||
|
if ( wxDialog::ShowModal() == wxID_OK )
|
||||||
|
{
|
||||||
|
// wxTextCtrl *text0 = (wxTextCtrl *)FindWindow(wxID_PRINTER_OPTIONS);
|
||||||
|
wxTextCtrl *text1 = (wxTextCtrl *)FindWindow(wxID_PRINTER_X_SCALE);
|
||||||
|
wxTextCtrl *text2 = (wxTextCtrl *)FindWindow(wxID_PRINTER_Y_SCALE);
|
||||||
|
wxTextCtrl *text3 = (wxTextCtrl *)FindWindow(wxID_PRINTER_X_TRANS);
|
||||||
|
wxTextCtrl *text4 = (wxTextCtrl *)FindWindow(wxID_PRINTER_Y_TRANS);
|
||||||
|
// wxTextCtrl *text_prt = (wxTextCtrl *)FindWindow(wxID_PRINTER_COMMAND);
|
||||||
|
wxRadioBox *radio0 = (wxRadioBox *)FindWindow(wxID_PRINTER_ORIENTATION);
|
||||||
|
wxRadioBox *radio1 = (wxRadioBox *)FindWindow(wxID_PRINTER_MODES);
|
||||||
|
|
||||||
|
StringToDouble (WXSTRINGCAST text1->GetValue (), &wxThePrintSetupData->printerScaleX);
|
||||||
|
StringToDouble (WXSTRINGCAST text2->GetValue (), &wxThePrintSetupData->printerScaleY);
|
||||||
|
StringToLong (WXSTRINGCAST text3->GetValue (), &wxThePrintSetupData->printerTranslateX);
|
||||||
|
StringToLong (WXSTRINGCAST text4->GetValue (), &wxThePrintSetupData->printerTranslateY);
|
||||||
|
|
||||||
|
#ifdef __X__
|
||||||
|
// wxThePrintSetupData->SetPrinterOptions(WXSTRINGCAST text0->GetValue ());
|
||||||
|
// wxThePrintSetupData->SetPrinterCommand(WXSTRINGCAST text_prt->GetValue ());
|
||||||
|
#endif
|
||||||
|
|
||||||
|
wxThePrintSetupData->SetPrinterOrientation((radio0->GetSelection() == 1 ? PS_LANDSCAPE : PS_PORTRAIT));
|
||||||
|
|
||||||
|
// C++ wants this
|
||||||
|
switch ( radio1->GetSelection() ) {
|
||||||
|
case 0: wxThePrintSetupData->SetPrinterMode(PS_PRINTER); break;
|
||||||
|
case 1: wxThePrintSetupData->SetPrinterMode(PS_FILE); break;
|
||||||
|
case 2: wxThePrintSetupData->SetPrinterMode(PS_PREVIEW); break;
|
||||||
|
}
|
||||||
|
return wxID_OK;
|
||||||
|
}
|
||||||
|
return wxID_CANCEL;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
// 0 (redundant)
|
||||||
|
|
||||||
|
// PostScript printer settings
|
||||||
|
// RETAINED FOR BACKWARD COMPATIBILITY
|
||||||
|
void wxSetPrinterCommand(const char *cmd)
|
||||||
|
{
|
||||||
|
wxThePrintSetupData->SetPrinterCommand(cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxSetPrintPreviewCommand(const char *cmd)
|
||||||
|
{
|
||||||
|
wxThePrintSetupData->SetPrintPreviewCommand(cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxSetPrinterOptions(const char *flags)
|
||||||
|
{
|
||||||
|
wxThePrintSetupData->SetPrinterOptions(flags);
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxSetPrinterFile(const char *f)
|
||||||
|
{
|
||||||
|
wxThePrintSetupData->SetPrinterFile(f);
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxSetPrinterOrientation(int orient)
|
||||||
|
{
|
||||||
|
wxThePrintSetupData->SetPrinterOrientation(orient);
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxSetPrinterScaling(double x, double y)
|
||||||
|
{
|
||||||
|
wxThePrintSetupData->SetPrinterScaling(x, y);
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxSetPrinterTranslation(long x, long y)
|
||||||
|
{
|
||||||
|
wxThePrintSetupData->SetPrinterTranslation(x, y);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 1 = Preview, 2 = print to file, 3 = send to printer
|
||||||
|
void wxSetPrinterMode(int mode)
|
||||||
|
{
|
||||||
|
wxThePrintSetupData->SetPrinterMode(mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxSetAFMPath(const char *f)
|
||||||
|
{
|
||||||
|
wxThePrintSetupData->SetAFMPath(f);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get current values
|
||||||
|
char *wxGetPrinterCommand()
|
||||||
|
{
|
||||||
|
return wxThePrintSetupData->GetPrinterCommand();
|
||||||
|
}
|
||||||
|
|
||||||
|
char *wxGetPrintPreviewCommand()
|
||||||
|
{
|
||||||
|
return wxThePrintSetupData->GetPrintPreviewCommand();
|
||||||
|
}
|
||||||
|
|
||||||
|
char *wxGetPrinterOptions()
|
||||||
|
{
|
||||||
|
return wxThePrintSetupData->GetPrinterOptions();
|
||||||
|
}
|
||||||
|
|
||||||
|
char *wxGetPrinterFile()
|
||||||
|
{
|
||||||
|
return wxThePrintSetupData->GetPrinterFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
int wxGetPrinterOrientation()
|
||||||
|
{
|
||||||
|
return wxThePrintSetupData->GetPrinterOrientation();
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxGetPrinterScaling(double* x, double* y)
|
||||||
|
{
|
||||||
|
wxThePrintSetupData->GetPrinterScaling(x, y);
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxGetPrinterTranslation(long *x, long *y)
|
||||||
|
{
|
||||||
|
wxThePrintSetupData->GetPrinterTranslation(x, y);
|
||||||
|
}
|
||||||
|
|
||||||
|
int wxGetPrinterMode()
|
||||||
|
{
|
||||||
|
return wxThePrintSetupData->GetPrinterMode();
|
||||||
|
}
|
||||||
|
|
||||||
|
char *wxGetAFMPath()
|
||||||
|
{
|
||||||
|
return wxThePrintSetupData->GetAFMPath();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Print setup data
|
||||||
|
*/
|
||||||
|
|
||||||
|
wxPrintSetupData::wxPrintSetupData()
|
||||||
|
{
|
||||||
|
printerCommand = (char *) NULL;
|
||||||
|
previewCommand = (char *) NULL;
|
||||||
|
printerFlags = (char *) NULL;
|
||||||
|
printerOrient = PS_PORTRAIT;
|
||||||
|
printerScaleX = (double)1.0;
|
||||||
|
printerScaleY = (double)1.0;
|
||||||
|
printerTranslateX = 0;
|
||||||
|
printerTranslateY = 0;
|
||||||
|
// 1 = Preview, 2 = print to file, 3 = send to printer
|
||||||
|
printerMode = 3;
|
||||||
|
afmPath = (char *) NULL;
|
||||||
|
paperName = (char *) NULL;
|
||||||
|
printColour = TRUE;
|
||||||
|
printerFile = (char *) NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxPrintSetupData::~wxPrintSetupData()
|
||||||
|
{
|
||||||
|
if (printerCommand)
|
||||||
|
delete[] printerCommand;
|
||||||
|
if (previewCommand)
|
||||||
|
delete[] previewCommand;
|
||||||
|
if (printerFlags)
|
||||||
|
delete[] printerFlags;
|
||||||
|
if (afmPath)
|
||||||
|
delete[] afmPath;
|
||||||
|
if (paperName)
|
||||||
|
delete[] paperName;
|
||||||
|
if (printerFile)
|
||||||
|
delete[] printerFile;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxPrintSetupData::SetPrinterCommand(const char *cmd)
|
||||||
|
{
|
||||||
|
if (cmd == printerCommand)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (printerCommand)
|
||||||
|
delete[] printerCommand;
|
||||||
|
if (cmd)
|
||||||
|
printerCommand = copystring(cmd);
|
||||||
|
else
|
||||||
|
printerCommand = (char *) NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxPrintSetupData::SetPrintPreviewCommand(const char *cmd)
|
||||||
|
{
|
||||||
|
if (cmd == previewCommand)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (previewCommand)
|
||||||
|
delete[] previewCommand;
|
||||||
|
if (cmd)
|
||||||
|
previewCommand = copystring(cmd);
|
||||||
|
else
|
||||||
|
previewCommand = (char *) NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxPrintSetupData::SetPaperName(const char *name)
|
||||||
|
{
|
||||||
|
if (name == paperName)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (paperName)
|
||||||
|
delete[] paperName;
|
||||||
|
if (name)
|
||||||
|
paperName = copystring(name);
|
||||||
|
else
|
||||||
|
paperName = (char *) NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxPrintSetupData::SetPrinterOptions(const char *flags)
|
||||||
|
{
|
||||||
|
if (printerFlags == flags)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (printerFlags)
|
||||||
|
delete[] printerFlags;
|
||||||
|
if (flags)
|
||||||
|
printerFlags = copystring(flags);
|
||||||
|
else
|
||||||
|
printerFlags = (char *) NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxPrintSetupData::SetPrinterFile(const char *f)
|
||||||
|
{
|
||||||
|
if (f == printerFile)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (printerFile)
|
||||||
|
delete[] printerFile;
|
||||||
|
if (f)
|
||||||
|
printerFile = copystring(f);
|
||||||
|
else
|
||||||
|
printerFile = (char *) NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxPrintSetupData::SetPrinterOrientation(int orient)
|
||||||
|
{
|
||||||
|
printerOrient = orient;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxPrintSetupData::SetPrinterScaling(double x, double y)
|
||||||
|
{
|
||||||
|
printerScaleX = x;
|
||||||
|
printerScaleY = y;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxPrintSetupData::SetPrinterTranslation(long x, long y)
|
||||||
|
{
|
||||||
|
printerTranslateX = x;
|
||||||
|
printerTranslateY = y;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 1 = Preview, 2 = print to file, 3 = send to printer
|
||||||
|
void wxPrintSetupData::SetPrinterMode(int mode)
|
||||||
|
{
|
||||||
|
printerMode = mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxPrintSetupData::SetAFMPath(const char *f)
|
||||||
|
{
|
||||||
|
if (f == afmPath)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (afmPath)
|
||||||
|
delete[] afmPath;
|
||||||
|
if (f)
|
||||||
|
afmPath = copystring(f);
|
||||||
|
else
|
||||||
|
afmPath = (char *) NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxPrintSetupData::SetColour(bool col)
|
||||||
|
{
|
||||||
|
printColour = col;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get current values
|
||||||
|
char *wxPrintSetupData::GetPrinterCommand()
|
||||||
|
{
|
||||||
|
return printerCommand;
|
||||||
|
}
|
||||||
|
|
||||||
|
char *wxPrintSetupData::GetPrintPreviewCommand()
|
||||||
|
{
|
||||||
|
return previewCommand;
|
||||||
|
}
|
||||||
|
|
||||||
|
char *wxPrintSetupData::GetPrinterOptions()
|
||||||
|
{
|
||||||
|
return printerFlags;
|
||||||
|
}
|
||||||
|
|
||||||
|
char *wxPrintSetupData::GetPrinterFile()
|
||||||
|
{
|
||||||
|
return printerFile;
|
||||||
|
}
|
||||||
|
|
||||||
|
char *wxPrintSetupData::GetPaperName()
|
||||||
|
{
|
||||||
|
return paperName;
|
||||||
|
}
|
||||||
|
|
||||||
|
int wxPrintSetupData::GetPrinterOrientation()
|
||||||
|
{
|
||||||
|
return printerOrient;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxPrintSetupData::GetPrinterScaling(double *x, double *y)
|
||||||
|
{
|
||||||
|
*x = printerScaleX;
|
||||||
|
*y = printerScaleY;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxPrintSetupData::GetPrinterTranslation(long *x, long *y)
|
||||||
|
{
|
||||||
|
*x = printerTranslateX;
|
||||||
|
*y = printerTranslateY;
|
||||||
|
}
|
||||||
|
|
||||||
|
int wxPrintSetupData::GetPrinterMode()
|
||||||
|
{
|
||||||
|
return printerMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
char *wxPrintSetupData::GetAFMPath()
|
||||||
|
{
|
||||||
|
return afmPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxPrintSetupData::GetColour()
|
||||||
|
{
|
||||||
|
return printColour;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxPrintSetupData::operator=(wxPrintSetupData& data)
|
||||||
|
{
|
||||||
|
SetPrinterCommand(data.GetPrinterCommand());
|
||||||
|
SetPrintPreviewCommand(data.GetPrintPreviewCommand());
|
||||||
|
SetPrinterOptions(data.GetPrinterOptions());
|
||||||
|
long x, y;
|
||||||
|
data.GetPrinterTranslation(&x, &y);
|
||||||
|
SetPrinterTranslation(x, y);
|
||||||
|
|
||||||
|
double x1, y1;
|
||||||
|
data.GetPrinterScaling(&x1, &y1);
|
||||||
|
SetPrinterScaling(x1, y1);
|
||||||
|
|
||||||
|
SetPrinterOrientation(data.GetPrinterOrientation());
|
||||||
|
SetPrinterMode(data.GetPrinterMode());
|
||||||
|
SetAFMPath(data.GetAFMPath());
|
||||||
|
SetPaperName(data.GetPaperName());
|
||||||
|
SetColour(data.GetColour());
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxInitializePrintSetupData(bool init)
|
||||||
|
{
|
||||||
|
if (init)
|
||||||
|
{
|
||||||
|
wxThePrintSetupData = new wxPrintSetupData;
|
||||||
|
|
||||||
|
wxThePrintSetupData->SetPrintPreviewCommand(PS_VIEWER_PROG);
|
||||||
|
wxThePrintSetupData->SetPrinterOrientation(PS_PORTRAIT);
|
||||||
|
wxThePrintSetupData->SetPrinterMode(PS_PREVIEW);
|
||||||
|
wxThePrintSetupData->SetPaperName(_("A4 210 x 297 mm"));
|
||||||
|
|
||||||
|
// Could have a .ini file to read in some defaults
|
||||||
|
// - and/or use environment variables, e.g. WXWIN
|
||||||
|
#ifdef __VMS__
|
||||||
|
wxThePrintSetupData->SetPrinterCommand("print");
|
||||||
|
wxThePrintSetupData->SetPrinterOptions("/nonotify/queue=psqueue");
|
||||||
|
wxThePrintSetupData->SetAFMPath("sys$ps_font_metrics:");
|
||||||
|
#endif
|
||||||
|
#ifdef __WXMSW__
|
||||||
|
wxThePrintSetupData->SetPrinterCommand("print");
|
||||||
|
wxThePrintSetupData->SetAFMPath("c:\\windows\\system\\");
|
||||||
|
wxThePrintSetupData->SetPrinterOptions(NULL);
|
||||||
|
#endif
|
||||||
|
#if !defined(__VMS__) && !defined(__WXMSW__)
|
||||||
|
wxThePrintSetupData->SetPrinterCommand("lpr");
|
||||||
|
wxThePrintSetupData->SetPrinterOptions((char *) NULL);
|
||||||
|
wxThePrintSetupData->SetAFMPath((char *) NULL);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (wxThePrintSetupData)
|
||||||
|
delete wxThePrintSetupData;
|
||||||
|
wxThePrintSetupData = (wxPrintSetupData *) NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Paper size database for PostScript
|
||||||
|
*/
|
||||||
|
|
||||||
|
wxPrintPaperType::wxPrintPaperType(const char *name, int wmm, int hmm, int wp, int hp)
|
||||||
|
{
|
||||||
|
widthMM = wmm;
|
||||||
|
heightMM = hmm;
|
||||||
|
widthPixels = wp;
|
||||||
|
heightPixels = hp;
|
||||||
|
pageName = copystring(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
wxPrintPaperType::~wxPrintPaperType()
|
||||||
|
{
|
||||||
|
delete[] pageName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Print paper database for PostScript
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !USE_SHARED_LIBRARIES
|
||||||
|
IMPLEMENT_DYNAMIC_CLASS(wxPrintPaperDatabase, wxList)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
wxPrintPaperDatabase::wxPrintPaperDatabase():wxList(wxKEY_STRING)
|
||||||
|
{
|
||||||
|
DeleteContents(TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
wxPrintPaperDatabase::~wxPrintPaperDatabase()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxPrintPaperDatabase::CreateDatabase()
|
||||||
|
{
|
||||||
|
// Need correct values for page size in pixels.
|
||||||
|
// Each unit is one 'point' = 1/72 of an inch.
|
||||||
|
// NOTE: WE NEED ALSO TO MAKE ADJUSTMENTS WHEN TRANSLATING
|
||||||
|
// in wxPostScriptDC code, so we can start from top left.
|
||||||
|
// So access this database and translate by appropriate number
|
||||||
|
// of points for this paper size. OR IS IT OK ALREADY?
|
||||||
|
// Can't remember where the PostScript origin is by default.
|
||||||
|
// Heck, someone will know how to make it hunky-dory...
|
||||||
|
// JACS 25/5/95
|
||||||
|
|
||||||
|
AddPaperType(_("A4 210 x 297 mm"), 210, 297, 595, 842);
|
||||||
|
AddPaperType(_("A3 297 x 420 mm"), 297, 420, 842, 1191);
|
||||||
|
AddPaperType(_("Letter 8 1/2 x 11 in"), 216, 279, 612, 791);
|
||||||
|
AddPaperType(_("Legal 8 1/2 x 14 in"), 216, 356, 612, 1009);
|
||||||
|
|
||||||
|
/*
|
||||||
|
This is for 100 ppi
|
||||||
|
|
||||||
|
AddPaperType(_("A4 210 x 297 mm"), 210, 297, 210*4, 297*4 );
|
||||||
|
AddPaperType(_("A3 297 x 420 mm"), 297, 420, 297*4, 420*4 );
|
||||||
|
AddPaperType(_("Letter 8 1/2 x 11 in"), 216, 279, 216*4, 279*4 );
|
||||||
|
AddPaperType(_("Legal 8 1/2 x 14 in"), 216, 356, 216*4, 356*4 );
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxPrintPaperDatabase::ClearDatabase()
|
||||||
|
{
|
||||||
|
Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxPrintPaperDatabase::AddPaperType(const char *name, int wmm, int hmm, int wp, int hp)
|
||||||
|
{
|
||||||
|
Append(name, new wxPrintPaperType(name, wmm, hmm, wp, hp));
|
||||||
|
}
|
||||||
|
|
||||||
|
wxPrintPaperType *wxPrintPaperDatabase::FindPaperType(const char *name)
|
||||||
|
{
|
||||||
|
wxNode *node = Find(name);
|
||||||
|
if (node)
|
||||||
|
return (wxPrintPaperType *)node->Data();
|
||||||
|
else
|
||||||
|
return (wxPrintPaperType *) NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Initialization/cleanup module
|
||||||
|
*/
|
||||||
|
|
||||||
|
bool wxPostScriptModule::OnInit()
|
||||||
|
{
|
||||||
|
wxInitializePrintSetupData();
|
||||||
|
wxThePrintPaperDatabase = new wxPrintPaperDatabase;
|
||||||
|
wxThePrintPaperDatabase->CreateDatabase();
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxPostScriptModule::OnExit()
|
||||||
|
{
|
||||||
|
wxInitializePrintSetupData(FALSE);
|
||||||
|
delete wxThePrintPaperDatabase;
|
||||||
|
wxThePrintPaperDatabase = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// wxUSE_POSTSCRIPT
|
// wxUSE_POSTSCRIPT
|
@ -597,4 +597,3 @@ wxChoice *wxGenericPageSetupDialog::CreatePaperTypeChoice(int *x, int *y)
|
|||||||
return choice;
|
return choice;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -37,7 +37,6 @@ LIB_CPP_SRC=\
|
|||||||
common/object.cpp \
|
common/object.cpp \
|
||||||
common/db.cpp \
|
common/db.cpp \
|
||||||
common/dbtable.cpp \
|
common/dbtable.cpp \
|
||||||
common/postscrp.cpp \
|
|
||||||
common/prntbase.cpp \
|
common/prntbase.cpp \
|
||||||
common/serbase.cpp \
|
common/serbase.cpp \
|
||||||
common/string.cpp \
|
common/string.cpp \
|
||||||
@ -87,7 +86,6 @@ LIB_CPP_SRC=\
|
|||||||
gtk/dc.cpp \
|
gtk/dc.cpp \
|
||||||
gtk/dcclient.cpp \
|
gtk/dcclient.cpp \
|
||||||
gtk/dcmemory.cpp \
|
gtk/dcmemory.cpp \
|
||||||
gtk/dcps.cpp \
|
|
||||||
gtk/dcscreen.cpp \
|
gtk/dcscreen.cpp \
|
||||||
gtk/dnd.cpp \
|
gtk/dnd.cpp \
|
||||||
gtk/dialog.cpp \
|
gtk/dialog.cpp \
|
||||||
@ -123,6 +121,7 @@ LIB_CPP_SRC=\
|
|||||||
gtk/window.cpp \
|
gtk/window.cpp \
|
||||||
\
|
\
|
||||||
generic/choicdgg.cpp \
|
generic/choicdgg.cpp \
|
||||||
|
generic/dcpsg.cpp \
|
||||||
generic/colrdlgg.cpp \
|
generic/colrdlgg.cpp \
|
||||||
generic/dirdlgg.cpp \
|
generic/dirdlgg.cpp \
|
||||||
generic/fontdlgg.cpp \
|
generic/fontdlgg.cpp \
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
#include "wx/window.h"
|
#include "wx/window.h"
|
||||||
#include "wx/dc.h"
|
#include "wx/dc.h"
|
||||||
#include "wx/accel.h"
|
#include "wx/accel.h"
|
||||||
#include "wx/postscrp.h"
|
#include "wx/dcps.h"
|
||||||
|
|
||||||
#define _MAXPATHLEN 500
|
#define _MAXPATHLEN 500
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
#include "wx/window.h"
|
#include "wx/window.h"
|
||||||
#include "wx/dc.h"
|
#include "wx/dc.h"
|
||||||
#include "wx/accel.h"
|
#include "wx/accel.h"
|
||||||
#include "wx/postscrp.h"
|
#include "wx/dcps.h"
|
||||||
|
|
||||||
#define _MAXPATHLEN 500
|
#define _MAXPATHLEN 500
|
||||||
|
|
||||||
|
1758
src/gtk1/dcps.cpp
1758
src/gtk1/dcps.cpp
File diff suppressed because it is too large
Load Diff
@ -35,7 +35,6 @@ LIB_CPP_SRC=\
|
|||||||
common/mimetype.cpp \
|
common/mimetype.cpp \
|
||||||
common/module.cpp \
|
common/module.cpp \
|
||||||
common/object.cpp \
|
common/object.cpp \
|
||||||
common/postscrp.cpp \
|
|
||||||
common/prntbase.cpp \
|
common/prntbase.cpp \
|
||||||
common/resource.cpp \
|
common/resource.cpp \
|
||||||
common/serbase.cpp \
|
common/serbase.cpp \
|
||||||
@ -132,6 +131,7 @@ LIB_CPP_SRC=\
|
|||||||
\
|
\
|
||||||
generic/choicdgg.cpp \
|
generic/choicdgg.cpp \
|
||||||
generic/colrdlgg.cpp \
|
generic/colrdlgg.cpp \
|
||||||
|
generic/dcpsg.cpp \
|
||||||
generic/fontdlgg.cpp \
|
generic/fontdlgg.cpp \
|
||||||
generic/gridg.cpp \
|
generic/gridg.cpp \
|
||||||
generic/helpext.cpp \
|
generic/helpext.cpp \
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "wx/wx.h"
|
#include "wx/wx.h"
|
||||||
#include "wx/postscrp.h"
|
#include "wx/dcps.h"
|
||||||
|
|
||||||
#define _MAXPATHLEN 500
|
#define _MAXPATHLEN 500
|
||||||
|
|
||||||
|
@ -39,7 +39,6 @@ LIB_CPP_SRC=\
|
|||||||
../common/module.cpp \
|
../common/module.cpp \
|
||||||
../common/object.cpp \
|
../common/object.cpp \
|
||||||
../common/odbc.cpp \
|
../common/odbc.cpp \
|
||||||
../common/postscrp.cpp \
|
|
||||||
../common/prntbase.cpp \
|
../common/prntbase.cpp \
|
||||||
../common/resource.cpp \
|
../common/resource.cpp \
|
||||||
../common/serbase.cpp \
|
../common/serbase.cpp \
|
||||||
@ -90,7 +89,6 @@ LIB_CPP_SRC=\
|
|||||||
dc.cpp \
|
dc.cpp \
|
||||||
dcclient.cpp \
|
dcclient.cpp \
|
||||||
dcmemory.cpp \
|
dcmemory.cpp \
|
||||||
dcps.cpp \
|
|
||||||
dcscreen.cpp \
|
dcscreen.cpp \
|
||||||
dialog.cpp \
|
dialog.cpp \
|
||||||
dnd.cpp \
|
dnd.cpp \
|
||||||
@ -133,6 +131,7 @@ LIB_CPP_SRC=\
|
|||||||
../generic/choicdgg.cpp \
|
../generic/choicdgg.cpp \
|
||||||
../generic/colrdlgg.cpp \
|
../generic/colrdlgg.cpp \
|
||||||
../generic/dirdlgg.cpp \
|
../generic/dirdlgg.cpp \
|
||||||
|
../generic/dcpsg.cpp \
|
||||||
../generic/fontdlgg.cpp \
|
../generic/fontdlgg.cpp \
|
||||||
../generic/gridg.cpp \
|
../generic/gridg.cpp \
|
||||||
../generic/helphtml.cpp \
|
../generic/helphtml.cpp \
|
||||||
|
@ -315,7 +315,7 @@ IMPLEMENT_CLASS(wxGenericPrintSetupDialog, wxDialog)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if wxUSE_POSTSCRIPT
|
#if wxUSE_POSTSCRIPT
|
||||||
#include "wx/postscrp.h"
|
#include "wx/dcps.h"
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxPostScriptDC, wxDC)
|
IMPLEMENT_DYNAMIC_CLASS(wxPostScriptDC, wxDC)
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxPrintSetupData, wxObject)
|
IMPLEMENT_DYNAMIC_CLASS(wxPrintSetupData, wxObject)
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxPageSetupData, wxObject)
|
IMPLEMENT_DYNAMIC_CLASS(wxPageSetupData, wxObject)
|
||||||
|
@ -34,7 +34,6 @@ LIB_CPP_SRC=\
|
|||||||
common/module.cpp \
|
common/module.cpp \
|
||||||
common/object.cpp \
|
common/object.cpp \
|
||||||
common/odbc.cpp \
|
common/odbc.cpp \
|
||||||
common/postscrp.cpp \
|
|
||||||
common/prntbase.cpp \
|
common/prntbase.cpp \
|
||||||
common/resource.cpp \
|
common/resource.cpp \
|
||||||
common/serbase.cpp \
|
common/serbase.cpp \
|
||||||
@ -133,6 +132,7 @@ LIB_CPP_SRC=\
|
|||||||
\
|
\
|
||||||
generic/choicdgg.cpp \
|
generic/choicdgg.cpp \
|
||||||
generic/colrdlgg.cpp \
|
generic/colrdlgg.cpp \
|
||||||
|
generic/dcpsg.cpp \
|
||||||
generic/fontdlgg.cpp \
|
generic/fontdlgg.cpp \
|
||||||
generic/gridg.cpp \
|
generic/gridg.cpp \
|
||||||
generic/imaglist.cpp \
|
generic/imaglist.cpp \
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
#include "wx/wx.h"
|
#include "wx/wx.h"
|
||||||
|
|
||||||
#if wxUSE_POSTSCRIPT
|
#if wxUSE_POSTSCRIPT
|
||||||
#include "wx/postscrp.h"
|
#include "wx/dcps.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define _MAXPATHLEN 500
|
#define _MAXPATHLEN 500
|
||||||
|
@ -99,6 +99,7 @@ DOCDIR = $(WXDIR)\docs
|
|||||||
GENERICOBJS= \
|
GENERICOBJS= \
|
||||||
$(GENDIR)\choicdgg.obj \
|
$(GENDIR)\choicdgg.obj \
|
||||||
$(GENDIR)\colrdlgg.obj \
|
$(GENDIR)\colrdlgg.obj \
|
||||||
|
$(GENDIR)\dcpsg.obj \
|
||||||
$(GENDIR)\fontdlgg.obj \
|
$(GENDIR)\fontdlgg.obj \
|
||||||
$(GENDIR)\gridg.obj \
|
$(GENDIR)\gridg.obj \
|
||||||
$(GENDIR)\msgdlgg.obj \
|
$(GENDIR)\msgdlgg.obj \
|
||||||
@ -136,7 +137,6 @@ COMMONOBJS = \
|
|||||||
$(COMMDIR)\memory.obj \
|
$(COMMDIR)\memory.obj \
|
||||||
$(COMMDIR)\module.obj \
|
$(COMMDIR)\module.obj \
|
||||||
$(COMMDIR)\object.obj \
|
$(COMMDIR)\object.obj \
|
||||||
$(COMMDIR)\postscrp.obj \
|
|
||||||
$(COMMDIR)\prntbase.obj \
|
$(COMMDIR)\prntbase.obj \
|
||||||
$(COMMDIR)\resource.obj \
|
$(COMMDIR)\resource.obj \
|
||||||
$(COMMDIR)\tbarbase.obj \
|
$(COMMDIR)\tbarbase.obj \
|
||||||
@ -710,11 +710,6 @@ $(COMMDIR)/odbc.obj: $*.$(SRCSUFF)
|
|||||||
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
|
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
|
||||||
<<
|
<<
|
||||||
|
|
||||||
$(COMMDIR)/postscrp.obj: $*.$(SRCSUFF)
|
|
||||||
cl @<<
|
|
||||||
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
|
|
||||||
<<
|
|
||||||
|
|
||||||
$(COMMDIR)/prntbase.obj: $*.$(SRCSUFF)
|
$(COMMDIR)/prntbase.obj: $*.$(SRCSUFF)
|
||||||
cl @<<
|
cl @<<
|
||||||
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
|
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
|
||||||
@ -871,6 +866,11 @@ $(GENDIR)/colrdlgg.obj: $*.$(SRCSUFF)
|
|||||||
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
|
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
|
||||||
<<
|
<<
|
||||||
|
|
||||||
|
$(GENDIR)/dcpsg.obj: $*.$(SRCSUFF)
|
||||||
|
cl @<<
|
||||||
|
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
|
||||||
|
<<
|
||||||
|
|
||||||
$(GENDIR)/fontdlgg.obj: $*.$(SRCSUFF)
|
$(GENDIR)/fontdlgg.obj: $*.$(SRCSUFF)
|
||||||
cl @<<
|
cl @<<
|
||||||
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
|
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
|
||||||
|
@ -38,7 +38,6 @@ LIB_CPP_SRC=\
|
|||||||
../common/module.cpp \
|
../common/module.cpp \
|
||||||
../common/object.cpp \
|
../common/object.cpp \
|
||||||
../common/odbc.cpp \
|
../common/odbc.cpp \
|
||||||
../common/postscrp.cpp \
|
|
||||||
../common/prntbase.cpp \
|
../common/prntbase.cpp \
|
||||||
../common/resource.cpp \
|
../common/resource.cpp \
|
||||||
../common/serbase.cpp \
|
../common/serbase.cpp \
|
||||||
@ -134,6 +133,7 @@ LIB_CPP_SRC=\
|
|||||||
\
|
\
|
||||||
../generic/choicdgg.cpp \
|
../generic/choicdgg.cpp \
|
||||||
../generic/colrdlgg.cpp \
|
../generic/colrdlgg.cpp \
|
||||||
|
../generic/dcpsg.cpp \
|
||||||
../generic/dirdlgg.cpp \
|
../generic/dirdlgg.cpp \
|
||||||
../generic/fontdlgg.cpp \
|
../generic/fontdlgg.cpp \
|
||||||
../generic/gridg.cpp \
|
../generic/gridg.cpp \
|
||||||
|
Loading…
Reference in New Issue
Block a user