Module: XmpToolkitRuby::XmpCharForm
- Defined in:
- lib/xmp_toolkit_ruby/xmp_char_form.rb
Constant Summary collapse
- CHAR_FORM =
Mapping of character format and byte-order masks (charForm enum)
{ # Byte-order masks (do not use directly) little_endian_mask: 0x0000_0001, # kXMP_CharLittleEndianMask char_16bit_mask: 0x0000_0002, # kXMP_Char16BitMask char_32bit_mask: 0x0000_0004, # kXMP_Char32BitMask # Character format constants char_8bit: 0x0000_0000, # kXMP_Char8Bit char_16bit_big: 0x0000_0002, # kXMP_Char16BitBig char_16bit_little: 0x0000_0003, # kXMP_Char16BitLittle char_32bit_big: 0x0000_0004, # kXMP_Char32BitBig char_32bit_little: 0x0000_0005, # kXMP_Char32BitLittle char_unknown: 0x0000_0001 # kXMP_CharUnknown }.freeze
- CHAR_FORM_BY_VALUE =
Reverse lookup by value
CHAR_FORM.invert.freeze
Class Method Summary collapse
-
.flags_for(bitmask) ⇒ Object
For a bitmask combining masks, return all matching names.
-
.name_for(value) ⇒ Object
Lookup the charForm name for a given integer value.
-
.value_for(name) ⇒ Object
Lookup the integer value for a given charForm name (Symbol or String).
Class Method Details
.flags_for(bitmask) ⇒ Object
For a bitmask combining masks, return all matching names.
40 41 42 |
# File 'lib/xmp_toolkit_ruby/xmp_char_form.rb', line 40 def flags_for(bitmask) CHAR_FORM.select { |_, v| (bitmask & v).nonzero? }.keys end |
.name_for(value) ⇒ Object
Lookup the charForm name for a given integer value.
34 35 36 |
# File 'lib/xmp_toolkit_ruby/xmp_char_form.rb', line 34 def name_for(value) CHAR_FORM_BY_VALUE[value] end |
.value_for(name) ⇒ Object
Lookup the integer value for a given charForm name (Symbol or String).
27 28 29 30 |
# File 'lib/xmp_toolkit_ruby/xmp_char_form.rb', line 27 def value_for(name) key = name.is_a?(String) ? name.to_sym : name CHAR_FORM[key] end |