openxml-drawingml 0.1.0 → 0.2.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 (259) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +8 -8
  3. data/lib/openxml/drawingml.rb +11 -0
  4. data/lib/openxml/drawingml/elements.rb +1 -1
  5. data/lib/openxml/drawingml/elements/adjust_values_list.rb +2 -2
  6. data/lib/openxml/drawingml/elements/blip.rb +3 -3
  7. data/lib/openxml/drawingml/elements/blip_fill.rb +1 -2
  8. data/lib/openxml/drawingml/elements/children_extents.rb +2 -1
  9. data/lib/openxml/drawingml/elements/children_offset.rb +2 -1
  10. data/lib/openxml/drawingml/elements/extension.rb +2 -1
  11. data/lib/openxml/drawingml/elements/extension_list.rb +2 -2
  12. data/lib/openxml/drawingml/elements/extents.rb +2 -1
  13. data/lib/openxml/drawingml/elements/fill_rectangle.rb +2 -1
  14. data/lib/openxml/drawingml/elements/graphic.rb +4 -1
  15. data/lib/openxml/drawingml/elements/graphic_data.rb +3 -1
  16. data/lib/openxml/drawingml/elements/graphic_frame_locks.rb +3 -1
  17. data/lib/openxml/drawingml/elements/head_end.rb +3 -1
  18. data/lib/openxml/drawingml/elements/line_break.rb +89 -0
  19. data/lib/openxml/drawingml/elements/no_autofit.rb +2 -2
  20. data/lib/openxml/drawingml/elements/no_fill.rb +3 -1
  21. data/lib/openxml/drawingml/elements/non_visual_drawing_properties.rb +1 -1
  22. data/lib/openxml/drawingml/elements/non_visual_picture_drawing_properties.rb +1 -2
  23. data/lib/openxml/drawingml/elements/non_visual_picture_properties.rb +1 -2
  24. data/lib/openxml/drawingml/elements/non_visual_shape_drawing_properties.rb +1 -2
  25. data/lib/openxml/drawingml/elements/offset.rb +1 -1
  26. data/lib/openxml/drawingml/elements/outline.rb +2 -2
  27. data/lib/openxml/drawingml/elements/paragraph.rb +78 -0
  28. data/lib/openxml/drawingml/elements/picture.rb +1 -2
  29. data/lib/openxml/drawingml/elements/picture_locks.rb +1 -1
  30. data/lib/openxml/drawingml/elements/picture_shape_properties.rb +1 -2
  31. data/lib/openxml/drawingml/elements/preset_geometry.rb +2 -2
  32. data/lib/openxml/drawingml/elements/preset_text_warp.rb +1 -2
  33. data/lib/openxml/drawingml/elements/round.rb +4 -1
  34. data/lib/openxml/drawingml/elements/run.rb +85 -0
  35. data/lib/openxml/drawingml/elements/shape_guide.rb +1 -1
  36. data/lib/openxml/drawingml/elements/solid_fill.rb +3 -1
  37. data/lib/openxml/drawingml/elements/source_rectangle.rb +1 -1
  38. data/lib/openxml/drawingml/elements/srgb_color.rb +2 -1
  39. data/lib/openxml/drawingml/elements/stretch.rb +2 -2
  40. data/lib/openxml/drawingml/elements/tail_end.rb +3 -1
  41. data/lib/openxml/drawingml/elements/text.rb +21 -0
  42. data/lib/openxml/drawingml/elements/theme_elements.rb +4 -1
  43. data/lib/openxml/drawingml/elements/transform_effect.rb +1 -2
  44. data/lib/openxml/drawingml/parts.rb +10 -0
  45. data/lib/openxml/drawingml/parts/theme.rb +46 -0
  46. data/lib/openxml/drawingml/properties.rb +24 -0
  47. data/lib/openxml/drawingml/properties/audio_cd.rb +16 -0
  48. data/lib/openxml/drawingml/properties/audio_cd_end.rb +13 -0
  49. data/lib/openxml/drawingml/properties/audio_cd_start.rb +13 -0
  50. data/lib/openxml/drawingml/properties/audio_cd_time_property.rb +11 -0
  51. data/lib/openxml/drawingml/properties/audio_file.rb +13 -0
  52. data/lib/openxml/drawingml/properties/autofit_none.rb +11 -0
  53. data/lib/openxml/drawingml/properties/autofit_normal.rb +14 -0
  54. data/lib/openxml/drawingml/properties/autofit_shape.rb +11 -0
  55. data/lib/openxml/drawingml/properties/background_fill_style_list.rb +14 -0
  56. data/lib/openxml/drawingml/properties/blip.rb +27 -0
  57. data/lib/openxml/drawingml/properties/body_properties.rb +81 -0
  58. data/lib/openxml/drawingml/properties/bullet_color.rb +13 -0
  59. data/lib/openxml/drawingml/properties/bullet_color_text.rb +11 -0
  60. data/lib/openxml/drawingml/properties/bullet_font.rb +13 -0
  61. data/lib/openxml/drawingml/properties/bullet_font_text.rb +11 -0
  62. data/lib/openxml/drawingml/properties/bullet_size_percent.rb +20 -0
  63. data/lib/openxml/drawingml/properties/bullet_size_points.rb +20 -0
  64. data/lib/openxml/drawingml/properties/bullet_size_text.rb +11 -0
  65. data/lib/openxml/drawingml/properties/bullet_style_auto_numbered.rb +27 -0
  66. data/lib/openxml/drawingml/properties/bullet_style_blip.rb +12 -0
  67. data/lib/openxml/drawingml/properties/bullet_style_character.rb +13 -0
  68. data/lib/openxml/drawingml/properties/bullet_style_none.rb +11 -0
  69. data/lib/openxml/drawingml/properties/child_extent.rb +13 -0
  70. data/lib/openxml/drawingml/properties/child_offset.rb +13 -0
  71. data/lib/openxml/drawingml/properties/color_component_rgb.rb +17 -0
  72. data/lib/openxml/drawingml/properties/color_container_property.rb +17 -0
  73. data/lib/openxml/drawingml/properties/color_hex_rgb.rb +20 -0
  74. data/lib/openxml/drawingml/properties/color_hsl.rb +17 -0
  75. data/lib/openxml/drawingml/properties/color_mapping.rb +31 -0
  76. data/lib/openxml/drawingml/properties/color_mapping_override.rb +16 -0
  77. data/lib/openxml/drawingml/properties/color_mapping_override_map.rb +13 -0
  78. data/lib/openxml/drawingml/properties/color_mapping_override_master.rb +11 -0
  79. data/lib/openxml/drawingml/properties/color_preset_color.rb +51 -0
  80. data/lib/openxml/drawingml/properties/color_property.rb +40 -0
  81. data/lib/openxml/drawingml/properties/color_scheme.rb +29 -0
  82. data/lib/openxml/drawingml/properties/color_scheme_accent_five.rb +13 -0
  83. data/lib/openxml/drawingml/properties/color_scheme_accent_four.rb +13 -0
  84. data/lib/openxml/drawingml/properties/color_scheme_accent_one.rb +13 -0
  85. data/lib/openxml/drawingml/properties/color_scheme_accent_six.rb +13 -0
  86. data/lib/openxml/drawingml/properties/color_scheme_accent_three.rb +13 -0
  87. data/lib/openxml/drawingml/properties/color_scheme_accent_two.rb +13 -0
  88. data/lib/openxml/drawingml/properties/color_scheme_color.rb +25 -0
  89. data/lib/openxml/drawingml/properties/color_scheme_dark_one.rb +13 -0
  90. data/lib/openxml/drawingml/properties/color_scheme_dark_two.rb +13 -0
  91. data/lib/openxml/drawingml/properties/color_scheme_followed_hyperlink.rb +13 -0
  92. data/lib/openxml/drawingml/properties/color_scheme_hyperlink.rb +13 -0
  93. data/lib/openxml/drawingml/properties/color_scheme_light_one.rb +13 -0
  94. data/lib/openxml/drawingml/properties/color_scheme_light_two.rb +13 -0
  95. data/lib/openxml/drawingml/properties/color_system_color.rb +30 -0
  96. data/lib/openxml/drawingml/properties/color_xform_alpha.rb +19 -0
  97. data/lib/openxml/drawingml/properties/color_xform_alpha_modulation.rb +11 -0
  98. data/lib/openxml/drawingml/properties/color_xform_alpha_offset.rb +19 -0
  99. data/lib/openxml/drawingml/properties/color_xform_blue.rb +11 -0
  100. data/lib/openxml/drawingml/properties/color_xform_blue_modulation.rb +11 -0
  101. data/lib/openxml/drawingml/properties/color_xform_blue_offset.rb +11 -0
  102. data/lib/openxml/drawingml/properties/color_xform_complement.rb +11 -0
  103. data/lib/openxml/drawingml/properties/color_xform_gamma.rb +11 -0
  104. data/lib/openxml/drawingml/properties/color_xform_grayscale.rb +11 -0
  105. data/lib/openxml/drawingml/properties/color_xform_green.rb +11 -0
  106. data/lib/openxml/drawingml/properties/color_xform_green_modulation.rb +11 -0
  107. data/lib/openxml/drawingml/properties/color_xform_green_offset.rb +11 -0
  108. data/lib/openxml/drawingml/properties/color_xform_hue.rb +20 -0
  109. data/lib/openxml/drawingml/properties/color_xform_hue_modulation.rb +11 -0
  110. data/lib/openxml/drawingml/properties/color_xform_hue_offset.rb +11 -0
  111. data/lib/openxml/drawingml/properties/color_xform_inverse.rb +11 -0
  112. data/lib/openxml/drawingml/properties/color_xform_inverse_gamma.rb +11 -0
  113. data/lib/openxml/drawingml/properties/color_xform_luminance.rb +11 -0
  114. data/lib/openxml/drawingml/properties/color_xform_luminance_modulation.rb +11 -0
  115. data/lib/openxml/drawingml/properties/color_xform_luminance_offset.rb +11 -0
  116. data/lib/openxml/drawingml/properties/color_xform_red.rb +11 -0
  117. data/lib/openxml/drawingml/properties/color_xform_red_modulation.rb +11 -0
  118. data/lib/openxml/drawingml/properties/color_xform_red_offset.rb +11 -0
  119. data/lib/openxml/drawingml/properties/color_xform_saturation.rb +11 -0
  120. data/lib/openxml/drawingml/properties/color_xform_saturation_modulation.rb +11 -0
  121. data/lib/openxml/drawingml/properties/color_xform_saturation_offset.rb +11 -0
  122. data/lib/openxml/drawingml/properties/color_xform_shade.rb +19 -0
  123. data/lib/openxml/drawingml/properties/color_xform_tint.rb +19 -0
  124. data/lib/openxml/drawingml/properties/complex_script_font.rb +13 -0
  125. data/lib/openxml/drawingml/properties/connection.rb +11 -0
  126. data/lib/openxml/drawingml/properties/connection_end.rb +13 -0
  127. data/lib/openxml/drawingml/properties/connection_shape_locks.rb +24 -0
  128. data/lib/openxml/drawingml/properties/connection_start.rb +13 -0
  129. data/lib/openxml/drawingml/properties/custom_color.rb +13 -0
  130. data/lib/openxml/drawingml/properties/custom_color_list.rb +14 -0
  131. data/lib/openxml/drawingml/properties/custom_dash_style.rb +14 -0
  132. data/lib/openxml/drawingml/properties/custom_geometry.rb +18 -0
  133. data/lib/openxml/drawingml/properties/dash_stop.rb +14 -0
  134. data/lib/openxml/drawingml/properties/default_paragraph_properties.rb +13 -0
  135. data/lib/openxml/drawingml/properties/default_run_properties.rb +13 -0
  136. data/lib/openxml/drawingml/properties/default_shape_properties.rb +15 -0
  137. data/lib/openxml/drawingml/properties/east_asian_font.rb +13 -0
  138. data/lib/openxml/drawingml/properties/effect_dag.rb +20 -0
  139. data/lib/openxml/drawingml/properties/effect_list.rb +17 -0
  140. data/lib/openxml/drawingml/properties/effect_reference.rb +13 -0
  141. data/lib/openxml/drawingml/properties/effect_style.rb +18 -0
  142. data/lib/openxml/drawingml/properties/effect_style_list.rb +14 -0
  143. data/lib/openxml/drawingml/properties/embedded_sound_file.rb +14 -0
  144. data/lib/openxml/drawingml/properties/extension.rb +14 -0
  145. data/lib/openxml/drawingml/properties/extension_list.rb +14 -0
  146. data/lib/openxml/drawingml/properties/extent.rb +29 -0
  147. data/lib/openxml/drawingml/properties/external_media_file.rb +15 -0
  148. data/lib/openxml/drawingml/properties/extra_color_scheme.rb +14 -0
  149. data/lib/openxml/drawingml/properties/extra_color_scheme_list.rb +14 -0
  150. data/lib/openxml/drawingml/properties/fill_blip.rb +22 -0
  151. data/lib/openxml/drawingml/properties/fill_gradient.rb +24 -0
  152. data/lib/openxml/drawingml/properties/fill_group.rb +11 -0
  153. data/lib/openxml/drawingml/properties/fill_none.rb +11 -0
  154. data/lib/openxml/drawingml/properties/fill_pattern.rb +23 -0
  155. data/lib/openxml/drawingml/properties/fill_rectangle.rb +13 -0
  156. data/lib/openxml/drawingml/properties/fill_reference.rb +13 -0
  157. data/lib/openxml/drawingml/properties/fill_solid.rb +13 -0
  158. data/lib/openxml/drawingml/properties/fill_style_list.rb +19 -0
  159. data/lib/openxml/drawingml/properties/fill_to_rectangle.rb +13 -0
  160. data/lib/openxml/drawingml/properties/flat_text.rb +39 -0
  161. data/lib/openxml/drawingml/properties/font_collection_property.rb +16 -0
  162. data/lib/openxml/drawingml/properties/font_property.rb +29 -0
  163. data/lib/openxml/drawingml/properties/font_reference.rb +13 -0
  164. data/lib/openxml/drawingml/properties/font_scheme.rb +18 -0
  165. data/lib/openxml/drawingml/properties/format_scheme.rb +19 -0
  166. data/lib/openxml/drawingml/properties/geometry_guide.rb +14 -0
  167. data/lib/openxml/drawingml/properties/geometry_guide_list.rb +14 -0
  168. data/lib/openxml/drawingml/properties/gradient_line.rb +14 -0
  169. data/lib/openxml/drawingml/properties/gradient_path.rb +16 -0
  170. data/lib/openxml/drawingml/properties/gradient_stop.rb +13 -0
  171. data/lib/openxml/drawingml/properties/gradient_stop_list.rb +14 -0
  172. data/lib/openxml/drawingml/properties/graphic.rb +13 -0
  173. data/lib/openxml/drawingml/properties/graphic_data.rb +14 -0
  174. data/lib/openxml/drawingml/properties/graphic_frame_locks.rb +20 -0
  175. data/lib/openxml/drawingml/properties/group_shape_locks.rb +22 -0
  176. data/lib/openxml/drawingml/properties/group_transform.rb +16 -0
  177. data/lib/openxml/drawingml/properties/head_end.rb +13 -0
  178. data/lib/openxml/drawingml/properties/highlight.rb +13 -0
  179. data/lib/openxml/drawingml/properties/hyperlink_click.rb +13 -0
  180. data/lib/openxml/drawingml/properties/hyperlink_hover.rb +13 -0
  181. data/lib/openxml/drawingml/properties/hyperlink_mouse_over.rb +13 -0
  182. data/lib/openxml/drawingml/properties/hyperlink_property.rb +22 -0
  183. data/lib/openxml/drawingml/properties/integer_property.rb +12 -0
  184. data/lib/openxml/drawingml/properties/latin_font.rb +13 -0
  185. data/lib/openxml/drawingml/properties/level1_paragraph_properties.rb +13 -0
  186. data/lib/openxml/drawingml/properties/level2_paragraph_properties.rb +13 -0
  187. data/lib/openxml/drawingml/properties/level3_paragraph_properties.rb +13 -0
  188. data/lib/openxml/drawingml/properties/level4_paragraph_properties.rb +13 -0
  189. data/lib/openxml/drawingml/properties/level5_paragraph_properties.rb +13 -0
  190. data/lib/openxml/drawingml/properties/level6_paragraph_properties.rb +13 -0
  191. data/lib/openxml/drawingml/properties/level7_paragraph_properties.rb +13 -0
  192. data/lib/openxml/drawingml/properties/level8_paragraph_properties.rb +13 -0
  193. data/lib/openxml/drawingml/properties/level9_paragraph_properties.rb +13 -0
  194. data/lib/openxml/drawingml/properties/line_default.rb +13 -0
  195. data/lib/openxml/drawingml/properties/line_end_properties.rb +12 -0
  196. data/lib/openxml/drawingml/properties/line_join_bevel.rb +11 -0
  197. data/lib/openxml/drawingml/properties/line_join_miter.rb +31 -0
  198. data/lib/openxml/drawingml/properties/line_join_round.rb +11 -0
  199. data/lib/openxml/drawingml/properties/line_property.rb +43 -0
  200. data/lib/openxml/drawingml/properties/line_spacing.rb +16 -0
  201. data/lib/openxml/drawingml/properties/line_style_list.rb +14 -0
  202. data/lib/openxml/drawingml/properties/list_style.rb +24 -0
  203. data/lib/openxml/drawingml/properties/major_font.rb +13 -0
  204. data/lib/openxml/drawingml/properties/minor_font.rb +13 -0
  205. data/lib/openxml/drawingml/properties/object_defaults.rb +17 -0
  206. data/lib/openxml/drawingml/properties/offset.rb +29 -0
  207. data/lib/openxml/drawingml/properties/outline.rb +13 -0
  208. data/lib/openxml/drawingml/properties/outline_reference.rb +13 -0
  209. data/lib/openxml/drawingml/properties/paragraph_properties.rb +78 -0
  210. data/lib/openxml/drawingml/properties/path.rb +49 -0
  211. data/lib/openxml/drawingml/properties/path_list.rb +14 -0
  212. data/lib/openxml/drawingml/properties/percentage_property.rb +17 -0
  213. data/lib/openxml/drawingml/properties/picture_locks.rb +25 -0
  214. data/lib/openxml/drawingml/properties/positive_integer_property.rb +12 -0
  215. data/lib/openxml/drawingml/properties/positive_percentage_property.rb +17 -0
  216. data/lib/openxml/drawingml/properties/preset_dash_style.rb +16 -0
  217. data/lib/openxml/drawingml/properties/preset_geometry.rb +59 -0
  218. data/lib/openxml/drawingml/properties/preset_text_warp.rb +25 -0
  219. data/lib/openxml/drawingml/properties/quick_time_file.rb +17 -0
  220. data/lib/openxml/drawingml/properties/relative_rectangle_property.rb +13 -0
  221. data/lib/openxml/drawingml/properties/right_to_left.rb +11 -0
  222. data/lib/openxml/drawingml/properties/run_properties.rb +93 -0
  223. data/lib/openxml/drawingml/properties/scene_3d.rb +17 -0
  224. data/lib/openxml/drawingml/properties/shape_adjustment_list.rb +14 -0
  225. data/lib/openxml/drawingml/properties/shape_default.rb +13 -0
  226. data/lib/openxml/drawingml/properties/shape_locks.rb +25 -0
  227. data/lib/openxml/drawingml/properties/shape_properties.rb +46 -0
  228. data/lib/openxml/drawingml/properties/shape_style.rb +16 -0
  229. data/lib/openxml/drawingml/properties/simple_boolean_property.rb +16 -0
  230. data/lib/openxml/drawingml/properties/simple_property_container_property.rb +14 -0
  231. data/lib/openxml/drawingml/properties/source_rectangle.rb +13 -0
  232. data/lib/openxml/drawingml/properties/space_after.rb +22 -0
  233. data/lib/openxml/drawingml/properties/space_before.rb +22 -0
  234. data/lib/openxml/drawingml/properties/spacing_percent.rb +11 -0
  235. data/lib/openxml/drawingml/properties/spacing_points.rb +20 -0
  236. data/lib/openxml/drawingml/properties/stretch.rb +13 -0
  237. data/lib/openxml/drawingml/properties/style_matrix_reference_property.rb +20 -0
  238. data/lib/openxml/drawingml/properties/supplemental_font.rb +14 -0
  239. data/lib/openxml/drawingml/properties/symbol_font.rb +13 -0
  240. data/lib/openxml/drawingml/properties/tab_list.rb +14 -0
  241. data/lib/openxml/drawingml/properties/tab_stop.rb +29 -0
  242. data/lib/openxml/drawingml/properties/tail_end.rb +13 -0
  243. data/lib/openxml/drawingml/properties/text_body.rb +15 -0
  244. data/lib/openxml/drawingml/properties/text_default.rb +13 -0
  245. data/lib/openxml/drawingml/properties/theme_elements.rb +16 -0
  246. data/lib/openxml/drawingml/properties/tile.rb +35 -0
  247. data/lib/openxml/drawingml/properties/tile_rectangle.rb +13 -0
  248. data/lib/openxml/drawingml/properties/transform.rb +19 -0
  249. data/lib/openxml/drawingml/properties/underline.rb +13 -0
  250. data/lib/openxml/drawingml/properties/underline_fill.rb +20 -0
  251. data/lib/openxml/drawingml/properties/underline_fill_text.rb +11 -0
  252. data/lib/openxml/drawingml/properties/underline_text.rb +11 -0
  253. data/lib/openxml/drawingml/properties/value_property.rb +12 -0
  254. data/lib/openxml/drawingml/properties/video_file.rb +13 -0
  255. data/lib/openxml/drawingml/properties/wav_audio_file.rb +13 -0
  256. data/lib/openxml/drawingml/version.rb +1 -1
  257. data/openxml-drawingml.gemspec +3 -3
  258. metadata +222 -5
  259. data/lib/openxml/drawingml/element.rb +0 -9
