campo-sirio/xvaga/xvtpdf.h
guy ad6b1097e8 Patch level : 10.0
Files correlati     : xvaga.dll
Ricompilazione Demo : [ ]
Commento            :
Migliorata finestra di elaborazione PDF:
ora riporta il nome del file in corso di generazione


git-svn-id: svn://10.65.10.50/trunk@19037 c028cbd2-c16b-5b4b-a496-9718f37d4682
2009-06-16 14:37:01 +00:00

132 lines
4.5 KiB
C++
Executable File

#ifndef __XVTPDF_H
#define __XVTPDF_H
#ifndef PDFLIB_H
struct PDF_c {};
#include "../pdf/pdflib/pdflibdl.h"
#endif
///////////////////////////////////////////////////////////
// TwxPDFDC
///////////////////////////////////////////////////////////
class TwxPDFDC : public wxDC
{
enum { PDF_IMG_CACHE_SIZE = 13 };
protected:
TwxPDFDC(); // Dummy constructor for dynamic construction
bool IsValidFontFile(const char* strFontFile) const;
bool GetFontFamily(const wxFont& font, wxString& file, wxString& family) const;
public:
// Recommended constructor
TwxPDFDC(const wxPrintData& data, const char* strFilename);
~TwxPDFDC();
virtual bool Ok() const;
bool DoFloodFill(wxCoord x1, wxCoord y1, const wxColour &col, int style=wxFLOOD_SURFACE );
bool DoGetPixel(wxCoord x1, wxCoord y1, wxColour *col) const;
void DoDrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2);
void DoCrossHair(wxCoord x, wxCoord y) ;
void DoDrawArc(wxCoord x1,wxCoord y1,wxCoord x2,wxCoord y2,wxCoord xc,wxCoord yc);
void DoDrawEllipticArc(wxCoord x,wxCoord y,wxCoord w,wxCoord h,double sa,double ea);
void DoDrawPoint(wxCoord x, wxCoord y);
void DoDrawLines(int n, wxPoint points[], wxCoord xoffset = 0, wxCoord yoffset = 0);
void DoDrawPolygon(int n, wxPoint points[], wxCoord xoffset = 0, wxCoord yoffset = 0, int fillStyle=wxODDEVEN_RULE);
void DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
void DoDrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height, double radius = 20);
void DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
void DoDrawSpline(wxList *points);
bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc, int rop = wxCOPY, bool useMask = FALSE,
wxCoord xsrcMask = -1, wxCoord ysrcMask = -1);
bool CanDrawBitmap() const { return TRUE; }
void DoDrawIcon( const wxIcon& icon, wxCoord x, wxCoord y );
void DoDrawBitmap( const wxBitmap& bitmap, wxCoord x, wxCoord y, bool useMask=FALSE );
void DoDrawImage( const wxString& name, const wxRect& dst );
void DrawImage( const wxString& name, const wxRect& dst )
{ DoDrawImage(name, dst); }
void DoDrawText(const wxString& text, wxCoord x, wxCoord y );
void DoDrawRotatedText(const wxString& text, wxCoord x, wxCoord y, double angle);
void Clear();
void SetFont( const wxFont& font );
void SetPen( const wxPen& pen );
void SetBrush( const wxBrush& brush );
void SetLogicalFunction( int function );
void SetBackground( const wxBrush& brush );
void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
void DestroyClippingRegion();
void DoSetClippingRegionAsRegion( const wxRegion &WXUNUSED(clip) ) { }
bool StartDoc(const wxString& message);
void EndDoc();
void StartPage();
void EndPage();
wxCoord GetCharHeight() const;
wxCoord GetCharWidth() const;
bool CanGetTextExtent() const { return TRUE; }
void DoGetTextExtent(const wxString& string, wxCoord *x, wxCoord *y,
wxCoord *descent = (wxCoord *) NULL,
wxCoord *externalLeading = (wxCoord *) NULL,
wxFont *theFont = (wxFont *) NULL ) const;
void DoGetSize(int* width, int* height) const;
void DoGetSizeMM(int *width, int *height) const;
// Resolution in pixels per logical inch
wxSize GetPPI() const;
void SetAxisOrientation( bool xLeftRight, bool yBottomUp );
void SetDeviceOrigin( wxCoord x, wxCoord y );
void SetBackgroundMode(int WXUNUSED(mode)) { }
void SetPalette(const wxPalette& WXUNUSED(palette)) { }
const wxPrintData& GetPrintData() const { return m_printData; }
void SetPrintData(const wxPrintData& data) { m_printData = data; }
virtual int GetDepth() const { return 24; }
const wxString& OutputFile() const { return m_fileName; }
protected:
void SetFontColor(const wxColor& color) const;
int GetBitmapHandle(const wxBitmap& bitmap) const;
int GetImageHandle(const wxString& name);
PDF *m_p;
PDFlib_api *m_PDFlib;
wxPrintData m_printData;
wxString m_fileName;
wxColor m_color;
int m_pageNumber;
int m_fontnr;
bool m_clipping;
bool m_topDown;
bool m_pageopen;
double m_fontsize;
wxString m_filenames[PDF_IMG_CACHE_SIZE];
int m_handles[PDF_IMG_CACHE_SIZE];
int m_cacheidx;
DECLARE_DYNAMIC_CLASS(TwxPDFDC)
};
#endif