Sha256: 4c188c012ef31105356e3c13d66314b419c43cdb75b0b9f7f3ec4ccb01581d23

Contents?: true

Size: 983 Bytes

Versions: 6

Compression:

Stored size: 983 Bytes

Contents

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

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

# Slider module
module Slider
  def self.slider(app:, x:, y:, name:, **opts)
    options = default.merge opts
    if options[:vertical]
      slider = CustomVerticalSlider.new(
        app,
        x,
        y,
        options[:length],
        options[:range].first,
        options[:range].last,
        name
    )
    else
      slider = 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

6 entries across 6 versions & 1 rubygems

Version Path
propane-3.4.2-java library/slider/slider.rb
propane-3.4.1-java library/slider/slider.rb
propane-3.4.0-java library/slider/slider.rb
propane-3.3.1-java library/slider/slider.rb
propane-3.3.0-java library/slider/slider.rb
propane-3.2.0-java library/slider/slider.rb