class GifInfo::DynamicBlock

Abstract block which contains both header and data with dynamic (non-fixed) length.

@abstract

Public Instance Methods

body(skip = nil) click to toggle source

Returns data body.

@param [Integer] skip number of bytes to skip before data @return [Body] data body

# File lib/gif-info/dynamic-block.rb, line 34
def body(skip = nil)
    if @body.nil?
        if not skip.nil?
            @io.seek(skip, IO::SEEK_CUR)    # skips dummy leader
        end
        @body = Body::new(@io)
    end
    
    @body
end
bytesize() click to toggle source

Returns block size. @return [Integer] block size in bytes

# File lib/gif-info/dynamic-block.rb, line 62
def bytesize
    self.header.bytesize + self.body.bytesize
end
skip!(additional = nil) click to toggle source

Skips block in stream.

Calls superclass method
# File lib/gif-info/dynamic-block.rb, line 49
def skip!(additional = nil)
    super()
    if not additional.nil?
        @io.seek(additional, IO::SEEK_CUR) 
    end
    self.body.skip!
end