shoes-core 4.0.0.pre12 → 4.0.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/shoes-picker +1 -0
- data/fonts/FiraMono.otf +0 -0
- data/lib/shoes.rb +1 -0
- data/lib/shoes/animation.rb +1 -0
- data/lib/shoes/app.rb +4 -3
- data/lib/shoes/arc.rb +3 -0
- data/lib/shoes/arrow.rb +34 -2
- data/lib/shoes/background.rb +1 -0
- data/lib/shoes/border.rb +1 -0
- data/lib/shoes/builtin_methods.rb +2 -1
- data/lib/shoes/button.rb +1 -0
- data/lib/shoes/check_button.rb +1 -0
- data/lib/shoes/color.rb +7 -6
- data/lib/shoes/color/dsl.rb +1 -0
- data/lib/shoes/color/dsl_helpers.rb +1 -0
- data/lib/shoes/color/hex_converter.rb +1 -0
- data/lib/shoes/common/art_element.rb +5 -0
- data/lib/shoes/common/attachable.rb +1 -0
- data/lib/shoes/common/background_element.rb +5 -0
- data/lib/shoes/common/changeable.rb +1 -0
- data/lib/shoes/common/clickable.rb +1 -0
- data/lib/shoes/common/fill.rb +1 -0
- data/lib/shoes/common/focus.rb +9 -0
- data/lib/shoes/common/hover.rb +8 -7
- data/lib/shoes/common/image_handling.rb +1 -0
- data/lib/shoes/common/inspect.rb +1 -0
- data/lib/shoes/common/link_finder.rb +1 -0
- data/lib/shoes/common/positioning.rb +1 -0
- data/lib/shoes/common/registration.rb +1 -0
- data/lib/shoes/common/remove.rb +2 -2
- data/lib/shoes/common/rotate.rb +1 -0
- data/lib/shoes/common/safely_evaluate.rb +1 -0
- data/lib/shoes/common/state.rb +1 -0
- data/lib/shoes/common/stroke.rb +1 -0
- data/lib/shoes/common/style.rb +3 -1
- data/lib/shoes/common/style_normalizer.rb +1 -0
- data/lib/shoes/common/translate.rb +1 -0
- data/lib/shoes/common/ui_element.rb +24 -0
- data/lib/shoes/common/visibility.rb +21 -1
- data/lib/shoes/configuration.rb +1 -0
- data/lib/shoes/console.rb +2 -1
- data/lib/shoes/core.rb +1 -0
- data/lib/shoes/core/version.rb +1 -1
- data/lib/shoes/dialog.rb +2 -1
- data/lib/shoes/dimension.rb +17 -7
- data/lib/shoes/dimensions.rb +12 -1
- data/lib/shoes/download.rb +1 -0
- data/lib/shoes/dsl.rb +2 -1
- data/lib/shoes/dsl/animate.rb +1 -0
- data/lib/shoes/dsl/art.rb +51 -50
- data/lib/shoes/dsl/element.rb +1 -0
- data/lib/shoes/dsl/interaction.rb +1 -0
- data/lib/shoes/dsl/media.rb +4 -3
- data/lib/shoes/dsl/setup.rb +1 -0
- data/lib/shoes/dsl/style.rb +1 -0
- data/lib/shoes/dsl/text.rb +3 -2
- data/lib/shoes/file_not_found_error.rb +1 -0
- data/lib/shoes/font.rb +1 -0
- data/lib/shoes/gradient.rb +1 -0
- data/lib/shoes/image.rb +1 -0
- data/lib/shoes/image_pattern.rb +1 -0
- data/lib/shoes/input_box.rb +1 -0
- data/lib/shoes/internal_app.rb +7 -4
- data/lib/shoes/key_event.rb +1 -0
- data/lib/shoes/line.rb +19 -2
- data/lib/shoes/link.rb +1 -0
- data/lib/shoes/list_box.rb +1 -0
- data/lib/shoes/mock/animation.rb +1 -0
- data/lib/shoes/mock/app.rb +1 -0
- data/lib/shoes/mock/arc.rb +1 -0
- data/lib/shoes/mock/arrow.rb +1 -0
- data/lib/shoes/mock/background.rb +1 -0
- data/lib/shoes/mock/border.rb +1 -0
- data/lib/shoes/mock/button.rb +1 -0
- data/lib/shoes/mock/check.rb +1 -0
- data/lib/shoes/mock/clickable.rb +1 -0
- data/lib/shoes/mock/common_methods.rb +1 -0
- data/lib/shoes/mock/dialog.rb +1 -0
- data/lib/shoes/mock/download.rb +1 -0
- data/lib/shoes/mock/font.rb +1 -0
- data/lib/shoes/mock/image.rb +1 -0
- data/lib/shoes/mock/image_pattern.rb +1 -0
- data/lib/shoes/mock/input_box.rb +1 -0
- data/lib/shoes/mock/keypress.rb +1 -0
- data/lib/shoes/mock/keyrelease.rb +1 -0
- data/lib/shoes/mock/line.rb +1 -0
- data/lib/shoes/mock/link.rb +1 -0
- data/lib/shoes/mock/list_box.rb +1 -0
- data/lib/shoes/mock/oval.rb +1 -0
- data/lib/shoes/mock/packager.rb +1 -0
- data/lib/shoes/mock/progress.rb +1 -0
- data/lib/shoes/mock/radio.rb +1 -0
- data/lib/shoes/mock/rect.rb +1 -0
- data/lib/shoes/mock/shape.rb +1 -0
- data/lib/shoes/mock/slot.rb +1 -0
- data/lib/shoes/mock/sound.rb +1 -0
- data/lib/shoes/mock/star.rb +1 -0
- data/lib/shoes/mock/text_block.rb +1 -0
- data/lib/shoes/mock/timer.rb +1 -0
- data/lib/shoes/not_implemented_error.rb +1 -0
- data/lib/shoes/oval.rb +1 -0
- data/lib/shoes/packager.rb +1 -0
- data/lib/shoes/point.rb +1 -0
- data/lib/shoes/progress.rb +1 -0
- data/lib/shoes/radio.rb +1 -0
- data/lib/shoes/rect.rb +3 -2
- data/lib/shoes/renamed_delegate.rb +1 -0
- data/lib/shoes/shape.rb +31 -0
- data/lib/shoes/slot.rb +52 -14
- data/lib/shoes/slot_contents.rb +1 -0
- data/lib/shoes/sound.rb +1 -0
- data/lib/shoes/span.rb +1 -0
- data/lib/shoes/standard_logger.rb +1 -0
- data/lib/shoes/star.rb +29 -2
- data/lib/shoes/text.rb +1 -0
- data/lib/shoes/text_block.rb +11 -1
- data/lib/shoes/text_block_dimensions.rb +9 -0
- data/lib/shoes/timer.rb +1 -0
- data/lib/shoes/ui/cli.rb +1 -0
- data/lib/shoes/ui/cli/base_command.rb +1 -0
- data/lib/shoes/ui/cli/default_command.rb +1 -0
- data/lib/shoes/ui/cli/help_command.rb +4 -3
- data/lib/shoes/ui/cli/manual_command.rb +4 -3
- data/lib/shoes/ui/cli/package_command.rb +1 -0
- data/lib/shoes/ui/cli/samples_command.rb +1 -0
- data/lib/shoes/ui/cli/select_backend_command.rb +5 -4
- data/lib/shoes/ui/cli/version_command.rb +4 -3
- data/lib/shoes/ui/picker.rb +1 -0
- data/lib/shoes/url.rb +1 -0
- data/lib/shoes/version.rb +1 -1
- data/lib/shoes/widget.rb +1 -0
- data/lib/shoes/window.rb +1 -0
- data/static/shoes-icon.png +0 -0
- metadata +3 -2
data/lib/shoes/dsl/style.rb
CHANGED
data/lib/shoes/dsl/text.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
class Shoes
|
3
4
|
module DSL
|
4
5
|
module Text
|
5
|
-
%w
|
6
|
+
%w[banner title subtitle tagline caption para inscription].each do |method|
|
6
7
|
define_method method do |*texts|
|
7
8
|
styles = pop_style(texts)
|
8
9
|
klass = Shoes.const_get(method.capitalize)
|
@@ -20,7 +21,7 @@ class Shoes
|
|
20
21
|
strong: { weight: true },
|
21
22
|
}.freeze
|
22
23
|
|
23
|
-
TEXT_STYLES.
|
24
|
+
TEXT_STYLES.each_key do |method|
|
24
25
|
define_method method do |*texts|
|
25
26
|
styles = style_normalizer.normalize(pop_style(texts))
|
26
27
|
styles = TEXT_STYLES[method].merge(styles)
|
data/lib/shoes/font.rb
CHANGED
data/lib/shoes/gradient.rb
CHANGED
data/lib/shoes/image.rb
CHANGED
data/lib/shoes/image_pattern.rb
CHANGED
data/lib/shoes/input_box.rb
CHANGED
data/lib/shoes/internal_app.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
class Shoes
|
3
4
|
# This is the representation of the app that is used internally by Shoes
|
4
5
|
# objects. It is *NOT* the app object that a user interacts with in a
|
@@ -53,10 +54,12 @@ class Shoes
|
|
53
54
|
|
54
55
|
attr_reader :gui, :top_slot, :app, :dimensions,
|
55
56
|
:mouse_motion, :owner, :element_styles, :resize_callbacks
|
57
|
+
|
58
|
+
attr_writer :width, :height
|
59
|
+
|
56
60
|
attr_accessor :elements, :current_slot, :opts, :blk, :mouse_button,
|
57
61
|
:mouse_pos, :mouse_hover_controls, :resizable, :app_title,
|
58
|
-
:
|
59
|
-
:start_block
|
62
|
+
:start_as_fullscreen, :location, :start_block
|
60
63
|
|
61
64
|
def_delegators :@app, :eval_with_additional_context
|
62
65
|
|
@@ -98,10 +101,10 @@ class Shoes
|
|
98
101
|
true
|
99
102
|
end
|
100
103
|
|
101
|
-
delegated_to_gui = %w
|
104
|
+
delegated_to_gui = %w[
|
102
105
|
fullscreen= fullscreen quit scroll_top= scroll_top
|
103
106
|
clipboard clipboard= gutter focus open?
|
104
|
-
|
107
|
+
]
|
105
108
|
|
106
109
|
def_delegators :gui, *delegated_to_gui
|
107
110
|
|
data/lib/shoes/key_event.rb
CHANGED
data/lib/shoes/line.rb
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require 'matrix'
|
3
4
|
|
4
5
|
class Shoes
|
5
6
|
class Line < Common::ArtElement
|
6
7
|
attr_reader :point_a, :point_b
|
7
8
|
|
8
|
-
style_with :
|
9
|
-
STYLES = {
|
9
|
+
style_with :art_styles, :dimensions, :x2, :y2
|
10
|
+
STYLES = { fill: Shoes::COLORS[:black] }.freeze
|
10
11
|
|
11
12
|
def create_dimensions(x1, y1, x2, y2)
|
12
13
|
x1, y1, x2, y2 = default_coordinates(x1, y1, x2, y2)
|
@@ -81,6 +82,22 @@ class Shoes
|
|
81
82
|
alias x2= right=
|
82
83
|
alias y2= bottom=
|
83
84
|
|
85
|
+
def redraw_left
|
86
|
+
[@point_a.x, @point_b.x].min - 0.5 * style[:strokewidth].to_i
|
87
|
+
end
|
88
|
+
|
89
|
+
def redraw_top
|
90
|
+
[@point_a.y, @point_b.y].min - 0.5 * style[:strokewidth].to_i
|
91
|
+
end
|
92
|
+
|
93
|
+
def redraw_width
|
94
|
+
(@point_a.x - @point_b.x).abs + style[:strokewidth].to_i
|
95
|
+
end
|
96
|
+
|
97
|
+
def redraw_height
|
98
|
+
(@point_a.y - @point_b.y).abs + style[:strokewidth].to_i
|
99
|
+
end
|
100
|
+
|
84
101
|
def move(x, y, x2 = nil, y2 = nil)
|
85
102
|
@point_a.x = x
|
86
103
|
@point_a.y = y
|
data/lib/shoes/link.rb
CHANGED
data/lib/shoes/list_box.rb
CHANGED
data/lib/shoes/mock/animation.rb
CHANGED
data/lib/shoes/mock/app.rb
CHANGED
data/lib/shoes/mock/arc.rb
CHANGED
data/lib/shoes/mock/arrow.rb
CHANGED
data/lib/shoes/mock/border.rb
CHANGED
data/lib/shoes/mock/button.rb
CHANGED
data/lib/shoes/mock/check.rb
CHANGED
data/lib/shoes/mock/clickable.rb
CHANGED
data/lib/shoes/mock/dialog.rb
CHANGED
data/lib/shoes/mock/download.rb
CHANGED
data/lib/shoes/mock/font.rb
CHANGED
data/lib/shoes/mock/image.rb
CHANGED
data/lib/shoes/mock/input_box.rb
CHANGED
data/lib/shoes/mock/keypress.rb
CHANGED
data/lib/shoes/mock/line.rb
CHANGED
data/lib/shoes/mock/link.rb
CHANGED
data/lib/shoes/mock/list_box.rb
CHANGED
data/lib/shoes/mock/oval.rb
CHANGED
data/lib/shoes/mock/packager.rb
CHANGED
data/lib/shoes/mock/progress.rb
CHANGED
data/lib/shoes/mock/radio.rb
CHANGED
data/lib/shoes/mock/rect.rb
CHANGED
data/lib/shoes/mock/shape.rb
CHANGED
data/lib/shoes/mock/slot.rb
CHANGED
data/lib/shoes/mock/sound.rb
CHANGED
data/lib/shoes/mock/star.rb
CHANGED
data/lib/shoes/mock/timer.rb
CHANGED
data/lib/shoes/oval.rb
CHANGED
data/lib/shoes/packager.rb
CHANGED
data/lib/shoes/point.rb
CHANGED
data/lib/shoes/progress.rb
CHANGED
data/lib/shoes/radio.rb
CHANGED
data/lib/shoes/rect.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
class Shoes
|
3
4
|
class Rect < Common::ArtElement
|
4
|
-
style_with :
|
5
|
-
STYLES = {
|
5
|
+
style_with :art_styles, :curve, :common_styles, :dimensions
|
6
|
+
STYLES = { curve: 0, fill: Shoes::COLORS[:black] }.freeze
|
6
7
|
|
7
8
|
def create_dimensions(left, top, width, height)
|
8
9
|
left ||= @style[:left] || 0
|