Sha256: f675dea98cf5ab87f06cd10e61c5618733c3d983aa73879d03e6217d9aca5491

Contents?: true

Size: 825 Bytes

Versions: 1

Compression:

Stored size: 825 Bytes

Contents

class Shoes
  class Border
    include DimensionsDelegations
    include CommonMethods
    include Common::BackgroundElement
    include Common::Style
    include Common::Fill
    include Common::Stroke

    attr_reader :app, :gui, :parent, :corners, :angle, :opts, :dimensions

    def initialize(app, parent, color, opts = {}, blk = nil)
      @app = app
      @parent = parent

      @dimensions = ParentDimensions.new parent, opts
      @corners = opts[:curve] || 0
      @angle = opts[:angle] || 0

      opts[:stroke] = color
      parent.add_child self

      @style = Common::Fill::DEFAULTS.merge(Common::Stroke::DEFAULTS).merge(opts)
      @style[:strokewidth] ||= @app.style[:strokewidth] || 1

      @gui = Shoes.backend_for(self, opts, &blk)
    end

    def needs_to_be_positioned?
      false
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
shoes-4.0.0.pre1 lib/shoes/border.rb