gui_geometry 0.2.2 → 0.3.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.
- data/lib/gui_geometry/point.rb +11 -0
- data/lib/gui_geometry/rectangle.rb +6 -2
- data/lib/gui_geometry/version.rb +1 -1
- data/spec/point_spec.rb +19 -0
- data/spec/rectangle_spec.rb +4 -0
- metadata +101 -112
data/lib/gui_geometry/point.rb
CHANGED
@@ -7,6 +7,15 @@ class Point < Struct.new(:x, :y)
|
|
7
7
|
super if args.length!=0
|
8
8
|
end
|
9
9
|
|
10
|
+
alias :w :x
|
11
|
+
alias :width :x
|
12
|
+
alias :col :x
|
13
|
+
alias :column :x
|
14
|
+
|
15
|
+
alias :h :y
|
16
|
+
alias :height :y
|
17
|
+
alias :line :y
|
18
|
+
|
10
19
|
def min(b); point(Tools::min(x, b.x), Tools::min(y, b.y)); end
|
11
20
|
def max(b); point(Tools::max(x, b.x), Tools::max(y, b.y)); end
|
12
21
|
def bound(a, b); point(Tools::bound(a.x, x, b.x), Tools::bound(a.y, y, b.y)); end
|
@@ -25,5 +34,7 @@ class Point < Struct.new(:x, :y)
|
|
25
34
|
def -(b) b.kind_of?(Point) ? point(x-b.x, y-b.y) : point(x-b, y-b) end
|
26
35
|
def *(b) b.kind_of?(Point) ? point(x*b.x, y*b.y) : point(x*b, y*b) end
|
27
36
|
def /(b) b.kind_of?(Point) ? point(x/b.x, y/b.y) : point(x/b, y/b) end
|
37
|
+
|
38
|
+
def area; x*y; end
|
28
39
|
end
|
29
40
|
end
|
@@ -44,8 +44,12 @@ class Rectangle < Struct.new(:loc, :size)
|
|
44
44
|
|
45
45
|
def x; loc.x; end
|
46
46
|
def y; loc.y; end
|
47
|
-
def w; size.
|
48
|
-
def h; size.
|
47
|
+
def w; size.w; end
|
48
|
+
def h; size.h; end
|
49
|
+
alias :width :w
|
50
|
+
alias :height :h
|
51
|
+
|
52
|
+
def area; size.area; end
|
49
53
|
|
50
54
|
def x_range; x .. (x + w - 1) end
|
51
55
|
def y_range; y .. (y + h - 1) end
|
data/lib/gui_geometry/version.rb
CHANGED
data/spec/point_spec.rb
CHANGED
@@ -103,5 +103,24 @@ describe "Point" do
|
|
103
103
|
point(0,4).bound(point(1,2), point(5,6)).should == point(1,4)
|
104
104
|
point(6,4).bound(point(1,2), point(5,6)).should == point(5,4)
|
105
105
|
end
|
106
|
+
|
107
|
+
it ".area" do
|
108
|
+
point(15, 20).area.should == 300
|
109
|
+
point(-5, 3).area.should == -15
|
110
|
+
end
|
111
|
+
|
112
|
+
it "width and height" do
|
113
|
+
point(15, 30).height.should == 30
|
114
|
+
point(15, 30).h.should == 30
|
115
|
+
point(15, 30).width.should == 15
|
116
|
+
point(15, 30).w.should == 15
|
117
|
+
end
|
118
|
+
|
119
|
+
it "line col column" do
|
120
|
+
point(15, 30).line.should == 30
|
121
|
+
point(15, 30).col.should == 15
|
122
|
+
point(15, 30).column.should == 15
|
123
|
+
end
|
124
|
+
|
106
125
|
end
|
107
126
|
end
|
data/spec/rectangle_spec.rb
CHANGED
metadata
CHANGED
@@ -1,120 +1,104 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: gui_geometry
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 3
|
8
|
+
- 0
|
9
|
+
version: 0.3.0
|
6
10
|
platform: ruby
|
7
|
-
authors:
|
11
|
+
authors:
|
8
12
|
- Shane Brinkman-Davis
|
9
13
|
autorequire:
|
10
14
|
bindir: bin
|
11
15
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
16
|
+
|
17
|
+
date: 2013-02-24 00:00:00 -08:00
|
18
|
+
default_executable:
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
15
21
|
name: rake
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ! '>='
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '0'
|
22
|
-
type: :development
|
23
22
|
prerelease: false
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
name: rspec
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ! '>='
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '0'
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 0
|
29
|
+
version: "0"
|
38
30
|
type: :development
|
31
|
+
version_requirements: *id001
|
32
|
+
- !ruby/object:Gem::Dependency
|
33
|
+
name: rspec
|
39
34
|
prerelease: false
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
name: guard-rspec
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '0'
|
35
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
segments:
|
40
|
+
- 0
|
41
|
+
version: "0"
|
54
42
|
type: :development
|
43
|
+
version_requirements: *id002
|
44
|
+
- !ruby/object:Gem::Dependency
|
45
|
+
name: guard-rspec
|
55
46
|
prerelease: false
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
name: guard-test
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
|
-
requirements:
|
67
|
-
- - ! '>='
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: '0'
|
47
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
48
|
+
requirements:
|
49
|
+
- - ">="
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
segments:
|
52
|
+
- 0
|
53
|
+
version: "0"
|
70
54
|
type: :development
|
55
|
+
version_requirements: *id003
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: guard-test
|
71
58
|
prerelease: false
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
name: rb-fsevent
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
|
-
requirements:
|
83
|
-
- - ! '>='
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: '0'
|
59
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
segments:
|
64
|
+
- 0
|
65
|
+
version: "0"
|
86
66
|
type: :development
|
67
|
+
version_requirements: *id004
|
68
|
+
- !ruby/object:Gem::Dependency
|
69
|
+
name: rb-fsevent
|
87
70
|
prerelease: false
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
name: simplecov
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
|
-
requirements:
|
99
|
-
- - ! '>='
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: '0'
|
71
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
segments:
|
76
|
+
- 0
|
77
|
+
version: "0"
|
102
78
|
type: :development
|
79
|
+
version_requirements: *id005
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: simplecov
|
103
82
|
prerelease: false
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
83
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - ">="
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
segments:
|
88
|
+
- 0
|
89
|
+
version: "0"
|
90
|
+
type: :development
|
91
|
+
version_requirements: *id006
|
92
|
+
description: 2D geometry specificly designed to support graphical user interfaces and bitmaps currently focsued on Point and Rectangle classes
|
93
|
+
email:
|
113
94
|
- shanebdavis@gmail.com
|
114
95
|
executables: []
|
96
|
+
|
115
97
|
extensions: []
|
98
|
+
|
116
99
|
extra_rdoc_files: []
|
117
|
-
|
100
|
+
|
101
|
+
files:
|
118
102
|
- .gitignore
|
119
103
|
- Gemfile
|
120
104
|
- Guardfile
|
@@ -131,32 +115,37 @@ files:
|
|
131
115
|
- spec/rectangle_spec.rb
|
132
116
|
- spec/spec_helper.rb
|
133
117
|
- spec/tools_spec.rb
|
118
|
+
has_rdoc: true
|
134
119
|
homepage: https://github.com/shanebdavis/gui_geometry
|
135
120
|
licenses: []
|
121
|
+
|
136
122
|
post_install_message:
|
137
123
|
rdoc_options: []
|
138
|
-
|
124
|
+
|
125
|
+
require_paths:
|
139
126
|
- lib
|
140
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
requirements:
|
149
|
-
- -
|
150
|
-
- !ruby/object:Gem::Version
|
151
|
-
|
127
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
segments:
|
132
|
+
- 0
|
133
|
+
version: "0"
|
134
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
segments:
|
139
|
+
- 0
|
140
|
+
version: "0"
|
152
141
|
requirements: []
|
142
|
+
|
153
143
|
rubyforge_project:
|
154
|
-
rubygems_version: 1.
|
144
|
+
rubygems_version: 1.3.6
|
155
145
|
signing_key:
|
156
146
|
specification_version: 3
|
157
|
-
summary: 2D geometry specificly designed to support graphical user interfaces and
|
158
|
-
|
159
|
-
test_files:
|
147
|
+
summary: 2D geometry specificly designed to support graphical user interfaces and bitmaps
|
148
|
+
test_files:
|
160
149
|
- spec/point_spec.rb
|
161
150
|
- spec/rectangle_spec.rb
|
162
151
|
- spec/spec_helper.rb
|