@@ -0,0 +1,16 @@
1
+ module OpenXml
2
+ module DrawingML
3
+ module Properties
4
+ class ColorMappingOverride < SimplePropertyContainerProperty
5
+ namespace :a
6
+ tag :clrMapOvr
7
+
8
+ property_choice required: true do
9
+ value_property :use_master_color_mapping, as: :color_mapping_override_master
10
+ property :override_map, as: :color_mapping_override_map
11
+ end
12
+
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,13 @@
1
+ require "openxml/drawingml/properties/color_mapping"
2
+
3
+ module OpenXml
4
+ module DrawingML
5
+ module Properties
6
+ class ColorMappingOverrideMap < ColorMapping
7
+ namespace :a
8
+ tag :overrideClrMapping
9
+
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ module OpenXml
2
+ module DrawingML
3
+ module Properties
4
+ class ColorMappingOverrideMaster < SimpleBooleanProperty
5
+ namespace :a
6
+ tag :masterClrMapping
7
+
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,51 @@
1
+ require "openxml/drawingml/properties/color_property"
2
+
3
+ module OpenXml
4
+ module DrawingML
5
+ module Properties
6
+ class ColorPresetColor < ColorProperty
7
+ namespace :a
8
+ tag :prstClr
9
+
10
+ PRESET_COLORS = %i{
11
+ aliceBlue antiqueWhite aqua aquamarine azure beige bisque black
12
+ blanchedAlmond blue blueViolet brown burlyWood cadetBlue chartreuse
13
+ chocolate coral cornflowerBlue consilk crimson cyan darkBlue darkCyan
14
+ darkGoldenrod darkGray darkGrey darkGreen darkKhaki darkMagenta
15
+ darkOliveGreen darkOrange darkOrchid darkRed darkSalmon darkSeaGreen
16
+ darkSlateBlue darkSlateGray darkSlateGrey darkTurquoise darkViolet
17
+ dkBlue dkCyan dkGoldenrod dkGray dkGrey dkGreen dkKhaki dkMagenta
18
+ dkOliveGreen dkOrange dkOrchid dkRed dkSalmon dkSeaGreen dkSlateBlue
19
+ dkSlateGray dkSlateGrey dkTurquoise dkViolet deepPink deepSkyBlue
20
+ dimGray dimGrey dodgerBlue firebrick floralWhite forestGreen fuchsia
21
+ gainsboro ghostWhite gold goldenrod gray grey green greenYellow
22
+ honeydew hotPink indianRed indigo ivory khaki lavender lavenderBlush
23
+ lawnGreen lemonChiffon lightBlue lightCoral lightCyan
24
+ lightGoldenrodYellow lightGray lightGrey lightGreen lightPink
25
+ lightSalmon lightSeaGreen lightSkyBlue lightSlateGray lightSlateGrey
26
+ lightSteelBlue lightYellow ltBlue ltCoral ltCyan ltGoldenrodYellow
27
+ ltGray ltGrey ltGreen ltPink ltSalmon ltSeaGreen ltSkyBlue ltSlateGray
28
+ ltSlateGrey ltSteelBlue ltYellow lime limeGreen linen magenta maroon
29
+ medAquamarine medBlue medOrchid medPurple medSeaGreen medSlateBlue
30
+ medSpringGreen medTurquoise medVioletRed mediumAquamarine mediumBlue
31
+ mediumOrchid mediumPurple mediumSeaGreen mediumSlateBlue mediumSpringGreen
32
+ mediumTurquoise mediumVioletRed midnightBlue mintCream mistyRose moccasin
33
+ navajoWhite navy oldLace olive oliveDrab orange orangeRed orchid
34
+ paleGoldenrod paleGreen paleTurquoise paleVioletRed papayaWhip
35
+ peachPuff peru pink plum powderBlue purple red rosyBrown royalBlue
36
+ saddleBrown salmon sandyBrown seaGreen seaShell sienna silver skyBlue
37
+ slateBlue slateGray slateGrey snow springGreen steelBlue tan teal thistle
38
+ tomato turquoise violet wheat white whiteSmoke yellow yellowGreen
39
+ }.freeze
40
+
41
+ attribute :value, displays_as: :val, one_of: PRESET_COLORS
42
+
43
+ def initialize(value)
44
+ super()
45
+ self.value = value
46
+ end
47
+
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,40 @@
1
+ module OpenXml
2
+ module DrawingML
3
+ module Properties
4
+ class ColorProperty < OpenXml::Properties::ComplexProperty
5
+ include OpenXml::ContainsProperties
6
+
7
+ # EG_ColorTransform properties (pg. 3980)
8
+ value_property :tint_transform, as: :color_xform_tint
9
+ value_property :shade_transform, as: :color_xform_shade
10
+ value_property :complement, as: :color_xform_complement
11
+ value_property :inverse, as: :color_xform_inverse
12
+ value_property :grayscale, as: :color_xform_grayscale
13
+ value_property :alpha_transform, as: :color_xform_alpha
14
+ value_property :alpha_offset, as: :color_xform_alpha_offset
15
+ value_property :alpha_modulation, as: :color_xform_alpha_modulation
16
+ value_property :hue_transform, as: :color_xform_hue
17
+ value_property :hue_offset, as: :color_xform_hue_offset
18
+ value_property :hue_modulation, as: :color_xform_hue_modulation
19
+ value_property :saturation_transform, as: :color_xform_saturation
20
+ value_property :saturation_offset, as: :color_xform_saturation_offset
21
+ value_property :saturation_modulation, as: :color_xform_saturation_modulation
22
+ value_property :luminance_transform, as: :color_xform_luminance
23
+ value_property :luminance_offset, as: :color_xform_luminance_offset
24
+ value_property :luminance_modulation, as: :color_xform_luminance_modulation
25
+ value_property :red_transform, as: :color_xform_red
26
+ value_property :red_offset, as: :color_xform_red_offset
27
+ value_property :red_modulation, as: :color_xform_red_modulation
28
+ value_property :green_transform, as: :color_xform_green
29
+ value_property :green_offset, as: :color_xform_green_offset
30
+ value_property :green_modulation, as: :color_xform_green_modulation
31
+ value_property :blue_transform, as: :color_xform_blue
32
+ value_property :blue_offset, as: :color_xform_blue_offset
33
+ value_property :blue_modulation, as: :color_xform_blue_modulation
34
+ value_property :gamma, as: :color_xform_gamma
35
+ value_property :inverse_gamma, as: :color_xform_inverse_gamma
36
+
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,29 @@
1
+ module OpenXml
2
+ module DrawingML
3
+ module Properties
4
+ class ColorScheme < OpenXml::Properties::ComplexProperty
5
+ include OpenXml::ContainsProperties
6
+ namespace :a
7
+ tag :clrScheme
8
+
9
+ attribute :scheme_name, displays_as: :name, expects: :string, required: true
10
+
11
+ property :dark_one, as: :color_scheme_dark_one, required: true
12
+ property :light_one, as: :color_scheme_light_one, required: true
13
+ property :dark_two, as: :color_scheme_dark_two, required: true
14
+ property :light_two, as: :color_scheme_light_two, required: true
15
+ property :accent_one, as: :color_scheme_accent_one, required: true
16
+ property :accent_two, as: :color_scheme_accent_two, required: true
17
+ property :accent_three, as: :color_scheme_accent_three, required: true
18
+ property :accent_four, as: :color_scheme_accent_four, required: true
19
+ property :accent_five, as: :color_scheme_accent_five, required: true
20
+ property :accent_six, as: :color_scheme_accent_six, required: true
21
+ property :hyperlink, as: :color_scheme_hyperlink, required: true
22
+ property :followed_hyperlink, as: :color_scheme_followed_hyperlink, required: true
23
+
24
+ property :extension_list
25
+
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,13 @@
1
+ require "openxml/drawingml/properties/color_container_property"
2
+
3
+ module OpenXml
4
+ module DrawingML
5
+ module Properties
6
+ class ColorSchemeAccentFive < ColorContainerProperty
7
+ namespace :a
8
+ tag :accent5
9
+
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "openxml/drawingml/properties/color_container_property"
2
+
3
+ module OpenXml
4
+ module DrawingML
5
+ module Properties
6
+ class ColorSchemeAccentFour < ColorContainerProperty
7
+ namespace :a
8
+ tag :accent4
9
+
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "openxml/drawingml/properties/color_container_property"
2
+
3
+ module OpenXml
4
+ module DrawingML
5
+ module Properties
6
+ class ColorSchemeAccentOne < ColorContainerProperty
7
+ namespace :a
8
+ tag :accent1
9
+
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "openxml/drawingml/properties/color_container_property"
2
+
3
+ module OpenXml
4
+ module DrawingML
5
+ module Properties
6
+ class ColorSchemeAccentSix < ColorContainerProperty
7
+ namespace :a
8
+ tag :accent6
9
+
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "openxml/drawingml/properties/color_container_property"
2
+
3
+ module OpenXml
4
+ module DrawingML
5
+ module Properties
6
+ class ColorSchemeAccentThree < ColorContainerProperty
7
+ namespace :a
8
+ tag :accent3
9
+
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "openxml/drawingml/properties/color_container_property"
2
+
3
+ module OpenXml
4
+ module DrawingML
5
+ module Properties
6
+ class ColorSchemeAccentTwo < ColorContainerProperty
7
+ namespace :a
8
+ tag :accent2
9
+
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,25 @@
1
+ require "openxml/drawingml/properties/color_property"
2
+
3
+ module OpenXml
4
+ module DrawingML
5
+ module Properties
6
+ class ColorSchemeColor < ColorProperty
7
+ namespace :a
8
+ tag :schemeClr
9
+
10
+ SCHEME_COLORS = %i{
11
+ bg1 tx1 bg2 tx2 accent1 accent2 accent3 accent4 accent5 accent6 hlink
12
+ folHlink phClr dk1 lt1 dk2 lt2
13
+ }.freeze
14
+
15
+ attribute :value, displays_as: :val, one_of: SCHEME_COLORS
16
+
17
+ def initialize(value)
18
+ super()
19
+ self.value = value
20
+ end
21
+
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,13 @@
1
+ require "openxml/drawingml/properties/color_container_property"
2
+
3
+ module OpenXml
4
+ module DrawingML
5
+ module Properties
6
+ class ColorSchemeDarkOne < ColorContainerProperty
7
+ namespace :a
8
+ tag :dk1
9
+
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "openxml/drawingml/properties/color_container_property"
2
+
3
+ module OpenXml
4
+ module DrawingML
5
+ module Properties
6
+ class ColorSchemeDarkTwo < ColorContainerProperty
7
+ namespace :a
8
+ tag :dk2
9
+
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "openxml/drawingml/properties/color_container_property"
2
+
3
+ module OpenXml
4
+ module DrawingML
5
+ module Properties
6
+ class ColorSchemeFollowedHyperlink < ColorContainerProperty
7
+ namespace :a
8
+ tag :folHlink
9
+
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "openxml/drawingml/properties/color_container_property"
2
+
3
+ module OpenXml
4
+ module DrawingML
5
+ module Properties
6
+ class ColorSchemeHyperlink < ColorContainerProperty
7
+ namespace :a
8
+ tag :hlink
9
+
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "openxml/drawingml/properties/color_container_property"
2
+
3
+ module OpenXml
4
+ module DrawingML
5
+ module Properties
6
+ class ColorSchemeLightOne < ColorContainerProperty
7
+ namespace :a
8
+ tag :lt1
9
+
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require "openxml/drawingml/properties/color_container_property"
2
+
3
+ module OpenXml
4
+ module DrawingML
5
+ module Properties
6
+ class ColorSchemeLightTwo < ColorContainerProperty
7
+ namespace :a
8
+ tag :lt2
9
+
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,30 @@
1
+ require "openxml/drawingml/properties/color_property"
2
+
3
+ module OpenXml
4
+ module DrawingML
5
+ module Properties
6
+ class ColorSystemColor < ColorProperty
7
+ namespace :a
8
+ tag :sysClr
9
+
10
+ SYSTEM_COLORS = %i{
11
+ 3dDkShadow 3dLight activeBorder activeCaption appWorkspace
12
+ background btnFace btnHighlight btnShadow btnText captionText
13
+ gradientActiveCaption gradientInactiveCaption grayText highlight
14
+ highlightText hotLight inactiveBorder inactiveCaption
15
+ inactiveCaptionText infoBk infoText menu menuBar menuHighlight
16
+ menuText scrollBar window windowFrame windowText
17
+ }.freeze
18
+
19
+ attribute :value, displays_as: :val, one_of: SYSTEM_COLORS
20
+ attribute :last_color, displays_as: :lastClr, expects: :hex_color
21
+
22
+ def initialize(value)
23
+ super()
24
+ self.value = value
25
+ end
26
+
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,19 @@
1
+ module OpenXml
2
+ module DrawingML
3
+ module Properties
4
+ class ColorXformAlpha < ValueProperty
5
+ namespace :a
6
+ tag :alpha
7
+
8
+ def valid?
9
+ value =~ OpenXml::DrawingML::ST_PositiveFixedPercentage
10
+ end
11
+
12
+ def invalid_message
13
+ "#{value.inspect} is an invalid value for #{name}; it must be a positive percentage no greater than 100."
14
+ end
15
+
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,11 @@
1
+ module OpenXml
2
+ module DrawingML
3
+ module Properties
4
+ class ColorXformAlphaModulation < PositivePercentageProperty
5
+ namespace :a
6
+ tag :alphaMod
7
+
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,19 @@
1
+ module OpenXml
2
+ module DrawingML
3
+ module Properties
4
+ class ColorXformAlphaOffset < ValueProperty
5
+ namespace :a
6
+ tag :alphaOff
7
+
8
+ def valid?
9
+ value =~ OpenXml::DrawingML::ST_FixedPercentage
10
+ end
11
+
12
+ def invalid_message
13
+ "#{value.inspect} is an invalid value for #{name}; it must be a percentage between -100% and 100%"
14
+ end
15
+
16
+ end
17
+ end
18
+ end
19
+ end