gosu_enhanced 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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