#include "wx/math.h"
#include "wx/image.h"
#include "wx/module.h"
+ #include "wx/crt.h"
#endif
#include "wx/fontutil.h"
(GnomePrintConfig *config, const guchar *key, gboolean value), (config, key, value), false )
wxDL_METHOD_DEFINE( gboolean, gnome_print_config_set_length,
(GnomePrintConfig *config, const guchar *key, gdouble value, const GnomePrintUnit *unit), (config, key, value, unit), false )
-
+
wxDL_METHOD_DEFINE( guchar*, gnome_print_config_get,
(GnomePrintConfig *config, const guchar *key), (config, key), NULL )
wxDL_METHOD_DEFINE( gboolean, gnome_print_config_get_length,
(GnomePrintConfig *config, const guchar *key, gdouble *val, const GnomePrintUnit **unit), (config, key, val, unit), false )
+ wxDL_METHOD_DEFINE( gboolean, gnome_print_config_get_boolean,
+ (GnomePrintConfig *config, const guchar *key, gboolean *val), (config, key, val), false )
wxDL_METHOD_DEFINE( GtkWidget*, gnome_print_dialog_new,
(GnomePrintJob *gpj, const guchar *title, gint flags), (gpj, title, flags), NULL )
wxDL_METHOD_LOAD( m_libGnomePrint, gnome_print_config_set_double );
wxDL_METHOD_LOAD( m_libGnomePrint, gnome_print_config_set_int );
wxDL_METHOD_LOAD( m_libGnomePrint, gnome_print_config_set_length );
-
+
wxDL_METHOD_LOAD( m_libGnomePrint, gnome_print_config_get );
wxDL_METHOD_LOAD( m_libGnomePrint, gnome_print_config_get_length );
+ wxDL_METHOD_LOAD( m_libGnomePrint, gnome_print_config_get_boolean );
wxDL_METHOD_LOAD( m_libGnomePrintUI, gnome_print_dialog_new );
wxDL_METHOD_LOAD( m_libGnomePrintUI, gnome_print_dialog_construct_range_page );
else
data.SetOrientation( wxPORTRAIT );
g_free( res );
-
+
+ res = gs_libGnomePrint->gnome_print_config_get( m_config,
+ (guchar*)(char*)GNOME_PRINT_KEY_OUTPUT_FILENAME );
+ if (res)
+ {
+ data.SetFilename( wxConvFile.cMB2WX( (const char*) res ) );
+ wxPrintf( "filename %s\n", data.GetFilename() );
+ g_free( res );
+ }
+ else
+ {
+ data.SetFilename( wxEmptyString );
+ }
+
+ gboolean ret;
+ if (gs_libGnomePrint->gnome_print_config_get_boolean( m_config,
+ (guchar*)(char*)GNOME_PRINT_KEY_COLLATE, &ret))
+ {
+ data.SetCollate( ret );
+ }
+
+ // gnome_print_v
+
return true;
}
(guchar*)(char*)"C6" );
break;
case wxPAPER_NONE: break;
-
+
default:
case wxPAPER_A4: gs_libGnomePrint->gnome_print_config_set( m_config,
(guchar*)(char*)GNOME_PRINT_KEY_PAPER_SIZE,
return false;
}
-wxDialog *wxGnomePrintFactory::CreatePrintSetupDialog( wxWindow *parent, wxPrintData *data )
+wxDialog *
+wxGnomePrintFactory::CreatePrintSetupDialog(wxWindow * WXUNUSED(parent),
+ wxPrintData * WXUNUSED(data))
{
return NULL;
}
void wxGnomePrintDialog::Init()
{
wxPrintData data = m_printDialogData.GetPrintData();
-
+
data.ConvertToNative();
wxGnomePrintNativeData *native =
IMPLEMENT_CLASS(wxGnomePageSetupDialog, wxPageSetupDialogBase)
-wxGnomePageSetupDialog::wxGnomePageSetupDialog( wxWindow *parent,
- wxPageSetupDialogData* data )
+wxGnomePageSetupDialog::wxGnomePageSetupDialog(wxWindow * WXUNUSED(parent),
+ wxPageSetupDialogData *data)
{
if (data)
m_pageDialogData = *data;
double mt = (double) m_pageDialogData.GetMarginTopLeft().y;
double mr = (double) m_pageDialogData.GetMarginBottomRight().x;
double mb = (double) m_pageDialogData.GetMarginBottomRight().y;
-
+
gs_libGnomePrint->gnome_print_config_set_length (config,
(const guchar*) GNOME_PRINT_KEY_PAGE_MARGIN_LEFT, ml, mm_unit );
gs_libGnomePrint->gnome_print_config_set_length (config,
{
wxGnomePrintNativeData *native =
(wxGnomePrintNativeData*) m_pageDialogData.GetPrintData().GetNativeData();
-
+
GnomePrintConfig *config = native->GetPrintConfig();
}
wxPrintData printdata = GetPrintDialogData().GetPrintData();
-
+
wxGnomePrintNativeData *native =
(wxGnomePrintNativeData*) printdata.GetNativeData();
return new wxGnomePrintDC( m_printDialogData.GetPrintData() );
}
-bool wxGnomePrinter::Setup( wxWindow *parent )
+bool wxGnomePrinter::Setup(wxWindow * WXUNUSED(parent))
{
return false;
}
return true;
}
-bool wxGnomePrintDC::DoFloodFill(wxCoord x1, wxCoord y1, const wxColour &col, int style )
+bool
+wxGnomePrintDC::DoFloodFill(wxCoord WXUNUSED(x1),
+ wxCoord WXUNUSED(y1),
+ const wxColour& WXUNUSED(col),
+ int WXUNUSED(style))
{
return false;
}
-bool wxGnomePrintDC::DoGetPixel(wxCoord x1, wxCoord y1, wxColour *col) const
+bool
+wxGnomePrintDC::DoGetPixel(wxCoord WXUNUSED(x1),
+ wxCoord WXUNUSED(y1),
+ wxColour * WXUNUSED(col)) const
{
return false;
}
CalcBoundingBox( x2, y2 );
}
-void wxGnomePrintDC::DoCrossHair(wxCoord x, wxCoord y)
+void wxGnomePrintDC::DoCrossHair(wxCoord WXUNUSED(x), wxCoord WXUNUSED(y))
{
}
CalcBoundingBox( x+w, y+h );
}
-void wxGnomePrintDC::DoDrawPoint(wxCoord x, wxCoord y)
+void wxGnomePrintDC::DoDrawPoint(wxCoord WXUNUSED(x), wxCoord WXUNUSED(y))
{
}
gs_libGnomePrint->gnome_print_stroke ( m_gpc);
}
-void wxGnomePrintDC::DoDrawPolygon(int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset, int fillStyle)
+void wxGnomePrintDC::DoDrawPolygon(int n, wxPoint points[],
+ wxCoord xoffset, wxCoord yoffset,
+ int WXUNUSED(fillStyle))
{
if (n==0) return;
}
#if wxUSE_SPLINES
-void wxGnomePrintDC::DoDrawSpline(wxList *points)
+void wxGnomePrintDC::DoDrawSpline(const wxPointList *points)
{
SetPen (m_pen);
double c, d, x1, y1, x2, y2, x3, y3;
wxPoint *p, *q;
- wxList::compatibility_iterator node = points->GetFirst();
- p = (wxPoint *)node->GetData();
+ wxPointList::compatibility_iterator node = points->GetFirst();
+ p = node->GetData();
x1 = p->x;
y1 = p->y;
node = node->GetNext();
- p = (wxPoint *)node->GetData();
+ p = node->GetData();
c = p->x;
d = p->y;
x3 =
node = node->GetNext();
while (node)
{
- q = (wxPoint *)node->GetData();
+ q = node->GetData();
x1 = x3;
y1 = y3;
}
#endif // wxUSE_SPLINES
-bool wxGnomePrintDC::DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
- wxDC *source, wxCoord xsrc, wxCoord ysrc, int rop, bool useMask,
- wxCoord xsrcMask, wxCoord ysrcMask)
+bool
+wxGnomePrintDC::DoBlit(wxCoord xdest, wxCoord ydest,
+ wxCoord width, wxCoord height,
+ wxDC *source,
+ wxCoord xsrc, wxCoord ysrc,
+ int rop,
+ bool WXUNUSED(useMask),
+ wxCoord WXUNUSED(xsrcMask), wxCoord WXUNUSED(ysrcMask))
{
wxCHECK_MSG( source, false, wxT("invalid source dc") );
DoDrawBitmap( icon, x, y, true );
}
-void wxGnomePrintDC::DoDrawBitmap( const wxBitmap& bitmap, wxCoord x, wxCoord y, bool useMask )
+void
+wxGnomePrintDC::DoDrawBitmap(const wxBitmap& bitmap,
+ wxCoord x, wxCoord y,
+ bool WXUNUSED(useMask))
{
if (!bitmap.Ok()) return;
// Draw layout.
gs_libGnomePrint->gnome_print_moveto (m_gpc, xx, yy);
-
+
gs_libGnomePrint->gnome_print_gsave( m_gpc );
-
+
gs_libGnomePrint->gnome_print_scale( m_gpc, m_scaleX * DEV2PS, m_scaleY * DEV2PS );
-
+
if (fabs(angle) > 0.00001)
gs_libGnomePrint->gnome_print_rotate( m_gpc, angle );
-
+
gs_libGnomePrint->gnome_print_pango_layout( m_gpc, m_layout );
-
+
gs_libGnomePrint->gnome_print_grestore( m_gpc );
-
+
if (underlined)
{
// undo underline attributes setting:
m_pen = pen;
double width;
-
+
if (m_pen.GetWidth() <= 0)
width = 0.1;
else
}
}
-void wxGnomePrintDC::SetLogicalFunction( int function )
+void wxGnomePrintDC::SetLogicalFunction(int WXUNUSED(function))
{
}
-void wxGnomePrintDC::SetBackground( const wxBrush& brush )
+void wxGnomePrintDC::SetBackground(const wxBrush& WXUNUSED(brush))
{
}
void wxGnomePrintDC::DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
{
wxDC::DoSetClippingRegion( x, y, width, height );
-
+
gs_libGnomePrint->gnome_print_gsave( m_gpc );
-
+
gs_libGnomePrint->gnome_print_newpath( m_gpc );
gs_libGnomePrint->gnome_print_moveto( m_gpc, XLOG2DEV(x), YLOG2DEV(y) );
gs_libGnomePrint->gnome_print_lineto( m_gpc, XLOG2DEV(x + width), YLOG2DEV(y) );
wxDC::DestroyClippingRegion();
gs_libGnomePrint->gnome_print_grestore( m_gpc );
-
+
#if 0
// not needed, we set the values in each
// drawing method anyways
#endif
}
-bool wxGnomePrintDC::StartDoc(const wxString& message)
+bool wxGnomePrintDC::StartDoc(const wxString& WXUNUSED(message))
{
return true;
}
if (width)
*width = wxRound( pw * PS2DEV );
-
+
if (height)
*height = wxRound( ph * PS2DEV );
}
}
void wxGnomePrintDC::SetPrintData(const wxPrintData& data)
-{
+{
m_printData = data;
-
+
int height;
if (m_printData.GetOrientation() == wxPORTRAIT)
GetSize( NULL, &height );
m_deviceLocalOriginY = height;
}
-void wxGnomePrintDC::SetResolution(int ppi)
+void wxGnomePrintDC::SetResolution(int WXUNUSED(ppi))
{
}
}
}
-#endif
+#endif
// wxUSE_LIBGNOMEPRINT