From 3d9ebded1358395ed81db7a63629b046aec2aeac Mon Sep 17 00:00:00 2001 From: Cédric Bosdonnat Date: Wed, 6 Oct 2010 23:34:50 +0200 Subject: Misc improvements for docx VML import --- oox/inc/oox/helper/helper.hxx | 4 ++-- oox/inc/oox/vml/vmlshape.hxx | 2 ++ oox/inc/oox/vml/vmlshapecontainer.hxx | 2 ++ oox/inc/oox/vml/vmlshapecontext.hxx | 17 +++++++++++++++++ 4 files changed, 23 insertions(+), 2 deletions(-) (limited to 'oox/inc/oox') diff --git a/oox/inc/oox/helper/helper.hxx b/oox/inc/oox/helper/helper.hxx index c68fe9ce83f8..7943f7357824 100644 --- a/oox/inc/oox/helper/helper.hxx +++ b/oox/inc/oox/helper/helper.hxx @@ -94,8 +94,8 @@ const sal_uInt8 WINDOWS_CHARSET_OEM = 255; // ---------------------------------------------------------------------------- const sal_Int32 API_RGB_TRANSPARENT = -1; /// Transparent color for API calls. -const sal_Int32 API_RGB_BLACK = 0x00000; /// Black color for API calls. -const sal_Int32 API_RGB_WHITE = 0xFFFFF; /// White color for API calls. +const sal_Int32 API_RGB_BLACK = 0x000000; /// Black color for API calls. +const sal_Int32 API_RGB_WHITE = 0xFFFFFF; /// White color for API calls. const sal_Int16 API_LINE_NONE = 0; const sal_Int16 API_LINE_HAIR = 2; diff --git a/oox/inc/oox/vml/vmlshape.hxx b/oox/inc/oox/vml/vmlshape.hxx index 7c770df28477..1b5fc99f3eda 100644 --- a/oox/inc/oox/vml/vmlshape.hxx +++ b/oox/inc/oox/vml/vmlshape.hxx @@ -209,6 +209,8 @@ class SimpleShape : public ShapeBase public: explicit SimpleShape( Drawing& rDrawing, const ::rtl::OUString& rService ); + void setService( rtl::OUString aService ) { maService = aService; } + protected: /** Creates the corresponding XShape and inserts it into the passed container. */ virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > diff --git a/oox/inc/oox/vml/vmlshapecontainer.hxx b/oox/inc/oox/vml/vmlshapecontainer.hxx index a878fda2b74c..e1c141cd4cc6 100644 --- a/oox/inc/oox/vml/vmlshapecontainer.hxx +++ b/oox/inc/oox/vml/vmlshapecontainer.hxx @@ -95,6 +95,8 @@ public: const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& rxShapes, const ShapeParentAnchor* pParentAnchor = 0 ) const; + inline void clearShapes( ) { maShapes.clear( ); } + private: typedef RefVector< ShapeType > ShapeTypeVector; typedef RefVector< ShapeBase > ShapeVector; diff --git a/oox/inc/oox/vml/vmlshapecontext.hxx b/oox/inc/oox/vml/vmlshapecontext.hxx index bda7d90f34e2..aaa3fed61e82 100644 --- a/oox/inc/oox/vml/vmlshapecontext.hxx +++ b/oox/inc/oox/vml/vmlshapecontext.hxx @@ -40,6 +40,7 @@ struct ShapeClientData; struct ShapeModel; class ShapeBase; class GroupShape; +class RectangleShape; class ShapeContainer; @@ -118,6 +119,9 @@ private: /** Processes the 'points' attribute. */ void setPoints( const ::rtl::OUString& rPoints ); +protected: + ShapeBase& mrShape; + private: ShapeModel& mrShapeModel; }; @@ -141,6 +145,19 @@ private: // ============================================================================ +class RectangleShapeContext : public ShapeContext +{ +public: + explicit RectangleShapeContext( + ::oox::core::ContextHandler2Helper& rParent, + const AttributeList& rAttribs, + RectangleShape& rShape ); + + virtual ::oox::core::ContextHandlerRef + onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs ); +}; +// ============================================================================ + } // namespace vml } // namespace oox -- cgit v1.2.3