00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef XAP_UNIXNULLGRAPHICS_H
00021 #define XAP_UNIXNULLGRAPHICS_H
00022
00023 #include "ut_vector.h"
00024 #include "gr_UnixPangoGraphics.h"
00025 #include "gr_Image.h"
00026 #include "ut_misc.h"
00027
00028 class UT_ByteBuf;
00029
00030
00031
00032 class ABI_EXPORT GR_UnixNullGraphicsAllocInfo : public GR_AllocInfo
00033 {
00034 public:
00035 GR_UnixNullGraphicsAllocInfo()
00036 {}
00037
00038 virtual GR_GraphicsId getType() const {return GRID_UNIX_NULL;}
00039 virtual bool isPrinterGraphics() const {return false;}
00040 };
00041
00042
00043
00044 class ABI_EXPORT UnixNull_Graphics : public GR_UnixPangoGraphics
00045 {
00046
00047
00048 public:
00049 virtual ~UnixNull_Graphics();
00050
00051 static UT_uint32 s_getClassId() {return GRID_UNIX_NULL;}
00052 virtual UT_uint32 getClassId() {return s_getClassId();}
00053
00054 virtual GR_Capability getCapability(){UT_ASSERT(UT_NOT_IMPLEMENTED); return GRCAP_UNKNOWN;}
00055 static const char * graphicsDescriptor(void) { return "Unix Null Graphics";}
00056 static GR_Graphics * graphicsAllocator(GR_AllocInfo&);
00057
00058 virtual void drawChars(const UT_UCSChar* pChars,
00059 int iCharOffset, int iLength,
00060 UT_sint32 xoff, UT_sint32 yoff,
00061 int * pCharWidths = NULL);
00062
00063 virtual void setColor(const UT_RGBColor& clr);
00064 virtual void getColor(UT_RGBColor& clr);
00065 virtual GR_Font* getGUIFont();
00066
00067 virtual void drawLine(UT_sint32 x1, UT_sint32 y1, UT_sint32 x2, UT_sint32 y2);
00068 virtual void setLineWidth(UT_sint32);
00069 virtual void xorLine(UT_sint32, UT_sint32, UT_sint32, UT_sint32);
00070 virtual void polyLine(UT_Point * pts, UT_uint32 nPoints);
00071 virtual void fillRect(const UT_RGBColor& c, UT_sint32 x, UT_sint32 y, UT_sint32 w, UT_sint32 h);
00072 virtual void invertRect(const UT_Rect*);
00073 virtual void setClipRect(const UT_Rect*);
00074 virtual void scroll(UT_sint32, UT_sint32);
00075 virtual void scroll(UT_sint32 x_dest, UT_sint32 y_dest,
00076 UT_sint32 x_src, UT_sint32 y_src,
00077 UT_sint32 width, UT_sint32 height);
00078 virtual void clearArea(UT_sint32, UT_sint32, UT_sint32, UT_sint32);
00079
00080 virtual void drawImage(GR_Image* pImg, UT_sint32 xDest, UT_sint32 yDest);
00081 virtual void drawRGBImage(GR_Image* pImg, UT_sint32 xDest, UT_sint32 yDest);
00082 virtual void drawGrayImage(GR_Image* pImg, UT_sint32 xDest, UT_sint32 yDest);
00083 virtual void drawBWImage(GR_Image* pImg, UT_sint32 xDest, UT_sint32 yDest);
00084 virtual GR_Image* createNewImage(const char* pszName, const UT_ByteBuf* pBBPNG, UT_sint32 iDisplayWidth, UT_sint32 iDisplayHeight, GR_Image::GRType iType);
00085
00086 virtual bool queryProperties(GR_Graphics::Properties gp) const;
00087
00088 virtual bool startPrint(void);
00089 virtual bool startPage(const char * szPagelabel, UT_uint32 pageNumber,
00090 bool bPortrait, UT_uint32 iWidth, UT_uint32 iHeight);
00091 virtual bool endPrint(void);
00092
00093 virtual void setColorSpace(GR_Graphics::ColorSpace c);
00094 virtual GR_Graphics::ColorSpace getColorSpace(void) const;
00095
00096 virtual void setCursor(GR_Graphics::Cursor c);
00097 virtual GR_Graphics::Cursor getCursor(void) const;
00098
00099 virtual void setColor3D(GR_Color3D c);
00100 virtual UT_RGBColor * getColor3D(GR_Color3D c);
00101 virtual void fillRect(GR_Color3D c, UT_sint32 x, UT_sint32 y, UT_sint32 w, UT_sint32 h);
00102 virtual void fillRect(GR_Color3D c, UT_Rect &r);
00103 virtual void setPageSize(char* pageSizeName, UT_uint32 iwidth = 0, UT_uint32 iheight=0);
00104 virtual void setPageCount(UT_uint32 ) {}
00105
00106 virtual GR_Image * genImageFromRectangle(const UT_Rect & ) { return NULL;}
00107 virtual void saveRectangle(UT_Rect & , UT_uint32 ) {}
00108 virtual void restoreRectangle(UT_uint32 ) {}
00109
00110 protected:
00111
00112 UnixNull_Graphics();
00113 };
00114
00115 #endif