# 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