Class | Origami::XRef |
In: |
sources/parser/xreftable.rb
|
Parent: | Object |
Class representing a Cross-reference information.
FREE | = | "f" |
USED | = | "n" |
LASTFREE | = | 65535 |
generation | [RW] | |
offset | [RW] | |
state | [RW] |
offset: | The file offset of the referenced Object. |
generation: | The generation number of the referenced Object. |
state: | The state of the referenced Object (FREE or USED). |
# File sources/parser/xreftable.rb, line 78 78: def initialize(offset, generation, state) 79: 80: @offset, @generation, @state = offset, generation, state 81: 82: end
# File sources/parser/xreftable.rb, line 107 107: def to_xrefstm_data(type_w, field1_w, field2_w) 108: 109: type_w <<= 3 110: field1_w <<= 3 111: field2_w <<= 3 112: 113: type = ((@state == FREE) ? "\000" : "\001").unpack("B#{type_w}")[0] 114: 115: offset = @offset.to_s(2) 116: offset = '0' * (field1_w - offset.size) + offset 117: generation = @generation.to_s(2) 118: generation = '0' * (field2_w - generation.size) + generation 119: 120: [ type , offset, generation ].pack("B#{type_w}B#{field1_w}B#{field2_w}") 121: end