ERROR: unimplemented message ;
: read-GIF87a ( loading-gif -- loading-gif )
- "GIF87a" throw-unimplemented ;
+ "GIF87a" unimplemented ;
: read-logical-screen-descriptor ( loading-gif -- loading-gif )
2 read le> >>width
{ APPLICATION-EXTENSION [
read-application-extension over application-extensions>> push
] }
- { f [ throw-gif-unexpected-eof ] }
- [ throw-unknown-extension ]
+ { f [ gif-unexpected-eof ] }
+ [ unknown-extension ]
} case ;
ERROR: unhandled-data byte ;
] }
{ IMAGE-DESCRIPTOR [ read-table-based-image ] }
{ TRAILER [ f >>loading? ] }
- [ throw-unhandled-data ]
+ [ unhandled-data ]
} case ;
: read-GIF89a ( loading-gif -- loading-gif )
read-gif-header dup magic>> {
{ "GIF87a" [ read-GIF87a ] }
{ "GIF89a" [ read-GIF89a ] }
- [ throw-unsupported-gif-format ]
+ [ unsupported-gif-format ]
} case
] with-input-stream ;
ERROR: loading-gif-error gif-image ;
: ensure-loaded ( gif-image -- gif-image )
- dup loading?>> [ throw-loading-gif-error ] when ;
+ dup loading?>> [ loading-gif-error ] when ;
M: gif-image stream>image* ( path gif-image -- image )
drop load-gif ensure-loaded gif>image ;