summaryrefslogtreecommitdiff
path: root/vcl/inc/vcl/metaact.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/inc/vcl/metaact.hxx')
-rw-r--r--vcl/inc/vcl/metaact.hxx51
1 files changed, 51 insertions, 0 deletions
diff --git a/vcl/inc/vcl/metaact.hxx b/vcl/inc/vcl/metaact.hxx
index fd8f3b8e985b..87bc75fab2a0 100644
--- a/vcl/inc/vcl/metaact.hxx
+++ b/vcl/inc/vcl/metaact.hxx
@@ -43,6 +43,7 @@
#include <vcl/gdimtf.hxx>
#include <vcl/gfxlink.hxx>
#include <vcl/lineinfo.hxx>
+#include <vcl/rendergraphic.hxx>
class SvStream;
@@ -103,6 +104,7 @@ class SvStream;
#define META_LAYOUTMODE_ACTION (149)
#define META_TEXTLANGUAGE_ACTION (150)
#define META_OVERLINECOLOR_ACTION (151)
+#define META_RENDERGRAPHIC_ACTION (152)
#define META_COMMENT_ACTION (512)
@@ -111,6 +113,11 @@ class SvStream;
struct ImplMetaReadData
{
rtl_TextEncoding meActualCharSet;
+
+ ImplMetaReadData() :
+ meActualCharSet( RTL_TEXTENCODING_ASCII_US )
+ {
+ }
};
// ------------------------------------------------------------------------
@@ -118,6 +125,13 @@ struct ImplMetaReadData
struct ImplMetaWriteData
{
rtl_TextEncoding meActualCharSet;
+ GDIMetaFileWriteFlags mnWriteFlags;
+
+ ImplMetaWriteData() :
+ meActualCharSet( RTL_TEXTENCODING_ASCII_US ),
+ mnWriteFlags( GDIMETAFILE_WRITE_DEFAULT )
+ {
+ }
};
// ------------------------------------------------------------------------
@@ -1544,6 +1558,43 @@ public:
LanguageType GetTextLanguage() const { return meTextLanguage; }
};
+// ---------------------------
+// - MetaRenderGraphicAction -
+// ---------------------------
+
+class VCL_DLLPUBLIC MetaRenderGraphicAction : public MetaAction
+{
+private:
+
+ ::vcl::RenderGraphic maRenderGraphic;
+ Point maPoint;
+ Size maSize;
+ double mfRotateAngle;
+ double mfShearAngleX;
+ double mfShearAngleY;
+
+ virtual sal_Bool Compare( const MetaAction& ) const;
+
+public:
+ DECL_META_ACTION( RenderGraphic, META_RENDERGRAPHIC_ACTION )
+
+ MetaRenderGraphicAction( const Point& rPoint, const Size& rSize,
+ const vcl::RenderGraphic& rRenderData,
+ double fRotateAngle = 0.0,
+ double fShearAngleX = 0.0,
+ double fShearAngleY = 0.0 );
+
+ virtual void Move( long nHorzMove, long nVertMove );
+ virtual void Scale( double fScaleX, double fScaleY );
+
+ const ::vcl::RenderGraphic& GetRenderGraphic() const { return maRenderGraphic; }
+ const Point& GetPoint() const { return maPoint; }
+ const Size& GetSize() const { return maSize; }
+ double GetRotateAngle() const { return mfRotateAngle; }
+ double GetShearAngleX() const { return mfShearAngleX; }
+ double GetShearAngleY() const { return mfShearAngleY; }
+};
+
#endif // _SV_METAACT_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */