glimmer-cp-stickfigure 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
+ SHA256:
3
+ metadata.gz: a5d3bff7a74f9d0b2ea69c6855f83b510d1d15d1b88b2de4446a4d4541d8db5e
4
+ data.tar.gz: e0d35495f592812487d11caeae8a8dbf1ff717b9a88f16b8dfb8ec58d9317e20
5
+ SHA512:
6
+ metadata.gz: c2bd04abec6bf1648214160b2d7015acf93a140d9d5e9c098dcf9b95a4a6c862cc6641e645daa53984d8280fc7b66c5d4e0b35bc1ee9bef60144a2c950483144
7
+ data.tar.gz: 88208e24e898e8e6532b5b884f2d6137b1213b8bfb0aceeb528aef1dbd3c5a434b0abb78aaebf12000c14530b76a1c10c5d1a6f47684878818ceddd587c9daf4
data/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2021 Andy Maleh
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,172 @@
1
+ # Stick Figure 0.1.0
2
+ ## [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=40 /> Glimmer Custom Shape](https://github.com/AndyObtiva/glimmer-dsl-swt/docs/reference/GLIMMER_COMMAND.md#custom-shape-gem)
3
+ [![Gem Version](https://badge.fury.io/rb/glimmer-cp-stickfigure.svg)](http://badge.fury.io/rb/glimmer-cp-stickfigure)
4
+
5
+ [Glimmer DSL for SWT](https://github.com/AndyObtiva/glimmer-dsl-swt) Stick Figure Custom Shape.
6
+
7
+ `stick_figure` is the [Glimmer GUI DSL](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/docs/reference/GLIMMER_GUI_DSL_SYNTAX.md#glimmer-gui-dsl-syntax) keyword provided by this [gem](https://rubygems.org/gems/glimmer-cp-stickfigure).
8
+
9
+ ### Screenshot
10
+
11
+ ![stickfigure screenshot](/images/glimmer-cp-stickfigure-hello-stick-figure.png)
12
+
13
+ ### Actual Use
14
+
15
+ It is used in [DCR](https://github.com/AndyObtiva/dcr) (Draw Color Repeat).
16
+
17
+ ![DCR](https://raw.githubusercontent.com/AndyObtiva/dcr/master/images/dcr-screenshot.png)
18
+
19
+ ## Setup
20
+
21
+ ### Bundler
22
+
23
+ Add the follwing to `Gemfile`:
24
+ ```ruby
25
+ gem 'glimmer-cp-stickfigure', '~> 0.1.0'
26
+ ```
27
+
28
+ Run `bundle install` or `bundle`:
29
+ ```
30
+ bundle
31
+ ```
32
+
33
+ ### Direct
34
+
35
+ Run:
36
+ ```
37
+ gem install glimmer-cp-stickfigure
38
+ ```
39
+
40
+ ## API
41
+
42
+ First, add this to your [Ruby](https://www.ruby-lang.org/en/) file:
43
+ ```ruby
44
+ require 'glimmer-cp-stickfigure'
45
+ ```
46
+
47
+ Then, use this keyword:
48
+ ```ruby
49
+ stick_figure(options) { properties }
50
+ ```
51
+
52
+ Options (keyword args) are:
53
+ - `:location_x` (default: 0) (optional): starting location x coordinate within parent
54
+ - `:location_y` (default: 0) (optional): starting location y coordinate within parent
55
+ - `:size` (required unless width/height are specified): size in pixels for width and height (resulting in bevel squares having that size)
56
+ - `:size_width` (required unless size is specified): size in pixels for width and height (resulting in bevel squares having that size)
57
+ - `:size_height` (required unless size is specified): size in pixels for width and height (resulting in bevel squares having that size)
58
+
59
+ Properties:
60
+ - `foreground` (default: `:black`): specifies stick figure color.
61
+
62
+ ## Sample
63
+
64
+ The [glimmer-cp-stickfigure Ruby gem](https://rubygems.org/gems/glimmer-cp-stickfigure) adds to glimmer samples, showing up when you run:
65
+ ```
66
+ glimmer samples
67
+ ```
68
+
69
+ ### Hello, Stick Figure!
70
+
71
+ [Glimmer GUI DSL](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/docs/reference/GLIMMER_GUI_DSL_SYNTAX.md#glimmer-gui-dsl-syntax) code (from [samples/stick_figure/hello_stick_figure.rb](/samples/stick_figure/hello_stick_figure.rb)):
72
+
73
+ ```ruby
74
+ require_relative '../../lib/glimmer-cp-stickfigure'
75
+
76
+ class HelloStickFigure
77
+ include Glimmer::UI::CustomShell
78
+
79
+ WIDTH = 220
80
+ HEIGHT = 235
81
+
82
+ body {
83
+ shell {
84
+ text 'Hello, Stick Figure!'
85
+ minimum_size WIDTH, HEIGHT
86
+
87
+ @canvas = canvas {
88
+ background :white
89
+
90
+ 15.times { |n|
91
+ x_location = (rand*WIDTH/2).to_i%WIDTH + (rand*15).to_i
92
+ y_location = (rand*HEIGHT/2).to_i%HEIGHT + (rand*15).to_i
93
+ foreground_color = rgb(rand*255, rand*255, rand*255)
94
+
95
+ stick_figure(location_x: x_location, location_y: y_location, size: 35+n*2) {
96
+ foreground foreground_color
97
+ }
98
+ }
99
+
100
+ on_mouse_down { |mouse_event|
101
+ @drag_detected = false
102
+ @canvas.cursor = :hand
103
+ # select shape at location
104
+ @selected_shape = @canvas.shape_at_location(mouse_event.x, mouse_event.y)
105
+ # select shape parent if it is a nested shape like an arm or leg
106
+ @selected_shape = @selected_shape.parent_shapes.last if @selected_shape.parent_shapes.any?
107
+ }
108
+
109
+ on_drag_detected { |drag_detect_event|
110
+ @drag_detected = true
111
+ @drag_current_x = drag_detect_event.x
112
+ @drag_current_y = drag_detect_event.y
113
+ }
114
+
115
+ on_mouse_move { |mouse_event|
116
+ if @drag_detected
117
+ @selected_shape&.move_by(mouse_event.x - @drag_current_x, mouse_event.y - @drag_current_y)
118
+ @drag_current_x = mouse_event.x
119
+ @drag_current_y = mouse_event.y
120
+ end
121
+ }
122
+
123
+ on_mouse_up { |mouse_event|
124
+ @canvas.cursor = :arrow
125
+ @drag_detected = false
126
+ @selected_shape = nil
127
+ }
128
+ }
129
+ }
130
+ }
131
+ end
132
+
133
+ HelloStickFigure.launch
134
+ ```
135
+
136
+ Hello, Stick Figure!
137
+
138
+ ![Hello Stick Figure](/images/glimmer-cp-stickfigure-hello-stick-figure.png)
139
+
140
+ ## Contributing to glimmer-cp-bevel
141
+
142
+ - Check out the latest master to make sure the feature hasn't been
143
+ implemented or the bug hasn't been fixed yet.
144
+ - Check out the issue tracker to make sure someone already hasn't
145
+ requested it and/or contributed it.
146
+ - Fork the project.
147
+ - Start a feature/bugfix branch.
148
+ - Commit and push until you are happy with your contribution.
149
+ - Make sure to add tests for it. This is important so I don't break it
150
+ in a future version unintentionally.
151
+ - Please try not to mess with the Rakefile, version, or history. If
152
+ you want to have your own version, or is otherwise necessary, that
153
+ is fine, but please isolate to its own commit so I can cherry-pick
154
+ around it.
155
+
156
+ ## TODO
157
+
158
+ [TODO.md](/TODO.md)
159
+
160
+ ## Change Log
161
+
162
+ [CHANGELOG.md](/CHANGELOG.md)
163
+
164
+ ## License
165
+
166
+ [MIT](LICENSE.txt)
167
+
168
+ Copyright (c) 2021 - Andy Maleh.
169
+
170
+ --
171
+
172
+ [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=40 />](https://github.com/AndyObtiva/glimmer) Built for [Glimmer DSL for SWT](https://github.com/AndyObtiva/glimmer-dsl-swt) (JRuby Desktop Development GUI Framework).
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.0
@@ -0,0 +1,59 @@
1
+ # Generated by juwelier
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+ # stub: glimmer-cp-stickfigure 0.1.0 ruby lib
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = "glimmer-cp-stickfigure".freeze
9
+ s.version = "0.1.0"
10
+
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib".freeze]
13
+ s.authors = ["Andy Maleh".freeze]
14
+ s.date = "2021-03-13"
15
+ s.description = "Stick Figure - Glimmer Custom Shape".freeze
16
+ s.email = "andy.am@gmail.com".freeze
17
+ s.extra_rdoc_files = [
18
+ "LICENSE.txt",
19
+ "README.md"
20
+ ]
21
+ s.files = [
22
+ "LICENSE.txt",
23
+ "README.md",
24
+ "VERSION",
25
+ "glimmer-cp-stickfigure.gemspec",
26
+ "lib/glimmer-cp-stickfigure.rb",
27
+ "lib/views/glimmer/stick_figure.rb",
28
+ "samples/stick_figure/hello_stick_figure.rb"
29
+ ]
30
+ s.homepage = "http://github.com/AndyObtiva/glimmer-cp-stickfigure".freeze
31
+ s.licenses = ["MIT".freeze]
32
+ s.rubygems_version = "3.0.6".freeze
33
+ s.summary = "Stick Figure - Glimmer Custom Shape".freeze
34
+
35
+ if s.respond_to? :specification_version then
36
+ s.specification_version = 4
37
+
38
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
39
+ s.add_runtime_dependency(%q<glimmer-dsl-swt>.freeze, ["~> 4.18.7.5"])
40
+ s.add_development_dependency(%q<rspec>.freeze, ["~> 3.5.0"])
41
+ s.add_development_dependency(%q<juwelier>.freeze, ["= 2.4.9"])
42
+ s.add_development_dependency(%q<warbler>.freeze, ["= 2.0.5"])
43
+ s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
44
+ else
45
+ s.add_dependency(%q<glimmer-dsl-swt>.freeze, ["~> 4.18.7.5"])
46
+ s.add_dependency(%q<rspec>.freeze, ["~> 3.5.0"])
47
+ s.add_dependency(%q<juwelier>.freeze, ["= 2.4.9"])
48
+ s.add_dependency(%q<warbler>.freeze, ["= 2.0.5"])
49
+ s.add_dependency(%q<simplecov>.freeze, [">= 0"])
50
+ end
51
+ else
52
+ s.add_dependency(%q<glimmer-dsl-swt>.freeze, ["~> 4.18.7.5"])
53
+ s.add_dependency(%q<rspec>.freeze, ["~> 3.5.0"])
54
+ s.add_dependency(%q<juwelier>.freeze, ["= 2.4.9"])
55
+ s.add_dependency(%q<warbler>.freeze, ["= 2.0.5"])
56
+ s.add_dependency(%q<simplecov>.freeze, [">= 0"])
57
+ end
58
+ end
59
+
@@ -0,0 +1,4 @@
1
+ $LOAD_PATH.unshift(File.expand_path('..', __FILE__))
2
+
3
+ require 'glimmer-dsl-swt'
4
+ require 'views/glimmer/stick_figure'
@@ -0,0 +1,57 @@
1
+ # Copyright (c) 2021 Andy Maleh
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining
4
+ # a copy of this software and associated documentation files (the
5
+ # "Software"), to deal in the Software without restriction, including
6
+ # without limitation the rights to use, copy, modify, merge, publish,
7
+ # distribute, sublicense, and/or sell copies of the Software, and to
8
+ # permit persons to whom the Software is furnished to do so, subject to
9
+ # the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be
12
+ # included in all copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
22
+ module Glimmer
23
+ # Creates a class-based custom shape representing the `stick_figure` keyword by convention
24
+ # When width=height, you get the standard aspect ratio
25
+ # You can pass size instead of width and height to work only with the standard aspect ratio.
26
+ class StickFigure
27
+ include Glimmer::UI::CustomShape
28
+
29
+ options :location_x, :location_y, :size_width, :size_height, :size
30
+
31
+ before_body {
32
+ self.location_x ||= 0
33
+ self.location_y ||= 0
34
+ self.size_width ||= size
35
+ self.size_height ||= size
36
+ @head_width = size_width*0.2
37
+ @head_height = size_height*0.2
38
+ @trunk_height = size_height*0.4
39
+ @extremity_length = size_height*0.4
40
+ }
41
+
42
+ body {
43
+ shape {
44
+ x bind(self, :location_x) { |x_value| x_value.is_a?(Numeric) ? x_value + @head_width/2.0 + @extremity_length : x_value }
45
+ y bind(self, :location_y)
46
+ # width/height are `:default`, thus autocalculated from content.
47
+
48
+ oval(0, 0, @head_width, @head_height)
49
+ line(@head_width/2.0, @head_height, @head_width/2.0, @head_height + @trunk_height)
50
+ line(@head_width/2.0, @head_height + @trunk_height, @head_width/2.0 + @extremity_length, @head_height + @trunk_height + @extremity_length)
51
+ line(@head_width/2.0, @head_height + @trunk_height, @head_width/2.0 - @extremity_length, @head_height + @trunk_height + @extremity_length)
52
+ line(@head_width/2.0, @head_height*2, @head_width/2.0 + @extremity_length, @head_height + @trunk_height - @extremity_length)
53
+ line(@head_width/2.0, @head_height*2, @head_width/2.0 - @extremity_length, @head_height + @trunk_height - @extremity_length)
54
+ }
55
+ }
56
+ end
57
+ end
@@ -0,0 +1,82 @@
1
+ # Copyright (c) 2021 Andy Maleh
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining
4
+ # a copy of this software and associated documentation files (the
5
+ # "Software"), to deal in the Software without restriction, including
6
+ # without limitation the rights to use, copy, modify, merge, publish,
7
+ # distribute, sublicense, and/or sell copies of the Software, and to
8
+ # permit persons to whom the Software is furnished to do so, subject to
9
+ # the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be
12
+ # included in all copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
22
+ require_relative '../../lib/glimmer-cp-stickfigure'
23
+
24
+ class HelloStickFigure
25
+ include Glimmer::UI::CustomShell
26
+
27
+ WIDTH = 220
28
+ HEIGHT = 235
29
+
30
+ body {
31
+ shell {
32
+ text 'Hello, Stick Figure!'
33
+ minimum_size WIDTH, HEIGHT
34
+
35
+ @canvas = canvas {
36
+ background :white
37
+
38
+ 15.times { |n|
39
+ x_location = (rand*WIDTH/2).to_i%WIDTH + (rand*15).to_i
40
+ y_location = (rand*HEIGHT/2).to_i%HEIGHT + (rand*15).to_i
41
+ foreground_color = rgb(rand*255, rand*255, rand*255)
42
+
43
+ stick_figure(location_x: x_location, location_y: y_location, size: 35+n*2) {
44
+ foreground foreground_color
45
+ }
46
+ }
47
+
48
+ on_mouse_down { |mouse_event|
49
+ @drag_detected = false
50
+ @canvas.cursor = :hand
51
+ # select shape at location
52
+ @selected_shape = @canvas.shape_at_location(mouse_event.x, mouse_event.y)
53
+ # select shape parent if it is a nested shape like an arm or leg
54
+ @selected_shape = @selected_shape.parent_shapes.last if @selected_shape.parent_shapes.any?
55
+ }
56
+
57
+ on_drag_detected { |drag_detect_event|
58
+ @drag_detected = true
59
+ @drag_current_x = drag_detect_event.x
60
+ @drag_current_y = drag_detect_event.y
61
+ }
62
+
63
+ on_mouse_move { |mouse_event|
64
+ if @drag_detected
65
+ @selected_shape&.move_by(mouse_event.x - @drag_current_x, mouse_event.y - @drag_current_y)
66
+ @drag_current_x = mouse_event.x
67
+ @drag_current_y = mouse_event.y
68
+ end
69
+ }
70
+
71
+ on_mouse_up { |mouse_event|
72
+ @canvas.cursor = :arrow
73
+ @drag_detected = false
74
+ @selected_shape = nil
75
+ }
76
+ }
77
+ }
78
+ }
79
+ end
80
+
81
+ HelloStickFigure.launch
82
+
metadata ADDED
@@ -0,0 +1,121 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: glimmer-cp-stickfigure
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Andy Maleh
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-03-13 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: 4.18.7.5
19
+ name: glimmer-dsl-swt
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 4.18.7.5
27
+ - !ruby/object:Gem::Dependency
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: 3.5.0
33
+ name: rspec
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 3.5.0
41
+ - !ruby/object:Gem::Dependency
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - '='
45
+ - !ruby/object:Gem::Version
46
+ version: 2.4.9
47
+ name: juwelier
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 2.4.9
55
+ - !ruby/object:Gem::Dependency
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - '='
59
+ - !ruby/object:Gem::Version
60
+ version: 2.0.5
61
+ name: warbler
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.5
69
+ - !ruby/object:Gem::Dependency
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ name: simplecov
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description: Stick Figure - Glimmer Custom Shape
84
+ email: andy.am@gmail.com
85
+ executables: []
86
+ extensions: []
87
+ extra_rdoc_files:
88
+ - LICENSE.txt
89
+ - README.md
90
+ files:
91
+ - LICENSE.txt
92
+ - README.md
93
+ - VERSION
94
+ - glimmer-cp-stickfigure.gemspec
95
+ - lib/glimmer-cp-stickfigure.rb
96
+ - lib/views/glimmer/stick_figure.rb
97
+ - samples/stick_figure/hello_stick_figure.rb
98
+ homepage: http://github.com/AndyObtiva/glimmer-cp-stickfigure
99
+ licenses:
100
+ - MIT
101
+ metadata: {}
102
+ post_install_message:
103
+ rdoc_options: []
104
+ require_paths:
105
+ - lib
106
+ required_ruby_version: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ required_rubygems_version: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: '0'
116
+ requirements: []
117
+ rubygems_version: 3.0.6
118
+ signing_key:
119
+ specification_version: 4
120
+ summary: Stick Figure - Glimmer Custom Shape
121
+ test_files: []