Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __gr_EmbedManager_h__
00022 #define __gr_EmbedManager_h__
00023 #include "ut_string_class.h"
00024 #include "ut_types.h"
00025 #include "ut_vector.h"
00026 #include "ev_EditBits.h"
00027
00028 class GR_Graphics;
00029 class GR_Image;
00030 class UT_ByteBuf;
00031 class AD_Document;
00032 class UT_ByteBuf;
00033 class UT_RGBColor;
00034 class UT_Rect;
00035
00036 class ABI_EXPORT GR_EmbedView
00037 {
00038 public:
00039 GR_EmbedView(AD_Document * pDoc, UT_uint32 api );
00040 virtual ~GR_EmbedView(void);
00041 bool getSnapShots(void);
00042 AD_Document * m_pDoc;
00043 UT_uint32 m_iAPI;
00044 bool m_bHasSVGSnapshot;
00045 bool m_bHasPNGSnapshot;
00046 UT_ByteBuf * m_SVGBuf;
00047 UT_ByteBuf * m_PNGBuf;
00048 GR_Image * m_pPreview;
00049 UT_UTF8String m_sDataID;
00050 UT_uint32 m_iZoom;
00051 };
00052
00053 class fp_Run;
00054 class ABI_EXPORT GR_EmbedManager
00055 {
00056 public:
00057 GR_EmbedManager(GR_Graphics * pG);
00058 virtual ~GR_EmbedManager();
00059 virtual const char * getObjectType(void) const;
00060 virtual const char * getMimeType(void) const;
00061 virtual const char * getMimeTypeDescription(void) const;
00062 virtual const char * getMimeTypeSuffix(void) const;
00063 virtual GR_EmbedManager * create(GR_Graphics * pG);
00064 virtual void initialize(void);
00065 GR_Graphics * getGraphics(void);
00066 virtual void setGraphics(GR_Graphics * pG);
00067 virtual UT_sint32 makeEmbedView(AD_Document * pDoc, UT_uint32 api, const char * szDataID) ;
00068 virtual void setColor(UT_sint32 uid, const UT_RGBColor & c);
00069 virtual UT_sint32 getWidth(UT_sint32 uid);
00070 virtual UT_sint32 getAscent(UT_sint32 uid) ;
00071 virtual UT_sint32 getDescent(UT_sint32 uid) ;
00072 virtual void loadEmbedData(UT_sint32 uid);
00073 virtual void setDefaultFontSize(UT_sint32 uid, UT_sint32);
00074 virtual void render(UT_sint32 uid, UT_Rect & rec);
00075 virtual void releaseEmbedView(UT_sint32 uid);
00076 virtual void initializeEmbedView(UT_sint32 uid);
00077 virtual void makeSnapShot(UT_sint32 uid, UT_Rect & rec);
00078 virtual bool isDefault(void);
00079 virtual bool modify(UT_sint32 uid);
00080 virtual bool changeAPI(UT_sint32 uid, UT_uint32 api);
00081 virtual bool convert(UT_uint32 iConvType, UT_ByteBuf & pFrom, UT_ByteBuf & pTo);
00082 virtual bool isEdittable(UT_sint32 uid);
00083 virtual bool isResizeable(UT_sint32 uid);
00084 virtual void setRun (UT_sint32 uid, fp_Run * run);
00085 virtual void updateData(UT_sint32 uid, UT_sint32 api);
00086 virtual EV_EditMouseContext getContextualMenu(void) const
00087 { return EV_EMC_EMBED; }
00088
00089 private:
00090 GR_Graphics * m_pG;
00091 UT_GenericVector<GR_EmbedView *> m_vecSnapshots;
00092 };
00093
00094 #endif // __gr_EmbedManager_h__