helpers.odin 472 B

12345678910111213141516171819202122232425262728
  1. package netpbm
  2. import "core:bytes"
  3. import "core:image"
  4. destroy :: proc(img: ^image.Image) -> bool {
  5. if img == nil {
  6. return false
  7. }
  8. defer free(img)
  9. bytes.buffer_destroy(&img.pixels)
  10. info := img.metadata.(^image.Netpbm_Info) or_return
  11. header_destroy(&info.header)
  12. free(info)
  13. img.metadata = nil
  14. return true
  15. }
  16. header_destroy :: proc(header: ^Header) {
  17. if header.format == .P7 && header.tupltype != "" {
  18. delete(header.tupltype)
  19. header.tupltype = ""
  20. }
  21. }