Class: Pixelart::Background::Image
- Defined in:
- lib/backgrounds/image.rb
Class Method Summary collapse
- .do_generate(img, value, sheet:) ⇒ Object
-
.do_parse(img, *values, sheet:) ⇒ Object
todo - what syntax to use for stripe/stripes ?? or for gradient/gradients ?? stripe( color1 color2 ) ?? gradient( color1 color2 ).
- .generate(*values, width:, height:) ⇒ Object
Methods inherited from Image
Class Method Details
.do_generate(img, value, sheet:) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/backgrounds/image.rb', line 47 def self.do_generate( img, value, sheet: ) if value.is_a?( String ) key = Pixelart::Spritesheet.normalize_key( value ) if ['ua','ukraine', 'saveukraine', 'standwithukraine', 'glorytoukraine'].include?( key ) img.ukraine elsif ['pride','rainbow'].include?( key ) img.pride elsif sheet && pattern=sheet.find_by( name: value, warn: false ) ## try some built-in background patterns img.compose!( pattern ) img else ### assume (try) color img.compose!( Image.new( img.width, img.height, value ) ) img end elsif value.is_a?( Pixelart::Image ) img.compose!( value ) img else ### assume integer (assert) - why? why not img.compose!( Image.new( img.width, img.height, value ) ) img end end |
.do_parse(img, *values, sheet:) ⇒ Object
todo - what syntax to use for stripe/stripes ??
or for gradient/gradients ??
stripe( color1 color2 ) ??
gradient( color1 color2 )
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/backgrounds/image.rb', line 33 def self.do_parse( img, *values, sheet: ) head = values[0] more = values[1..-1] while head do img = do_generate( img, head, sheet: sheet ) head = more[0] more = more[1..-1] end img end |
.generate(*values, width:, height:) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/backgrounds/image.rb', line 16 def self.generate( *values, width:, height: ) ## check if spritesheet w/ patterns is available for width x height (eg.24x24, 32x32, etc.) sheet = SPRITESHEETS[ "#{width}x#{height}" ] img = new( width, height ) img = do_parse( img, *values, sheet: sheet ) img end |