ruby_pptx 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +83 -0
  3. data/LICENSE +21 -0
  4. data/NOTICE +48 -0
  5. data/README.md +272 -0
  6. data/lib/ruby_pptx/action.rb +120 -0
  7. data/lib/ruby_pptx/autoshape_spec.rb +337 -0
  8. data/lib/ruby_pptx/builder.rb +228 -0
  9. data/lib/ruby_pptx/chart/categories.rb +208 -0
  10. data/lib/ruby_pptx/chart/chart.rb +443 -0
  11. data/lib/ruby_pptx/chart/combo.rb +230 -0
  12. data/lib/ruby_pptx/chart/data.rb +147 -0
  13. data/lib/ruby_pptx/chart/format.rb +647 -0
  14. data/lib/ruby_pptx/chart/workbook_writer.rb +212 -0
  15. data/lib/ruby_pptx/chart/xml_writer.rb +953 -0
  16. data/lib/ruby_pptx/chart/xy_data.rb +182 -0
  17. data/lib/ruby_pptx/core_ext.rb +12 -0
  18. data/lib/ruby_pptx/dml/color.rb +155 -0
  19. data/lib/ruby_pptx/dml/effect.rb +33 -0
  20. data/lib/ruby_pptx/dml/fill.rb +234 -0
  21. data/lib/ruby_pptx/element_proxy.rb +53 -0
  22. data/lib/ruby_pptx/enum/action.rb +46 -0
  23. data/lib/ruby_pptx/enum/base.rb +139 -0
  24. data/lib/ruby_pptx/enum/chart.rb +278 -0
  25. data/lib/ruby_pptx/enum/dml.rb +237 -0
  26. data/lib/ruby_pptx/enum/lang.rb +441 -0
  27. data/lib/ruby_pptx/enum/prog_id.rb +38 -0
  28. data/lib/ruby_pptx/enum/shapes.rb +514 -0
  29. data/lib/ruby_pptx/enum/text.rb +108 -0
  30. data/lib/ruby_pptx/errors.rb +15 -0
  31. data/lib/ruby_pptx/geometry.rb +89 -0
  32. data/lib/ruby_pptx/image.rb +347 -0
  33. data/lib/ruby_pptx/length.rb +120 -0
  34. data/lib/ruby_pptx/media.rb +64 -0
  35. data/lib/ruby_pptx/numeric_lengths.rb +30 -0
  36. data/lib/ruby_pptx/opc/constants.rb +205 -0
  37. data/lib/ruby_pptx/opc/oxml.rb +99 -0
  38. data/lib/ruby_pptx/opc/pack_uri.rb +146 -0
  39. data/lib/ruby_pptx/opc/package.rb +482 -0
  40. data/lib/ruby_pptx/opc/serialized.rb +229 -0
  41. data/lib/ruby_pptx/opc/spec.rb +37 -0
  42. data/lib/ruby_pptx/oxml/action.rb +43 -0
  43. data/lib/ruby_pptx/oxml/chart.rb +785 -0
  44. data/lib/ruby_pptx/oxml/content_model.rb +186 -0
  45. data/lib/ruby_pptx/oxml/core_properties.rb +145 -0
  46. data/lib/ruby_pptx/oxml/dml/color.rb +115 -0
  47. data/lib/ruby_pptx/oxml/dml/fill.rb +137 -0
  48. data/lib/ruby_pptx/oxml/element.rb +329 -0
  49. data/lib/ruby_pptx/oxml/ns.rb +115 -0
  50. data/lib/ruby_pptx/oxml/presentation.rb +110 -0
  51. data/lib/ruby_pptx/oxml/section.rb +65 -0
  52. data/lib/ruby_pptx/oxml/shapes/autoshape.rb +310 -0
  53. data/lib/ruby_pptx/oxml/shapes/groupshape.rb +217 -0
  54. data/lib/ruby_pptx/oxml/shapes/other.rb +405 -0
  55. data/lib/ruby_pptx/oxml/shapes/shared.rb +292 -0
  56. data/lib/ruby_pptx/oxml/simple_types.rb +563 -0
  57. data/lib/ruby_pptx/oxml/slide.rb +290 -0
  58. data/lib/ruby_pptx/oxml/table.rb +253 -0
  59. data/lib/ruby_pptx/oxml/text.rb +324 -0
  60. data/lib/ruby_pptx/oxml/theme.rb +93 -0
  61. data/lib/ruby_pptx/package.rb +139 -0
  62. data/lib/ruby_pptx/parts/chart.rb +75 -0
  63. data/lib/ruby_pptx/parts/core_properties.rb +40 -0
  64. data/lib/ruby_pptx/parts/embedded_package.rb +43 -0
  65. data/lib/ruby_pptx/parts/image.rb +55 -0
  66. data/lib/ruby_pptx/parts/media.rb +17 -0
  67. data/lib/ruby_pptx/parts/presentation.rb +79 -0
  68. data/lib/ruby_pptx/parts/slide.rb +221 -0
  69. data/lib/ruby_pptx/parts/theme.rb +26 -0
  70. data/lib/ruby_pptx/pattern_matching.rb +50 -0
  71. data/lib/ruby_pptx/presentation.rb +128 -0
  72. data/lib/ruby_pptx/refinements.rb +21 -0
  73. data/lib/ruby_pptx/section.rb +130 -0
  74. data/lib/ruby_pptx/shapes/adjustments.rb +83 -0
  75. data/lib/ruby_pptx/shapes/authoring.rb +110 -0
  76. data/lib/ruby_pptx/shapes/base.rb +138 -0
  77. data/lib/ruby_pptx/shapes/freeform.rb +141 -0
  78. data/lib/ruby_pptx/shapes/placeholder.rb +184 -0
  79. data/lib/ruby_pptx/shapes/shape.rb +337 -0
  80. data/lib/ruby_pptx/shapes/shape_tree.rb +634 -0
  81. data/lib/ruby_pptx/sliceable.rb +34 -0
  82. data/lib/ruby_pptx/slide.rb +430 -0
  83. data/lib/ruby_pptx/table.rb +316 -0
  84. data/lib/ruby_pptx/table_paging.rb +91 -0
  85. data/lib/ruby_pptx/templates/default.pptx +0 -0
  86. data/lib/ruby_pptx/templates/docx-icon.emf +0 -0
  87. data/lib/ruby_pptx/templates/generic-icon.emf +0 -0
  88. data/lib/ruby_pptx/templates/media-speaker.png +0 -0
  89. data/lib/ruby_pptx/templates/notes.xml +23 -0
  90. data/lib/ruby_pptx/templates/notesMaster.xml +352 -0
  91. data/lib/ruby_pptx/templates/pptx-icon.emf +0 -0
  92. data/lib/ruby_pptx/templates/slideMaster.xml +277 -0
  93. data/lib/ruby_pptx/templates/theme.xml +321 -0
  94. data/lib/ruby_pptx/templates/xlsx-icon.emf +0 -0
  95. data/lib/ruby_pptx/text/fitter.rb +72 -0
  96. data/lib/ruby_pptx/text/font_metrics.rb +221 -0
  97. data/lib/ruby_pptx/text/text.rb +393 -0
  98. data/lib/ruby_pptx/theme.rb +98 -0
  99. data/lib/ruby_pptx/version.rb +5 -0
  100. data/lib/ruby_pptx.rb +90 -0
  101. metadata +174 -0
