Sha256: 21a6afabf8dd03c1f6b3315796ecb01c0d1ba5d7e8a89faaa6b0f7445a954bef

Contents?: true

Size: 1.12 KB

Versions: 13

Compression:

Stored size: 1.12 KB

Contents

# frozen_string_literal: true

# Here's a little library for quickly hooking up in sketch sliders.
# Copyright (c) 2016-20 Martin Prout.

java_import 'monkstone.slider.CustomHorizontalSlider'
java_import 'monkstone.slider.CustomVerticalSlider'

module Slider
  def self.slider(app:, x:, y:, name:, **opts)
    options = default.merge opts
    slider = if options[:vertical]
               CustomVerticalSlider.new(
                 app,
                 x,
                 y,
                 options[:length],
                 options[:range].first,
                 options[:range].last,
                 name
               )
             else
               CustomHorizontalSlider.new(
                 app,
                 x,
                 y,
                 options[:length],
                 options[:range].first,
                 options[:range].last,
                 name
               )
             end
    unless opts.empty?
      slider.bar_width(opts.fetch(:bar_width, 10))
      slider.set_value(opts.fetch(:initial_value, 0))
    end
    slider
  end

  def self.default
    { length: 100, range: (0..100) }
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
picrate-2.5.2-java library/slider/slider.rb
picrate-2.5.1-java library/slider/slider.rb
picrate-2.5.0-java library/slider/slider.rb
picrate-2.4.2-java library/slider/slider.rb
picrate-2.4.1-java library/slider/slider.rb
picrate-2.4.0-java library/slider/slider.rb
picrate-2.3.0-java library/slider/slider.rb
picrate-2.2.0-java library/slider/slider.rb
picrate-2.1.2-java library/slider/slider.rb
picrate-2.1.1-java library/slider/slider.rb
picrate-2.1.0-java library/slider/slider.rb
picrate-2.0.1-java library/slider/slider.rb
picrate-2.0.0.pre-java library/slider/slider.rb