openxml-drawingml 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +7 -0
- data/.travis.yml +6 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +65 -0
- data/LICENSE.txt +20 -0
- data/README.md +38 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/openxml-drawingml.rb +1 -0
- data/lib/openxml/drawingml.rb +6 -0
- data/lib/openxml/drawingml/element.rb +9 -0
- data/lib/openxml/drawingml/elements.rb +12 -0
- data/lib/openxml/drawingml/elements/adjust_values_list.rb +12 -0
- data/lib/openxml/drawingml/elements/blip.rb +19 -0
- data/lib/openxml/drawingml/elements/blip_fill.rb +16 -0
- data/lib/openxml/drawingml/elements/children_extents.rb +13 -0
- data/lib/openxml/drawingml/elements/children_offset.rb +13 -0
- data/lib/openxml/drawingml/elements/extension.rb +14 -0
- data/lib/openxml/drawingml/elements/extension_list.rb +12 -0
- data/lib/openxml/drawingml/elements/extents.rb +13 -0
- data/lib/openxml/drawingml/elements/fill_rectangle.rb +15 -0
- data/lib/openxml/drawingml/elements/graphic.rb +9 -0
- data/lib/openxml/drawingml/elements/graphic_data.rb +12 -0
- data/lib/openxml/drawingml/elements/graphic_frame_locks.rb +16 -0
- data/lib/openxml/drawingml/elements/head_end.rb +27 -0
- data/lib/openxml/drawingml/elements/no_autofit.rb +11 -0
- data/lib/openxml/drawingml/elements/no_fill.rb +9 -0
- data/lib/openxml/drawingml/elements/non_visual_drawing_properties.rb +17 -0
- data/lib/openxml/drawingml/elements/non_visual_picture_drawing_properties.rb +14 -0
- data/lib/openxml/drawingml/elements/non_visual_picture_properties.rb +13 -0
- data/lib/openxml/drawingml/elements/non_visual_shape_drawing_properties.rb +15 -0
- data/lib/openxml/drawingml/elements/offset.rb +14 -0
- data/lib/openxml/drawingml/elements/outline.rb +37 -0
- data/lib/openxml/drawingml/elements/picture.rb +13 -0
- data/lib/openxml/drawingml/elements/picture_locks.rb +23 -0
- data/lib/openxml/drawingml/elements/picture_shape_properties.rb +15 -0
- data/lib/openxml/drawingml/elements/preset_geometry.rb +211 -0
- data/lib/openxml/drawingml/elements/preset_text_warp.rb +27 -0
- data/lib/openxml/drawingml/elements/round.rb +8 -0
- data/lib/openxml/drawingml/elements/shape_guide.rb +40 -0
- data/lib/openxml/drawingml/elements/solid_fill.rb +10 -0
- data/lib/openxml/drawingml/elements/source_rectangle.rb +16 -0
- data/lib/openxml/drawingml/elements/srgb_color.rb +13 -0
- data/lib/openxml/drawingml/elements/stretch.rb +12 -0
- data/lib/openxml/drawingml/elements/tail_end.rb +27 -0
- data/lib/openxml/drawingml/elements/theme_elements.rb +9 -0
- data/lib/openxml/drawingml/elements/transform_effect.rb +20 -0
- data/lib/openxml/drawingml/version.rb +5 -0
- data/openxml-drawingml.gemspec +33 -0
- metadata +208 -0
@@ -0,0 +1,17 @@
|
|
1
|
+
module OpenXml
|
2
|
+
module DrawingML
|
3
|
+
module Elements
|
4
|
+
class NonVisualDrawingProperties < OpenXml::DrawingML::Element
|
5
|
+
namespace :pic
|
6
|
+
tag :cNvPr
|
7
|
+
|
8
|
+
attribute :description, expects: :string, displays_as: :descr
|
9
|
+
attribute :hidden, expects: :boolean
|
10
|
+
attribute :id, expects: :positive_integer
|
11
|
+
attribute :picture_name, expects: :string, displays_as: :name
|
12
|
+
attribute :title, expects: :string
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module OpenXml
|
2
|
+
module DrawingML
|
3
|
+
module Elements
|
4
|
+
class NonVisualPictureDrawingProperties < OpenXml::DrawingML::Element
|
5
|
+
include HasChildren
|
6
|
+
|
7
|
+
namespace :pic
|
8
|
+
tag :cNvPicPr
|
9
|
+
|
10
|
+
attribute :preferRelativeResize, expects: :boolean
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module OpenXml
|
2
|
+
module DrawingML
|
3
|
+
module Elements
|
4
|
+
class NonVisualShapeDrawingProperties < OpenXml::DrawingML::Element
|
5
|
+
include HasChildren
|
6
|
+
|
7
|
+
namespace :wps
|
8
|
+
tag :cNvSpPr
|
9
|
+
|
10
|
+
attribute :textbox, expects: :boolean, displays_as: :txBox
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module OpenXml
|
2
|
+
module DrawingML
|
3
|
+
module Elements
|
4
|
+
class Outline < OpenXml::DrawingML::Element
|
5
|
+
include HasChildren
|
6
|
+
|
7
|
+
tag :ln
|
8
|
+
|
9
|
+
attribute :alignment, expects: :valid_stroke_alignment, displays_as: :algn
|
10
|
+
attribute :cap, expects: :valid_cap_type
|
11
|
+
attribute :compound_type, expects: :valid_compound_type, displays_as: :cmpd
|
12
|
+
attribute :width, expects: :positive_integer, displays_as: :w
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def valid_stroke_alignment(value)
|
17
|
+
ok_values = %i(ctr in)
|
18
|
+
message = "Invalid stroke alignment (#{value}). Valid values are: #{ok_values.join(", ")}."
|
19
|
+
raise ArgumentError, message unless ok_values.include? value
|
20
|
+
end
|
21
|
+
|
22
|
+
def valid_cap_type(value)
|
23
|
+
ok_values = %i(flat rnd sq)
|
24
|
+
message = "Invalid line cap type (#{value}). Valid values are: #{ok_values.join(", ")}."
|
25
|
+
raise ArgumentError, message unless ok_values.include? value
|
26
|
+
end
|
27
|
+
|
28
|
+
def valid_compound_type(value)
|
29
|
+
ok_values = %i(dbl sng thickThin thinThick tri)
|
30
|
+
message = "Invalid compound line type (#{value}). Valid values are: #{ok_values.join(", ")}."
|
31
|
+
raise ArgumentError, message unless ok_values.include? value
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module OpenXml
|
2
|
+
module DrawingML
|
3
|
+
module Elements
|
4
|
+
class PictureLocks < OpenXml::DrawingML::Element
|
5
|
+
namespace :a
|
6
|
+
tag :picLocks
|
7
|
+
|
8
|
+
attribute :hide_adjust_handles, expects: :boolean, displays_as: :noAdjustHandles
|
9
|
+
attribute :disallow_arrowhead_changes, expects: :boolean, displays_as: :noChangeArrowheads
|
10
|
+
attribute :disallow_aspect_ratio_changes, expects: :boolean, displays_as: :noChangeAspect
|
11
|
+
attribute :disallow_shape_type_changes, expects: :boolean, displays_as: :noChangeShapeType
|
12
|
+
attribute :disallow_cropping, expects: :boolean, displays_as: :noCrop
|
13
|
+
attribute :disallow_editing_points, expects: :boolean, displays_as: :noEditPoints
|
14
|
+
attribute :disallow_grouping, expects: :boolean, displays_as: :noGrp
|
15
|
+
attribute :disallow_moving, expects: :boolean, displays_as: :noMove
|
16
|
+
attribute :disallow_resizing, expects: :boolean, displays_as: :noResize
|
17
|
+
attribute :disallow_rotation, expects: :boolean, displays_as: :noRot
|
18
|
+
attribute :disallow_selection, expects: :boolean, displays_as: :noSelect
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module OpenXml
|
2
|
+
module DrawingML
|
3
|
+
module Elements
|
4
|
+
class PictureShapeProperties < OpenXml::DrawingML::Element
|
5
|
+
include HasChildren
|
6
|
+
|
7
|
+
namespace :pic
|
8
|
+
tag :spPr
|
9
|
+
|
10
|
+
attribute :black_and_white_mode, one_of: %i(auto black blackGray blackWhite clr gray grayWhite hidden invGray ltGray white), displays_as: :bwMode
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,211 @@
|
|
1
|
+
module OpenXml
|
2
|
+
module DrawingML
|
3
|
+
module Elements
|
4
|
+
class PresetGeometry < OpenXml::DrawingML::Element
|
5
|
+
include HasChildren
|
6
|
+
|
7
|
+
tag :prstGeom
|
8
|
+
|
9
|
+
attribute :preset, expects: :valid_geometry_preset, displays_as: :prst
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
def valid_geometry_preset(value)
|
14
|
+
message = "Invalid preset geometry: #{value}"
|
15
|
+
raise ArgumentError, message unless ok_values.include? value
|
16
|
+
end
|
17
|
+
|
18
|
+
def ok_values
|
19
|
+
%i( accentBorderCallout1
|
20
|
+
accentBorderCallout2
|
21
|
+
accentBorderCallout3
|
22
|
+
accentCallout1
|
23
|
+
accentCallout2
|
24
|
+
accentCallout3
|
25
|
+
actionButtonBackPrevious
|
26
|
+
actionButtonBeginning
|
27
|
+
actionButtonBlank
|
28
|
+
actionButtonDocument
|
29
|
+
actionButtonEnd
|
30
|
+
actionButtonForwardNext
|
31
|
+
actionButtonHelp
|
32
|
+
actionButtonHome
|
33
|
+
actionButtonInformation
|
34
|
+
actionButtonMovie
|
35
|
+
actionButtonReturn
|
36
|
+
actionButtonSound
|
37
|
+
arc
|
38
|
+
bentArrow
|
39
|
+
bentConnector2
|
40
|
+
bentConnector3
|
41
|
+
bentConnector4
|
42
|
+
bentConnector5
|
43
|
+
bentUpArrow
|
44
|
+
bevel
|
45
|
+
blockArc
|
46
|
+
borderCallout1
|
47
|
+
borderCallout2
|
48
|
+
borderCallout3
|
49
|
+
bracePair
|
50
|
+
bracketPair
|
51
|
+
callout1
|
52
|
+
callout2
|
53
|
+
callout3
|
54
|
+
can
|
55
|
+
chartPlus
|
56
|
+
chartStar
|
57
|
+
chartX
|
58
|
+
chevron
|
59
|
+
chord
|
60
|
+
circularArrow
|
61
|
+
cloud
|
62
|
+
cloudCallout
|
63
|
+
corner
|
64
|
+
cornerTabs
|
65
|
+
cube
|
66
|
+
curvedConnector2
|
67
|
+
curvedConnector3
|
68
|
+
curvedConnector4
|
69
|
+
curvedConnector5
|
70
|
+
curvedDownArrow
|
71
|
+
curvedLeftArrow
|
72
|
+
curvedRightArrow
|
73
|
+
curvedUpArrow
|
74
|
+
decagon
|
75
|
+
diagStripe
|
76
|
+
diamond
|
77
|
+
dodecagon
|
78
|
+
donut
|
79
|
+
doubleWave
|
80
|
+
downArrow
|
81
|
+
downArrowCallout
|
82
|
+
ellipse
|
83
|
+
ellipseRibbon
|
84
|
+
ellipseRibbon2
|
85
|
+
flowChartAlternateProcess
|
86
|
+
flowChartCollate
|
87
|
+
flowChartConnector
|
88
|
+
flowChartDecision
|
89
|
+
flowChartDelay
|
90
|
+
flowChartDisplay
|
91
|
+
flowChartDocument
|
92
|
+
flowChartExtract
|
93
|
+
flowChartInputOutput
|
94
|
+
flowChartInternalStorage
|
95
|
+
flowChartMagneticDisk
|
96
|
+
flowChartMagneticDrum
|
97
|
+
flowChartMagneticTape
|
98
|
+
flowChartManualInput
|
99
|
+
flowChartManualOperation
|
100
|
+
flowChartMerge
|
101
|
+
flowChartMultidocument
|
102
|
+
flowChartOfflineStorage
|
103
|
+
flowChartOffpageConnector
|
104
|
+
flowChartOnlineStorage
|
105
|
+
flowChartOr
|
106
|
+
flowChartPredefinedProcess
|
107
|
+
flowChartPreparation
|
108
|
+
flowChartProcess
|
109
|
+
flowChartPunchedCard
|
110
|
+
flowChartPunchedTape
|
111
|
+
flowChartSort
|
112
|
+
flowChartSummingJunction
|
113
|
+
flowChartTerminator
|
114
|
+
foldedCorner
|
115
|
+
frame
|
116
|
+
funnel
|
117
|
+
gear6
|
118
|
+
gear9
|
119
|
+
halfFrame
|
120
|
+
heart
|
121
|
+
heptagon
|
122
|
+
hexagon
|
123
|
+
homePlate
|
124
|
+
horizontalScroll
|
125
|
+
irregularSeal1
|
126
|
+
irregularSeal2
|
127
|
+
leftArrow
|
128
|
+
leftArrowCallout
|
129
|
+
leftBrace
|
130
|
+
leftBracket
|
131
|
+
leftCircularArrow
|
132
|
+
leftRightArrow
|
133
|
+
leftRightArrowCallout
|
134
|
+
leftRightCircularArrow
|
135
|
+
leftRightRibbon
|
136
|
+
leftRightUpArrow
|
137
|
+
leftUpArrow
|
138
|
+
lightningBolt
|
139
|
+
line
|
140
|
+
lineInv
|
141
|
+
mathDivide
|
142
|
+
mathEqual
|
143
|
+
mathMinus
|
144
|
+
mathMultiply
|
145
|
+
mathNotEqual
|
146
|
+
mathPlus
|
147
|
+
moon
|
148
|
+
nonIsoscelesTrapazoid
|
149
|
+
noSmoking
|
150
|
+
notchedRightArrow
|
151
|
+
octagon
|
152
|
+
parallelogram
|
153
|
+
pentagon
|
154
|
+
pie
|
155
|
+
pieWedge
|
156
|
+
plaque
|
157
|
+
plaqueTabs
|
158
|
+
plus
|
159
|
+
quadArrow
|
160
|
+
quadArrowCallout
|
161
|
+
rect
|
162
|
+
ribbon
|
163
|
+
ribbon2
|
164
|
+
rightArrow
|
165
|
+
rightArrowCallout
|
166
|
+
rightBrace
|
167
|
+
rightBracket
|
168
|
+
round1Rect
|
169
|
+
round2DiagRect
|
170
|
+
round2SameRect
|
171
|
+
roundRect
|
172
|
+
rtTriangle
|
173
|
+
smileyFace
|
174
|
+
snip1Rect
|
175
|
+
snip2DiagRect
|
176
|
+
snip2SameRect
|
177
|
+
snipRoundRect
|
178
|
+
squareTabs
|
179
|
+
star10
|
180
|
+
star12
|
181
|
+
star16
|
182
|
+
star24
|
183
|
+
star32
|
184
|
+
star4
|
185
|
+
star5
|
186
|
+
star6
|
187
|
+
star7
|
188
|
+
star8
|
189
|
+
straightConnector1
|
190
|
+
stripedRightArrow
|
191
|
+
sun
|
192
|
+
swooshArrow
|
193
|
+
teardrop
|
194
|
+
trapezoid
|
195
|
+
triangle
|
196
|
+
upArrow
|
197
|
+
upArrowCallout
|
198
|
+
upDownArrow
|
199
|
+
upDownArrowCallout
|
200
|
+
uturnArrow
|
201
|
+
verticalScroll
|
202
|
+
wave
|
203
|
+
wedgeEllipseCallout
|
204
|
+
wedgeRectCallout
|
205
|
+
wedgeRoundRectCallout ) # Office Open XML spec section 20.1.10.55
|
206
|
+
end
|
207
|
+
|
208
|
+
end
|
209
|
+
end
|
210
|
+
end
|
211
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module OpenXml
|
2
|
+
module DrawingML
|
3
|
+
module Elements
|
4
|
+
class PresetTextWarp < OpenXml::DrawingML::Element
|
5
|
+
include HasChildren
|
6
|
+
|
7
|
+
namespace :a
|
8
|
+
tag :prstTxWarp
|
9
|
+
|
10
|
+
attribute :preset, one_of: %i(textArchDown textArchDownPour textArchUp
|
11
|
+
textArchUpPour textButton textButtonPour
|
12
|
+
textCanDown textCanUp textCascadeDown
|
13
|
+
textCascadeUp textChevron textChevronInverted
|
14
|
+
textCircle textCirclePour textCurveDown
|
15
|
+
textCurveUp textDeflate textDeflateBottom
|
16
|
+
textDeflateInflate textDeflateTop
|
17
|
+
textDoubleWave1 textFadeDown textFadeLeft
|
18
|
+
textFadeRight textFadeUp textInflate
|
19
|
+
textInflateBottom textInflateTop textNoShape
|
20
|
+
textPlain textRingInside textRingOutside
|
21
|
+
textSlantDown textSlantUp textStop textTriangle
|
22
|
+
textTriangleInverted textWave1 textWave2
|
23
|
+
textWave4), displays_as: :prst
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|