gosu_enhanced 0.1.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 8c8c0ff47fba5b897c2f6066b9f4306cdae9f42b
4
+ data.tar.gz: ad4815c8c03d03ab0483b7b77f094e68a7a26eed
5
+ SHA512:
6
+ metadata.gz: 197ec5637526f565b3594ed2e3653812c753bdcf45336cfecd0e05ed28936fc32ce239541052835934f738f2ecbde49c3fc8d34d9bc806a49942f37bf64976d7
7
+ data.tar.gz: d50c833a17e528fca792fa1ea0c3a9ac656fa9ec0b274833b7b74a99e0d10953c70196a3893db943dfe5fa42bc647e56b9d8b54522a5235eb0fecdcf106a5d15
data/.gitignore ADDED
@@ -0,0 +1,21 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ InstalledFiles
7
+ _yardoc
8
+ coverage
9
+ doc/
10
+ lib/bundler/man
11
+ pkg
12
+ rdoc
13
+ spec/reports
14
+ test/tmp
15
+ test/version_tmp
16
+ tmp
17
+ *.bundle
18
+ *.so
19
+ *.o
20
+ *.a
21
+ mkmf.log
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in gosu_enhanced.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,42 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ gosu_enhanced (0.1.0)
5
+ gosu (~> 0.7)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ coderay (1.1.0)
11
+ diff-lcs (1.2.5)
12
+ gosu (0.7.50)
13
+ method_source (0.8.2)
14
+ pry (0.9.12.6)
15
+ coderay (~> 1.0)
16
+ method_source (~> 0.8)
17
+ slop (~> 3.4)
18
+ rake (0.9.2.2)
19
+ rspec (2.14.1)
20
+ rspec-core (~> 2.14.0)
21
+ rspec-expectations (~> 2.14.0)
22
+ rspec-mocks (~> 2.14.0)
23
+ rspec-core (2.14.8)
24
+ rspec-expectations (2.14.5)
25
+ diff-lcs (>= 1.1.3, < 2.0)
26
+ rspec-mocks (2.14.6)
27
+ rspec-nc (0.0.6)
28
+ rspec (~> 2.9)
29
+ terminal-notifier (~> 1.4.2)
30
+ slop (3.5.0)
31
+ terminal-notifier (1.4.2)
32
+
33
+ PLATFORMS
34
+ ruby
35
+
36
+ DEPENDENCIES
37
+ bundler (~> 1.6)
38
+ gosu_enhanced!
39
+ pry (~> 0.9)
40
+ rake (~> 0.9)
41
+ rspec (~> 2.0)
42
+ rspec-nc (~> 0.0)
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2014 Julian Nicholls
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,49 @@
1
+ # GosuEnhanced
2
+
3
+ Some added classes for using Gosu.
4
+
5
+ ## Point
6
+
7
+ Holds a set of (x, y) co-ordinates. Allows for offsetting and moving by another Point
8
+ or a pair of co-ordinates.
9
+
10
+ ## Size
11
+
12
+ Holds a (width, height) size. Allows for inflation / deflation with another size or
13
+ a pair of sizes.
14
+
15
+ ## Gosu::Window
16
+
17
+ Added #draw_rectangle which draws a simple rectangle specified with a Point and Size
18
+ in one colour.
19
+
20
+ ## Gosu::Font
21
+
22
+ Added #measure and #centred_in which measure a piece of text and centre it in a
23
+ given Size.
24
+
25
+ ## Installation
26
+
27
+ Add this line to your application's Gemfile:
28
+
29
+ gem 'gosu_enhanced'
30
+
31
+ And then execute:
32
+
33
+ $ bundle
34
+
35
+ Or install it yourself as:
36
+
37
+ $ gem install gosu_enhanced
38
+
39
+ ## Usage
40
+
41
+ TODO: Write usage instructions here
42
+
43
+ ## Contributing
44
+
45
+ 1. Fork it ( https://github.com/[my-github-username]/gosu_enhanced/fork )
46
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
47
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
48
+ 4. Push to the branch (`git push origin my-new-feature`)
49
+ 5. Create a new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require 'rspec/core/rake_task'
2
+ require "bundler/gem_tasks"
3
+
4
+ # Default directory for tests is ./spec
5
+ # Run with rake spec
6
+ RSpec::Core::RakeTask.new( :spec ) do |task|
7
+ task.rspec_opts = ['--color', '--format', 'nested']
8
+ end
9
+
10
+ task :default => :spec
@@ -0,0 +1,31 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'gosu_enhanced/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "gosu_enhanced"
8
+ spec.version = GosuEnhanced::VERSION
9
+ spec.authors = ["Julian Nicholls"]
10
+ spec.email = ["juliannicholls29@gmail.com"]
11
+ spec.summary = %q{Enhanced versions of some Gosu classes.}
12
+ spec.description = %q{Point and Size classes to hold pixel addresses and
13
+ rectangle sizes respectively. Updated window class to draw rectangle in a single
14
+ colour more easily. Updated font class to measure text and return co-ordinates
15
+ to centre a piece of text in a rectangle size.}
16
+ spec.homepage = ""
17
+ spec.license = "MIT"
18
+
19
+ spec.files = `git ls-files -z`.split("\x0")
20
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
21
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
22
+ spec.require_paths = ["lib"]
23
+
24
+ spec.add_runtime_dependency "gosu", "~> 0.7"
25
+
26
+ spec.add_development_dependency "bundler", "~> 1.6"
27
+ spec.add_development_dependency "rake", "~> 0.9"
28
+ spec.add_development_dependency "rspec", "~> 2.0"
29
+ spec.add_development_dependency "rspec-nc", "~> 0.0"
30
+ spec.add_development_dependency "pry", "~> 0.9"
31
+ end
@@ -0,0 +1,7 @@
1
+ require 'gosu'
2
+
3
+ require "gosu_enhanced/version"
4
+
5
+ require 'gosu_enhanced/point'
6
+ require 'gosu_enhanced/size'
7
+ require 'gosu_enhanced/enhanced'
@@ -0,0 +1,40 @@
1
+ module Gosu
2
+ # Add a draw_rectangle() to Window which simplifies drawing a simple rectangle
3
+ # in one colour
4
+ class Window
5
+ def draw_rectangle( point, size, z_index, colour )
6
+ left, top = point.x, point.y
7
+ width, height = size.width, size.height
8
+
9
+ draw_quad(
10
+ left, top, colour,
11
+ left + width, top, colour,
12
+ left + width, top + height, colour,
13
+ left, top + height, colour,
14
+ z_index
15
+ )
16
+ end
17
+ end
18
+
19
+ # Add a measure to return both width and height for a text and a way
20
+ # to centre a text in a rectangle
21
+
22
+ class Font
23
+ include GosuEnhanced
24
+
25
+ def measure( text )
26
+ Size.new( text_width( text, 1 ), height )
27
+ end
28
+
29
+ def centred_in( text, rect )
30
+ size = measure( text )
31
+
32
+ Point.new(
33
+ (rect.width - size.width) / 2,
34
+ (rect.height - size.height) / 2
35
+ )
36
+ end
37
+
38
+ alias_method :centered_in, :centred_in
39
+ end
40
+ end
@@ -0,0 +1,32 @@
1
+ module GosuEnhanced
2
+ # Hold a (x, y) pixel position, and allow for offsetting and movement
3
+ class Point < Struct.new( :x, :y )
4
+ def offset( by_x, by_y = nil )
5
+ if by_x.respond_to? :x
6
+ Point.new( x + by_x.x, y + by_x.y )
7
+ else
8
+ Point.new( x + by_x, y + by_y )
9
+ end
10
+ end
11
+
12
+ # Negative co-ordinates are allowed.
13
+
14
+ def move_by!( by_x, by_y = nil )
15
+ if by_x.respond_to? :x
16
+ self.x += by_x.x
17
+ self.y += by_x.y
18
+ else
19
+ self.x += by_x
20
+ self.y += by_y
21
+ end
22
+ end
23
+
24
+ def move_to!( new_x, new_y = nil )
25
+ if new_x.respond_to? :x
26
+ self.x, self.y = new_x.x, new_x.y
27
+ else
28
+ self.x, self.y = new_x, new_y
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,55 @@
1
+ module GosuEnhanced
2
+ # Hold a 2-dimensional size and allow for inflation / deflation
3
+ class Size < Struct.new( :width, :height )
4
+ # Inflation with a negative value or deflation is not allowed to make a
5
+ # dimension negative.
6
+
7
+ def inflate( by_w, by_h = nil )
8
+ if by_w.respond_to? :width
9
+ validate( by_w.width, by_w.height )
10
+
11
+ Size.new( width + by_w.width, height + by_w.height )
12
+ else
13
+ validate( by_w, by_h )
14
+
15
+ Size.new( width + by_w, height + by_h )
16
+ end
17
+ end
18
+
19
+ def deflate( by_w, by_h = nil )
20
+ if by_w.respond_to? :width
21
+ inflate( -by_w.width, -by_w.height )
22
+ else
23
+ inflate( -by_w, -by_h )
24
+ end
25
+ end
26
+
27
+ def inflate!( by_w, by_h = nil )
28
+ if by_w.respond_to? :width
29
+ validate( by_w.width, by_w.height )
30
+
31
+ self.width += by_w.width
32
+ self.height += by_w.height
33
+ else
34
+ validate( by_w, by_h )
35
+
36
+ self.width += by_w
37
+ self.height += by_h
38
+ end
39
+ end
40
+
41
+ def deflate!( by_w, by_h = nil )
42
+ if by_w.respond_to? :width
43
+ inflate!( -by_w.width, -by_w.height )
44
+ else
45
+ inflate!( -by_w, -by_h )
46
+ end
47
+ end
48
+
49
+ private
50
+
51
+ def validate( by_w, by_h )
52
+ fail "Cannot make size negative" if width + by_w < 0 || height + by_h < 0
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,3 @@
1
+ module GosuEnhanced
2
+ VERSION = "0.1.0"
3
+ end
@@ -0,0 +1,112 @@
1
+ require 'spec_helper'
2
+
3
+ describe GosuEnhanced::Point do
4
+ describe '#initialize' do
5
+ it 'should work with two values' do
6
+ point = GosuEnhanced::Point.new( 10, 20 )
7
+ expect( point.x ).to eq 10
8
+ expect( point.y ).to eq 20
9
+ end
10
+ end
11
+
12
+ describe '#offset' do
13
+ it 'should work with another Point' do
14
+ point = GosuEnhanced::Point.new( 10, 20 )
15
+ opoint = point.offset( GosuEnhanced::Point.new( 30, 40 ) )
16
+ expect( opoint.x ).to eq 40
17
+ expect( opoint.y ).to eq 60
18
+ end
19
+
20
+ it 'should work with two positive values' do
21
+ point = GosuEnhanced::Point.new( 10, 20 )
22
+ opoint = point.offset( 40, 50 )
23
+ expect( opoint.x ).to eq 50
24
+ expect( opoint.y ).to eq 70
25
+ end
26
+
27
+ it 'should work with two negative values' do
28
+ point = GosuEnhanced::Point.new( 60, 80 )
29
+ opoint = point.offset( -40, -50 )
30
+ expect( opoint.x ).to eq 20
31
+ expect( opoint.y ).to eq 30
32
+ end
33
+
34
+ it 'should work with values that result in negative co-ordinates' do
35
+ point = GosuEnhanced::Point.new( 60, 80 )
36
+ opoint = point.offset( -80, -150 )
37
+ expect( opoint.x ).to eq -20
38
+ expect( opoint.y ).to eq -70
39
+ end
40
+ end
41
+
42
+ describe '#move_by!' do
43
+ it 'should work with another Point' do
44
+ point = GosuEnhanced::Point.new( 10, 20 )
45
+ point.move_by!( GosuEnhanced::Point.new( 30, 40 ) )
46
+ expect( point.x ).to eq 40
47
+ expect( point.y ).to eq 60
48
+ end
49
+
50
+ it 'should work with two positive values' do
51
+ point = GosuEnhanced::Point.new( 10, 20 )
52
+ point.move_by!( 40, 50 )
53
+ expect( point.x ).to eq 50
54
+ expect( point.y ).to eq 70
55
+ end
56
+
57
+ it 'should work with two negative values' do
58
+ point = GosuEnhanced::Point.new( 60, 80 )
59
+ point.move_by!( -40, -50 )
60
+ expect( point.x ).to eq 20
61
+ expect( point.y ).to eq 30
62
+ end
63
+
64
+ it 'should work with values that result in negative co-ordinates' do
65
+ point = GosuEnhanced::Point.new( 60, 80 )
66
+ point.move_by!( -80, -150 )
67
+ expect( point.x ).to eq -20
68
+ expect( point.y ).to eq -70
69
+ end
70
+ end
71
+
72
+ describe '#move_to!' do
73
+ it 'should work with another Point' do
74
+ point = GosuEnhanced::Point.new( 10, 20 )
75
+ point.move_to!( GosuEnhanced::Point.new( 30, 40 ) )
76
+ expect( point.x ).to eq 30
77
+ expect( point.y ).to eq 40
78
+ end
79
+
80
+ it 'should work with two positive values' do
81
+ point = GosuEnhanced::Point.new( 10, 20 )
82
+ point.move_to!( 40, 50 )
83
+ expect( point.x ).to eq 40
84
+ expect( point.y ).to eq 50
85
+ end
86
+
87
+ it 'should work with two negative values' do
88
+ point = GosuEnhanced::Point.new( 60, 80 )
89
+ point.move_to!( -40, -50 )
90
+ expect( point.x ).to eq -40
91
+ expect( point.y ).to eq -50
92
+ end
93
+ end
94
+
95
+ # This might seem laboured, but I have run foul of dup before
96
+
97
+ describe '#dup' do
98
+ it 'should make a copy of the Point' do
99
+ point = GosuEnhanced::Point.new( 10, 20 )
100
+ npoint = point.dup
101
+ expect( point.x ).to eq 10
102
+ expect( point.y ).to eq 20
103
+ expect( npoint.x ).to eq 10
104
+ expect( npoint.y ).to eq 20
105
+ point.move_to!( 40, 50 )
106
+ expect( point.x ).to eq 40
107
+ expect( point.y ).to eq 50
108
+ expect( npoint.x ).to eq 10
109
+ expect( npoint.y ).to eq 20
110
+ end
111
+ end
112
+ end
data/spec/size_spec.rb ADDED
@@ -0,0 +1,133 @@
1
+ require 'spec_helper'
2
+
3
+ describe GosuEnhanced::Size do
4
+ describe '#initialize' do
5
+ it 'should work with two values' do
6
+ size = GosuEnhanced::Size.new( 10, 20 )
7
+ expect( size.width ).to eq 10
8
+ expect( size.height ).to eq 20
9
+ end
10
+ end
11
+
12
+ describe '#inflate' do
13
+ it 'should work with another Size' do
14
+ size = GosuEnhanced::Size.new( 10, 20 )
15
+ esize = size.inflate( GosuEnhanced::Size.new( 30, 40 ) )
16
+ expect( esize.width ).to eq 40
17
+ expect( esize.height ).to eq 60
18
+ end
19
+
20
+ it 'should work with two values' do
21
+ size = GosuEnhanced::Size.new( 10, 20 )
22
+ esize = size.inflate( 40, 50 )
23
+ expect( esize.width ).to eq 50
24
+ expect( esize.height ).to eq 70
25
+ end
26
+
27
+ it 'should work with two explicitly negative values' do
28
+ size = GosuEnhanced::Size.new( 40, 50 )
29
+ esize = size.inflate( -30, -20 )
30
+ expect( esize.width ).to eq 10
31
+ expect( esize.height ).to eq 30
32
+ end
33
+
34
+ it 'should raise an error with out-of-range values' do
35
+ size = GosuEnhanced::Size.new( 40, 50 )
36
+ expect { esize = size.inflate( -50, -20 ) }.to raise_error Exception
37
+ expect { esize = size.inflate( -30, -60 ) }.to raise_error Exception
38
+ expect { esize = size.inflate( -50, -70 ) }.to raise_error Exception
39
+ end
40
+ end
41
+
42
+ describe '#deflate' do
43
+ it 'should work with another Size' do
44
+ size = GosuEnhanced::Size.new( 60, 80 )
45
+ esize = size.deflate( GosuEnhanced::Size.new( 30, 40 ) )
46
+ expect( esize.width ).to eq 30
47
+ expect( esize.height ).to eq 40
48
+ end
49
+
50
+ it 'should work with two values' do
51
+ size = GosuEnhanced::Size.new( 70, 60 )
52
+ esize = size.deflate( 40, 50 )
53
+ expect( esize.width ).to eq 30
54
+ expect( esize.height ).to eq 10
55
+ end
56
+
57
+ it 'should raise an error for out-of-range values' do
58
+ size = GosuEnhanced::Size.new( 70, 60 )
59
+ expect { esize = size.deflate( 80, 50 ) }.to raise_error Exception
60
+ expect { esize = size.deflate( 60, 70 ) }.to raise_error Exception
61
+ expect { esize = size.deflate( 80, 70 ) }.to raise_error Exception
62
+ end
63
+ end
64
+
65
+ describe '#inflate!' do
66
+ it 'should work with another Size' do
67
+ size = GosuEnhanced::Size.new( 10, 20 )
68
+ size.inflate!( GosuEnhanced::Size.new( 30, 40 ) )
69
+ expect( size.width ).to eq 40
70
+ expect( size.height ).to eq 60
71
+ end
72
+
73
+ it 'should work with two values' do
74
+ size = GosuEnhanced::Size.new( 10, 20 )
75
+ size.inflate!( 40, 50 )
76
+ expect( size.width ).to eq 50
77
+ expect( size.height ).to eq 70
78
+ end
79
+
80
+ it 'should work with two explicitly negative values' do
81
+ size = GosuEnhanced::Size.new( 40, 50 )
82
+ size.inflate!( -30, -20 )
83
+ expect( size.width ).to eq 10
84
+ expect( size.height ).to eq 30
85
+ end
86
+
87
+ it 'should raise an error with out-of-range values' do
88
+ size = GosuEnhanced::Size.new( 40, 50 )
89
+ expect { size.inflate!( -50, -20 ) }.to raise_error Exception
90
+ expect { size.inflate!( -30, -60 ) }.to raise_error Exception
91
+ expect { size.inflate!( -50, -70 ) }.to raise_error Exception
92
+ end
93
+ end
94
+
95
+ describe '#deflate!' do
96
+ it 'should work with another Size' do
97
+ size = GosuEnhanced::Size.new( 60, 80 )
98
+ size.deflate!( GosuEnhanced::Size.new( 30, 40 ) )
99
+ expect( size.width ).to eq 30
100
+ expect( size.height ).to eq 40
101
+ end
102
+
103
+ it 'should work with two values' do
104
+ size = GosuEnhanced::Size.new( 70, 60 )
105
+ size.deflate!( 40, 50 )
106
+ expect( size.width ).to eq 30
107
+ expect( size.height ).to eq 10
108
+ end
109
+
110
+ it 'should raise an error for out-of-range values' do
111
+ size = GosuEnhanced::Size.new( 70, 60 )
112
+ expect { size.deflate!( 80, 50 ) }.to raise_error Exception
113
+ expect { size.deflate!( 60, 70 ) }.to raise_error Exception
114
+ expect { size.deflate!( 80, 70 ) }.to raise_error Exception
115
+ end
116
+ end
117
+
118
+ describe '#dup' do
119
+ it 'should make a copy of the Size' do
120
+ size = GosuEnhanced::Size.new( 10, 20 )
121
+ nsize = size.dup
122
+ expect( size.width ).to eq 10
123
+ expect( size.height ).to eq 20
124
+ expect( nsize.width ).to eq 10
125
+ expect( nsize.height ).to eq 20
126
+ size.inflate!( 40, 50 )
127
+ expect( size.width ).to eq 50
128
+ expect( size.height ).to eq 70
129
+ expect( nsize.width ).to eq 10
130
+ expect( nsize.height ).to eq 20
131
+ end
132
+ end
133
+ end
@@ -0,0 +1,3 @@
1
+ require 'rspec'
2
+ require 'pry'
3
+ require 'gosu_enhanced'
metadata ADDED
@@ -0,0 +1,149 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gosu_enhanced
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Julian Nicholls
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-04-12 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: gosu
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.7'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.6'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.6'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.9'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.9'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec-nc
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.9'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.9'
97
+ description: "Point and Size classes to hold pixel addresses and \nrectangle sizes
98
+ respectively. Updated window class to draw rectangle in a single \ncolour more easily.
99
+ Updated font class to measure text and return co-ordinates \nto centre a piece of
100
+ text in a rectangle size."
101
+ email:
102
+ - juliannicholls29@gmail.com
103
+ executables: []
104
+ extensions: []
105
+ extra_rdoc_files: []
106
+ files:
107
+ - ".gitignore"
108
+ - Gemfile
109
+ - Gemfile.lock
110
+ - LICENSE.txt
111
+ - README.md
112
+ - Rakefile
113
+ - gosu_enhanced.gemspec
114
+ - lib/gosu_enhanced.rb
115
+ - lib/gosu_enhanced/enhanced.rb
116
+ - lib/gosu_enhanced/point.rb
117
+ - lib/gosu_enhanced/size.rb
118
+ - lib/gosu_enhanced/version.rb
119
+ - spec/point_spec.rb
120
+ - spec/size_spec.rb
121
+ - spec/spec_helper.rb
122
+ homepage: ''
123
+ licenses:
124
+ - MIT
125
+ metadata: {}
126
+ post_install_message:
127
+ rdoc_options: []
128
+ require_paths:
129
+ - lib
130
+ required_ruby_version: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
135
+ required_rubygems_version: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ requirements: []
141
+ rubyforge_project:
142
+ rubygems_version: 2.2.2
143
+ signing_key:
144
+ specification_version: 4
145
+ summary: Enhanced versions of some Gosu classes.
146
+ test_files:
147
+ - spec/point_spec.rb
148
+ - spec/size_spec.rb
149
+ - spec/spec_helper.rb