Class: Origami::XRefToCompressedObj

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) ⇒ XRefToCompressedObj

Returns a new instance of XRefToCompressedObj.



343
344
345
346
# File 'lib/origami/xreftable.rb', line 343

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

Instance Attribute Details

#indexObject

Returns the value of attribute index.



341
342
343
# File 'lib/origami/xreftable.rb', line 341

def index
  @index
end

#objstmnoObject

Returns the value of attribute objstmno.



341
342
343
# File 'lib/origami/xreftable.rb', line 341

def objstmno
  @objstmno
end

Instance Method Details

#to_xrefstm_data(type_w, field1_w, field2_w) ⇒ Object



348
349
350
351
352
353
354
355
356
357
358
# File 'lib/origami/xreftable.rb', line 348

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