Class: Pdfrb::Model::Type::Appearance

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

Overview

Appearance stream dictionary (s12.5.5). The /AP dict on an annotation holds three sub-dicts: /N (normal), /R (rollover), /D (down).

Instance Attribute Summary

Attributes inherited from Object

#document, #gen, #oid, #value

Instance Method Summary collapse

Methods inherited from Cos::Dictionary

#[], #[]=, arlington_available?, arlington_default, arlington_key_to_symbol, arlington_loaded_for?, arlington_mark_loaded, arlington_object, arlington_one_type_to_ruby, arlington_required?, 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 inherited from Object

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

Constructor Details

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

Instance Method Details

#downObject



13
# File 'lib/pdfrb/model/type/appearance.rb', line 13

def down; self[:D]; end

#has_down?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/pdfrb/model/type/appearance.rb', line 25

def has_down?
  !value[:D].nil?
end

#has_normal?Boolean

Presence checks use the raw value (not the Arlington default) because /D defaults to /N's value per the spec.

Returns:

  • (Boolean)


17
18
19
# File 'lib/pdfrb/model/type/appearance.rb', line 17

def has_normal?
  !value[:N].nil?
end

#has_rollover?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/pdfrb/model/type/appearance.rb', line 21

def has_rollover?
  !value[:R].nil?
end

#normalObject



11
# File 'lib/pdfrb/model/type/appearance.rb', line 11

def normal; self[:N]; end

#normal_for_state(state_name) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/pdfrb/model/type/appearance.rb', line 29

def normal_for_state(state_name)
  return nil unless normal

  n = if normal.is_a?(Pdfrb::Model::Reference) && document
        document.object(normal)
      else
        normal
      end
  return nil unless n.is_a?(Hash)

  n[state_name]
end

#rolloverObject



12
# File 'lib/pdfrb/model/type/appearance.rb', line 12

def rollover; self[:R]; end