module Axlsx # A VmlShape is used to position and render a comment. class VmlShape include Axlsx::OptionsParser include Axlsx::Accessors # Creates a new VmlShape # @option options [Integer] row # @option options [Integer] column # @option options [Integer] left_column # @option options [Integer] left_offset # @option options [Integer] top_row # @option options [Integer] top_offset # @option options [Integer] right_column # @option options [Integer] right_offset # @option options [Integer] bottom_row # @option options [Integer] bottom_offset def initialize(options={}) @row = @column = @left_column = @top_row = @right_column = @bottom_row = 0 @left_offset = 15 @top_offset = 2 @right_offset = 50 @bottom_offset = 5 @visible = true @id = (0...8).map{65.+(rand(25)).chr}.join parse_options options yield self if block_given? end unsigned_int_attr_accessor :row, :column, :left_column, :left_offset, :top_row, :top_offset, :right_column, :right_offset, :bottom_row, :bottom_offset boolean_attr_accessor :visible # serialize the shape to a string # @param [String] str # @return [String] def to_xml_string(str ='') str << <
#{left_column}, #{left_offset}, #{top_row}, #{top_offset}, #{right_column}, #{right_offset}, #{bottom_row}, #{bottom_offset} False #{row} #{column} #{@visible ? '' : ''} SHAME_ON_YOU end end end