Class: Ocran::EdIcon::IconFile
- Inherits:
-
IconHeader
- Object
- Ocran::EdIcon::IconFile
- Defined in:
- lib/ocran/ed_icon.rb
Instance Method Summary collapse
- #entries ⇒ Object
-
#initialize(icon_filename) ⇒ IconFile
constructor
A new instance of IconFile.
Constructor Details
#initialize(icon_filename) ⇒ IconFile
Returns a new instance of IconFile.
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/ocran/ed_icon.rb', line 59 def initialize(icon_filename) @data = File.binread(icon_filename) super(Fiddle::Pointer.to_ptr(@data)) entries_end = IconHeader.size + self.ImageCount * IconDirectoryEntry.size if entries_end > @data.bytesize raise "Icon file too small for declared ImageCount" end entries.each_with_index do |entry, i| if entry.ImageOffset + entry.ImageSize > @data.bytesize raise "Icon entry #{i} exceeds file bounds" end end end |
Instance Method Details
#entries ⇒ Object
75 76 77 |
# File 'lib/ocran/ed_icon.rb', line 75 def entries IconDirectoryEntry.new(self.tail).take(self.ImageCount) end |