unioffice/vmldrawing/vmldrawing.go

94 lines
16 KiB
Go
Raw Normal View History

2020-08-23 14:15:53 +00:00
//
// Copyright 2020 FoxyUtils ehf. All rights reserved.
//
// This is a commercial product and requires a license to operate.
// A trial license can be obtained at https://unidoc.io
//
// DO NOT EDIT: generated by unitwist Go source code obfuscator.
//
// Use of this source code is governed by the UniDoc End User License Agreement
// terms that can be accessed at https://unidoc.io/eula/
2022-02-25 19:20:45 +00:00
package vmldrawing ;import (_f "encoding/xml";_e "fmt";_fb "github.com/unidoc/unioffice";_ff "github.com/unidoc/unioffice/common/logger";_bf "github.com/unidoc/unioffice/schema/soo/ofc/sharedTypes";_b "github.com/unidoc/unioffice/schema/urn/schemas_microsoft_com/office/excel";_fc "github.com/unidoc/unioffice/schema/urn/schemas_microsoft_com/vml";_g "strconv";_d "strings";);
2021-07-30 17:03:26 +00:00
2022-02-05 13:05:36 +00:00
// FontFamily returns fontFamily of the text.
2022-02-25 19:20:45 +00:00
func (_ac *TextpathStyle )FontFamily ()string {return _ac ._ef };
2020-08-23 14:15:53 +00:00
2022-02-25 19:20:45 +00:00
// NewCommentDrawing constructs a new comment drawing.
func NewCommentDrawing ()*Container {_a :=NewContainer ();_a .Layout =_fc .NewOfcShapelayout ();_a .Layout .ExtAttr =_fc .ST_ExtEdit ;_a .Layout .Idmap =_fc .NewOfcCT_IdMap ();_a .Layout .Idmap .DataAttr =_fb .String ("\u0031");_a .Layout .Idmap .ExtAttr =_fc .ST_ExtEdit ;_a .ShapeType =_fc .NewShapetype ();_a .ShapeType .IdAttr =_fb .String ("_\u0078\u0030\u0030\u0030\u0030\u005f\u0074\u0032\u0030\u0032");_a .ShapeType .CoordsizeAttr =_fb .String ("2\u0031\u0036\u0030\u0030\u002c\u0032\u0031\u0036\u0030\u0030");_a .ShapeType .SptAttr =_fb .Float32 (202);_a .ShapeType .PathAttr =_fb .String ("\u006d\u0030\u002c0l\u0030\u002c\u0032\u0031\u0036\u0030\u0030\u002c\u00321\u00360\u0030,\u00321\u0036\u0030\u0030\u002c\u0032\u0031\u0036\u0030\u0030\u002c\u0030\u0078\u0065");_ed :=_fc .NewEG_ShapeElements ();_a .ShapeType .EG_ShapeElements =append (_a .ShapeType .EG_ShapeElements ,_ed );_ed .Path =_fc .NewPath ();_ed .Path .GradientshapeokAttr =_bf .ST_TrueFalseT ;_ed .Path .ConnecttypeAttr =_fc .OfcST_ConnectTypeRect ;return _a ;};type Container struct{Layout *_fc .OfcShapelayout ;ShapeType *_fc .Shapetype ;Shape []*_fc .Shape ;};const (ShapeStylePositionAbsolute ="\u0061\u0062\u0073\u006f\u006c\u0075\u0074\u0065";ShapeStylePositionRelative ="\u0072\u0065\u006c\u0061\u0074\u0069\u0076\u0065";);
2021-07-30 17:03:26 +00:00
2022-02-25 19:20:45 +00:00
// SetItalic sets text to italic.
func (_fgac *TextpathStyle )SetItalic (italic bool ){_fgac ._bcaf =italic };
2021-07-30 17:03:26 +00:00
2022-02-25 19:20:45 +00:00
// Top get top attribute of shape style.
func (_gaa *ShapeStyle )Top ()float64 {return _gaa ._eca };
2021-07-30 17:03:26 +00:00
2022-02-25 19:20:45 +00:00
// NewCommentShape creates a new comment shape for a given cell index. The
// indices here are zero based.
func NewCommentShape (col ,row int64 )*_fc .Shape {_cc :=_fc .NewShape ();_cc .IdAttr =_fb .String (_e .Sprintf ("\u0063\u0073\u005f\u0025\u0064\u005f\u0025\u0064",col ,row ));_cc .TypeAttr =_fb .String ("\u0023\u005f\u00780\u0030\u0030\u0030\u005f\u0074\u0032\u0030\u0032");_cc .StyleAttr =_fb .String ("\u0070\u006f\u0073i\u0074\u0069\u006f\u006e\u003a\u0061\u0062\u0073\u006f\u006cu\u0074\u0065\u003b\u006d\u0061\u0072\u0067\u0069\u006e\u002d\u006c\u0065\u0066\u0074:\u0038\u0030\u0070\u0074;\u006d\u0061\u0072\u0067\u0069n-\u0074o\u0070\u003a\u0032pt\u003b\u0077\u0069\u0064\u0074\u0068\u003a1\u0030\u0034\u0070\u0074\u003b\u0068\u0065\u0069\u0067\u0068\u0074\u003a\u0037\u0036\u0070\u0074\u003b\u007a\u002d\u0069\u006e\u0064\u0065x\u003a\u0031\u003bv\u0069\u0073\u0069\u0062\u0069\u006c\u0069t\u0079\u003a\u0068\u0069\u0064\u0064\u0065\u006e");_cc .FillcolorAttr =_fb .String ("\u0023f\u0062\u0066\u0036\u0064\u0036");_cc .StrokecolorAttr =_fb .String ("\u0023e\u0064\u0065\u0061\u0061\u0031");_cg :=_fc .NewEG_ShapeElements ();_cg .Fill =_fc .NewFill ();_cg .Fill .Color2Attr =_fb .String ("\u0023f\u0062\u0066\u0065\u0038\u0032");_cg .Fill .AngleAttr =_fb .Float64 (-180);_cg .Fill .TypeAttr =_fc .ST_FillTypeGradient ;_cg .Fill .Fill =_fc .NewOfcFill ();_cg .Fill .Fill .ExtAttr =_fc .ST_ExtView ;_cg .Fill .Fill .TypeAttr =_fc .OfcST_FillTypeGradientUnscaled ;_cc .EG_ShapeElements =append (_cc .EG_ShapeElements ,_cg );_gd :=_fc .NewEG_ShapeElements ();_gd .Shadow =_fc .NewShadow ();_gd .Shadow .OnAttr =_bf .ST_TrueFalseT ;_gd .Shadow .ObscuredAttr =_bf .ST_TrueFalseT ;_cc .EG_ShapeElements =append (_cc .EG_ShapeElements ,_gd );_ce :=_fc .NewEG_ShapeElements ();_ce .Path =_fc .NewPath ();_ce .Path .ConnecttypeAttr =_fc .OfcST_ConnectTypeNone ;_cc .EG_ShapeElements =append (_cc .EG_ShapeElements ,_ce );_gg :=_fc .NewEG_ShapeElements ();_gg .Textbox =_fc .NewTextbox ();_gg .Textbox .StyleAttr =_fb .String ("\u006d\u0073\u006f\u002ddi\u0072\u0065\u0063\u0074\u0069\u006f\u006e\u002d\u0061\u006c\u0074\u003a\u0061\u0075t\u006f");_cc .EG_ShapeElements =append (_cc .EG_ShapeElements ,_gg );_fcg :=_fc .NewEG_ShapeElements ();_fcg .ClientData =_b .NewClientData ();_fcg .ClientData .ObjectTypeAttr =_b .ST_ObjectTypeNote ;_fcg .ClientData .MoveWithCells =_bf .ST_TrueFalseBlankT ;_fcg .ClientData .SizeWithCells =_bf .ST_TrueFalseBlankT ;_fcg .ClientData .Anchor =_fb .String ("\u0031,\u0020\u0031\u0035\u002c\u0020\u0030\u002c\u0020\u0032\u002c\u00202\u002c\u0020\u0035\u0034\u002c\u0020\u0035\u002c\u0020\u0033");_fcg .ClientData .AutoFill =_bf .ST_TrueFalseBlankFalse ;_fcg .ClientData .Row =_fb .Int64 (row );_fcg .ClientData .Column =_fb .Int64 (col );_cc .EG_ShapeElements =append (_cc .EG_ShapeElements ,_fcg );return _cc ;};
2022-01-15 21:17:38 +00:00
2022-02-25 19:20:45 +00:00
// SetBold sets text to bold.
func (_aea *TextpathStyle )SetBold (bold bool ){_aea ._fef =bold };
2022-01-15 21:17:38 +00:00
2022-02-25 19:20:45 +00:00
// SetFontSize sets text's fontSize.
func (_faa *TextpathStyle )SetFontSize (fontSize int64 ){_faa ._dec =fontSize };
2021-07-30 17:03:26 +00:00
2022-02-25 19:20:45 +00:00
// Height return height of shape.
func (_gag *ShapeStyle )Height ()float64 {return _gag ._ecg };
2022-01-15 21:17:38 +00:00
2022-02-05 13:05:36 +00:00
// SetWidth set width of shape.
2022-02-25 19:20:45 +00:00
func (_aee *ShapeStyle )SetWidth (width float64 ){_aee ._gfd =width };
2021-07-30 17:03:26 +00:00
2022-02-25 19:20:45 +00:00
// Left get left attribute of shape style.
func (_fga *ShapeStyle )Left ()float64 {return _fga ._ecd };
2022-02-05 13:05:36 +00:00
2022-02-25 19:20:45 +00:00
// TextpathStyle is style attribute of element v:textpath.
type TextpathStyle struct{_ef string ;_dec int64 ;_fef bool ;_bcaf bool ;};
2022-02-05 13:05:36 +00:00
2022-02-25 19:20:45 +00:00
// Position get position attribute of shape style.
func (_dda *ShapeStyle )Position ()string {return _dda ._bcb };
2021-07-30 17:03:26 +00:00
2022-02-25 19:20:45 +00:00
// IsItalic returns true if text is italic.
func (_fcdd *TextpathStyle )IsItalic ()bool {return _fcdd ._bcaf };
2021-07-30 17:03:26 +00:00
2022-02-25 19:20:45 +00:00
// NewTextpathStyle accept value of string style attribute of element v:textpath and format it to generate TextpathStyle.
func NewTextpathStyle (style string )TextpathStyle {_cde :=TextpathStyle {_ef :"\u0022C\u0061\u006c\u0069\u0062\u0072\u0069\"",_dec :44,_fef :false ,_bcaf :false };_bcf :=_d .Split (style ,"\u003b");for _ ,_bac :=range _bcf {_eb :=_d .Split (_bac ,"\u003a");if len (_eb )!=2{continue ;};switch _eb [0]{case "f\u006f\u006e\u0074\u002d\u0066\u0061\u006d\u0069\u006c\u0079":_cde ._ef =_eb [1];break ;case "\u0066o\u006e\u0074\u002d\u0073\u0069\u007ae":_cde ._dec ,_ =_g .ParseInt (_d .ReplaceAll (_eb [1],"\u0070\u0074",""),10,64);break ;case "f\u006f\u006e\u0074\u002d\u0077\u0065\u0069\u0067\u0068\u0074":_cde ._fef =_eb [1]=="\u0062\u006f\u006c\u0064";break ;case "\u0066\u006f\u006e\u0074\u002d\u0073\u0074\u0079\u006c\u0065":_cde ._bcaf =_eb [1]=="\u0069\u0074\u0061\u006c\u0069\u0063";break ;};};return _cde ;};
2021-08-23 20:44:48 +00:00
2022-02-25 19:20:45 +00:00
// Right get right attribute of shape style.
func (_bda *ShapeStyle )Right ()float64 {return _bda ._bca };
2021-07-30 17:03:26 +00:00
2022-02-25 19:20:45 +00:00
// FontSize returns fontSize of the text.
func (_fbg *TextpathStyle )FontSize ()int64 {return _fbg ._dec };func (_ccg *Container )UnmarshalXML (d *_f .Decoder ,start _f .StartElement )error {_ccg .Shape =nil ;_daa :for {_ea ,_ec :=d .Token ();if _ec !=nil {return _ec ;};switch _bc :=_ea .(type ){case _f .StartElement :switch _bc .Name .Local {case "s\u0068\u0061\u0070\u0065\u006c\u0061\u0079\u006f\u0075\u0074":_ccg .Layout =_fc .NewOfcShapelayout ();if _dg :=d .DecodeElement (_ccg .Layout ,&_bc );_dg !=nil {return _dg ;};case "\u0073h\u0061\u0070\u0065\u0074\u0079\u0070e":_ccg .ShapeType =_fc .NewShapetype ();if _fd :=d .DecodeElement (_ccg .ShapeType ,&_bc );_fd !=nil {return _fd ;};case "\u0073\u0068\u0061p\u0065":_bg :=_fc .NewShape ();if _ga :=d .DecodeElement (_bg ,&_bc );_ga !=nil {return _ga ;};_ccg .Shape =append (_ccg .Shape ,_bg );};case _f .EndElement :break _daa ;};};return nil ;};
2021-07-30 17:03:26 +00:00
2022-02-25 19:20:45 +00:00
// ToString formatting ShapeStyle to string.
func (_ffd *ShapeStyle )String ()string {_def :="";_def +=_e .Sprintf ("\u0070\u006f\u0073i\u0074\u0069\u006f\u006e\u003a\u0025\u0073\u003b",_ffd ._bcb );_def +=_e .Sprintf ("\u006da\u0072g\u0069\u006e\u002d\u006c\u0065\u0066\u0074\u003a\u0025\u0064\u003b",int64 (_ffd ._gac ));_def +=_e .Sprintf ("\u006d\u0061\u0072\u0067\u0069\u006e\u002d\u0074\u006fp\u003a\u0025\u0064\u003b",int64 (_ffd ._ad ));_def +=_e .Sprintf ("w\u0069\u0064\u0074\u0068\u003a\u0025\u0064\u0070\u0074\u003b",int64 (_ffd ._gfd ));_def +=_e .Sprintf ("\u0068\u0065\u0069g\u0068\u0074\u003a\u0025\u0064\u0070\u0074\u003b",int64 (_ffd ._ecg ));_def +=_e .Sprintf ("z\u002d\u0069\u006e\u0064\u0065\u0078\u003a\u0025\u0064\u003b",_ffd ._gdd );_def +=_e .Sprintf ("m\u0073\u006f\u002d\u0070\u006f\u0073i\u0074\u0069\u006f\u006e\u002d\u0068\u006f\u0072\u0069z\u006f\u006e\u0074a\u006c:\u0025\u0073\u003b",_ffd ._fe );_def +=_e .Sprintf ("\u006d\u0073o-\u0070\u006f\u0073i\u0074\u0069\u006f\u006e-ho\u0072iz\u006f\u006e\u0074\u0061\u006c\u002d\u0072el\u0061\u0074\u0069\u0076\u0065\u003a\u0025s\u003b",_ffd ._aa );_def +=_e .Sprintf ("\u006ds\u006f\u002d\u0070\u006fs\u0069\u0074\u0069\u006f\u006e-\u0076e\u0072t\u0069\u0063\u0061\u006c\u003a\u0025\u0073;",_ffd ._bd );_def +=_e .Sprintf ("\u006d\u0073\u006f-p\u006f\u0073\u0069\u0074\u0069\u006f\u006e\u002d\u0076e\u0072t\u0069c\u0061l\u002d\u0072\u0065\u006c\u0061\u0074\u0069\u0076\u0065\u003a\u0025\u0073\u003b",_ffd ._cf );return _def ;};
2022-01-15 21:17:38 +00:00
2022-02-05 13:05:36 +00:00
// NewShapeStyle accept value of string style attribute in v:shape and format it to generate ShapeStyle.
2022-02-25 19:20:45 +00:00
func NewShapeStyle (style string )ShapeStyle {_dd :=ShapeStyle {_gfd :0,_ecg :0};_ab :=_d .Split (style ,"\u003b");for _ ,_fbe :=range _ab {_ba :=_d .Split (_fbe ,"\u003a");if len (_ba )!=2{continue ;};var _fcgf error ;switch _ba [0]{case "\u0070\u006f\u0073\u0069\u0074\u0069\u006f\u006e":_dd ._bcb =_ba [1];break ;case "\u006d\u0061\u0072\u0067\u0069\u006e\u002d\u0074\u006f\u0070":_dd ._ad ,_fcgf =_g .ParseFloat (_d .ReplaceAll (_ba [1],"\u0070\u0074",""),64);break ;case "m\u0061\u0072\u0067\u0069\u006e\u002d\u006c\u0065\u0066\u0074":_dd ._gac ,_fcgf =_g .ParseFloat (_d .ReplaceAll (_ba [1],"\u0070\u0074",""),64);break ;case "\u006d\u0061\u0072\u0067\u0069\u006e\u002d\u0062\u006f\u0074\u0074\u006f\u006d":_dd ._ge ,_fcgf =_g .ParseFloat (_d .ReplaceAll (_ba [1],"\u0070\u0074",""),64);break ;case "\u006d\u0061\u0072g\u0069\u006e\u002d\u0072\u0069\u0067\u0068\u0074":_dd ._ae ,_fcgf =_g .ParseFloat (_d .ReplaceAll (_ba [1],"\u0070\u0074",""),64);break ;case "\u0074\u006f\u0070":_dd ._eca ,_fcgf =_g .ParseFloat (_d .ReplaceAll (_ba [1],"\u0070\u0074",""),64);break ;case "\u006c\u0065\u0066\u0074":_dd ._ecd ,_fcgf =_g .ParseFloat (_d .ReplaceAll (_ba [1],"\u0070\u0074",""),64);break ;case "\u0062\u006f\u0074\u0074\u006f\u006d":_dd ._gf ,_fcgf =_g .ParseFloat (_d .ReplaceAll (_ba [1],"\u0070\u0074",""),64);break ;case "\u0072\u0069\u0067h\u0074":_dd ._bca ,_fcgf =_g .ParseFloat (_d .ReplaceAll (_ba [1],"\u0070\u0074",""),64);break ;case "\u0077\u0069\u0064t\u0068":_dd ._gfd ,_fcgf =_g .ParseFloat (_d .ReplaceAll (_ba [1],"\u0070\u0074",""),64);break ;case "\u0068\u0065\u0069\u0067\u0068\u0074":_dd ._ecg ,_fcgf =_g .ParseFloat (_d .ReplaceAll (_ba [1],"\u0070\u0074",""),64);break ;case "\u007a-\u0069\u006e\u0064\u0065\u0078":_dd ._gdd ,_fcgf =_g .ParseInt (_ba [1],10,64);break ;case "\u006d\u0073\u006f-p\u006f\u0073\u0069\u0074\u0069\u006f\u006e\u002d\u0068\u006f\u0072\u0069\u007a\u006f\u006e\u0074\u0061\u006c":_dd ._fe =_ba [1];break ;case "\u006d\u0073\u006f\u002d\u0070\u006f\u0073\u0069\u0074\u0069\u006f\u006e\u002d\u0068\u006fr\u0069z\u006f\u006e\u0074\u0061\u006c\u002d\u0072\u0065\u006c\u0061\u0074\u0069\u0076\u0065":_dd ._aa =_ba [1];break ;case "m\u0073\u006f\u002d\u0070os\u0069t\u0069\u006f\u006e\u002d\u0076e\u0072\u0074\u0069\u0063\u0061\u006c":_dd ._bd =_ba [1];break ;case "\u006d\u0073\u006f\u002d\u0070\u006f\u0073\u0069\u0074\u0069o\u006e\u002d\u0076\u0065\u0072\u0074\u0069c\u0061\u006c\u002d\u0072\u0065\u006c\u0061\u0074\u0069\u0076\u0065":_dd ._cf =_ba [1];break ;};if _fcgf !=nil {_ff .Log .Debug ("\u0055n\u0061\u0062l\u0065\u0020\u0074o\u0020\u0070\u0061\u0072\u0073\u0065\u0020s\u0074\u0079\u006c\u0065\u0020\u0061t\u0074\u0072\u0069\u0062\u0075\u0074\u0065\u003a\u0020\u0025\u0073 \u0076\u0061\u006c\u0075\u0065\u003a\u0020\u0025\u0076",_ba [0],_ba [1]);};};return _dd ;};
2022-01-15 21:17:38 +00:00
2022-02-25 19:20:45 +00:00
// Bottom get bottom attribute of shape style.
func (_dc *ShapeStyle )Bottom ()float64 {return _dc ._gf };
2022-01-15 21:17:38 +00:00
2022-02-25 19:20:45 +00:00
// Margins get margin top, left, bottom, and right of shape style.
func (_bb *ShapeStyle )Margins ()(float64 ,float64 ,float64 ,float64 ){return _bb ._ad ,_bb ._gac ,_bb ._ge ,_bb ._ae ;};
2022-02-05 13:05:36 +00:00
2022-02-25 19:20:45 +00:00
// SetFontFamily sets text's fontFamily.
func (_bdd *TextpathStyle )SetFontFamily (fontFamily string ){_bdd ._ef =fontFamily };func NewContainer ()*Container {return &Container {}};
// SetHeight set height of shape.
func (_de *ShapeStyle )SetHeight (height float64 ){_de ._ecg =height };
// IsBold returns true if text is bold.
func (_fcd *TextpathStyle )IsBold ()bool {return _fcd ._fef };
// ToString generate string of TextpathStyle.
func (_fba *TextpathStyle )String ()string {_ced :="";_ced +=_e .Sprintf ("\u0066o\u006et\u002d\u0066\u0061\u006d\u0069\u006c\u0079\u003a\u0025\u0073\u003b",_fba ._ef );_ced +=_e .Sprintf ("\u0066o\u006et\u002d\u0073\u0069\u007a\u0065\u003a\u0025\u0064\u0070\u0074\u003b",_fba ._dec );if _fba ._bcaf {_ced +=_e .Sprintf ("\u0066o\u006et\u002d\u0073\u0074\u0079\u006ce\u003a\u0069t\u0061\u006c\u0069\u0063\u003b");};if _fba ._fef {_ced +=_e .Sprintf ("\u0066\u006f\u006e\u0074\u002d\u0077\u0065\u0069\u0067\u0068\u0074\u003ab\u006f\u006c\u0064\u003b");};return _ced ;};
// CreateFormula creates F element for typeFormulas.
func CreateFormula (s string )*_fc .CT_F {_gae :=_fc .NewCT_F ();_gae .EqnAttr =&s ;return _gae };
// ShapeStyle is style attribute of v:shape element.
type ShapeStyle struct{_bcb string ;_ad float64 ;_gac float64 ;_ge float64 ;_ae float64 ;_eca float64 ;_ecd float64 ;_gf float64 ;_bca float64 ;_gfd float64 ;_ecg float64 ;_gdd int64 ;_fe string ;_aa string ;_bd string ;_cf string ;};func (_ee *Container )MarshalXML (e *_f .Encoder ,start _f .StartElement )error {start .Attr =append (start .Attr ,_f .Attr {Name :_f .Name {Local :"\u0078m\u006c\u006e\u0073\u003a\u0076"},Value :"\u0075\u0072n\u003a\u0073\u0063\u0068\u0065\u006d\u0061\u0073\u002d\u006d\u0069\u0063\u0072\u006f\u0073\u006f\u0066\u0074\u002d\u0063\u006f\u006d:v\u006d\u006c"});start .Attr =append (start .Attr ,_f .Attr {Name :_f .Name {Local :"\u0078m\u006c\u006e\u0073\u003a\u006f"},Value :"\u0075\u0072\u006e\u003a\u0073\u0063\u0068\u0065\u006d\u0061\u0073\u002d\u006di\u0063\u0072\u006f\u0073\u006f\u0066t\u002d\u0063\u006f\u006d\u003a\u006f\u0066\u0066\u0069\u0063\u0065\u003a\u006ff\u0066\u0069\u0063\u0065"});start .Attr =append (start .Attr ,_f .Attr {Name :_f .Name {Local :"\u0078m\u006c\u006e\u0073\u003a\u0078"},Value :"\u0075\u0072\u006e\u003a\u0073\u0063\u0068\u0065\u006d\u0061\u0073\u002d\u006d\u0069\u0063\u0072\u006f\u0073\u006f\u0066\u0074\u002d\u0063\u006fm\u003a\u006f\u0066\u0066\u0069c\u0065\u003ae\u0078\u0063\u0065\u006c"});start .Name .Local ="\u0078\u006d\u006c";e .EncodeToken (start );if _ee .Layout !=nil {_bff :=_f .StartElement {Name :_f .Name {Local :"\u006f\u003a\u0073\u0068\u0061\u0070\u0065\u006c\u0061\u0079\u006f\u0075\u0074"}};e .EncodeElement (_ee .Layout ,_bff );};if _ee .ShapeType !=nil {_fa :=_f .StartElement {Name :_f .Name {Local :"v\u003a\u0073\u0068\u0061\u0070\u0065\u0074\u0079\u0070\u0065"}};e .EncodeElement (_ee .ShapeType ,_fa );};for _ ,_gda :=range _ee .Shape {_da :=_f .StartElement {Name :_f .Name {Local :"\u0076:\u0073\u0068\u0061\u0070\u0065"}};e .EncodeElement (_gda ,_da );};return e .EncodeToken (_f .EndElement {Name :start .Name });};
// Width return width of shape.
func (_ccf *ShapeStyle )Width ()float64 {return _ccf ._gfd };