Sha256: 0e8b833a7e2d596686c39269d410a322291e31da7ea3d5542986e571f784497d

Contents?: true

Size: 1.13 KB

Versions: 8

Compression:

Stored size: 1.13 KB

Contents

# frozen_string_literal: true

# Here's a little library for quickly hooking up in sketch sliders.
# Copyright (c) 2015-20 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
    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

8 entries across 8 versions & 1 rubygems

Version Path
propane-3.11.0-java library/slider/slider.rb
propane-3.10.0-java library/slider/slider.rb
propane-3.9.0-java library/slider/slider.rb
propane-3.8.0-java library/slider/slider.rb
propane-3.7.1-java library/slider/slider.rb
propane-3.7.0.pre-java library/slider/slider.rb
propane-3.6.0-java library/slider/slider.rb
propane-3.5.0-java library/slider/slider.rb