Class: Compass::Magick::Types::Solid

Inherits:
Compass::Magick::Type show all
Includes:
Utils
Defined in:
lib/magick/types/solid.rb

Overview

A type that generates a Canvas from a region filled with a solid color.

Examples:


Solid.new(Sass::Script::Color.new([255, 255, 255])).to_canvas(
  Sass::Script::Number(320),
  Sass::Script::Number(200)
)

Instance Attribute Summary collapse

Attributes included from Scriptable

#context, #options

Instance Method Summary collapse

Methods included from Utils

#assert_one_of, #assert_type, #to_chunky_color, #value_of

Constructor Details

#initialize(color) ⇒ Solid

Initializes a new Solid instance.

Parameters:

  • color (Sass::Script::Color)

    The solid background color.



18
19
20
21
# File 'lib/magick/types/solid.rb', line 18

def initialize(color)
  assert_type 'color', color, Sass::Script::Color
  @color = color
end

Instance Attribute Details

#colorSass::Script::Color (readonly)

Returns The solid background color.

Returns:

  • (Sass::Script::Color)

    The solid background color.



24
25
26
# File 'lib/magick/types/solid.rb', line 24

def color
  @color
end

Instance Method Details

#to_canvas(width, height) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/magick/types/solid.rb', line 26

def to_canvas(width, height)
  assert_type 'width',  width,  Sass::Script::Number
  assert_type 'height', height, Sass::Script::Number
  color  = to_chunky_color(@color)
  canvas = Canvas.new(width, height)
  (0...canvas.height).each do |y|
    (0...canvas.width).each do |x|
      canvas.set_pixel(x, y, color)
    end
  end
  canvas
end