class ChunkyPNG::Dimension

Class that represents the dimension of something, e.g. a {ChunkyPNG::Canvas}.

This class contains some methods to simplify performing dimension related checks.

Constants

DIMENSION_REGEXP

@return [Regexp] The regexp to parse dimensions from a string. @private

Attributes

height[RW]

@return [Integer] The height-component of this dimension.

width[RW]

@return [Integer] The width-component of this dimension.

Public Class Methods

new(width, height) click to toggle source

Initializes a new dimension instance. @param [Integer] width The width-component of the new dimension. @param [Integer] height The height-component of the new dimension.

   # File lib/chunky_png/dimension.rb
81 def initialize(width, height)
82   @width, @height = width.to_i, height.to_i
83 end

Public Instance Methods

<=>(other) click to toggle source

Compares the size of 2 dimensions. @param [ChunkyPNG::Dimension] The dimension to compare with. @return [-1, 0, 1] -1 if the other dimension has a larger area, 1 of this

dimension is larger, 0 if both are identical in size.
    # File lib/chunky_png/dimension.rb
114 def <=>(other)
115   other.area <=> area
116 end
==(other)
Alias for: eql?
area() click to toggle source

Returns the area of this dimension. @return [Integer] The area in number of pixels.

   # File lib/chunky_png/dimension.rb
87 def area
88   width * height
89 end
eql?(other) click to toggle source

Checks whether 2 dimensions are identical. @param [ChunkyPNG::Dimension] The dimension to compare with. @return [true, false] true iff width and height match.

    # File lib/chunky_png/dimension.rb
103 def eql?(other)
104   return false unless other.respond_to?(:width) && other.respond_to?(:height)
105   other.width == width && other.height == height
106 end
Also aliased as: ==
include?(*point_like) click to toggle source

Checks whether a point is within bounds of this dimension. @param [ChunkyPNG::Point, …] A point-like to bounds-check. @return [true, false] True iff the x and y coordinate fall in this dimension. @see ChunkyPNG.Point

   # File lib/chunky_png/dimension.rb
95 def include?(*point_like)
96   point = ChunkyPNG::Point(*point_like)
97   point.x >= 0 && point.x < width && point.y >= 0 && point.y < height
98 end
to_a() click to toggle source

Casts this dimension into an array. @return [Array<Integer>] [width, height] for this dimension.

    # File lib/chunky_png/dimension.rb
120 def to_a
121   [width, height]
122 end
Also aliased as: to_ary
to_ary()
Alias for: to_a