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.
- checksums.yaml +4 -4
- data/Gemfile.lock +8 -8
- data/lib/openxml/drawingml.rb +11 -0
- data/lib/openxml/drawingml/elements.rb +1 -1
- data/lib/openxml/drawingml/elements/adjust_values_list.rb +2 -2
- data/lib/openxml/drawingml/elements/blip.rb +3 -3
- data/lib/openxml/drawingml/elements/blip_fill.rb +1 -2
- data/lib/openxml/drawingml/elements/children_extents.rb +2 -1
- data/lib/openxml/drawingml/elements/children_offset.rb +2 -1
- data/lib/openxml/drawingml/elements/extension.rb +2 -1
- data/lib/openxml/drawingml/elements/extension_list.rb +2 -2
- data/lib/openxml/drawingml/elements/extents.rb +2 -1
- data/lib/openxml/drawingml/elements/fill_rectangle.rb +2 -1
- data/lib/openxml/drawingml/elements/graphic.rb +4 -1
- data/lib/openxml/drawingml/elements/graphic_data.rb +3 -1
- data/lib/openxml/drawingml/elements/graphic_frame_locks.rb +3 -1
- data/lib/openxml/drawingml/elements/head_end.rb +3 -1
- data/lib/openxml/drawingml/elements/line_break.rb +89 -0
- data/lib/openxml/drawingml/elements/no_autofit.rb +2 -2
- data/lib/openxml/drawingml/elements/no_fill.rb +3 -1
- data/lib/openxml/drawingml/elements/non_visual_drawing_properties.rb +1 -1
- data/lib/openxml/drawingml/elements/non_visual_picture_drawing_properties.rb +1 -2
- data/lib/openxml/drawingml/elements/non_visual_picture_properties.rb +1 -2
- data/lib/openxml/drawingml/elements/non_visual_shape_drawing_properties.rb +1 -2
- data/lib/openxml/drawingml/elements/offset.rb +1 -1
- data/lib/openxml/drawingml/elements/outline.rb +2 -2
- data/lib/openxml/drawingml/elements/paragraph.rb +78 -0
- data/lib/openxml/drawingml/elements/picture.rb +1 -2
- data/lib/openxml/drawingml/elements/picture_locks.rb +1 -1
- data/lib/openxml/drawingml/elements/picture_shape_properties.rb +1 -2
- data/lib/openxml/drawingml/elements/preset_geometry.rb +2 -2
- data/lib/openxml/drawingml/elements/preset_text_warp.rb +1 -2
- data/lib/openxml/drawingml/elements/round.rb +4 -1
- data/lib/openxml/drawingml/elements/run.rb +85 -0
- data/lib/openxml/drawingml/elements/shape_guide.rb +1 -1
- data/lib/openxml/drawingml/elements/solid_fill.rb +3 -1
- data/lib/openxml/drawingml/elements/source_rectangle.rb +1 -1
- data/lib/openxml/drawingml/elements/srgb_color.rb +2 -1
- data/lib/openxml/drawingml/elements/stretch.rb +2 -2
- data/lib/openxml/drawingml/elements/tail_end.rb +3 -1
- data/lib/openxml/drawingml/elements/text.rb +21 -0
- data/lib/openxml/drawingml/elements/theme_elements.rb +4 -1
- data/lib/openxml/drawingml/elements/transform_effect.rb +1 -2
- data/lib/openxml/drawingml/parts.rb +10 -0
- data/lib/openxml/drawingml/parts/theme.rb +46 -0
- data/lib/openxml/drawingml/properties.rb +24 -0
- data/lib/openxml/drawingml/properties/audio_cd.rb +16 -0
- data/lib/openxml/drawingml/properties/audio_cd_end.rb +13 -0
- data/lib/openxml/drawingml/properties/audio_cd_start.rb +13 -0
- data/lib/openxml/drawingml/properties/audio_cd_time_property.rb +11 -0
- data/lib/openxml/drawingml/properties/audio_file.rb +13 -0
- data/lib/openxml/drawingml/properties/autofit_none.rb +11 -0
- data/lib/openxml/drawingml/properties/autofit_normal.rb +14 -0
- data/lib/openxml/drawingml/properties/autofit_shape.rb +11 -0
- data/lib/openxml/drawingml/properties/background_fill_style_list.rb +14 -0
- data/lib/openxml/drawingml/properties/blip.rb +27 -0
- data/lib/openxml/drawingml/properties/body_properties.rb +81 -0
- data/lib/openxml/drawingml/properties/bullet_color.rb +13 -0
- data/lib/openxml/drawingml/properties/bullet_color_text.rb +11 -0
- data/lib/openxml/drawingml/properties/bullet_font.rb +13 -0
- data/lib/openxml/drawingml/properties/bullet_font_text.rb +11 -0
- data/lib/openxml/drawingml/properties/bullet_size_percent.rb +20 -0
- data/lib/openxml/drawingml/properties/bullet_size_points.rb +20 -0
- data/lib/openxml/drawingml/properties/bullet_size_text.rb +11 -0
- data/lib/openxml/drawingml/properties/bullet_style_auto_numbered.rb +27 -0
- data/lib/openxml/drawingml/properties/bullet_style_blip.rb +12 -0
- data/lib/openxml/drawingml/properties/bullet_style_character.rb +13 -0
- data/lib/openxml/drawingml/properties/bullet_style_none.rb +11 -0
- data/lib/openxml/drawingml/properties/child_extent.rb +13 -0
- data/lib/openxml/drawingml/properties/child_offset.rb +13 -0
- data/lib/openxml/drawingml/properties/color_component_rgb.rb +17 -0
- data/lib/openxml/drawingml/properties/color_container_property.rb +17 -0
- data/lib/openxml/drawingml/properties/color_hex_rgb.rb +20 -0
- data/lib/openxml/drawingml/properties/color_hsl.rb +17 -0
- data/lib/openxml/drawingml/properties/color_mapping.rb +31 -0
- data/lib/openxml/drawingml/properties/color_mapping_override.rb +16 -0
- data/lib/openxml/drawingml/properties/color_mapping_override_map.rb +13 -0
- data/lib/openxml/drawingml/properties/color_mapping_override_master.rb +11 -0
- data/lib/openxml/drawingml/properties/color_preset_color.rb +51 -0
- data/lib/openxml/drawingml/properties/color_property.rb +40 -0
- data/lib/openxml/drawingml/properties/color_scheme.rb +29 -0
- data/lib/openxml/drawingml/properties/color_scheme_accent_five.rb +13 -0
- data/lib/openxml/drawingml/properties/color_scheme_accent_four.rb +13 -0
- data/lib/openxml/drawingml/properties/color_scheme_accent_one.rb +13 -0
- data/lib/openxml/drawingml/properties/color_scheme_accent_six.rb +13 -0
- data/lib/openxml/drawingml/properties/color_scheme_accent_three.rb +13 -0
- data/lib/openxml/drawingml/properties/color_scheme_accent_two.rb +13 -0
- data/lib/openxml/drawingml/properties/color_scheme_color.rb +25 -0
- data/lib/openxml/drawingml/properties/color_scheme_dark_one.rb +13 -0
- data/lib/openxml/drawingml/properties/color_scheme_dark_two.rb +13 -0
- data/lib/openxml/drawingml/properties/color_scheme_followed_hyperlink.rb +13 -0
- data/lib/openxml/drawingml/properties/color_scheme_hyperlink.rb +13 -0
- data/lib/openxml/drawingml/properties/color_scheme_light_one.rb +13 -0
- data/lib/openxml/drawingml/properties/color_scheme_light_two.rb +13 -0
- data/lib/openxml/drawingml/properties/color_system_color.rb +30 -0
- data/lib/openxml/drawingml/properties/color_xform_alpha.rb +19 -0
- data/lib/openxml/drawingml/properties/color_xform_alpha_modulation.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_alpha_offset.rb +19 -0
- data/lib/openxml/drawingml/properties/color_xform_blue.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_blue_modulation.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_blue_offset.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_complement.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_gamma.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_grayscale.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_green.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_green_modulation.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_green_offset.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_hue.rb +20 -0
- data/lib/openxml/drawingml/properties/color_xform_hue_modulation.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_hue_offset.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_inverse.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_inverse_gamma.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_luminance.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_luminance_modulation.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_luminance_offset.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_red.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_red_modulation.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_red_offset.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_saturation.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_saturation_modulation.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_saturation_offset.rb +11 -0
- data/lib/openxml/drawingml/properties/color_xform_shade.rb +19 -0
- data/lib/openxml/drawingml/properties/color_xform_tint.rb +19 -0
- data/lib/openxml/drawingml/properties/complex_script_font.rb +13 -0
- data/lib/openxml/drawingml/properties/connection.rb +11 -0
- data/lib/openxml/drawingml/properties/connection_end.rb +13 -0
- data/lib/openxml/drawingml/properties/connection_shape_locks.rb +24 -0
- data/lib/openxml/drawingml/properties/connection_start.rb +13 -0
- data/lib/openxml/drawingml/properties/custom_color.rb +13 -0
- data/lib/openxml/drawingml/properties/custom_color_list.rb +14 -0
- data/lib/openxml/drawingml/properties/custom_dash_style.rb +14 -0
- data/lib/openxml/drawingml/properties/custom_geometry.rb +18 -0
- data/lib/openxml/drawingml/properties/dash_stop.rb +14 -0
- data/lib/openxml/drawingml/properties/default_paragraph_properties.rb +13 -0
- data/lib/openxml/drawingml/properties/default_run_properties.rb +13 -0
- data/lib/openxml/drawingml/properties/default_shape_properties.rb +15 -0
- data/lib/openxml/drawingml/properties/east_asian_font.rb +13 -0
- data/lib/openxml/drawingml/properties/effect_dag.rb +20 -0
- data/lib/openxml/drawingml/properties/effect_list.rb +17 -0
- data/lib/openxml/drawingml/properties/effect_reference.rb +13 -0
- data/lib/openxml/drawingml/properties/effect_style.rb +18 -0
- data/lib/openxml/drawingml/properties/effect_style_list.rb +14 -0
- data/lib/openxml/drawingml/properties/embedded_sound_file.rb +14 -0
- data/lib/openxml/drawingml/properties/extension.rb +14 -0
- data/lib/openxml/drawingml/properties/extension_list.rb +14 -0
- data/lib/openxml/drawingml/properties/extent.rb +29 -0
- data/lib/openxml/drawingml/properties/external_media_file.rb +15 -0
- data/lib/openxml/drawingml/properties/extra_color_scheme.rb +14 -0
- data/lib/openxml/drawingml/properties/extra_color_scheme_list.rb +14 -0
- data/lib/openxml/drawingml/properties/fill_blip.rb +22 -0
- data/lib/openxml/drawingml/properties/fill_gradient.rb +24 -0
- data/lib/openxml/drawingml/properties/fill_group.rb +11 -0
- data/lib/openxml/drawingml/properties/fill_none.rb +11 -0
- data/lib/openxml/drawingml/properties/fill_pattern.rb +23 -0
- data/lib/openxml/drawingml/properties/fill_rectangle.rb +13 -0
- data/lib/openxml/drawingml/properties/fill_reference.rb +13 -0
- data/lib/openxml/drawingml/properties/fill_solid.rb +13 -0
- data/lib/openxml/drawingml/properties/fill_style_list.rb +19 -0
- data/lib/openxml/drawingml/properties/fill_to_rectangle.rb +13 -0
- data/lib/openxml/drawingml/properties/flat_text.rb +39 -0
- data/lib/openxml/drawingml/properties/font_collection_property.rb +16 -0
- data/lib/openxml/drawingml/properties/font_property.rb +29 -0
- data/lib/openxml/drawingml/properties/font_reference.rb +13 -0
- data/lib/openxml/drawingml/properties/font_scheme.rb +18 -0
- data/lib/openxml/drawingml/properties/format_scheme.rb +19 -0
- data/lib/openxml/drawingml/properties/geometry_guide.rb +14 -0
- data/lib/openxml/drawingml/properties/geometry_guide_list.rb +14 -0
- data/lib/openxml/drawingml/properties/gradient_line.rb +14 -0
- data/lib/openxml/drawingml/properties/gradient_path.rb +16 -0
- data/lib/openxml/drawingml/properties/gradient_stop.rb +13 -0
- data/lib/openxml/drawingml/properties/gradient_stop_list.rb +14 -0
- data/lib/openxml/drawingml/properties/graphic.rb +13 -0
- data/lib/openxml/drawingml/properties/graphic_data.rb +14 -0
- data/lib/openxml/drawingml/properties/graphic_frame_locks.rb +20 -0
- data/lib/openxml/drawingml/properties/group_shape_locks.rb +22 -0
- data/lib/openxml/drawingml/properties/group_transform.rb +16 -0
- data/lib/openxml/drawingml/properties/head_end.rb +13 -0
- data/lib/openxml/drawingml/properties/highlight.rb +13 -0
- data/lib/openxml/drawingml/properties/hyperlink_click.rb +13 -0
- data/lib/openxml/drawingml/properties/hyperlink_hover.rb +13 -0
- data/lib/openxml/drawingml/properties/hyperlink_mouse_over.rb +13 -0
- data/lib/openxml/drawingml/properties/hyperlink_property.rb +22 -0
- data/lib/openxml/drawingml/properties/integer_property.rb +12 -0
- data/lib/openxml/drawingml/properties/latin_font.rb +13 -0
- data/lib/openxml/drawingml/properties/level1_paragraph_properties.rb +13 -0
- data/lib/openxml/drawingml/properties/level2_paragraph_properties.rb +13 -0
- data/lib/openxml/drawingml/properties/level3_paragraph_properties.rb +13 -0
- data/lib/openxml/drawingml/properties/level4_paragraph_properties.rb +13 -0
- data/lib/openxml/drawingml/properties/level5_paragraph_properties.rb +13 -0
- data/lib/openxml/drawingml/properties/level6_paragraph_properties.rb +13 -0
- data/lib/openxml/drawingml/properties/level7_paragraph_properties.rb +13 -0
- data/lib/openxml/drawingml/properties/level8_paragraph_properties.rb +13 -0
- data/lib/openxml/drawingml/properties/level9_paragraph_properties.rb +13 -0
- data/lib/openxml/drawingml/properties/line_default.rb +13 -0
- data/lib/openxml/drawingml/properties/line_end_properties.rb +12 -0
- data/lib/openxml/drawingml/properties/line_join_bevel.rb +11 -0
- data/lib/openxml/drawingml/properties/line_join_miter.rb +31 -0
- data/lib/openxml/drawingml/properties/line_join_round.rb +11 -0
- data/lib/openxml/drawingml/properties/line_property.rb +43 -0
- data/lib/openxml/drawingml/properties/line_spacing.rb +16 -0
- data/lib/openxml/drawingml/properties/line_style_list.rb +14 -0
- data/lib/openxml/drawingml/properties/list_style.rb +24 -0
- data/lib/openxml/drawingml/properties/major_font.rb +13 -0
- data/lib/openxml/drawingml/properties/minor_font.rb +13 -0
- data/lib/openxml/drawingml/properties/object_defaults.rb +17 -0
- data/lib/openxml/drawingml/properties/offset.rb +29 -0
- data/lib/openxml/drawingml/properties/outline.rb +13 -0
- data/lib/openxml/drawingml/properties/outline_reference.rb +13 -0
- data/lib/openxml/drawingml/properties/paragraph_properties.rb +78 -0
- data/lib/openxml/drawingml/properties/path.rb +49 -0
- data/lib/openxml/drawingml/properties/path_list.rb +14 -0
- data/lib/openxml/drawingml/properties/percentage_property.rb +17 -0
- data/lib/openxml/drawingml/properties/picture_locks.rb +25 -0
- data/lib/openxml/drawingml/properties/positive_integer_property.rb +12 -0
- data/lib/openxml/drawingml/properties/positive_percentage_property.rb +17 -0
- data/lib/openxml/drawingml/properties/preset_dash_style.rb +16 -0
- data/lib/openxml/drawingml/properties/preset_geometry.rb +59 -0
- data/lib/openxml/drawingml/properties/preset_text_warp.rb +25 -0
- data/lib/openxml/drawingml/properties/quick_time_file.rb +17 -0
- data/lib/openxml/drawingml/properties/relative_rectangle_property.rb +13 -0
- data/lib/openxml/drawingml/properties/right_to_left.rb +11 -0
- data/lib/openxml/drawingml/properties/run_properties.rb +93 -0
- data/lib/openxml/drawingml/properties/scene_3d.rb +17 -0
- data/lib/openxml/drawingml/properties/shape_adjustment_list.rb +14 -0
- data/lib/openxml/drawingml/properties/shape_default.rb +13 -0
- data/lib/openxml/drawingml/properties/shape_locks.rb +25 -0
- data/lib/openxml/drawingml/properties/shape_properties.rb +46 -0
- data/lib/openxml/drawingml/properties/shape_style.rb +16 -0
- data/lib/openxml/drawingml/properties/simple_boolean_property.rb +16 -0
- data/lib/openxml/drawingml/properties/simple_property_container_property.rb +14 -0
- data/lib/openxml/drawingml/properties/source_rectangle.rb +13 -0
- data/lib/openxml/drawingml/properties/space_after.rb +22 -0
- data/lib/openxml/drawingml/properties/space_before.rb +22 -0
- data/lib/openxml/drawingml/properties/spacing_percent.rb +11 -0
- data/lib/openxml/drawingml/properties/spacing_points.rb +20 -0
- data/lib/openxml/drawingml/properties/stretch.rb +13 -0
- data/lib/openxml/drawingml/properties/style_matrix_reference_property.rb +20 -0
- data/lib/openxml/drawingml/properties/supplemental_font.rb +14 -0
- data/lib/openxml/drawingml/properties/symbol_font.rb +13 -0
- data/lib/openxml/drawingml/properties/tab_list.rb +14 -0
- data/lib/openxml/drawingml/properties/tab_stop.rb +29 -0
- data/lib/openxml/drawingml/properties/tail_end.rb +13 -0
- data/lib/openxml/drawingml/properties/text_body.rb +15 -0
- data/lib/openxml/drawingml/properties/text_default.rb +13 -0
- data/lib/openxml/drawingml/properties/theme_elements.rb +16 -0
- data/lib/openxml/drawingml/properties/tile.rb +35 -0
- data/lib/openxml/drawingml/properties/tile_rectangle.rb +13 -0
- data/lib/openxml/drawingml/properties/transform.rb +19 -0
- data/lib/openxml/drawingml/properties/underline.rb +13 -0
- data/lib/openxml/drawingml/properties/underline_fill.rb +20 -0
- data/lib/openxml/drawingml/properties/underline_fill_text.rb +11 -0
- data/lib/openxml/drawingml/properties/underline_text.rb +11 -0
- data/lib/openxml/drawingml/properties/value_property.rb +12 -0
- data/lib/openxml/drawingml/properties/video_file.rb +13 -0
- data/lib/openxml/drawingml/properties/wav_audio_file.rb +13 -0
- data/lib/openxml/drawingml/version.rb +1 -1
- data/openxml-drawingml.gemspec +3 -3
- metadata +222 -5
- data/lib/openxml/drawingml/element.rb +0 -9
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
require "openxml/drawingml/properties/dash_stop"
|
|
2
|
+
|
|
3
|
+
module OpenXml
|
|
4
|
+
module DrawingML
|
|
5
|
+
module Properties
|
|
6
|
+
class CustomDashStyle < OpenXml::Properties::ContainerProperty
|
|
7
|
+
namespace :a
|
|
8
|
+
tag :custDash
|
|
9
|
+
child_class :dash_stop
|
|
10
|
+
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module OpenXml
|
|
2
|
+
module DrawingML
|
|
3
|
+
module Properties
|
|
4
|
+
class CustomGeometry < SimplePropertyContainerProperty
|
|
5
|
+
namespace :a
|
|
6
|
+
tag :custGeom
|
|
7
|
+
|
|
8
|
+
property :shape_adjustment_list
|
|
9
|
+
property :geometry_guide_list
|
|
10
|
+
# TODO: add property :adjustable_handle_list, tag: ahLst
|
|
11
|
+
# TODO: add property :connection_list, tag: cxnLst
|
|
12
|
+
# TODO: add property :rectangle, tag: rect
|
|
13
|
+
property :path_list, required: true
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module OpenXml
|
|
2
|
+
module DrawingML
|
|
3
|
+
module Properties
|
|
4
|
+
class DashStop < OpenXml::Properties::ComplexProperty
|
|
5
|
+
namespace :a
|
|
6
|
+
tag :ds
|
|
7
|
+
|
|
8
|
+
attribute :dash_length, displays_as: :d, matches: OpenXml::DrawingML::ST_PositivePercentage
|
|
9
|
+
attribute :space_length, displays_as: :sp, matches: OpenXml::DrawingML::ST_PositivePercentage
|
|
10
|
+
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module OpenXml
|
|
2
|
+
module DrawingML
|
|
3
|
+
module Properties
|
|
4
|
+
class DefaultShapeProperties < SimplePropertyContainerProperty
|
|
5
|
+
property :shape_properties, required: true
|
|
6
|
+
property :body_properties, required: true
|
|
7
|
+
property :list_style, required: true
|
|
8
|
+
|
|
9
|
+
# TODO: add property :style, tag: style
|
|
10
|
+
property :extension_list
|
|
11
|
+
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module OpenXml
|
|
2
|
+
module DrawingML
|
|
3
|
+
module Properties
|
|
4
|
+
class EffectDag < OpenXml::Properties::ComplexProperty
|
|
5
|
+
include HasChildren
|
|
6
|
+
namespace :a
|
|
7
|
+
tag :effectDag
|
|
8
|
+
|
|
9
|
+
attribute :dag_name, displays_as: :name, expects: :string
|
|
10
|
+
attribute :type, one_of: %i{ sib tree }
|
|
11
|
+
|
|
12
|
+
# TODO: Perhaps enumerate all of the effects that can be contained by
|
|
13
|
+
# this effects container? But since effects containers can contain
|
|
14
|
+
# effects containers, maybe it's just more straightforward to shovel on
|
|
15
|
+
# regular elements for this.
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module OpenXml
|
|
2
|
+
module DrawingML
|
|
3
|
+
module Properties
|
|
4
|
+
class EffectList < SimplePropertyContainerProperty
|
|
5
|
+
include HasChildren
|
|
6
|
+
namespace :a
|
|
7
|
+
tag :effectLst
|
|
8
|
+
|
|
9
|
+
# TODO: Perhaps enumerate all of the effects that can be contained by
|
|
10
|
+
# this effects container? But since effects containers can contain
|
|
11
|
+
# effects containers, maybe it's just more straightforward to shovel on
|
|
12
|
+
# regular elements for this.
|
|
13
|
+
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module OpenXml
|
|
2
|
+
module DrawingML
|
|
3
|
+
module Properties
|
|
4
|
+
class EffectStyle < SimplePropertyContainerProperty
|
|
5
|
+
namespace :a
|
|
6
|
+
tag :effectStyle
|
|
7
|
+
|
|
8
|
+
property_choice required: true do
|
|
9
|
+
property :effect_list
|
|
10
|
+
property :effect_dag
|
|
11
|
+
end
|
|
12
|
+
property :scene_3d
|
|
13
|
+
# TODO: add `sp3d` property
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
require "openxml/drawingml/properties/effect_style"
|
|
2
|
+
|
|
3
|
+
module OpenXml
|
|
4
|
+
module DrawingML
|
|
5
|
+
module Properties
|
|
6
|
+
class EffectStyleList < OpenXml::Properties::ContainerProperty
|
|
7
|
+
namespace :a
|
|
8
|
+
tag :effectStyleLst
|
|
9
|
+
child_class :effect_style
|
|
10
|
+
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module OpenXml
|
|
2
|
+
module DrawingML
|
|
3
|
+
module Properties
|
|
4
|
+
class EmbeddedSoundFile < OpenXml::Properties::ComplexProperty
|
|
5
|
+
namespace :a
|
|
6
|
+
tag :snd
|
|
7
|
+
|
|
8
|
+
attribute :embed, namespace: :r, expects: :string
|
|
9
|
+
attribute :sound_name, displays_as: :name, expects: :string
|
|
10
|
+
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
require "openxml/drawingml/properties/extension"
|
|
2
|
+
|
|
3
|
+
module OpenXml
|
|
4
|
+
module DrawingML
|
|
5
|
+
module Properties
|
|
6
|
+
class ExtensionList < OpenXml::Properties::ContainerProperty
|
|
7
|
+
namespace :a
|
|
8
|
+
tag :extLst
|
|
9
|
+
child_class :extension
|
|
10
|
+
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
module OpenXml
|
|
2
|
+
module DrawingML
|
|
3
|
+
module Properties
|
|
4
|
+
class Extent < OpenXml::Properties::ComplexProperty
|
|
5
|
+
namespace :a
|
|
6
|
+
tag :ext
|
|
7
|
+
|
|
8
|
+
attribute :cx, expects: :positive_coordinate
|
|
9
|
+
attribute :cy, expects: :positive_coordinate
|
|
10
|
+
|
|
11
|
+
private
|
|
12
|
+
|
|
13
|
+
def positive_coordinate(value)
|
|
14
|
+
message = "Invalid positive coordinate: should either be an integer (in EMUs) or include a unit"
|
|
15
|
+
raise ArgumentError, message unless positive_integer?(value) || positive_string_with_units?(value)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def positive_integer?(value)
|
|
19
|
+
value.is_a?(Integer) && value >= 0
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def positive_string_with_units?(value)
|
|
23
|
+
value.is_a?(String) && value =~ OpenXml::DrawingML::ST_PositiveUniversalMeasure
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module OpenXml
|
|
2
|
+
module DrawingML
|
|
3
|
+
module Properties
|
|
4
|
+
class ExternalMediaFile < OpenXml::Properties::ComplexProperty
|
|
5
|
+
include OpenXml::ContainsProperties
|
|
6
|
+
|
|
7
|
+
attribute :content_type, displays_as: :contentType, expects: :string
|
|
8
|
+
attribute :link, namespace: :r, expects: :string, required: true
|
|
9
|
+
|
|
10
|
+
property :extension_list
|
|
11
|
+
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
require "openxml/drawingml/properties/extra_color_scheme"
|
|
2
|
+
|
|
3
|
+
module OpenXml
|
|
4
|
+
module DrawingML
|
|
5
|
+
module Properties
|
|
6
|
+
class ExtraColorSchemeList < OpenXml::Properties::ContainerProperty
|
|
7
|
+
namespace :a
|
|
8
|
+
tag :extraClrSchemeLst
|
|
9
|
+
child_class :extra_color_scheme
|
|
10
|
+
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
module OpenXml
|
|
2
|
+
module DrawingML
|
|
3
|
+
module Properties
|
|
4
|
+
class FillBlip < OpenXml::Properties::ComplexProperty
|
|
5
|
+
include OpenXml::ContainsProperties
|
|
6
|
+
namespace :a
|
|
7
|
+
tag :blipFill
|
|
8
|
+
|
|
9
|
+
attribute :dpi, expects: :positive_integer
|
|
10
|
+
|
|
11
|
+
property :blip
|
|
12
|
+
property :source_rectangle
|
|
13
|
+
|
|
14
|
+
property_choice do
|
|
15
|
+
property :tile
|
|
16
|
+
property :stretch
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
module OpenXml
|
|
2
|
+
module DrawingML
|
|
3
|
+
module Properties
|
|
4
|
+
class FillGradient < OpenXml::Properties::ComplexProperty
|
|
5
|
+
include OpenXml::ContainsProperties
|
|
6
|
+
namespace :a
|
|
7
|
+
tag :gradFill
|
|
8
|
+
|
|
9
|
+
attribute :tile_flip, displays_as: :flip, one_of: %i{ none x xy y }
|
|
10
|
+
attribute :rotate_with_shape, displays_as: :rotWithShape, expects: :boolean
|
|
11
|
+
|
|
12
|
+
property :gradient_stop_list
|
|
13
|
+
|
|
14
|
+
property_choice do
|
|
15
|
+
property :line, as: :gradient_line
|
|
16
|
+
property :path, as: :gradient_path
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
property :tile_rectangle
|
|
20
|
+
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module OpenXml
|
|
2
|
+
module DrawingML
|
|
3
|
+
module Properties
|
|
4
|
+
class FillPattern < OpenXml::Properties::ComplexProperty
|
|
5
|
+
namespace :a
|
|
6
|
+
tag :pattFill
|
|
7
|
+
|
|
8
|
+
PRESET_PATTERNS = %i{
|
|
9
|
+
cross dashDnDiag dashHorz dashUpDiag dashVert
|
|
10
|
+
diagBrick diagCross divot dkDnDiag dkHorz dkUpDiag dkVert dnDiag
|
|
11
|
+
dotDmnd dotGrid horz horzBrick lgCheck lgConfetti lgGrid ltDnDiag
|
|
12
|
+
ltHorz ltUpdiag ltVert narHorz narVert openDmnd pct10 pct20 pct25
|
|
13
|
+
pct30 pct40 pct5 pct50 pct60 pct70 pct75 pct80 pct90 plaid shingle
|
|
14
|
+
smCheck smConfetti smGrid solidDmnd sphere trellis upDiag vert wave
|
|
15
|
+
wdDnDiag wnUpDiag weave zigZag
|
|
16
|
+
}.freeze
|
|
17
|
+
|
|
18
|
+
attribute :pattern, displays_as: :prst, one_of: PRESET_PATTERNS
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|