@@ -0,0 +1,514 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by tools/generate_enums.py from python-pptx 1.0.2. Do not edit by hand.
4
+
5
+ require "ruby_pptx/enum/base"
6
+
7
+ module Pptx
8
+ module Enum
9
+ # Specifies a type of AutoShape, e.g. DOWN_ARROW.
10
+ class MSO_AUTO_SHAPE_TYPE < XmlBase
11
+ # Back or Previous button. Supports mouse-click and mouse-over actions
12
+ member :ACTION_BUTTON_BACK_OR_PREVIOUS, 129, xml: "actionButtonBackPrevious"
13
+ # Beginning button. Supports mouse-click and mouse-over actions
14
+ member :ACTION_BUTTON_BEGINNING, 131, xml: "actionButtonBeginning"
15
+ # Button with no default picture or text. Supports mouse-click and
16
+ # mouse-over actions
17
+ member :ACTION_BUTTON_CUSTOM, 125, xml: "actionButtonBlank"
18
+ # Document button. Supports mouse-click and mouse-over actions
19
+ member :ACTION_BUTTON_DOCUMENT, 134, xml: "actionButtonDocument"
20
+ # End button. Supports mouse-click and mouse-over actions
21
+ member :ACTION_BUTTON_END, 132, xml: "actionButtonEnd"
22
+ # Forward or Next button. Supports mouse-click and mouse-over actions
23
+ member :ACTION_BUTTON_FORWARD_OR_NEXT, 130, xml: "actionButtonForwardNext"
24
+ # Help button. Supports mouse-click and mouse-over actions
25
+ member :ACTION_BUTTON_HELP, 127, xml: "actionButtonHelp"
26
+ # Home button. Supports mouse-click and mouse-over actions
27
+ member :ACTION_BUTTON_HOME, 126, xml: "actionButtonHome"
28
+ # Information button. Supports mouse-click and mouse-over actions
29
+ member :ACTION_BUTTON_INFORMATION, 128, xml: "actionButtonInformation"
30
+ # Movie button. Supports mouse-click and mouse-over actions
31
+ member :ACTION_BUTTON_MOVIE, 136, xml: "actionButtonMovie"
32
+ # Return button. Supports mouse-click and mouse-over actions
33
+ member :ACTION_BUTTON_RETURN, 133, xml: "actionButtonReturn"
34
+ # Sound button. Supports mouse-click and mouse-over actions
35
+ member :ACTION_BUTTON_SOUND, 135, xml: "actionButtonSound"
36
+ # Arc
37
+ member :ARC, 25, xml: "arc"
38
+ # Rounded Rectangular Callout
39
+ member :BALLOON, 137, xml: "wedgeRoundRectCallout"
40
+ # Block arrow that follows a curved 90-degree angle
41
+ member :BENT_ARROW, 41, xml: "bentArrow"
42
+ # Block arrow that follows a sharp 90-degree angle. Points up by default
43
+ member :BENT_UP_ARROW, 44, xml: "bentUpArrow"
44
+ # Bevel
45
+ member :BEVEL, 15, xml: "bevel"
46
+ # Block arc
47
+ member :BLOCK_ARC, 20, xml: "blockArc"
48
+ # Can
49
+ member :CAN, 13, xml: "can"
50
+ # Chart Plus
51
+ member :CHART_PLUS, 182, xml: "chartPlus"
52
+ # Chart Star
53
+ member :CHART_STAR, 181, xml: "chartStar"
54
+ # Chart X
55
+ member :CHART_X, 180, xml: "chartX"
56
+ # Chevron
57
+ member :CHEVRON, 52, xml: "chevron"
58
+ # Geometric chord shape
59
+ member :CHORD, 161, xml: "chord"
60
+ # Block arrow that follows a curved 180-degree angle
61
+ member :CIRCULAR_ARROW, 60, xml: "circularArrow"
62
+ # Cloud
63
+ member :CLOUD, 179, xml: "cloud"
64
+ # Cloud callout
65
+ member :CLOUD_CALLOUT, 108, xml: "cloudCallout"
66
+ # Corner
67
+ member :CORNER, 162, xml: "corner"
68
+ # Corner Tabs
69
+ member :CORNER_TABS, 169, xml: "cornerTabs"
70
+ # Cross
71
+ member :CROSS, 11, xml: "plus"
72
+ # Cube
73
+ member :CUBE, 14, xml: "cube"
74
+ # Block arrow that curves down
75
+ member :CURVED_DOWN_ARROW, 48, xml: "curvedDownArrow"
76
+ # Ribbon banner that curves down
77
+ member :CURVED_DOWN_RIBBON, 100, xml: "ellipseRibbon"
78
+ # Block arrow that curves left
79
+ member :CURVED_LEFT_ARROW, 46, xml: "curvedLeftArrow"
80
+ # Block arrow that curves right
81
+ member :CURVED_RIGHT_ARROW, 45, xml: "curvedRightArrow"
82
+ # Block arrow that curves up
83
+ member :CURVED_UP_ARROW, 47, xml: "curvedUpArrow"
84
+ # Ribbon banner that curves up
85
+ member :CURVED_UP_RIBBON, 99, xml: "ellipseRibbon2"
86
+ # Decagon
87
+ member :DECAGON, 144, xml: "decagon"
88
+ # Diagonal Stripe
89
+ member :DIAGONAL_STRIPE, 141, xml: "diagStripe"
90
+ # Diamond
91
+ member :DIAMOND, 4, xml: "diamond"
92
+ # Dodecagon
93
+ member :DODECAGON, 146, xml: "dodecagon"
94
+ # Donut
95
+ member :DONUT, 18, xml: "donut"
96
+ # Double brace
97
+ member :DOUBLE_BRACE, 27, xml: "bracePair"
98
+ # Double bracket
99
+ member :DOUBLE_BRACKET, 26, xml: "bracketPair"
100
+ # Double wave
101
+ member :DOUBLE_WAVE, 104, xml: "doubleWave"
102
+ # Block arrow that points down
103
+ member :DOWN_ARROW, 36, xml: "downArrow"
104
+ # Callout with arrow that points down
105
+ member :DOWN_ARROW_CALLOUT, 56, xml: "downArrowCallout"
106
+ # Ribbon banner with center area below ribbon ends
107
+ member :DOWN_RIBBON, 98, xml: "ribbon"
108
+ # Explosion
109
+ member :EXPLOSION1, 89, xml: "irregularSeal1"
110
+ # Explosion
111
+ member :EXPLOSION2, 90, xml: "irregularSeal2"
112
+ # Alternate process flowchart symbol
113
+ member :FLOWCHART_ALTERNATE_PROCESS, 62, xml: "flowChartAlternateProcess"
114
+ # Card flowchart symbol
115
+ member :FLOWCHART_CARD, 75, xml: "flowChartPunchedCard"
116
+ # Collate flowchart symbol
117
+ member :FLOWCHART_COLLATE, 79, xml: "flowChartCollate"
118
+ # Connector flowchart symbol
119
+ member :FLOWCHART_CONNECTOR, 73, xml: "flowChartConnector"
120
+ # Data flowchart symbol
121
+ member :FLOWCHART_DATA, 64, xml: "flowChartInputOutput"
122
+ # Decision flowchart symbol
123
+ member :FLOWCHART_DECISION, 63, xml: "flowChartDecision"
124
+ # Delay flowchart symbol
125
+ member :FLOWCHART_DELAY, 84, xml: "flowChartDelay"
126
+ # Direct access storage flowchart symbol
127
+ member :FLOWCHART_DIRECT_ACCESS_STORAGE, 87, xml: "flowChartMagneticDrum"
128
+ # Display flowchart symbol
129
+ member :FLOWCHART_DISPLAY, 88, xml: "flowChartDisplay"
130
+ # Document flowchart symbol
131
+ member :FLOWCHART_DOCUMENT, 67, xml: "flowChartDocument"
132
+ # Extract flowchart symbol
133
+ member :FLOWCHART_EXTRACT, 81, xml: "flowChartExtract"
134
+ # Internal storage flowchart symbol
135
+ member :FLOWCHART_INTERNAL_STORAGE, 66, xml: "flowChartInternalStorage"
136
+ # Magnetic disk flowchart symbol
137
+ member :FLOWCHART_MAGNETIC_DISK, 86, xml: "flowChartMagneticDisk"
138
+ # Manual input flowchart symbol
139
+ member :FLOWCHART_MANUAL_INPUT, 71, xml: "flowChartManualInput"
140
+ # Manual operation flowchart symbol
141
+ member :FLOWCHART_MANUAL_OPERATION, 72, xml: "flowChartManualOperation"
142
+ # Merge flowchart symbol
143
+ member :FLOWCHART_MERGE, 82, xml: "flowChartMerge"
144
+ # Multi-document flowchart symbol
145
+ member :FLOWCHART_MULTIDOCUMENT, 68, xml: "flowChartMultidocument"
146
+ # Offline Storage
147
+ member :FLOWCHART_OFFLINE_STORAGE, 139, xml: "flowChartOfflineStorage"
148
+ # Off-page connector flowchart symbol
149
+ member :FLOWCHART_OFFPAGE_CONNECTOR, 74, xml: "flowChartOffpageConnector"
150
+ # "Or" flowchart symbol
151
+ member :FLOWCHART_OR, 78, xml: "flowChartOr"
152
+ # Predefined process flowchart symbol
153
+ member :FLOWCHART_PREDEFINED_PROCESS, 65, xml: "flowChartPredefinedProcess"
154
+ # Preparation flowchart symbol
155
+ member :FLOWCHART_PREPARATION, 70, xml: "flowChartPreparation"
156
+ # Process flowchart symbol
157
+ member :FLOWCHART_PROCESS, 61, xml: "flowChartProcess"
158
+ # Punched tape flowchart symbol
159
+ member :FLOWCHART_PUNCHED_TAPE, 76, xml: "flowChartPunchedTape"
160
+ # Sequential access storage flowchart symbol
161
+ member :FLOWCHART_SEQUENTIAL_ACCESS_STORAGE, 85, xml: "flowChartMagneticTape"
162
+ # Sort flowchart symbol
163
+ member :FLOWCHART_SORT, 80, xml: "flowChartSort"
164
+ # Stored data flowchart symbol
165
+ member :FLOWCHART_STORED_DATA, 83, xml: "flowChartOnlineStorage"
166
+ # Summing junction flowchart symbol
167
+ member :FLOWCHART_SUMMING_JUNCTION, 77, xml: "flowChartSummingJunction"
168
+ # Terminator flowchart symbol
169
+ member :FLOWCHART_TERMINATOR, 69, xml: "flowChartTerminator"
170
+ # Folded corner
171
+ member :FOLDED_CORNER, 16, xml: "foldedCorner"
172
+ # Frame
173
+ member :FRAME, 158, xml: "frame"
174
+ # Funnel
175
+ member :FUNNEL, 174, xml: "funnel"
176
+ # Gear 6
177
+ member :GEAR_6, 172, xml: "gear6"
178
+ # Gear 9
179
+ member :GEAR_9, 173, xml: "gear9"
180
+ # Half Frame
181
+ member :HALF_FRAME, 159, xml: "halfFrame"
182
+ # Heart
183
+ member :HEART, 21, xml: "heart"
184
+ # Heptagon
185
+ member :HEPTAGON, 145, xml: "heptagon"
186
+ # Hexagon
187
+ member :HEXAGON, 10, xml: "hexagon"
188
+ # Horizontal scroll
189
+ member :HORIZONTAL_SCROLL, 102, xml: "horizontalScroll"
190
+ # Isosceles triangle
191
+ member :ISOSCELES_TRIANGLE, 7, xml: "triangle"
192
+ # Block arrow that points left
193
+ member :LEFT_ARROW, 34, xml: "leftArrow"
194
+ # Callout with arrow that points left
195
+ member :LEFT_ARROW_CALLOUT, 54, xml: "leftArrowCallout"
196
+ # Left brace
197
+ member :LEFT_BRACE, 31, xml: "leftBrace"
198
+ # Left bracket
199
+ member :LEFT_BRACKET, 29, xml: "leftBracket"
200
+ # Left Circular Arrow
201
+ member :LEFT_CIRCULAR_ARROW, 176, xml: "leftCircularArrow"
202
+ # Block arrow with arrowheads that point both left and right
203
+ member :LEFT_RIGHT_ARROW, 37, xml: "leftRightArrow"
204
+ # Callout with arrowheads that point both left and right
205
+ member :LEFT_RIGHT_ARROW_CALLOUT, 57, xml: "leftRightArrowCallout"
206
+ # Left Right Circular Arrow
207
+ member :LEFT_RIGHT_CIRCULAR_ARROW, 177, xml: "leftRightCircularArrow"
208
+ # Left Right Ribbon
209
+ member :LEFT_RIGHT_RIBBON, 140, xml: "leftRightRibbon"
210
+ # Block arrow with arrowheads that point left, right, and up
211
+ member :LEFT_RIGHT_UP_ARROW, 40, xml: "leftRightUpArrow"
212
+ # Block arrow with arrowheads that point left and up
213
+ member :LEFT_UP_ARROW, 43, xml: "leftUpArrow"
214
+ # Lightning bolt
215
+ member :LIGHTNING_BOLT, 22, xml: "lightningBolt"
216
+ # Callout with border and horizontal callout line
217
+ member :LINE_CALLOUT_1, 109, xml: "borderCallout1"
218
+ # Callout with vertical accent bar
219
+ member :LINE_CALLOUT_1_ACCENT_BAR, 113, xml: "accentCallout1"
220
+ # Callout with border and vertical accent bar
221
+ member :LINE_CALLOUT_1_BORDER_AND_ACCENT_BAR, 121, xml: "accentBorderCallout1"
222
+ # Callout with horizontal line
223
+ member :LINE_CALLOUT_1_NO_BORDER, 117, xml: "callout1"
224
+ # Callout with diagonal straight line
225
+ member :LINE_CALLOUT_2, 110, xml: "borderCallout2"
226
+ # Callout with diagonal callout line and accent bar
227
+ member :LINE_CALLOUT_2_ACCENT_BAR, 114, xml: "accentCallout2"
228
+ # Callout with border, diagonal straight line, and accent bar
229
+ member :LINE_CALLOUT_2_BORDER_AND_ACCENT_BAR, 122, xml: "accentBorderCallout2"
230
+ # Callout with no border and diagonal callout line
231
+ member :LINE_CALLOUT_2_NO_BORDER, 118, xml: "callout2"
232
+ # Callout with angled line
233
+ member :LINE_CALLOUT_3, 111, xml: "borderCallout3"
234
+ # Callout with angled callout line and accent bar
235
+ member :LINE_CALLOUT_3_ACCENT_BAR, 115, xml: "accentCallout3"
236
+ # Callout with border, angled callout line, and accent bar
237
+ member :LINE_CALLOUT_3_BORDER_AND_ACCENT_BAR, 123, xml: "accentBorderCallout3"
238
+ # Callout with no border and angled callout line
239
+ member :LINE_CALLOUT_3_NO_BORDER, 119, xml: "callout3"
240
+ # Callout with callout line segments forming a U-shape.
241
+ member :LINE_CALLOUT_4, 112, xml: "borderCallout3"
242
+ # Callout with accent bar and callout line segments forming a U-shape.
243
+ member :LINE_CALLOUT_4_ACCENT_BAR, 116, xml: "accentCallout3"
244
+ # Callout with border, accent bar, and callout line segments forming a
245
+ # U-shape.
246
+ member :LINE_CALLOUT_4_BORDER_AND_ACCENT_BAR, 124, xml: "accentBorderCallout3"
247
+ # Callout with no border and callout line segments forming a U-shape.
248
+ member :LINE_CALLOUT_4_NO_BORDER, 120, xml: "callout3"
249
+ # Straight Connector
250
+ member :LINE_INVERSE, 183, xml: "lineInv"
251
+ # Division
252
+ member :MATH_DIVIDE, 166, xml: "mathDivide"
253
+ # Equal
254
+ member :MATH_EQUAL, 167, xml: "mathEqual"
255
+ # Minus
256
+ member :MATH_MINUS, 164, xml: "mathMinus"
257
+ # Multiply
258
+ member :MATH_MULTIPLY, 165, xml: "mathMultiply"
259
+ # Not Equal
260
+ member :MATH_NOT_EQUAL, 168, xml: "mathNotEqual"
261
+ # Plus
262
+ member :MATH_PLUS, 163, xml: "mathPlus"
263
+ # Moon
264
+ member :MOON, 24, xml: "moon"
265
+ # Non-isosceles Trapezoid
266
+ member :NON_ISOSCELES_TRAPEZOID, 143, xml: "nonIsoscelesTrapezoid"
267
+ # Notched block arrow that points right
268
+ member :NOTCHED_RIGHT_ARROW, 50, xml: "notchedRightArrow"
269
+ # 'No' Symbol
270
+ member :NO_SYMBOL, 19, xml: "noSmoking"
271
+ # Octagon
272
+ member :OCTAGON, 6, xml: "octagon"
273
+ # Oval
274
+ member :OVAL, 9, xml: "ellipse"
275
+ # Oval-shaped callout
276
+ member :OVAL_CALLOUT, 107, xml: "wedgeEllipseCallout"
277
+ # Parallelogram
278
+ member :PARALLELOGRAM, 2, xml: "parallelogram"
279
+ # Pentagon
280
+ member :PENTAGON, 51, xml: "homePlate"
281
+ # Pie
282
+ member :PIE, 142, xml: "pie"
283
+ # Pie
284
+ member :PIE_WEDGE, 175, xml: "pieWedge"
285
+ # Plaque
286
+ member :PLAQUE, 28, xml: "plaque"
287
+ # Plaque Tabs
288
+ member :PLAQUE_TABS, 171, xml: "plaqueTabs"
289
+ # Block arrows that point up, down, left, and right
290
+ member :QUAD_ARROW, 39, xml: "quadArrow"
291
+ # Callout with arrows that point up, down, left, and right
292
+ member :QUAD_ARROW_CALLOUT, 59, xml: "quadArrowCallout"
293
+ # Rectangle
294
+ member :RECTANGLE, 1, xml: "rect"
295
+ # Rectangular callout
296
+ member :RECTANGULAR_CALLOUT, 105, xml: "wedgeRectCallout"
297
+ # Pentagon
298
+ member :REGULAR_PENTAGON, 12, xml: "pentagon"
299
+ # Block arrow that points right
300
+ member :RIGHT_ARROW, 33, xml: "rightArrow"
301
+ # Callout with arrow that points right
302
+ member :RIGHT_ARROW_CALLOUT, 53, xml: "rightArrowCallout"
303
+ # Right brace
304
+ member :RIGHT_BRACE, 32, xml: "rightBrace"
305
+ # Right bracket
306
+ member :RIGHT_BRACKET, 30, xml: "rightBracket"
307
+ # Right triangle
308
+ member :RIGHT_TRIANGLE, 8, xml: "rtTriangle"
309
+ # Rounded rectangle
310
+ member :ROUNDED_RECTANGLE, 5, xml: "roundRect"
311
+ # Rounded rectangle-shaped callout
312
+ member :ROUNDED_RECTANGULAR_CALLOUT, 106, xml: "wedgeRoundRectCallout"
313
+ # Round Single Corner Rectangle
314
+ member :ROUND_1_RECTANGLE, 151, xml: "round1Rect"
315
+ # Round Diagonal Corner Rectangle
316
+ member :ROUND_2_DIAG_RECTANGLE, 153, xml: "round2DiagRect"
317
+ # Round Same Side Corner Rectangle
318
+ member :ROUND_2_SAME_RECTANGLE, 152, xml: "round2SameRect"
319
+ # Smiley face
320
+ member :SMILEY_FACE, 17, xml: "smileyFace"
321
+ # Snip Single Corner Rectangle
322
+ member :SNIP_1_RECTANGLE, 155, xml: "snip1Rect"
323
+ # Snip Diagonal Corner Rectangle
324
+ member :SNIP_2_DIAG_RECTANGLE, 157, xml: "snip2DiagRect"
325
+ # Snip Same Side Corner Rectangle
326
+ member :SNIP_2_SAME_RECTANGLE, 156, xml: "snip2SameRect"
327
+ # Snip and Round Single Corner Rectangle
328
+ member :SNIP_ROUND_RECTANGLE, 154, xml: "snipRoundRect"
329
+ # Square Tabs
330
+ member :SQUARE_TABS, 170, xml: "squareTabs"
331
+ # 10-Point Star
332
+ member :STAR_10_POINT, 149, xml: "star10"
333
+ # 12-Point Star
334
+ member :STAR_12_POINT, 150, xml: "star12"
335
+ # 16-point star
336
+ member :STAR_16_POINT, 94, xml: "star16"
337
+ # 24-point star
338
+ member :STAR_24_POINT, 95, xml: "star24"
339
+ # 32-point star
340
+ member :STAR_32_POINT, 96, xml: "star32"
341
+ # 4-point star
342
+ member :STAR_4_POINT, 91, xml: "star4"
343
+ # 5-point star
344
+ member :STAR_5_POINT, 92, xml: "star5"
345
+ # 6-Point Star
346
+ member :STAR_6_POINT, 147, xml: "star6"
347
+ # 7-Point Star
348
+ member :STAR_7_POINT, 148, xml: "star7"
349
+ # 8-point star
350
+ member :STAR_8_POINT, 93, xml: "star8"
351
+ # Block arrow that points right with stripes at the tail
352
+ member :STRIPED_RIGHT_ARROW, 49, xml: "stripedRightArrow"
353
+ # Sun
354
+ member :SUN, 23, xml: "sun"
355
+ # Swoosh Arrow
356
+ member :SWOOSH_ARROW, 178, xml: "swooshArrow"
357
+ # Teardrop
358
+ member :TEAR, 160, xml: "teardrop"
359
+ # Trapezoid
360
+ member :TRAPEZOID, 3, xml: "trapezoid"
361
+ # Block arrow that points up
362
+ member :UP_ARROW, 35, xml: "upArrow"
363
+ # Callout with arrow that points up
364
+ member :UP_ARROW_CALLOUT, 55, xml: "upArrowCallout"
365
+ # Block arrow that points up and down
366
+ member :UP_DOWN_ARROW, 38, xml: "upDownArrow"
367
+ # Callout with arrows that point up and down
368
+ member :UP_DOWN_ARROW_CALLOUT, 58, xml: "upDownArrowCallout"
369
+ # Ribbon banner with center area above ribbon ends
370
+ member :UP_RIBBON, 97, xml: "ribbon2"
371
+ # Block arrow forming a U shape
372
+ member :U_TURN_ARROW, 42, xml: "uturnArrow"
373
+ # Vertical scroll
374
+ member :VERTICAL_SCROLL, 101, xml: "verticalScroll"
375
+ # Wave
376
+ member :WAVE, 103, xml: "wave"
377
+ end
378
+
379
+ # Alias of MSO_AUTO_SHAPE_TYPE, matching the MS API name.
380
+ MSO_SHAPE = MSO_AUTO_SHAPE_TYPE
381
+
382
+ # Specifies a type of connector.
383
+ class MSO_CONNECTOR_TYPE < XmlBase
384
+ # Curved connector.
385
+ member :CURVE, 3, xml: "curvedConnector3"
386
+ # Elbow connector.
387
+ member :ELBOW, 2, xml: "bentConnector3"
388
+ # Straight line connector.
389
+ member :STRAIGHT, 1, xml: "line"
390
+ # Return value only; indicates a combination of other states.
391
+ member :MIXED, -2
392
+ end
393
+
394
+ # Alias of MSO_CONNECTOR_TYPE, matching the MS API name.
395
+ MSO_CONNECTOR = MSO_CONNECTOR_TYPE
396
+
397
+ # Specifies the type of a shape, more specifically than the five base types.
398
+ class MSO_SHAPE_TYPE < Base
399
+ # AutoShape
400
+ member :AUTO_SHAPE, 1
401
+ # Callout shape
402
+ member :CALLOUT, 2
403
+ # Drawing canvas
404
+ member :CANVAS, 20
405
+ # Chart, e.g. pie chart, bar chart
406
+ member :CHART, 3
407
+ # Comment
408
+ member :COMMENT, 4
409
+ # Diagram
410
+ member :DIAGRAM, 21
411
+ # Embedded OLE object
412
+ member :EMBEDDED_OLE_OBJECT, 7
413
+ # Form control
414
+ member :FORM_CONTROL, 8
415
+ # Freeform
416
+ member :FREEFORM, 5
417
+ # Group shape
418
+ member :GROUP, 6
419
+ # SmartArt graphic
420
+ member :IGX_GRAPHIC, 24
421
+ # Ink
422
+ member :INK, 22
423
+ # Ink Comment
424
+ member :INK_COMMENT, 23
425
+ # Line
426
+ member :LINE, 9
427
+ # Linked OLE object
428
+ member :LINKED_OLE_OBJECT, 10
429
+ # Linked picture
430
+ member :LINKED_PICTURE, 11
431
+ # Media
432
+ member :MEDIA, 16
433
+ # OLE control object
434
+ member :OLE_CONTROL_OBJECT, 12
435
+ # Picture
436
+ member :PICTURE, 13
437
+ # Placeholder
438
+ member :PLACEHOLDER, 14
439
+ # Script anchor
440
+ member :SCRIPT_ANCHOR, 18
441
+ # Table
442
+ member :TABLE, 19
443
+ # Text box
444
+ member :TEXT_BOX, 17
445
+ # Text effect
446
+ member :TEXT_EFFECT, 15
447
+ # Web video
448
+ member :WEB_VIDEO, 26
449
+ # Multiple shape types (read-only).
450
+ member :MIXED, -2
451
+ end
452
+
453
+ # Alias of MSO_SHAPE_TYPE, matching the MS API name.
454
+ MSO = MSO_SHAPE_TYPE
455
+
456
+ # Indicates the OLE media type.
457
+ class PP_MEDIA_TYPE < Base
458
+ # Video media such as MP4.
459
+ member :MOVIE, 3
460
+ # Other media types
461
+ member :OTHER, 1
462
+ # Return value only; indicates multiple media types, typically for a
463
+ # collection of shapes. May not be applicable in python-pptx.
464
+ member :MIXED, -2
465
+ end
466
+
467
+ # Specifies one of the 18 distinct types of placeholder.
468
+ class PP_PLACEHOLDER_TYPE < XmlBase
469
+ # Clip art placeholder
470
+ member :BITMAP, 9, xml: "clipArt"
471
+ # Body
472
+ member :BODY, 2, xml: "body"
473
+ # Center Title
474
+ member :CENTER_TITLE, 3, xml: "ctrTitle"
475
+ # Chart
476
+ member :CHART, 8, xml: "chart"
477
+ # Date
478
+ member :DATE, 16, xml: "dt"
479
+ # Footer
480
+ member :FOOTER, 15, xml: "ftr"
481
+ # Header
482
+ member :HEADER, 14, xml: "hdr"
483
+ # Media Clip
484
+ member :MEDIA_CLIP, 10, xml: "media"
485
+ # Object
486
+ member :OBJECT, 7, xml: "obj"
487
+ # SmartArt placeholder. Organization chart is a legacy name.
488
+ member :ORG_CHART, 11, xml: "dgm"
489
+ # Picture
490
+ member :PICTURE, 18, xml: "pic"
491
+ # Slide Image
492
+ member :SLIDE_IMAGE, 101, xml: "sldImg"
493
+ # Slide Number
494
+ member :SLIDE_NUMBER, 13, xml: "sldNum"
495
+ # Subtitle
496
+ member :SUBTITLE, 4, xml: "subTitle"
497
+ # Table
498
+ member :TABLE, 12, xml: "tbl"
499
+ # Title
500
+ member :TITLE, 1, xml: "title"
501
+ # Vertical Body (read-only).
502
+ member :VERTICAL_BODY, 6
503
+ # Vertical Object (read-only).
504
+ member :VERTICAL_OBJECT, 17
505
+ # Vertical Title (read-only).
506
+ member :VERTICAL_TITLE, 5
507
+ # Return value only; multiple placeholders of differing types.
508
+ member :MIXED, -2
509
+ end
510
+
511
+ # Alias of PP_PLACEHOLDER_TYPE, matching the MS API name.
512
+ PP_PLACEHOLDER = PP_PLACEHOLDER_TYPE
513
+ end
514
+ end
@@ -0,0 +1,108 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by tools/generate_enums.py from python-pptx 1.0.2. Do not edit by hand.
4
+
5
+ require "ruby_pptx/enum/base"
6
+
7
+ module Pptx
8
+ module Enum
9
+ # Determines the type of automatic sizing allowed.
10
+ class MSO_AUTO_SIZE < Base
11
+ # No automatic sizing of the shape or text will be done.
12
+ member :NONE, 0
13
+ # The shape height and possibly width are adjusted to fit the text.
14
+ member :SHAPE_TO_FIT_TEXT, 1
15
+ # The font size is reduced as necessary to fit the text within the
16
+ # shape.
17
+ member :TEXT_TO_FIT_SHAPE, 2
18
+ # Return value only; indicates a combination of automatic sizing schemes
19
+ # are used.
20
+ member :MIXED, -2
21
+ end
22
+
23
+ # Indicates the type of underline for text. Used with
24
+ # :attr:`.Font.underline` to specify the style of text underlining.
25
+ class MSO_TEXT_UNDERLINE_TYPE < XmlBase
26
+ # Specifies no underline.
27
+ member :NONE, 0, xml: "none"
28
+ # Specifies a dash underline.
29
+ member :DASH_HEAVY_LINE, 8, xml: "dashHeavy"
30
+ # Specifies a dash line underline.
31
+ member :DASH_LINE, 7, xml: "dash"
32
+ # Specifies a long heavy line underline.
33
+ member :DASH_LONG_HEAVY_LINE, 10, xml: "dashLongHeavy"
34
+ # Specifies a dashed long line underline.
35
+ member :DASH_LONG_LINE, 9, xml: "dashLong"
36
+ # Specifies a dot dash heavy line underline.
37
+ member :DOT_DASH_HEAVY_LINE, 12, xml: "dotDashHeavy"
38
+ # Specifies a dot dash line underline.
39
+ member :DOT_DASH_LINE, 11, xml: "dotDash"
40
+ # Specifies a dot dot dash heavy line underline.
41
+ member :DOT_DOT_DASH_HEAVY_LINE, 14, xml: "dotDotDashHeavy"
42
+ # Specifies a dot dot dash line underline.
43
+ member :DOT_DOT_DASH_LINE, 13, xml: "dotDotDash"
44
+ # Specifies a dotted heavy line underline.
45
+ member :DOTTED_HEAVY_LINE, 6, xml: "dottedHeavy"
46
+ # Specifies a dotted line underline.
47
+ member :DOTTED_LINE, 5, xml: "dotted"
48
+ # Specifies a double line underline.
49
+ member :DOUBLE_LINE, 3, xml: "dbl"
50
+ # Specifies a heavy line underline.
51
+ member :HEAVY_LINE, 4, xml: "heavy"
52
+ # Specifies a single line underline.
53
+ member :SINGLE_LINE, 2, xml: "sng"
54
+ # Specifies a wavy double line underline.
55
+ member :WAVY_DOUBLE_LINE, 17, xml: "wavyDbl"
56
+ # Specifies a wavy heavy line underline.
57
+ member :WAVY_HEAVY_LINE, 16, xml: "wavyHeavy"
58
+ # Specifies a wavy line underline.
59
+ member :WAVY_LINE, 15, xml: "wavy"
60
+ # Specifies underlining words.
61
+ member :WORDS, 1, xml: "words"
62
+ # Specifies a mix of underline types (read-only).
63
+ member :MIXED, -2
64
+ end
65
+
66
+ # Alias of MSO_TEXT_UNDERLINE_TYPE, matching the MS API name.
67
+ MSO_UNDERLINE = MSO_TEXT_UNDERLINE_TYPE
68
+
69
+ # Specifies the vertical alignment of text in a text frame.
70
+ class MSO_VERTICAL_ANCHOR < XmlBase
71
+ # Aligns text to top of text frame
72
+ member :TOP, 1, xml: "t"
73
+ # Centers text vertically
74
+ member :MIDDLE, 3, xml: "ctr"
75
+ # Aligns text to bottom of text frame
76
+ member :BOTTOM, 4, xml: "b"
77
+ # Return value only; indicates a combination of the other states.
78
+ member :MIXED, -2
79
+ end
80
+
81
+ # Alias of MSO_VERTICAL_ANCHOR, matching the MS API name.
82
+ MSO_ANCHOR = MSO_VERTICAL_ANCHOR
83
+
84
+ # Specifies the horizontal alignment for one or more paragraphs.
85
+ class PP_PARAGRAPH_ALIGNMENT < XmlBase
86
+ # Center align
87
+ member :CENTER, 2, xml: "ctr"
88
+ # Evenly distributes e.g. Japanese characters from left to right within
89
+ # a line
90
+ member :DISTRIBUTE, 5, xml: "dist"
91
+ # Justified, i.e. each line both begins and ends at the margin.
92
+ member :JUSTIFY, 4, xml: "just"
93
+ # Justify using a small amount of space between words.
94
+ member :JUSTIFY_LOW, 7, xml: "justLow"
95
+ # Left aligned
96
+ member :LEFT, 1, xml: "l"
97
+ # Right aligned
98
+ member :RIGHT, 3, xml: "r"
99
+ # Thai distributed
100
+ member :THAI_DISTRIBUTE, 6, xml: "thaiDist"
101
+ # Multiple alignments are present in a set of paragraphs (read-only).
102
+ member :MIXED, -2
103
+ end
104
+
105
+ # Alias of PP_PARAGRAPH_ALIGNMENT, matching the MS API name.
106
+ PP_ALIGN = PP_PARAGRAPH_ALIGNMENT
107
+ end
108
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pptx
4
+ # Base class for every error raised by this library.
5
+ class Error < StandardError; end
6
+
7
+ # Raised when a file is not a readable OOXML package.
8
+ class PackageNotFoundError < Error; end
9
+
10
+ # Raised when the XML in a package part violates the schema in a way we rely on.
11
+ class InvalidXmlError < Error; end
12
+
13
+ # Raised when a requested shape, part or relationship does not exist.
14
+ class NotFoundError < Error; end
15
+ end