Class: Pdfrb::Model::Type::OutlineItem

Inherits:
Cos::Dictionary show all
Defined in:
lib/pdfrb/model/type/outline_item.rb

Overview

Single bookmark entry. Lives in its own file so the autoload path matches the TSV-derived class name.

Instance Attribute Summary

Attributes inherited from Object

#document, #gen, #oid, #value

Instance Method Summary collapse

Methods inherited from Cos::Dictionary

#[], #[]=, apply_arlington_definition, arlington_default, arlington_key_to_symbol, arlington_one_type_to_ruby, arlington_required?, arlington_scalar, arlington_types_to_ruby, arlington_version, define_field, define_field_from_arlington, #delete, #each, each_field, #each_raw, #empty?, field, #initialize, #key?, #keys, lookup_type, merged_field, own_fields, #pdf_type, register_type, type_map, #validate

Methods included from Cos::ArlingtonBacked

#arlington_object

Methods inherited from Object

#==, define_type, #deref, #indirect?, #initialize, #must_be_indirect?, pdf_type, #pdf_type, #ref

Constructor Details

This class inherits a constructor from Pdfrb::Model::Cos::Dictionary

Instance Method Details

#actionObject



22
# File 'lib/pdfrb/model/type/outline_item.rb', line 22

def action; self[:A]; end

#bold?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/pdfrb/model/type/outline_item.rb', line 31

def bold?
  f&.anybits?(1)
end

#cObject



24
# File 'lib/pdfrb/model/type/outline_item.rb', line 24

def c; self[:C]; end

#child_countObject



49
50
51
52
53
# File 'lib/pdfrb/model/type/outline_item.rb', line 49

def child_count
  return 0 unless count

  count.abs
end

#colorObject



27
28
29
# File 'lib/pdfrb/model/type/outline_item.rb', line 27

def color
  c if c && (!c.is_a?(Array) || !c.empty?)
end

#countObject



20
# File 'lib/pdfrb/model/type/outline_item.rb', line 20

def count; self[:Count]; end

#destObject



21
# File 'lib/pdfrb/model/type/outline_item.rb', line 21

def dest; self[:Dest]; end

#destinationObject



55
56
57
# File 'lib/pdfrb/model/type/outline_item.rb', line 55

def destination
  dest || (action && action[:D])
end

#fObject



25
# File 'lib/pdfrb/model/type/outline_item.rb', line 25

def f; self[:F]; end

#firstObject



18
# File 'lib/pdfrb/model/type/outline_item.rb', line 18

def first; self[:First]; end

#has_children?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/pdfrb/model/type/outline_item.rb', line 39

def has_children?
  !!(count && count.nonzero?)
end

#italic?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/pdfrb/model/type/outline_item.rb', line 35

def italic?
  f&.anybits?(2)
end

#lastObject



19
# File 'lib/pdfrb/model/type/outline_item.rb', line 19

def last; self[:Last]; end

#nextObject



17
# File 'lib/pdfrb/model/type/outline_item.rb', line 17

def next; self[:Next]; end

#open?Boolean

Returns:

  • (Boolean)


43
44
45
46
47
# File 'lib/pdfrb/model/type/outline_item.rb', line 43

def open?
  return true unless count

  count.positive?
end

#parentObject



15
# File 'lib/pdfrb/model/type/outline_item.rb', line 15

def parent; self[:Parent]; end

#prevObject



16
# File 'lib/pdfrb/model/type/outline_item.rb', line 16

def prev; self[:Prev]; end

#seObject



23
# File 'lib/pdfrb/model/type/outline_item.rb', line 23

def se; self[:SE]; end

#titleObject



11
12
13
# File 'lib/pdfrb/model/type/outline_item.rb', line 11

def title
  Pdfrb::Model::Cos::TextString.decode(self[:Title])
end