RIUI 0.1.1 → 0.2.0
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/Gemfile.lock +1 -1
- data/README.md +3 -0
- data/example/example.rb +74 -54
- data/lib/RIUI.rb +2 -0
- data/lib/RIUI/RIActions.rb +2 -1
- data/lib/RIUI/RIImage.rb +4 -1
- data/lib/RIUI/RILabel.rb +21 -0
- data/lib/RIUI/RIView.rb +19 -0
- data/lib/RIUI/version.rb +1 -1
- data/test.rb +0 -0
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e1a38e303e77fe46c9b0573315644439dcdbcc20b573128b37a62afb6db0d346
|
4
|
+
data.tar.gz: 913e27253af8d68dcf9efbf0758addb0d3335172d212b1d04bb58ceb16163519
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b70238c656296f2408b83becb265e9c98d53cfe9045dc3bc21b3886698c39451b7e683d9f55e97028ce1706999f72b25313775780c86e58a320e9cce4e2ead9c
|
7
|
+
data.tar.gz: e3a2ed300f67ba2ffe1c53f22e145eba2df7810ab54a456fa7b3fe0a66eec65b44f3f69e6ab7a3752b237ac6d69d773a33abfbb43ded2f2d97d9461f7507fabe
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -1,7 +1,10 @@
|
|
1
|
+
[](https://badge.fury.io/rb/RIUI)
|
1
2
|
# RIUI
|
2
3
|
|
3
4
|
A small, simple Ruby user interface framework
|
4
5
|
|
6
|
+
**NOTE:** *This project is its very early stages of development. If you experience a bug or have an idea for a new feature, don't hesitate to open an issue*
|
7
|
+
|
5
8
|
## Installation
|
6
9
|
|
7
10
|
Add this line to your application's Gemfile:
|
data/example/example.rb
CHANGED
@@ -1,67 +1,87 @@
|
|
1
1
|
require 'RIUI'
|
2
2
|
|
3
|
-
|
3
|
+
class Example < RIView
|
4
|
+
@image = RIImage.new(x: 500, y: 275, image: "tree.png", width: 100, height: 75)
|
5
|
+
puts 'ex 1'
|
6
|
+
def self.onreset
|
7
|
+
@image.setSize(width: @orig_w, height: @orig_h)
|
8
|
+
@slider1.reset
|
9
|
+
@slider2.reset
|
10
|
+
puts "click"
|
11
|
+
end
|
12
|
+
def self.on_slider1_change
|
13
|
+
@image.setSize(height: @slider1.value + @orig_h, width: @slider2.value + @orig_w)
|
14
|
+
@label.setText(text: "Image width: #{@slider1.value + @orig_h}, Image height: #{@slider2.value + @orig_w}")
|
15
|
+
end
|
4
16
|
|
5
|
-
def
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
end
|
10
|
-
def on_slider1_change
|
11
|
-
@image.setSize(height: @slider1.value + @orig_h, width: @slider2.value + @orig_w)
|
12
|
-
end
|
13
|
-
|
14
|
-
def on_slider2_change
|
15
|
-
@image.setSize(height: @slider1.value + @orig_h, width: @slider2.value + @orig_w)
|
16
|
-
end
|
17
|
+
def self.on_slider2_change
|
18
|
+
@image.setSize(height: @slider1.value + @orig_h, width: @slider2.value + @orig_w)
|
19
|
+
@label.setText(text: "Image width: #{@slider1.value + @orig_h}, Image height: #{@slider2.value + @orig_w}")
|
20
|
+
end
|
17
21
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
+
def self.setRed
|
23
|
+
@image.setColor(color: 'red')
|
24
|
+
puts 'red'
|
25
|
+
end
|
26
|
+
def self.setGreen
|
27
|
+
@image.setColor(color: 'green')
|
28
|
+
puts 'green'
|
29
|
+
end
|
30
|
+
def self.setBlue
|
31
|
+
@image.setColor(color: 'blue')
|
32
|
+
puts 'blue'
|
33
|
+
end
|
34
|
+
def self.setYellow
|
35
|
+
@image.setColor(color: 'yellow')
|
36
|
+
puts 'yellow'
|
37
|
+
end
|
38
|
+
@actions = RIActions.new
|
39
|
+
onclick = method(:onreset)
|
40
|
+
@button1 = RIButton.new(x: 150, y: 350, width: 100, height: 50, color: "green", hover_color: "blue")
|
41
|
+
@button1.onClick(onclick: onclick)
|
42
|
+
@button1.setLabel(text: "Reset", font: "SF-PRO-Text-Bold.otf", size: 15, color: "white")
|
22
43
|
|
23
|
-
@
|
44
|
+
@button2 = RIButton.new(x: 125, y: 100, width: 50, height: 50, color: 'red')
|
45
|
+
red = method(:setRed)
|
46
|
+
@button2.onClick(onclick: red)
|
24
47
|
|
25
|
-
@
|
26
|
-
|
27
|
-
@
|
28
|
-
slider1Change = method(:on_slider1_change)
|
29
|
-
@slider1.onChange(onchange: slider1Change)
|
48
|
+
@button3 = RIButton.new(x: 200, y: 100, width: 50, height: 50, color: 'green')
|
49
|
+
green = method(:setGreen)
|
50
|
+
@button3.onClick(onclick: green)
|
30
51
|
|
31
|
-
@
|
32
|
-
|
33
|
-
@
|
34
|
-
slider2Change = method(:on_slider2_change)
|
35
|
-
@slider2.onChange(onchange: slider2Change)
|
52
|
+
@button4 = RIButton.new(x: 125, y: 175, width: 50, height: 50, color: 'blue')
|
53
|
+
blue = method(:setBlue)
|
54
|
+
@button4.onClick(onclick: blue)
|
36
55
|
|
56
|
+
@button5 = RIButton.new(x: 200, y: 175, width: 50, height: 50, color: 'yellow')
|
57
|
+
yellow = method(:setYellow)
|
58
|
+
@button5.onClick(onclick: yellow)
|
37
59
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
@
|
60
|
+
@slider1 = RISlider.new(length: 200, square_size: 10, x: 100, y: 250, ticks: 200)
|
61
|
+
@slider1.setColors(line_color: "black", square_color: "blue")
|
62
|
+
@slider1.setLabel(size: 20, font: 'SF-PRO-Text-Bold.otf', color: 'black')
|
63
|
+
slider1Change = method(:on_slider1_change)
|
64
|
+
@slider1.onChange(onchange: slider1Change)
|
43
65
|
|
66
|
+
@slider2 = RISlider.new(length: 200, square_size: 10, x: 100, y: 300, ticks: 200)
|
67
|
+
@slider2.setColors(line_color: "black", square_color: "blue")
|
68
|
+
@slider2.setLabel(size: 20, font: 'SF-PRO-Text-Bold.otf', color: 'black')
|
69
|
+
slider2Change = method(:on_slider2_change)
|
70
|
+
@slider2.onChange(onchange: slider2Change)
|
44
71
|
|
72
|
+
@label = RILabel.new(x: 300, y: 125, font: 'SF-PRO-Text-Bold.otf', size: 20, color: 'black', text: "Image width: #{@image.width}, Image height: #{@image.height}")
|
45
73
|
|
74
|
+
@actions.add(@slider1)
|
75
|
+
@actions.add(@slider2)
|
76
|
+
@actions.add(@button1)
|
77
|
+
@actions.add(@button2)
|
78
|
+
@actions.add(@button3)
|
79
|
+
@actions.add(@button4)
|
80
|
+
@actions.add(@button5)
|
81
|
+
@actions.add(@label)
|
82
|
+
@orig_h = @image.height
|
83
|
+
@orig_w = @image.width
|
46
84
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
set title: 'RIUI Example'
|
51
|
-
show
|
52
|
-
|
53
|
-
#on :mouse_down do |e|
|
54
|
-
# if button1.contains(e.x, e.y)
|
55
|
-
# puts 'Reset'
|
56
|
-
# image.setSize(width: @orig_w, height: @orig_h)
|
57
|
-
# slider1.reset
|
58
|
-
# slider2.reset
|
59
|
-
# end
|
60
|
-
#end
|
61
|
-
#update do
|
62
|
-
# slider1.update_actions
|
63
|
-
# slider2.update_actions
|
64
|
-
# if(slider1.active || slider2.active)
|
65
|
-
# image.setSize(height: slider1.value + @orig_h, width: slider2.value + @orig_w)
|
66
|
-
# end
|
67
|
-
#end
|
85
|
+
self.initialize(width: 700, height: 450, background_color: 'white', title: 'RIUI')
|
86
|
+
self.show
|
87
|
+
end
|
data/lib/RIUI.rb
CHANGED
data/lib/RIUI/RIActions.rb
CHANGED
data/lib/RIUI/RIImage.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
class RIImage
|
2
2
|
|
3
|
-
attr_accessor :image, :x, :y, :width, :height
|
3
|
+
attr_accessor :image, :x, :y, :width, :height, :color
|
4
4
|
|
5
5
|
def initialize(opts={})
|
6
6
|
@path = opts[:image] || "/"
|
@@ -16,6 +16,9 @@ class RIImage
|
|
16
16
|
@image.remove
|
17
17
|
@image = Image.new(path: @path, x: @x-@width/2, y: @y-@height/2, width: @width, height: @height)
|
18
18
|
end
|
19
|
+
def setColor(opts=[:color])
|
20
|
+
@image.color = opts[:color]
|
21
|
+
end
|
19
22
|
def width; @width; end
|
20
23
|
def height; @height; end
|
21
24
|
end
|
data/lib/RIUI/RILabel.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
class RILabel
|
2
|
+
attr_accessor :x, :y, :font, :size, :color, :text
|
3
|
+
def initialize(opts = {})
|
4
|
+
@x = opts[:x] || 0
|
5
|
+
@y = opts[:y] || 0
|
6
|
+
@font = opts[:font] || ''
|
7
|
+
@size = opts[:size] || 20
|
8
|
+
@color = opts[:color] || 'black'
|
9
|
+
@text = opts[:text] || 'RIUI Label'
|
10
|
+
@label = Text.new(x: @x, y: @y, font: @font, size: @size, color: @color, text: @text)
|
11
|
+
end
|
12
|
+
def setText(opts = [:text])
|
13
|
+
@text = opts[:text]
|
14
|
+
@label.remove
|
15
|
+
@label = Text.new(x: @x, y: @y, font: @font, size: @size, color: @color, text: @text)
|
16
|
+
end
|
17
|
+
def update_actions; end
|
18
|
+
def mouse_up_actions; end
|
19
|
+
def mouse_down_actions(x, y); end
|
20
|
+
def mouse_move_actions(x, y); end
|
21
|
+
end
|
data/lib/RIUI/RIView.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'ruby2d'
|
2
|
+
class RIView
|
3
|
+
attr_accessor :width, :height, :background_color, :title
|
4
|
+
def self.initialize(opts = {})
|
5
|
+
@width = opts[:width] || 250
|
6
|
+
@height = opts[:height] || 300
|
7
|
+
@background_color = opts[:background_color] || 'white'
|
8
|
+
@title = opts[:title] || "RIUI View"
|
9
|
+
end
|
10
|
+
def self.show
|
11
|
+
extend Ruby2D::DSL
|
12
|
+
set width: @width, height: @height, background: @background_color, title: @title
|
13
|
+
show
|
14
|
+
end
|
15
|
+
def self.exit
|
16
|
+
extend Ruby2D::DSL
|
17
|
+
close
|
18
|
+
end
|
19
|
+
end
|
data/lib/RIUI/version.rb
CHANGED
data/test.rb
ADDED
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: RIUI
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- lukecrum20
|
@@ -91,8 +91,11 @@ files:
|
|
91
91
|
- lib/RIUI/RIActions.rb
|
92
92
|
- lib/RIUI/RIButton.rb
|
93
93
|
- lib/RIUI/RIImage.rb
|
94
|
+
- lib/RIUI/RILabel.rb
|
94
95
|
- lib/RIUI/RISlider.rb
|
96
|
+
- lib/RIUI/RIView.rb
|
95
97
|
- lib/RIUI/version.rb
|
98
|
+
- test.rb
|
96
99
|
homepage: https://github.com/lukecrum/RIUI
|
97
100
|
licenses:
|
98
101
|
- MIT
|