Commit 9b7c8cfd authored by Elen.Subbotina's avatar Elen.Subbotina Committed by Alexander Trofimov

(1.0.0.156): ASCOfficeOdfFile

backgrounds slide (все типы)

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@53307 954022d7-b5bf-4e40-9824-e11837661b57
parent d9650395
......@@ -425,7 +425,7 @@ void pptx_conversion_context::end_layout()
void pptx_conversion_context::end_master()
{
get_slide_context().serialize_background(current_master().Background());
get_slide_context().serialize_background(current_master().Background(),true);
get_slide_context().serialize(current_master().Data());
get_slide_context().dump_rels(current_master().Rels());//hyperlinks, mediaitems, ...
......
......@@ -34,6 +34,8 @@ public:
std::vector<drawing_object_description> shapes_;
std::vector<drawing_object_description> tables_;
_CP_OPT(_oox_fill) background_fill_;
void add_drawing(_pptx_drawing const & d,
bool isInternal,
std::wstring const & rid,
......@@ -63,6 +65,9 @@ public:
charts_.clear();
shapes_.clear();
tables_.clear();
background_fill_ = boost::none;
rId_ = 1;
pptx_drawings_ = pptx_drawings::create();
......@@ -95,6 +100,7 @@ void pptx_slide_context::start_slide()
{
impl_->clear();
hlinks_size_ = 0;
default_set();
}
void pptx_slide_context::default_set()
......@@ -195,6 +201,19 @@ std::wstring pptx_slide_context::add_hyperlink(std::wstring const & ref,bool obj
return hId;
}
void pptx_slide_context::add_background(_oox_fill & fill)
{
if (fill.bitmap)
{
bool isMediaInternal = false;
std::wstring ref;
fill.bitmap->rId = get_mediaitems().add_or_find(fill.bitmap->xlink_href_, oox::mediaitems::typeImage, isMediaInternal, ref);
add_rels(isMediaInternal, fill.bitmap->rId, ref, oox::mediaitems::typeImage);
}
impl_->background_fill_ = fill;
}
void pptx_slide_context::set_name(std::wstring const & name)
{
impl_->object_description_.draw_name_ = name;
......@@ -401,15 +420,24 @@ void pptx_slide_context::add_rels( bool isInternal, std::wstring const & rid, st
impl_->add_drawing(isInternal, rid, ref, type);
}
void pptx_slide_context::serialize_background(std::wostream & strm)
void pptx_slide_context::serialize_background(std::wostream & strm, bool always)
{
if (!always && ( (!impl_->background_fill_) || (impl_->background_fill_->type==0))) return;
CP_XML_WRITER(strm)
{
CP_XML_NODE(L"p:bg")
{
CP_XML_NODE(L"p:bgPr")
{
if (impl_->background_fill_)
{
oox_serialize_fill(CP_XML_STREAM(),impl_->background_fill_.get());
}
else
{
CP_XML_NODE(L"a:noFill");
}
CP_XML_NODE(L"a:effectLst");
}
}
......
......@@ -21,6 +21,7 @@ public:
void start_slide();
void end_slide(){}
///////////////////////////////////////////////////////////////////////////////////////////
void set_rect(double width_pt, double height_pt, double x_pt, double y_pt);
void set_translate(double x_pt, double y_pt);
......@@ -50,9 +51,9 @@ public:
void end_shape();
bool empty() const;
//////////////////////////////////////////////////////////////////////////////////////////////
void serialize(std::wostream & strm);
void serialize_background(std::wostream & strm);
void serialize_background(std::wostream & strm, bool always=false);
void dump_rels(rels & Rels);
......@@ -60,6 +61,9 @@ public:
mediaitems & get_mediaitems();
void add_background(_oox_fill & fill);
void add_rels( bool isInternal,
std::wstring const & rid,
std::wstring const & ref,
......
......@@ -353,7 +353,7 @@ void oox_serialize_tcPr(std::wostream & strm, const odf::style_instance* style_i
odf::graphic_format_properties style_graphic = odf::calc_graphic_properties_content(instances);
odf::Compute_GraphicFill(style_graphic, Context.root()->odf_context().drawStyles() ,fill);
odf::Compute_GraphicFill(style_graphic.common_draw_fill_attlist_, Context.root()->odf_context().drawStyles() ,fill);
if (fill.bitmap)
{
......
#ifndef _CPDOCCORE_CALC_STYLES_H_INCLUDED_
#define _CPDOCCORE_CALC_STYLES_H_INCLUDED_
#pragma once
#include "style_graphic_properties.h"
#include "style_text_properties.h"
#include "style_paragraph_properties.h"
#include "style_table_properties.h"
#include "style_presentation.h"
#include "odfcontext.h"
#include <vector>
......@@ -26,5 +26,3 @@ style_table_cell_properties_attlist calc_table_cell_properties(const std::vector
}
}
#endif
\ No newline at end of file
......@@ -57,6 +57,40 @@ void apply_length_or_percent(_CP_OPT(length_or_percent) & Value, const _CP_OPT(l
}
}
}
void common_draw_fill_attlist::add_attributes( const xml::attributes_wc_ptr & Attributes )
{
CP_APPLY_ATTR(L"draw:fill-color", draw_fill_color_);
CP_APPLY_ATTR(L"draw:fill", draw_fill_);
CP_APPLY_ATTR(L"draw:opacity", draw_opacity_);
CP_APPLY_ATTR(L"draw:image-opacity",draw_image_opacity_);
CP_APPLY_ATTR(L"draw:fill-image-name", draw_fill_image_name_);
CP_APPLY_ATTR(L"draw:fill-gradient-name", draw_fill_gradient_name_);
CP_APPLY_ATTR(L"draw:fill-hatch-name", draw_fill_hatch_name_);
CP_APPLY_ATTR(L"draw:opacity-name", draw_opacity_name_);
CP_APPLY_ATTR(L"draw:fill-hatch-solid", draw_fill_hatch_solid_);
CP_APPLY_ATTR(L"style:repeat", style_repeat_);
}
void common_draw_fill_attlist::apply_from(const common_draw_fill_attlist & Other)
{
_CP_APPLY_PROP2(draw_fill_);
_CP_APPLY_PROP2(draw_fill_image_name_);
_CP_APPLY_PROP2(draw_fill_gradient_name_);
_CP_APPLY_PROP2(draw_fill_hatch_name_);
_CP_APPLY_PROP2(draw_opacity_name_);
_CP_APPLY_PROP2(draw_opacity_);
_CP_APPLY_PROP2(draw_image_opacity_);
_CP_APPLY_PROP2(draw_fill_hatch_solid_);
_CP_APPLY_PROP2(style_repeat_);
_CP_APPLY_PROP2(draw_fill_color_);
}
void common_horizontal_margin_attlist::add_attributes( const xml::attributes_wc_ptr & Attributes )
{
......
......@@ -22,6 +22,7 @@
#include "linewidth.h"
#include "presentationclass.h"
#include "xlink.h"
#include "drawfill.h"
#define _CP_APPLY_PROP(A, B) \
if (B) \
......@@ -37,6 +38,29 @@ namespace odf {
void apply_line_width(_CP_OPT(line_width) & A, const _CP_OPT(line_width) & B);
void apply_length_or_percent(_CP_OPT(length_or_percent) & Value, const _CP_OPT(length_or_percent) & Other);
// common_draw_fill_attlist
class common_draw_fill_attlist
{
public:
void add_attributes( const xml::attributes_wc_ptr & Attributes );
void apply_from(const common_draw_fill_attlist & Other);
_CP_OPT(percent) draw_opacity_;
_CP_OPT(percent) draw_image_opacity_;
_CP_OPT(draw_fill) draw_fill_;
_CP_OPT(color) draw_fill_color_;
_CP_OPT(std::wstring) draw_fill_image_name_;
_CP_OPT(std::wstring) draw_fill_gradient_name_;
_CP_OPT(std::wstring) draw_fill_hatch_name_;
_CP_OPT(std::wstring) draw_opacity_name_;
_CP_OPT(bool) draw_fill_hatch_solid_;
_CP_OPT(std::wstring) style_repeat_;//no-repeat,repeat,stretch
};
// common-horizontal-margin-attlist
class common_horizontal_margin_attlist
{
......
......@@ -313,7 +313,7 @@ void Compute_GradientFill(draw_gradient * image_style,oox::oox_gradient_fill_ptr
}
void Compute_GraphicFill(graphic_format_properties & props, styles_lite_container &styles, oox::_oox_fill & fill)
void Compute_GraphicFill(const common_draw_fill_attlist & props, styles_lite_container &styles, oox::_oox_fill & fill)
{
fill.type = 0;
......
......@@ -35,7 +35,7 @@ int Compute_BorderWidth(const graphic_format_properties & graphicProperties, Bor
int GetMargin(const graphic_format_properties & graphicProperties, BorderSide borderSide);//emu
void Compute_GraphicFill(graphic_format_properties & props, styles_lite_container &styles, oox::_oox_fill & fill);
void Compute_GraphicFill(const common_draw_fill_attlist & props, styles_lite_container &styles, oox::_oox_fill & fill);
typedef double double_4[4];
bool parse_clipping(std::wstring strClipping,std::wstring fileName,double_4 & clip_rect);
......
......@@ -124,7 +124,7 @@ void draw_frame::pptx_convert(oox::pptx_conversion_context & Context)
properties.apply_to(Context.get_slide_context().get_properties());
oox::_oox_fill fill;
Compute_GraphicFill(properties, Context.root()->odf_context().drawStyles() ,fill);
Compute_GraphicFill(properties.common_draw_fill_attlist_, Context.root()->odf_context().drawStyles() ,fill);
Context.get_slide_context().set_fill(fill);
Context.get_slide_context().set_property(odf::_property(L"border_width_left", Compute_BorderWidth(properties, sideLeft)));
......
......@@ -124,7 +124,7 @@ void draw_frame::xlsx_convert(oox::xlsx_conversion_context & Context)
Context.get_drawing_context().set_clipping(strRectClip.substr(5,strRectClip.length()-6));
}
oox::_oox_fill fill;
Compute_GraphicFill(properties, Context.root()->odf_context().drawStyles() ,fill);
Compute_GraphicFill(properties.common_draw_fill_attlist_, Context.root()->odf_context().drawStyles() ,fill);
Context.get_drawing_context().set_fill(fill);
////////////////////////////////////////////////
//BOOST_FOREACH(office_element_ptr const & elm, content_)
......
......@@ -14,7 +14,7 @@
#include <cpdoccore/odf/odf_document.h>
#include "calcs_styles.h"
#include "search_table_cell.h"
#include "draw_common.h"
#include <cpdoccore/xml/simple_xml_writer.h>
......@@ -32,6 +32,22 @@ void draw_page::pptx_convert(oox::pptx_conversion_context & Context)
Context.start_page(pageName, pageStyleName, layoutName,masterName);
if (draw_page_attr_.draw_style_name_)
{
style_instance * style_inst = Context.root()->odf_context().styleContainer().style_by_name(pageStyleName,style_family::DrawingPage,false);
if ((style_inst) && (style_inst->content()))
{
const style_drawing_page_properties * properties = style_inst->content()->get_style_drawing_page_properties();
if (properties)
{
oox::_oox_fill fill;
Compute_GraphicFill(properties->content().common_draw_fill_attlist_, Context.root()->odf_context().drawStyles() ,fill);
Context.get_slide_context().add_background(fill);
}
}
}
BOOST_FOREACH(const office_element_ptr& elm, content_)
{
elm->pptx_convert(Context);
......
......@@ -110,7 +110,7 @@ void draw_shape::common_pptx_convert(oox::pptx_conversion_context & Context)
}
///////////////////////////////////////////////////////////////////////////////////////
oox::_oox_fill fill;
Compute_GraphicFill(properties, Context.root()->odf_context().drawStyles() ,fill);
Compute_GraphicFill(properties.common_draw_fill_attlist_, Context.root()->odf_context().drawStyles() ,fill);
Context.get_slide_context().set_fill(fill);
////////////////////////////////////////////////////////////////////////////////////
//////Context.get_text_context().start_drawing_content();
......
......@@ -98,7 +98,7 @@ void draw_shape::common_xlsx_convert(oox::xlsx_conversion_context & Context)
}
oox::_oox_fill fill;
Compute_GraphicFill(properties, Context.root()->odf_context().drawStyles() ,fill);
Compute_GraphicFill(properties.common_draw_fill_attlist_, Context.root()->odf_context().drawStyles() ,fill);
Context.get_drawing_context().set_fill(fill);
//////////////////////////////////////////////////////////////////////////////////////
Context.get_text_context().start_drawing_content();
......
......@@ -14,23 +14,12 @@ using xml::xml_char_wc;
void graphic_format_properties::add_attributes( const xml::attributes_wc_ptr & Attributes )
{
CP_APPLY_ATTR(L"draw:fill-color", draw_fill_color_);
CP_APPLY_ATTR(L"draw:fill", draw_fill_);
CP_APPLY_ATTR(L"draw:opacity", draw_opacity_);
CP_APPLY_ATTR(L"draw:image-opacity",draw_image_opacity_);
CP_APPLY_ATTR(L"draw:fill-image-name", draw_fill_image_name_);
CP_APPLY_ATTR(L"draw:fill-gradient-name", draw_fill_gradient_name_);
CP_APPLY_ATTR(L"draw:fill-hatch-name", draw_fill_hatch_name_);
CP_APPLY_ATTR(L"draw:opacity-name", draw_opacity_name_);
common_draw_fill_attlist_.add_attributes(Attributes);
CP_APPLY_ATTR(L"draw:wrap-influence-on-position", draw_wrap_influence_on_position_);
CP_APPLY_ATTR(L"draw:textarea-horizontal-align", draw_textarea_horizontal_align_);
CP_APPLY_ATTR(L"draw:textarea-vertical-align", draw_textarea_vertical_align_);
CP_APPLY_ATTR(L"draw:fill-hatch-solid", draw_fill_hatch_solid_);
CP_APPLY_ATTR(L"draw:stroke", draw_stroke_);
CP_APPLY_ATTR(L"draw:stroke-dash", draw_stroke_dash_);
CP_APPLY_ATTR(L"draw:marker-start", draw_marker_start_);
......@@ -57,7 +46,6 @@ void graphic_format_properties::add_attributes( const xml::attributes_wc_ptr & A
CP_APPLY_ATTR(L"style:flow-with-text", style_flow_with_text_);
CP_APPLY_ATTR(L"style:overflow-behavior", style_overflow_behavior_);
CP_APPLY_ATTR(L"style:mirror", style_mirror_);
CP_APPLY_ATTR(L"style:repeat", style_repeat_);
common_draw_rel_size_attlist_.add_attributes(Attributes);
common_horizontal_margin_attlist_.add_attributes(Attributes);
......@@ -78,7 +66,7 @@ void graphic_format_properties::add_attributes( const xml::attributes_wc_ptr & A
void graphic_format_properties::apply_to(std::vector<_property> & properties)
{
if (draw_fill_color_) properties.push_back(_property(L"fill-color", draw_fill_color_->get_hex_value() ));
if (common_draw_fill_attlist_.draw_fill_color_) properties.push_back(_property(L"fill-color", common_draw_fill_attlist_.draw_fill_color_->get_hex_value() ));
if (draw_stroke_) properties.push_back(_property(L"stroke", draw_stroke_->get_type() ));
if (svg_stroke_color_) properties.push_back(_property(L"stroke-color", svg_stroke_color_->get_hex_value() ));
......@@ -94,21 +82,10 @@ void graphic_format_properties::apply_to(std::vector<_property> & properties)
}
void graphic_format_properties::apply_from(const graphic_format_properties & Other)
{
_CP_APPLY_PROP2(draw_fill_);
_CP_APPLY_PROP2(draw_fill_image_name_);
_CP_APPLY_PROP2(draw_fill_gradient_name_);
_CP_APPLY_PROP2(draw_fill_hatch_name_);
_CP_APPLY_PROP2(draw_opacity_name_);
_CP_APPLY_PROP2(draw_fill_color_);
_CP_APPLY_PROP2(draw_stroke_);
_CP_APPLY_PROP2(draw_stroke_dash_);
_CP_APPLY_PROP2(draw_marker_start_);
_CP_APPLY_PROP2(draw_marker_end_);
_CP_APPLY_PROP2(draw_opacity_);
_CP_APPLY_PROP2(draw_image_opacity_);
_CP_APPLY_PROP2(draw_fill_hatch_solid_);
_CP_APPLY_PROP2(draw_textarea_horizontal_align_);
_CP_APPLY_PROP2(draw_textarea_vertical_align_);
......@@ -133,10 +110,10 @@ void graphic_format_properties::apply_from(const graphic_format_properties & Oth
_CP_APPLY_PROP2(style_flow_with_text_);
_CP_APPLY_PROP2(style_overflow_behavior_);
_CP_APPLY_PROP2(style_mirror_);
_CP_APPLY_PROP2(style_repeat_);
_CP_APPLY_PROP2(fo_clip_);
_CP_APPLY_PROP2(draw_wrap_influence_on_position_);
common_draw_fill_attlist_.apply_from(Other.common_draw_fill_attlist_);
common_draw_rel_size_attlist_.apply_from(Other.common_draw_rel_size_attlist_);
common_horizontal_margin_attlist_.apply_from(Other.common_horizontal_margin_attlist_);
common_vertical_margin_attlist_.apply_from(Other.common_vertical_margin_attlist_);
......@@ -167,7 +144,10 @@ void style_graphic_properties::add_attributes( const xml::attributes_wc_ptr & At
void style_graphic_properties::add_child_element( xml::sax * Reader, const ::std::wstring & Ns, const ::std::wstring & Name)
{
CP_NOT_APPLICABLE_ELM();
// CP_NOT_APPLICABLE_ELM();
//if (CP_CHECK_NAME(L"text", L"list-style")
// styles_.add_child_element(Reader, Ns, Name, getContext()); ...
}
}
......
......@@ -22,7 +22,6 @@
#include "linestyle.h"
#include "markerstyle.h"
#include "verticalalign.h"
#include "drawfill.h"
#include "gradientstyle.h"
......@@ -48,21 +47,6 @@ public:
_CP_OPT(length_or_percent) fo_max_width_;
_CP_OPT(length_or_percent) fo_max_height_;
////////////////////////////////
_CP_OPT(percent) draw_opacity_;
_CP_OPT(percent) draw_image_opacity_;
_CP_OPT(draw_fill) draw_fill_;
_CP_OPT(color) draw_fill_color_;
_CP_OPT(std::wstring) draw_fill_image_name_;
_CP_OPT(std::wstring) draw_fill_gradient_name_;
_CP_OPT(std::wstring) draw_fill_hatch_name_;
_CP_OPT(std::wstring) draw_opacity_name_;
_CP_OPT(bool) draw_fill_hatch_solid_;
_CP_OPT(std::wstring) style_repeat_;//no-repeat,repeat,stretch
///////////////////////////////
_CP_OPT(color) svg_stroke_color_;
_CP_OPT(length_or_percent) svg_stroke_opacity_;
......@@ -76,6 +60,8 @@ public:
_CP_OPT(text_align) draw_textarea_horizontal_align_;
_CP_OPT(vertical_align) draw_textarea_vertical_align_;
common_draw_fill_attlist common_draw_fill_attlist_;
common_horizontal_margin_attlist common_horizontal_margin_attlist_;
common_vertical_margin_attlist common_vertical_margin_attlist_;
......
......@@ -70,13 +70,21 @@ void style_drawing_page_properties::add_child_element( xml::sax * Reader, const
void drawing_page_properties::add_attributes( const xml::attributes_wc_ptr & Attributes )
{
CP_APPLY_ATTR(L"draw:fill", draw_fill_);
CP_APPLY_ATTR(L"draw:fill-image-name", draw_fill_image_name_);
common_draw_fill_attlist_.add_attributes(Attributes);
CP_APPLY_ATTR(L"draw:fill-image-height", draw_fill_image_height_);
CP_APPLY_ATTR(L"draw:fill-image-width", draw_fill_image_width_);
CP_APPLY_ATTR(L"draw:background-size", draw_background_size_);
}
void drawing_page_properties::apply_from(const drawing_page_properties & Other)
{
_CP_APPLY_PROP2(draw_fill_);
_CP_APPLY_PROP2(draw_fill_image_name_);
common_draw_fill_attlist_.apply_from(Other.common_draw_fill_attlist_);
_CP_APPLY_PROP2(draw_fill_image_height_);
_CP_APPLY_PROP2(draw_fill_image_width_);
_CP_APPLY_PROP2(draw_background_size_);
}
}
}
......@@ -50,18 +50,16 @@ public:
void add_attributes( const xml::attributes_wc_ptr & Attributes );
void apply_from(const drawing_page_properties & Other);
////////////
common_draw_fill_attlist common_draw_fill_attlist_;
_CP_OPT(draw_fill) draw_fill_;
_CP_OPT(std::wstring) draw_fill_image_name_;
_CP_OPT(color) draw_fill_color_;
//draw:fill-hatch-name
//draw:fill-gradient-name
_CP_OPT(length) draw_fill_image_height_;
_CP_OPT(length) draw_fill_image_width_;
_CP_OPT(std::wstring) draw_background_size_;//"border" or "full"
//_CP_OPT(std::wstring) presentation_transition_type_;
//presentation:transition-style
//presentation:transition-speed
//presentation:display-footer
//presentation:display-page-number
//presentation:display-date-time
......@@ -87,15 +85,13 @@ public:
CPDOCCORE_DEFINE_VISITABLE();
const drawing_page_properties & content() const { return drawing_page_properties_; }
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
virtual void add_child_element( xml::sax * Reader, const ::std::wstring & Ns, const ::std::wstring & Name);
//virtual void pptx_convert(oox::pptx_conversion_context & Context);
const drawing_page_properties & content() const { return drawing_page_properties_; }
public:
drawing_page_properties drawing_page_properties_;
};
......
......@@ -16,11 +16,14 @@
#include "style_table_properties.h"
#include "style_graphic_properties.h"
#include "style_chart_properties.h"
#include "style_presentation.h"
#include "serialize_elements.h"
#include <cpdoccore/odf/odf_document.h>
#include "odfcontext.h"
#include "draw_common.h"
namespace cpdoccore {
......@@ -71,6 +74,10 @@ style_chart_properties * style_content::get_style_chart_properties() const
{
return dynamic_cast<style_chart_properties *>(style_chart_properties_.get());
}
style_drawing_page_properties * style_content::get_style_drawing_page_properties() const
{
return dynamic_cast<style_drawing_page_properties *>(style_drawing_page_properties_.get());
}
void style_content::xlsx_convert(oox::xlsx_conversion_context & Context)
{
......@@ -148,6 +155,10 @@ void style_content::add_child_element( xml::sax * Reader, const ::std::wstring &
{
CP_CREATE_ELEMENT_SIMPLE(style_chart_properties_);
}
else if CP_CHECK_NAME(L"style", L"drawing-page-properties")
{
CP_CREATE_ELEMENT_SIMPLE(style_drawing_page_properties_);
}
else
{
not_applicable_element(L"style-content", Reader, Ns, Name);
......@@ -1160,6 +1171,24 @@ void style_master_page::add_text(const std::wstring & Text)
void style_master_page::pptx_convert(oox::pptx_conversion_context & Context)
{
if (style_master_page_attlist_.draw_style_name_)
{
std::wstring style_name = style_master_page_attlist_.draw_style_name_.get();
style_instance * style_inst = Context.root()->odf_context().styleContainer().style_by_name(style_name,style_family::DrawingPage,true);
if ((style_inst) && (style_inst->content()))
{
const style_drawing_page_properties * properties = style_inst->content()->get_style_drawing_page_properties();
if (properties)
{
oox::_oox_fill fill;
Compute_GraphicFill(properties->content().common_draw_fill_attlist_, Context.root()->odf_context().drawStyles() ,fill);
Context.get_slide_context().add_background(fill);
}
}
}
BOOST_FOREACH(office_element_ptr elm, content_)
{
elm->pptx_convert(Context);
......
......@@ -49,6 +49,7 @@ class style_table_row_properties;
class style_table_column_properties;
class style_chart_properties;
class style_table_properties;
class style_drawing_page_properties;
class style_content : noncopyable
{
......@@ -57,7 +58,6 @@ public:
void docx_convert(oox::docx_conversion_context & Context);
void xlsx_convert(oox::xlsx_conversion_context & Context);
//void pptx_convert(oox::pptx_conversion_context & Context);
style_text_properties * get_style_text_properties() const;
style_paragraph_properties * get_style_paragraph_properties() const;
......@@ -68,6 +68,7 @@ public:
style_table_row_properties * get_style_table_row_properties() const;
style_table_column_properties * get_style_table_column_properties() const;
style_chart_properties * get_style_chart_properties() const;
style_drawing_page_properties* get_style_drawing_page_properties() const;
private:
style_family style_family_;
......@@ -82,6 +83,7 @@ private:
office_element_ptr style_chart_properties_;
office_element_ptr style_graphic_properties_;
office_element_ptr style_table_cell_properties_;
office_element_ptr style_drawing_page_properties_;
};
......@@ -395,9 +397,11 @@ private:
virtual void add_text(const std::wstring & Text);
private:
office_element_ptr_array style_master_page_;
office_element_ptr style_handout_master_; // TODO
office_element_ptr draw_layer_set_; // TODO
office_element_ptr_array style_master_page_; //
office_element_ptr style_handout_master_; // - ..
office_element_ptr draw_layer_set_; // .. .
//
// .
friend class odf_document;
};
......@@ -415,7 +419,8 @@ public:
_CP_OPT(style_ref) style_name_;
_CP_OPT(std::wstring) style_display_name_;
_CP_OPT(style_ref) style_page_layout_name_;
_CP_OPT(style_ref) draw_style_name_;
_CP_OPT(std::wstring) draw_style_name_;
_CP_OPT(style_ref) style_next_style_name_;
};
......
......@@ -175,7 +175,7 @@ void table_table::pptx_convert(oox::pptx_conversion_context & Context)
{
const graphic_format_properties & style_graphic = inst->content()->get_style_graphic_properties()->content();
oox::_oox_fill fill;
Compute_GraphicFill((graphic_format_properties &)style_graphic, Context.root()->odf_context().drawStyles() ,fill);
Compute_GraphicFill(style_graphic.common_draw_fill_attlist_, Context.root()->odf_context().drawStyles() ,fill);
if (fill.bitmap)
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment