| Class | Origami::XRefStream |
| In: |
sources/parser/xreftable.rb
|
| Parent: | Stream |
| XREF_FREE | = | 0 |
| XREF_USED | = | 1 |
| XREF_COMPRESSED | = | 2 |
| W | = | [ 1, 2, 2 ] |
| Size | = | @xrefs.length + 1 |
| xrefs | [R] |
# File sources/parser/xreftable.rb, line 284
284: def initialize(data = "", dictionary = {})
285: super(data, dictionary)
286:
287: @xrefs = nil
288: end
Returns an XRef matching this object number.
# File sources/parser/xreftable.rb, line 320
320: def find(no)
321: load! if @xrefs.nil?
322:
323: ranges = self.Index || [ 0, @xrefs.length ]
324:
325: index = 0
326: (ranges.size / 2).times do |i|
327: brange = ranges[i*2].to_i
328: size = ranges[i*2+1].to_i
329: return @xrefs[index + no - brange] if Range.new(brange, brange + size) === no
330:
331: index += size
332: end
333:
334: nil
335: end