Class: Magick::Image::View
- Inherits:
-
Object
- Object
- Magick::Image::View
- Defined in:
- lib/rmagick_internal.rb
Overview
Magick::Image::View class
Defined Under Namespace
Instance Attribute Summary collapse
-
#dirty ⇒ Object
Returns the value of attribute dirty.
-
#height ⇒ Object
readonly
Returns the value of attribute height.
-
#width ⇒ Object
readonly
Returns the value of attribute width.
-
#x ⇒ Object
readonly
Returns the value of attribute x.
-
#y ⇒ Object
readonly
Returns the value of attribute y.
Instance Method Summary collapse
- #[](*args) ⇒ Object
-
#initialize(img, x, y, width, height) ⇒ View
constructor
A new instance of View.
-
#sync(force = false) ⇒ Object
Store changed pixels back to image.
-
#update(rows) ⇒ Object
Get update from Rows - if @dirty ever becomes true, don’t change it back to false!.
Constructor Details
#initialize(img, x, y, width, height) ⇒ View
Returns a new instance of View.
1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 |
# File 'lib/rmagick_internal.rb', line 1045 def initialize(img, x, y, width, height) img.check_destroyed if width <= 0 || height <= 0 Kernel.raise ArgumentError, "invalid geometry (#{width}x#{height}+#{x}+#{y})" end if x < 0 || y < 0 || (x+width) > img.columns || (y+height) > img.rows Kernel.raise RangeError, "geometry (#{width}x#{height}+#{x}+#{y}) exceeds image boundary" end @view = img.get_pixels(x, y, width, height) @img = img @x = x @y = y @width = width @height = height @dirty = false end |
Instance Attribute Details
#dirty ⇒ Object
Returns the value of attribute dirty.
1043 1044 1045 |
# File 'lib/rmagick_internal.rb', line 1043 def dirty @dirty end |
#height ⇒ Object (readonly)
Returns the value of attribute height.
1042 1043 1044 |
# File 'lib/rmagick_internal.rb', line 1042 def height @height end |
#width ⇒ Object (readonly)
Returns the value of attribute width.
1042 1043 1044 |
# File 'lib/rmagick_internal.rb', line 1042 def width @width end |
#x ⇒ Object (readonly)
Returns the value of attribute x.
1042 1043 1044 |
# File 'lib/rmagick_internal.rb', line 1042 def x @x end |
#y ⇒ Object (readonly)
Returns the value of attribute y.
1042 1043 1044 |
# File 'lib/rmagick_internal.rb', line 1042 def y @y end |
Instance Method Details
#[](*args) ⇒ Object
1062 1063 1064 1065 1066 |
# File 'lib/rmagick_internal.rb', line 1062 def [](*args) rows = Rows.new(@view, @width, @height, args) rows.add_observer(self) rows end |
#sync(force = false) ⇒ Object
Store changed pixels back to image
1069 1070 1071 1072 |
# File 'lib/rmagick_internal.rb', line 1069 def sync(force=false) @img.store_pixels(x, y, width, height, @view) if @dirty || force @dirty || force end |
#update(rows) ⇒ Object
Get update from Rows - if @dirty ever becomes true, don’t change it back to false!
1076 1077 1078 1079 1080 |
# File 'lib/rmagick_internal.rb', line 1076 def update(rows) @dirty = true rows.delete_observer(self) # No need to tell us again. nil end |