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 #include "gr_Graphics.h"
00028
00029 enum AbiDisplayMode
00030 {
00031 ABI_DISPLAY_BLOCK,
00032 ABI_DISPLAY_INLINE
00033 };
00034
00035 class GR_Graphics;
00036 class GR_Image;
00037 class UT_ByteBuf;
00038 class AD_Document;
00039 class UT_ByteBuf;
00040 class UT_RGBColor;
00041 class UT_Rect;
00042
00043 class ABI_EXPORT GR_EmbedView
00044 {
00045 public:
00046 GR_EmbedView(AD_Document * pDoc, UT_uint32 api );
00047 virtual ~GR_EmbedView(void);
00048 bool getSnapShots(void);
00049 AD_Document * m_pDoc;
00050 UT_uint32 m_iAPI;
00051 bool m_bHasSVGSnapshot;
00052 bool m_bHasPNGSnapshot;
00053 UT_ByteBufPtr m_SVGBuf;
00054 UT_ByteBufPtr m_PNGBuf;
00055 GR_Image * m_pPreview;
00056 UT_UTF8String m_sDataID;
00057 UT_uint32 m_iZoom;
00058 };
00059
00060 class fp_Run;
00061 class ABI_EXPORT GR_EmbedManager
00062 {
00063 public:
00064 GR_EmbedManager(GR_Graphics * pG);
00065 virtual ~GR_EmbedManager();
00066 virtual const char * getObjectType(void) const;
00067 virtual const char * getMimeType(void) const;
00068 virtual const char * getMimeTypeDescription(void) const;
00069 virtual const char * getMimeTypeSuffix(void) const;
00070 virtual GR_EmbedManager * create(GR_Graphics * pG);
00071 virtual void initialize(void);
00072 GR_Graphics * getGraphics(void);
00073 virtual void setGraphics(GR_Graphics * pG);
00074 virtual UT_sint32 makeEmbedView(AD_Document * pDoc, UT_uint32 api, const char * szDataID) ;
00075 virtual void setColor(UT_sint32 uid, const UT_RGBColor & c);
00076 virtual UT_sint32 getWidth(UT_sint32 uid);
00077 virtual UT_sint32 getAscent(UT_sint32 uid) ;
00078 virtual UT_sint32 getDescent(UT_sint32 uid) ;
00079 virtual void loadEmbedData(UT_sint32 uid);
00080 virtual void setDefaultFontSize(UT_sint32 uid, UT_sint32);
00081 virtual void render(UT_sint32 uid, UT_Rect & rec);
00082 virtual void releaseEmbedView(UT_sint32 uid);
00083 virtual void initializeEmbedView(UT_sint32 uid);
00084 virtual void makeSnapShot(UT_sint32 uid, UT_Rect & rec);
00085 virtual bool isDefault(void);
00086 virtual bool modify(UT_sint32 uid);
00087 virtual bool changeAPI(UT_sint32 uid, UT_uint32 api);
00088 virtual bool convert(UT_uint32 iConvType, const UT_ConstByteBufPtr & pFrom,
00089 const UT_ByteBufPtr & pTo);
00090 virtual bool isEdittable(UT_sint32 uid);
00091 virtual bool isResizeable(UT_sint32 uid);
00092 virtual void setRun (UT_sint32 uid, fp_Run * run);
00093 virtual void updateData(UT_sint32 uid, UT_sint32 api);
00094 virtual EV_EditMouseContext getContextualMenu(void) const
00095 { return EV_EMC_EMBED; }
00096 virtual bool setFont(UT_sint32 uid, const GR_Font * pFont);
00097 virtual void setDisplayMode(UT_sint32 uid, AbiDisplayMode mode);
00098
00099 private:
00100 GR_Graphics * m_pG;
00101 UT_GenericVector<GR_EmbedView *> m_vecSnapshots;
00102 };
00103
00104 #endif // __gr_EmbedManager_h__