#include "wx/defs.h"
-#if USE_POSTSCRIPT
+#if wxUSE_POSTSCRIPT
#ifndef WX_PRECOMP
#include "wx/intl.h"
#include "wx/dcmemory.h"
-#ifdef __WINDOWS__
+#ifdef __WXMSW__
#include "wx/msw/private.h"
#endif
-#if USE_IOSTREAMH
+#if wxUSE_IOSTREAMH
#include <iostream.h>
#else
#include <iostream>
#include <limits.h>
#include <assert.h>
-#ifdef __GTK__
+#ifdef __WXGTK__
#include "gdk/gdkx.h" // GDK_DISPLAY
#include "gdk/gdkprivate.h" // XImage
#endif
-#ifdef __WINDOWS__
+#ifdef __WXMOTIF__
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#endif
+
+#ifdef __WXMSW__
#ifdef DrawText
#undef DrawText
// SGI's Display Postscript Previewer
//# define PS_VIEWER_PROG "dps"
# define PS_VIEWER_PROG "xpsview"
-#elif defined(__X__) || defined(__GTK__)
+#elif defined(__X__) || defined(__WXGTK__)
// Front-end to ghostscript
# define PS_VIEWER_PROG "ghostview"
#else
# define PS_VIEWER_PROG NULL
#endif
-wxPrintSetupData *wxThePrintSetupData = NULL;
+wxPrintSetupData *wxThePrintSetupData = (wxPrintSetupData *) NULL;
// these should move into wxPostscriptDC:
double UnderlinePosition = 0.0F;
#define _MAXPATHLEN 500
/* See "wxspline.inc" and "xfspline.inc" */
-#if USE_XFIG_SPLINE_CODE
+#if wxUSE_XFIG_SPLINE_CODE
static const char *wxPostScriptHeaderSpline = " \
/DrawSplineSection {\n\
/y3 exch def\n\
";
#else
// No extra PS header for this spline implementation.
-static const char *wxPostScriptHeaderSpline = NULL;
+static const char *wxPostScriptHeaderSpline = (char *) NULL;
-#endif /* USE_XFIG_SPLINE_CODE */
+#endif /* wxUSE_XFIG_SPLINE_CODE */
// steve, 05.09.94
// VMS has a bug in the ofstream class.
m_maxY = -1000;
m_title = "";
- m_pstream = NULL;
+ m_pstream = (ofstream *) NULL;
-#ifdef __WINDOWS__
+#ifdef __WXMSW__
// Can only send to file in Windows
wxThePrintSetupData->SetPrinterMode(PS_FILE);
#endif
m_maxY = -1000;
m_title = "";
m_filename = file;
- m_pstream = NULL;
+ m_pstream = (ofstream *) NULL;
-#ifdef __WINDOWS__
+#ifdef __WXMSW__
// Can only send to file in Windows
wxThePrintSetupData->SetPrinterMode(PS_FILE);
#endif
bool wxPostScriptDC::PrinterDialog(wxWindow *parent)
{
- wxPostScriptPrintDialog dialog (parent, "Printer Settings", wxPoint(150, 150), wxSize(400, 400), wxDEFAULT_DIALOG_STYLE | wxDIALOG_MODAL);
+ wxPostScriptPrintDialog dialog (parent, _("Printer Settings"), wxPoint(150, 150), wxSize(400, 400), wxDEFAULT_DIALOG_STYLE | wxDIALOG_MODAL);
m_ok = (dialog.ShowModal () == wxID_OK) ;
if (!m_ok)
}
else if ((m_filename == "") && (wxThePrintSetupData->GetPrinterMode() == PS_FILE))
{
- char *file = wxSaveFileSelector ("PostScript", "ps");
+ char *file = wxSaveFileSelector (_("PostScript"), "ps");
if (!file)
{
m_ok = FALSE;
*m_pstream << "gsave\n";
*m_pstream << "newpath\n";
*m_pstream << cx << " " << YSCALE (cy) << " moveto\n";
- *m_pstream << cx + cw << " " << YSCALE (cy) << " lineto\n";
+ *m_pstream << (cx + cw) << " " << YSCALE (cy) << " lineto\n";
*m_pstream << cx + cw << " " << YSCALE (cy + ch) << " lineto\n";
*m_pstream << cx << " " << YSCALE (cy + ch) << " lineto\n";
*m_pstream << "closepath clip newpath\n";
long dx = x1 - xc;
long dy = y1 - yc;
- long radius = (long) sqrt(dx*dx+dy*dy);
+ long radius = (long) sqrt((double) (dx*dx+dy*dy));
double alpha1, alpha2;
if (x1 == x2 && y1 == y2) {
*m_pstream <<
"newpath\n" <<
- x+w/2 << " " << YSCALE (y+h/2) << " " <<
- w/2 << " " << h/2 << " " <<
+ (x+w/2) << " " << YSCALE (y+h/2) << " " <<
+ w/2 << " " << (h/2) << " " <<
int(sa) <<" "<< int(ea)<<" true ellipticarc\n";
CalcBoundingBox (x , (long)YSCALE (y ));
*m_pstream <<
"newpath\n" <<
- x+w/2 << " " << YSCALE (y+h/2) << " " <<
- w/2 << " " << h/2 << " " <<
+ (x+w/2) << " " << YSCALE (y+h/2) << " " <<
+ (w/2) << " " << (h/2) << " " <<
int(sa) <<" "<< int(ea)<<" false ellipticarc\n";
CalcBoundingBox (x , (long)YSCALE (y ));
*m_pstream << "newpath\n";
*m_pstream << x << " " << YSCALE (y) << " moveto\n";
- *m_pstream << x + width << " " << YSCALE (y) << " lineto\n";
- *m_pstream << x + width << " " << YSCALE (y + height) << " lineto\n";
+ *m_pstream << (x + width) << " " << YSCALE (y) << " lineto\n";
+ *m_pstream << (x + width) << " " << YSCALE (y + height) << " lineto\n";
*m_pstream << x << " " << YSCALE (y + height) << " lineto\n";
*m_pstream << "closepath\n";
*m_pstream << "fill\n";
*m_pstream << "newpath\n";
*m_pstream << x << " " << YSCALE (y) << " moveto\n";
- *m_pstream << x + width << " " << YSCALE (y) << " lineto\n";
- *m_pstream << x + width << " " << YSCALE (y + height) << " lineto\n";
+ *m_pstream << (x + width) << " " << YSCALE (y) << " lineto\n";
+ *m_pstream << (x + width) << " " << YSCALE (y + height) << " lineto\n";
*m_pstream << x << " " << YSCALE (y + height) << " lineto\n";
*m_pstream << "closepath\n";
*m_pstream << "stroke\n";
SetBrush (m_brush);
// Draw rectangle anticlockwise
*m_pstream << "newpath\n";
- *m_pstream << x + radius << " " << YSCALE (y + radius) << " " << radius << " 90 180 arc\n";
+ *m_pstream << (x + radius) << " " << YSCALE (y + radius) << " " << radius << " 90 180 arc\n";
*m_pstream << x << " " << YSCALE (y + radius) << " moveto\n";
- *m_pstream << x + radius << " " << YSCALE (y + height - radius) << " " << radius << " 180 270 arc\n";
- *m_pstream << x + width - radius << " " << YSCALE (y + height) << " lineto\n";
+ *m_pstream << (x + radius) << " " << YSCALE (y + height - radius) << " " << radius << " 180 270 arc\n";
+ *m_pstream << (x + width - radius) << " " << YSCALE (y + height) << " lineto\n";
- *m_pstream << x + width - radius << " " << YSCALE (y + height - radius) << " " << radius << " 270 0 arc\n";
- *m_pstream << x + width << " " << YSCALE (y + radius) << " lineto\n";
+ *m_pstream << (x + width - radius) << " " << YSCALE (y + height - radius) << " " << radius << " 270 0 arc\n";
+ *m_pstream << (x + width) << " " << YSCALE (y + radius) << " lineto\n";
- *m_pstream << x + width - radius << " " << YSCALE (y + radius) << " " << radius << " 0 90 arc\n";
+ *m_pstream << (x + width - radius) << " " << YSCALE (y + radius) << " " << radius << " 0 90 arc\n";
- *m_pstream << x + radius << " " << YSCALE (y) << " lineto\n";
+ *m_pstream << (x + radius) << " " << YSCALE (y) << " lineto\n";
*m_pstream << "closepath\n";
SetPen (m_pen);
// Draw rectangle anticlockwise
*m_pstream << "newpath\n";
- *m_pstream << x + radius << " " << YSCALE (y + radius) << " " << radius << " 90 180 arc\n";
+ *m_pstream << (x + radius) << " " << YSCALE (y + radius) << " " << radius << " 90 180 arc\n";
*m_pstream << x << " " << YSCALE (y + height - radius) << " lineto\n";
- *m_pstream << x + radius << " " << YSCALE (y + height - radius) << " " << radius << " 180 270 arc\n";
- *m_pstream << x + width - radius << " " << YSCALE (y + height) << " lineto\n";
+ *m_pstream << (x + radius) << " " << YSCALE (y + height - radius) << " " << radius << " 180 270 arc\n";
+ *m_pstream << (x + width - radius) << " " << YSCALE (y + height) << " lineto\n";
- *m_pstream << x + width - radius << " " << YSCALE (y + height - radius) << " " << radius << " 270 0 arc\n";
- *m_pstream << x + width << " " << YSCALE (y + radius) << " lineto\n";
+ *m_pstream << (x + width - radius) << " " << YSCALE (y + height - radius) << " " << radius << " 270 0 arc\n";
+ *m_pstream << (x + width) << " " << YSCALE (y + radius) << " lineto\n";
- *m_pstream << x + width - radius << " " << YSCALE (y + radius) << " " << radius << " 0 90 arc\n";
+ *m_pstream << (x + width - radius) << " " << YSCALE (y + radius) << " " << radius << " 0 90 arc\n";
- *m_pstream << x + radius << " " << YSCALE (y) << " lineto\n";
+ *m_pstream << (x + radius) << " " << YSCALE (y) << " lineto\n";
*m_pstream << "closepath\n";
SetBrush (m_brush);
*m_pstream << "newpath\n";
- *m_pstream << x + width / 2 << " " << YSCALE (y + height / 2) << " ";
- *m_pstream << width / 2 << " " << height / 2 << " 0 360 ellipse\n";
+ *m_pstream << (x + width / 2) << " " << YSCALE (y + height / 2) << " ";
+ *m_pstream << (width / 2) << " " << (height / 2) << " 0 360 ellipse\n";
*m_pstream << "fill\n";
CalcBoundingBox (x - width, (long)YSCALE (y - height));
SetPen (m_pen);
*m_pstream << "newpath\n";
- *m_pstream << x + width / 2 << " " << YSCALE (y + height / 2) << " ";
- *m_pstream << width / 2 << " " << height / 2 << " 0 360 ellipse\n";
+ *m_pstream << (x + width / 2) << " " << YSCALE (y + height / 2) << " ";
+ *m_pstream << (width / 2) << " " << (height / 2) << " 0 360 ellipse\n";
*m_pstream << "stroke\n";
CalcBoundingBox (x - width, (long)YSCALE (y - height));
void wxPostScriptDC::DrawIcon (const wxIcon& icon, long x, long y)
{
-#if defined(__X__) || defined(__GTK__)
+#if defined(__X__) || defined(__WXGTK__)
wxMemoryDC memDC;
memDC.SelectObject(icon);
Blit(x, y, icon.GetWidth(), icon.GetHeight(), &memDC, 0, 0);
return;
char buf[100];
- char *name;
- char *style = "";
+ const char *name;
+ const char *style = "";
int Style = m_font.GetStyle ();
int Weight = m_font.GetWeight ();
strcpy (buf, name);
strcat (buf, style);
*m_pstream << buf << " findfont\n";
- *m_pstream << m_font.GetPointSize() * m_scaleFactor << " scalefont setfont\n";
+ *m_pstream << (m_font.GetPointSize() * m_scaleFactor) << " scalefont setfont\n";
}
void wxPostScriptDC::SetPen (const wxPen& pen)
will be first black line *2* units long, then space 4 units, then the
pattern of *3* units black, 4 units space will be repeated.
*/
- static char *dotted = "[2 5] 2";
- static char *short_dashed = "[4 4] 2";
- static char *long_dashed = "[4 8] 2";
- static char *dotted_dashed = "[6 6 2 6] 4";
+ static const char *dotted = "[2 5] 2";
+ static const char *short_dashed = "[4 4] 2";
+ static const char *long_dashed = "[4 8] 2";
+ static const char *dotted_dashed = "[6 6 2 6] 4";
- char *psdash = NULL;
+ const char *psdash = (char *) NULL;
switch (m_pen.GetStyle ())
{
case wxDOT:
*m_pstream << "gsave " << x << " " << YSCALE (y + size - UnderlinePosition)
<< " moveto\n"
<< UnderlineThickness << " setlinewidth "
- << x + w << " " << YSCALE (y + size - UnderlinePosition)
+ << (x + w) << " " << YSCALE (y + size - UnderlinePosition)
<< " lineto stroke grestore\n";
}
if (m_pstream)
{
delete m_pstream;
- m_pstream = NULL;
+ m_pstream = (ofstream *) NULL;
}
// Write header now
// The Adobe specifications call for integers; we round as to make
// the bounding larger.
*m_pstream << "%%BoundingBox: "
- << floor(llx) << " " << floor(lly) << " "
- << ceil(urx) << " " << ceil(ury) << "\n";
- *m_pstream << "%%Pages: " << wxPageNumber - 1 << "\n";
+ << floor((double)llx) << " " << floor((double)lly) << " "
+ << ceil((double)urx) << " " << ceil((double)ury) << "\n";
+ *m_pstream << "%%Pages: " << (wxPageNumber - 1) << "\n";
*m_pstream << "%%EndComments\n\n";
// To check the correctness of the bounding box, postscript commands
*m_pstream << "%%EndProlog\n";
delete m_pstream;
- m_pstream = NULL;
+ m_pstream = (ofstream *) NULL;
#ifdef __VMS__
char *tmp_file = "tmp.ps";
wxRemoveFile (wxThePrintSetupData->GetPrinterFile());
wxRenameFile(tmp_file, wxThePrintSetupData->GetPrinterFile());
-#if defined(__X__) || defined(__GTK__)
+#if defined(__X__) || defined(__WXGTK__)
if (m_ok)
{
switch (wxThePrintSetupData->GetPrinterMode()) {
char *argv[3];
argv[0] = wxThePrintSetupData->GetPrintPreviewCommand();
argv[1] = wxThePrintSetupData->GetPrinterFile();
- argv[2] = NULL;
+ argv[2] = (char *) NULL;
wxExecute (argv, TRUE);
wxRemoveFile(wxThePrintSetupData->GetPrinterFile());
}
argv[argc++] = opts;
argv[argc++] = wxThePrintSetupData->GetPrinterFile();
- argv[argc++] = NULL;
+ argv[argc++] = (char *) NULL;
wxExecute (argv, TRUE);
wxRemoveFile(wxThePrintSetupData->GetPrinterFile());
}
{
if (!m_pstream)
return;
- *m_pstream << "%%Page: " << wxPageNumber++ << "\n";
+ *m_pstream << "%%Page: " << (wxPageNumber++) << "\n";
// *m_pstream << "matrix currentmatrix\n";
// Added by Chris Breeze
#endif
}
-/* MATTHEW: Implement Blit: */
-/* MATTHEW: [4] Re-wrote to use colormap */
bool wxPostScriptDC::
Blit (long xdest, long ydest, long fwidth, long fheight,
wxDC *source, long xsrc, long ysrc, int WXUNUSED(rop), bool WXUNUSED(useMask))
{
long width, height, x, y;
-#if !defined(__X__) && !defined(__GTK__)
+#if !defined(__X__) && !defined(__WXGTK__)
return FALSE;
#endif
if (!source->IsKindOf(CLASSINFO(wxPaintDC))) return FALSE;
- width = (long)floor(fwidth);
- height = (long)floor(fheight);
- x = (long)floor(xsrc);
- y = (long)floor(ysrc);
+ width = (long)floor((double)fwidth);
+ height = (long)floor((double)fheight);
+ x = (long)floor((double)xsrc);
+ y = (long)floor((double)ysrc);
/* PostScript setup: */
*m_pstream << "gsave\n";
*m_pstream << " currentfile DataString readhexstring pop\n";
*m_pstream << "} bind image\n";
-#if defined(__X__) || defined(__GTK__)
+#if defined(__X__) || defined(__WXGTK__)
/* Output data as hex digits: */
Display *d;
long j, i;
char s[3];
-#ifdef __GTK__
+#ifdef __WXGTK__
d = gdk_display;
cm = ((GdkColormapPrivate*)gdk_colormap_get_system())->xcolormap;
#else
-#ifdef __MOTIF__
- d = source->display;
+#ifdef __WXMOTIF__
+ // TODO. for now, use global display
+ // d = source->display;
+ d = (Display*) wxGetDisplay();
#else
- d = wxGetDisplay();
+ d = (Display*) wxGetDisplay();
#endif
- cm = wxGetMainColormap(d);
- image = XGetImage(d, source->pixmap, x, y, width, height, AllPlanes, ZPixmap);
+ cm = (Colormap) wxTheApp->GetMainColormap((WXDisplay*) d);
+ // TODO - implement GetPixmap() and uncomment this line
+ // image = XGetImage(d, source->GetPixmap(), x, y, width, height, AllPlanes, ZPixmap);
#endif
// 1. construct filename ******************************************
/* MATTHEW: [2] Use wxTheFontNameDirectory */
- char *name;
+ const char *name;
// Julian - we'll need to do this a different way now we've removed the
// font directory system. Must find Stefan's original code.
- name = wxTheFontNameDirectory.GetAFMName(Family, Weight, Style);
+ name = wxTheFontNameDirectory->GetAFMName(Family, Weight, Style);
if (!name)
name = "unknown";
#endif
}
-void wxPostScriptDC::DrawOpenSpline( wxList *points )
+void wxPostScriptDC::DrawSpline( wxList *points )
{
double a, b, c, d, x1, y1, x2, y2, x3, y3;
wxPoint *p, *q;
x3 = a = (double)(x1 + c) / 2;
y3 = b = (double)(y1 + d) / 2;
- *(GetStream()) << "newpath " << x1 << " " << GetYOrigin() - y1 << " moveto " << x3 << " " << GetYOrigin() - y3;
+ *(GetStream()) << "newpath " << x1 << " " << (GetYOrigin() - y1) << " moveto " << x3 << " " << (GetYOrigin() - y3);
*(GetStream()) << " lineto\n";
CalcBoundingBox( (long)x1, (long)(GetYOrigin() - y1));
CalcBoundingBox( (long)x3, (long)(GetYOrigin() - y3));
c = q->x; d = q->y;
x3 = (double)(x2 + c) / 2;
y3 = (double)(y2 + d) / 2;
- *(GetStream()) << x1 << " " << GetYOrigin() - y1 << " " << x2 << " " << GetYOrigin() - y2 << " ";
- *(GetStream()) << x3 << " " << GetYOrigin() - y3 << " DrawSplineSection\n";
+ *(GetStream()) << x1 << " " << (GetYOrigin() - y1) << " " << x2 << " " << (GetYOrigin() - y2) << " ";
+ *(GetStream()) << x3 << " " << (GetYOrigin() - y3) << " DrawSplineSection\n";
CalcBoundingBox( (long)x1, (long)(GetYOrigin() - y1));
CalcBoundingBox( (long)x3, (long)(GetYOrigin() - y3));
* At this point, (x2,y2) and (c,d) are the position of the
* next-to-last and last point respectively, in the point list
*/
- *(GetStream()) << c << " " << GetYOrigin() - d << " lineto stroke\n";
+ *(GetStream()) << c << " " << (GetYOrigin() - d) << " lineto stroke\n";
}
long wxPostScriptDC::GetCharWidth (void)
void wxPostScriptDC::GetSize(int* width, int* height) const
{
- char *paperType = wxThePrintSetupData->GetPaperName();
+ const char *paperType = wxThePrintSetupData->GetPaperName();
if (!paperType)
- paperType = "A4 210 x 297 mm";
+ paperType = _("A4 210 x 297 mm");
wxPrintPaperType *paper = wxThePrintPaperDatabase->FindPaperType(paperType);
if (!paper)
- paper = wxThePrintPaperDatabase->FindPaperType("A4 210 x 297 mm");
+ paper = wxThePrintPaperDatabase->FindPaperType(_("A4 210 x 297 mm"));
if (paper)
{
*width = paper->widthPixels;
void wxPostScriptDC::GetSizeMM(long *width, long *height) const
{
- char *paperType = wxThePrintSetupData->GetPaperName();
+ const char *paperType = wxThePrintSetupData->GetPaperName();
if (!paperType)
- paperType = "A4 210 x 297 mm";
+ paperType = _("A4 210 x 297 mm");
wxPrintPaperType *paper = wxThePrintPaperDatabase->FindPaperType(paperType);
if (!paper)
- paper = wxThePrintPaperDatabase->FindPaperType("A4 210 x 297 mm");
+ paper = wxThePrintPaperDatabase->FindPaperType(_("A4 210 x 297 mm"));
if (paper)
{
*width = paper->widthMM;
IMPLEMENT_CLASS(wxPostScriptPrintDialog, wxDialog)
wxPostScriptPrintDialog::wxPostScriptPrintDialog (wxWindow *parent, const wxString& title,
- const wxPoint& pos, const wxSize& size, const long style):
+ const wxPoint& pos, const wxSize& size, long style):
wxDialog(parent, -1, title, pos, size, style)
{
wxBeginBusyCursor();
(void) new wxButton (this, wxID_CANCEL, _("Cancel"), wxPoint(40, 5));
okBut->SetDefault();
- int yPos = 30;
-
-#ifdef __X__
- (void) new wxStaticText(this, -1, "Printer Command: ", wxPoint(5, yPos));
- wxTextCtrl *text_prt = new wxTextCtrl(this, wxID_PRINTER_COMMAND, wxThePrintSetupData->GetPrinterCommand(), wxPoint(100, yPos), wxSize(100, -1));
+ int yPos = 40;
- (void) new wxStaticText(this, -1, "Printer Options: ", wxPoint(210, yPos));
- wxTextCtrl *text0 = new wxTextCtrl(this, wxID_PRINTER_OPTIONS, wxThePrintSetupData->GetPrinterOptions(), wxPoint(305, -1), wxSize(150, -1));
+#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 += 25;
+ yPos += 40;
#endif
wxString orientation[2];
- orientation[0] = "Portrait";
- orientation[1] = "Landscape";
+ orientation[0] = _("Portrait");
+ orientation[1] = _("Landscape");
wxRadioBox *radio0 = new wxRadioBox(this, wxID_PRINTER_ORIENTATION, "Orientation: ", wxPoint(5, yPos), wxSize(-1,-1),
2,orientation,2,0);
- radio0->SetSelection((int)wxThePrintSetupData->GetPrinterOrientation());
+ radio0->SetSelection((int)wxThePrintSetupData->GetPrinterOrientation() - 1);
// @@@ Configuration hook
if (wxThePrintSetupData->GetPrintPreviewCommand() == NULL)
wxGetResource ("wxWindows", "PSView", &wxThePrintSetupData->previewCommand);
wxString print_modes[3];
- print_modes[0] = "Send to Printer";
- print_modes[1] = "Print to File";
- print_modes[2] = "Preview Only";
+ print_modes[0] = _("Send to Printer");
+ print_modes[1] = _("Print to File");
+ print_modes[2] = _("Preview Only");
int features = (wxThePrintSetupData->GetPrintPreviewCommand() && *wxThePrintSetupData->GetPrintPreviewCommand()) ? 3 : 2;
- wxRadioBox *radio1 = new wxRadioBox(this, wxID_PRINTER_MODES, "PostScript:",
+ wxRadioBox *radio1 = new wxRadioBox(this, wxID_PRINTER_MODES, _("PostScript:"),
wxPoint(150, yPos), wxSize(-1,-1), features, print_modes, features, 0);
-#ifdef __WINDOWS__
+#ifdef __WXMSW__
radio1->Enable(0, FALSE);
if (wxThePrintSetupData->GetPrintPreviewCommand() && *wxThePrintSetupData->GetPrintPreviewCommand())
radio1->Enable(2, FALSE);
sprintf (buf, "%.2f", wx_printer_scale_x);
- yPos += 60;
+ 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, -1), wxSize(100, -1));
+ (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(120, yPos));
- /* wxTextCtrl *text2 = */ (void) new wxTextCtrl(this, wxID_PRINTER_Y_SCALE, buf, wxPoint(230, -1), wxSize(100, -1));
+ (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));
+ (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, -1), wxSize(100, -1));
+ /* 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(120, yPos));
+ (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(230, -1), wxSize(100, -1));
+ /* wxTextCtrl *text4 = */ (void) new wxTextCtrl(this, wxID_PRINTER_Y_TRANS, buf, wxPoint(320, yPos), wxSize(100, -1));
Fit ();
StringToLong (WXSTRINGCAST text4->GetValue (), &wxThePrintSetupData->printerTranslateY);
#ifdef __X__
- wxThePrintSetupData->SetPrinterOptions(WXSTRINGCAST text0->GetValue ());
- wxThePrintSetupData->SetPrinterCommand(WXSTRINGCAST text_prt->GetValue ());
+ // wxThePrintSetupData->SetPrinterOptions(WXSTRINGCAST text0->GetValue ());
+ // wxThePrintSetupData->SetPrinterCommand(WXSTRINGCAST text_prt->GetValue ());
#endif
- wxThePrintSetupData->SetPrinterOrientation((radio0->GetSelection() == PS_LANDSCAPE ? PS_LANDSCAPE : PS_PORTRAIT));
+ wxThePrintSetupData->SetPrinterOrientation((radio0->GetSelection() == 1 ? PS_LANDSCAPE : PS_PORTRAIT));
// C++ wants this
switch ( radio1->GetSelection() ) {
- case PS_PREVIEW: wxThePrintSetupData->SetPrinterMode(PS_PREVIEW); break;
- case PS_FILE: wxThePrintSetupData->SetPrinterMode(PS_FILE); break;
- case PS_PRINTER: wxThePrintSetupData->SetPrinterMode(PS_PRINTER); break;
+ case 0: wxThePrintSetupData->SetPrinterMode(PS_PRINTER); break;
+ case 1: wxThePrintSetupData->SetPrinterMode(PS_FILE); break;
+ case 2: wxThePrintSetupData->SetPrinterMode(PS_PREVIEW); break;
}
return wxID_OK;
}
// PostScript printer settings
// RETAINED FOR BACKWARD COMPATIBILITY
-void wxSetPrinterCommand(char *cmd)
+void wxSetPrinterCommand(const char *cmd)
{
wxThePrintSetupData->SetPrinterCommand(cmd);
}
-void wxSetPrintPreviewCommand(char *cmd)
+void wxSetPrintPreviewCommand(const char *cmd)
{
wxThePrintSetupData->SetPrintPreviewCommand(cmd);
}
-void wxSetPrinterOptions(char *flags)
+void wxSetPrinterOptions(const char *flags)
{
wxThePrintSetupData->SetPrinterOptions(flags);
}
-void wxSetPrinterFile(char *f)
+void wxSetPrinterFile(const char *f)
{
wxThePrintSetupData->SetPrinterFile(f);
}
wxThePrintSetupData->SetPrinterMode(mode);
}
-void wxSetAFMPath(char *f)
+void wxSetAFMPath(const char *f)
{
wxThePrintSetupData->SetAFMPath(f);
}
wxPrintSetupData::wxPrintSetupData(void)
{
- printerCommand = NULL;
- previewCommand = NULL;
- printerFlags = NULL;
+ printerCommand = (char *) NULL;
+ previewCommand = (char *) NULL;
+ printerFlags = (char *) NULL;
printerOrient = PS_PORTRAIT;
printerScaleX = (double)1.0;
printerScaleY = (double)1.0;
printerTranslateY = 0;
// 1 = Preview, 2 = print to file, 3 = send to printer
printerMode = 3;
- afmPath = NULL;
- paperName = NULL;
+ afmPath = (char *) NULL;
+ paperName = (char *) NULL;
printColour = TRUE;
- printerFile = NULL;
+ printerFile = (char *) NULL;
}
wxPrintSetupData::~wxPrintSetupData(void)
delete[] printerFile;
}
-void wxPrintSetupData::SetPrinterCommand(char *cmd)
+void wxPrintSetupData::SetPrinterCommand(const char *cmd)
{
if (cmd == printerCommand)
return;
if (cmd)
printerCommand = copystring(cmd);
else
- printerCommand = NULL;
+ printerCommand = (char *) NULL;
}
-void wxPrintSetupData::SetPrintPreviewCommand(char *cmd)
+void wxPrintSetupData::SetPrintPreviewCommand(const char *cmd)
{
if (cmd == previewCommand)
return;
if (cmd)
previewCommand = copystring(cmd);
else
- previewCommand = NULL;
+ previewCommand = (char *) NULL;
}
-void wxPrintSetupData::SetPaperName(char *name)
+void wxPrintSetupData::SetPaperName(const char *name)
{
if (name == paperName)
return;
if (name)
paperName = copystring(name);
else
- paperName = NULL;
+ paperName = (char *) NULL;
}
-void wxPrintSetupData::SetPrinterOptions(char *flags)
+void wxPrintSetupData::SetPrinterOptions(const char *flags)
{
if (printerFlags == flags)
return;
if (flags)
printerFlags = copystring(flags);
else
- printerFlags = NULL;
+ printerFlags = (char *) NULL;
}
-void wxPrintSetupData::SetPrinterFile(char *f)
+void wxPrintSetupData::SetPrinterFile(const char *f)
{
if (f == printerFile)
return;
if (f)
printerFile = copystring(f);
else
- printerFile = NULL;
+ printerFile = (char *) NULL;
}
void wxPrintSetupData::SetPrinterOrientation(int orient)
printerMode = mode;
}
-void wxPrintSetupData::SetAFMPath(char *f)
+void wxPrintSetupData::SetAFMPath(const char *f)
{
if (f == afmPath)
return;
if (f)
afmPath = copystring(f);
else
- afmPath = NULL;
+ afmPath = (char *) NULL;
}
void wxPrintSetupData::SetColour(bool col)
wxThePrintSetupData->SetPrintPreviewCommand(PS_VIEWER_PROG);
wxThePrintSetupData->SetPrinterOrientation(PS_PORTRAIT);
wxThePrintSetupData->SetPrinterMode(PS_PREVIEW);
- wxThePrintSetupData->SetPaperName("A4 210 x 297 mm");
+ 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
wxThePrintSetupData->SetPrinterOptions("/nonotify/queue=psqueue");
wxThePrintSetupData->SetAFMPath("sys$ps_font_metrics:");
#endif
-#ifdef __WINDOWS__
+#ifdef __WXMSW__
wxThePrintSetupData->SetPrinterCommand("print");
wxThePrintSetupData->SetAFMPath("c:\\windows\\system\\");
wxThePrintSetupData->SetPrinterOptions(NULL);
#endif
-#if !defined(__VMS__) && !defined(__WINDOWS__)
+#if !defined(__VMS__) && !defined(__WXMSW__)
wxThePrintSetupData->SetPrinterCommand("lpr");
- wxThePrintSetupData->SetPrinterOptions(NULL);
- wxThePrintSetupData->SetAFMPath(NULL);
+ wxThePrintSetupData->SetPrinterOptions((char *) NULL);
+ wxThePrintSetupData->SetAFMPath((char *) NULL);
#endif
}
else
{
if (wxThePrintSetupData)
delete wxThePrintSetupData;
- wxThePrintSetupData = NULL;
+ wxThePrintSetupData = (wxPrintSetupData *) NULL;
}
}
* Paper size database for PostScript
*/
-wxPrintPaperType::wxPrintPaperType(char *name, int wmm, int hmm, int wp, int hp)
+wxPrintPaperType::wxPrintPaperType(const char *name, int wmm, int hmm, int wp, int hp)
{
widthMM = wmm;
heightMM = hmm;
// 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);
+ 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);
}
void wxPrintPaperDatabase::ClearDatabase(void)
Clear();
}
-void wxPrintPaperDatabase::AddPaperType(char *name, int wmm, int hmm, int wp, int hp)
+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(char *name)
+wxPrintPaperType *wxPrintPaperDatabase::FindPaperType(const char *name)
{
wxNode *node = Find(name);
if (node)
return (wxPrintPaperType *)node->Data();
else
- return NULL;
+ 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