helpers.odin 464 B

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