lib/glimmer/swt/custom/shape.rb in glimmer-dsl-swt-4.18.7.3 vs lib/glimmer/swt/custom/shape.rb in glimmer-dsl-swt-4.18.7.4

- old
+ new

@@ -92,12 +92,14 @@ end.uniq.compact.to_a end def arg_options(args, extract: false) arg_options_method = extract ? :pop : :last - options = args.send(arg_options_method) if args.last.is_a?(Hash) - options.nil? ? {} : options.symbolize_keys + options = args.send(arg_options_method).symbolize_keys if args.last.is_a?(Hash) + # normalize :filled option as an alias to :fill +# options[:fill] = options.delete(:filled) if options&.keys&.include?(:filled) + options.nil? ? {} : options end def method_name(keyword, method_arg_options) keyword = keyword.to_s method_arg_options = method_arg_options.select {|key, value| %w[fill gradient round].include?(key.to_s)} @@ -398,11 +400,11 @@ end def amend_method_name_options_based_on_properties! @original_method_name = @method_name return if @name == 'point' - if @name != 'text' && @name != 'string' && has_some_background? && !has_some_foreground? + if (@name != 'text' && @name != 'string' && has_some_background? && !has_some_foreground?) || (@name == 'path' && has_some_background?) @options[:fill] = true elsif !has_some_background? && has_some_foreground? @options[:fill] = false elsif @name == 'rectangle' && has_some_background? && has_some_foreground? @options[:fill] = true @@ -472,10 +474,12 @@ self.send(ruby_attribute_setter_name, *args) else # TODO consider this optimization of preconverting args (removing conversion from other methods) to reject equal args args = apply_property_arg_conversions(ruby_attribute_getter_name, args) return if @properties[ruby_attribute_getter_name] == args + new_property = !@properties.keys.include?(ruby_attribute_getter_name) @properties[ruby_attribute_getter_name] = args + amend_method_name_options_based_on_properties! if @content_added && new_property property_change = true end if @content_added && perform_redraw && !drawable.is_disposed redrawn = false unless property_change