Class: Origami::XRefToCompressedObject

Inherits:
Object
  • Object
show all
Defined in:
lib/origami/xreftable.rb

Overview

An xref poiting to an Object embedded in an ObjectStream.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(objstmno, index) ⇒ XRefToCompressedObject

Returns a new instance of XRefToCompressedObject.


336
337
338
339
# File 'lib/origami/xreftable.rb', line 336

def initialize(objstmno, index)
    @objstmno = objstmno
    @index = index
end

Instance Attribute Details

#indexObject

Returns the value of attribute index


334
335
336
# File 'lib/origami/xreftable.rb', line 334

def index
  @index
end

#objstmnoObject

Returns the value of attribute objstmno


334
335
336
# File 'lib/origami/xreftable.rb', line 334

def objstmno
  @objstmno
end

Instance Method Details

#free?Boolean

Returns:


354
# File 'lib/origami/xreftable.rb', line 354

def free?; false end

#to_xrefstm_data(type_w, field1_w, field2_w) ⇒ Object


341
342
343
344
345
346
347
348
349
350
351
# File 'lib/origami/xreftable.rb', line 341

def to_xrefstm_data(type_w, field1_w, field2_w)
    type_w <<= 3
    field1_w <<= 3
    field2_w <<= 3

    type = "\002".unpack("B#{type_w}")[0]
    objstmno = @objstmno.to_s(2).rjust(field1_w, '0')
    index = @index.to_s(2).rjust(field2_w, '0')

    [ type , objstmno, index ].pack("B#{type_w}B#{field1_w}B#{field2_w}")
end

#used?Boolean

Returns:


353
# File 'lib/origami/xreftable.rb', line 353

def used?; true end