GIF image decoder.
The GIF format is thoroughly documented; a full description can be found at http://www.w3.org/Graphics/GIF/spec-gif89a.txt
- Todo
- Plain text and comment extensions should be implemented.
Definition in file gif.cpp.hpp.
|
| static fl::u32 | fl::third_party::gif__clip (fl::u32 frame_off, fl::u32 frame_dim, fl::u32 image_ext) FL_NOEXCEPT |
| | Get any frame clip adjustment for the image extent.
|
| |
| static void | fl::third_party::gif__jump_data (fl::u32 *skip, fl::u32 *available, const fl::u8 **pos) FL_NOEXCEPT |
| | Perform any jump over decoded data, to accommodate clipped portion of frame.
|
| |
| static bool | fl::third_party::nsgif__animation_complete (int count, int max) FL_NOEXCEPT |
| |
| static bool | fl::third_party::nsgif__app_ext_is_loop_count (const fl::u8 *data, fl::size len) FL_NOEXCEPT |
| | Check an app ext identifier and authentication code for loop count extension.
|
| |
| static struct nsgif_colour_layout | fl::third_party::nsgif__bitmap_fmt_to_colour_layout (nsgif_bitmap_fmt_t bitmap_fmt) FL_NOEXCEPT |
| |
| static fl::u32 * | fl::third_party::nsgif__bitmap_get (struct nsgif *gif) FL_NOEXCEPT |
| | Helper to get the rendering bitmap for a gif.
|
| |
| static bool | fl::third_party::nsgif__bitmap_get_opaque (const struct nsgif *gif) FL_NOEXCEPT |
| | Helper to get the client to determine if the bitmap is opaque.
|
| |
| static void | fl::third_party::nsgif__bitmap_modified (const struct nsgif *gif) FL_NOEXCEPT |
| | Helper to tell the client that their bitmap was modified.
|
| |
| static void | fl::third_party::nsgif__bitmap_set_opaque (const struct nsgif *gif, const struct nsgif_frame *frame) FL_NOEXCEPT |
| | Helper to tell the client that whether the bitmap is opaque.
|
| |
| static void | fl::third_party::nsgif__colour_table_decode (fl::u32 colour_table[NSGIF_MAX_COLOURS], const struct nsgif_colour_layout *layout, fl::size colour_table_entries, const fl::u8 *data) FL_NOEXCEPT |
| | Extract a GIF colour table into a LibNSGIF colour table buffer.
|
| |
| static nsgif_error | fl::third_party::nsgif__colour_table_extract (fl::u32 colour_table[NSGIF_MAX_COLOURS], const struct nsgif_colour_layout *layout, fl::size colour_table_entries, const fl::u8 *data, fl::size data_len, fl::size *used, bool decode) FL_NOEXCEPT |
| | Extract a GIF colour table into a LibNSGIF colour table buffer.
|
| |
| static nsgif_error | fl::third_party::nsgif__decode (struct nsgif *gif, struct nsgif_frame *frame, const fl::u8 *data, fl::u32 *frame_data) FL_NOEXCEPT |
| |
| static nsgif_error | fl::third_party::nsgif__decode_complex (struct nsgif *gif, fl::u32 width, fl::u32 height, fl::u32 offset_x, fl::u32 offset_y, fl::u32 interlace, const fl::u8 *data, fl::u32 transparency_index, fl::u32 *frame_data, fl::u32 *colour_table) FL_NOEXCEPT |
| |
| static nsgif_error | fl::third_party::nsgif__decode_simple (struct nsgif *gif, fl::u32 height, fl::u32 offset_y, const fl::u8 *data, fl::u32 transparency_index, fl::u32 *frame_data, fl::u32 *colour_table) FL_NOEXCEPT |
| |
| static bool | fl::third_party::nsgif__deinterlace (fl::u32 height, fl::u32 *y, fl::u8 *step) FL_NOEXCEPT |
| | Get the next line for GIF decode.
|
| |
| static nsgif_error | fl::third_party::nsgif__error_from_lzw (lzw_result l_res) FL_NOEXCEPT |
| | Convert an LZW result code to equivalent GIF result code.
|
| |
| static fl::u32 | fl::third_party::nsgif__frame_next (const nsgif_t *gif, bool partial, fl::u32 frame) FL_NOEXCEPT |
| |
| static struct nsgif_frame * | fl::third_party::nsgif__get_frame (struct nsgif *gif, fl::u32 frame_idx) FL_NOEXCEPT |
| |
| static bool | fl::third_party::nsgif__host_is_little_endian (void) FL_NOEXCEPT |
| | Check whether the host is little endian.
|
| |
| static nsgif_error | fl::third_party::nsgif__initialise_sprite (struct nsgif *gif, fl::u32 width, fl::u32 height) FL_NOEXCEPT |
| | Updates the sprite memory size.
|
| |
| static nsgif_error | fl::third_party::nsgif__next_displayable_frame (const nsgif_t *gif, fl::u32 *frame, fl::u32 *delay) FL_NOEXCEPT |
| |
| static bool | fl::third_party::nsgif__next_row (fl::u32 interlace, fl::u32 height, fl::u32 *y, fl::u8 *step) FL_NOEXCEPT |
| | Get the next line for GIF decode.
|
| |
| static nsgif_error | fl::third_party::nsgif__parse_colour_table (struct nsgif *gif, struct nsgif_frame *frame, const fl::u8 **pos, bool decode) FL_NOEXCEPT |
| | Get a frame's colour table.
|
| |
| static nsgif_error | fl::third_party::nsgif__parse_extension_application (struct nsgif *gif, const fl::u8 *data, fl::size len) FL_NOEXCEPT |
| | Parse the application extension.
|
| |
| static nsgif_error | fl::third_party::nsgif__parse_extension_graphic_control (struct nsgif_frame *frame, const fl::u8 *data, fl::size len) FL_NOEXCEPT |
| | Parse the graphic control extension.
|
| |
| static nsgif_error | fl::third_party::nsgif__parse_frame_extensions (struct nsgif *gif, struct nsgif_frame *frame, const fl::u8 **pos, bool decode) FL_NOEXCEPT |
| | Parse the frame's extensions.
|
| |
| static nsgif_error | fl::third_party::nsgif__parse_header (struct nsgif *gif, const fl::u8 **pos, bool strict) FL_NOEXCEPT |
| | Read GIF header.
|
| |
| static nsgif_error | fl::third_party::nsgif__parse_image_data (struct nsgif *gif, struct nsgif_frame *frame, const fl::u8 **pos, bool decode) FL_NOEXCEPT |
| | Parse the image data for a gif frame.
|
| |
| static nsgif_error | fl::third_party::nsgif__parse_image_descriptor (struct nsgif *gif, struct nsgif_frame *frame, const fl::u8 **pos, bool decode) FL_NOEXCEPT |
| | Parse a GIF Image Descriptor.
|
| |
| static nsgif_error | fl::third_party::nsgif__parse_logical_screen_descriptor (struct nsgif *gif, const fl::u8 **pos) FL_NOEXCEPT |
| | Read Logical Screen Descriptor.
|
| |
| static nsgif_error | fl::third_party::nsgif__process_frame (struct nsgif *gif, fl::u32 frame_idx, bool decode) FL_NOEXCEPT |
| | Attempts to initialise the next frame.
|
| |
| static void | fl::third_party::nsgif__record_frame (struct nsgif *gif, const fl::u32 *bitmap) FL_NOEXCEPT |
| |
| static nsgif_error | fl::third_party::nsgif__recover_frame (const struct nsgif *gif, fl::u32 *bitmap) FL_NOEXCEPT |
| |
| static void | fl::third_party::nsgif__redraw_rect_extend (const nsgif_rect_t *frame, nsgif_rect_t *redraw) FL_NOEXCEPT |
| |
| static void | fl::third_party::nsgif__restore_bg (struct nsgif *gif, struct nsgif_frame *frame, fl::u32 *bitmap) FL_NOEXCEPT |
| | Restore a GIF to the background colour.
|
| |
| static nsgif_error | fl::third_party::nsgif__update_bitmap (struct nsgif *gif, struct nsgif_frame *frame, const fl::u8 *data, fl::u32 frame_idx) FL_NOEXCEPT |
| |
| nsgif_error | fl::third_party::nsgif_create (const nsgif_bitmap_cb_vt *bitmap_vt, nsgif_bitmap_fmt_t bitmap_fmt, nsgif_t **gif_out) FL_NOEXCEPT |
| | Create the NSGIF object.
|
| |
| void | fl::third_party::nsgif_data_complete (nsgif_t *gif) FL_NOEXCEPT |
| | Tell libnsgif that all the gif data has been provided.
|
| |
| nsgif_error | fl::third_party::nsgif_data_scan (nsgif_t *gif, fl::size size, const fl::u8 *data) FL_NOEXCEPT |
| | Scan the source image data.
|
| |
| void | fl::third_party::nsgif_destroy (nsgif_t *gif) FL_NOEXCEPT |
| | Free a NSGIF object.
|
| |
| nsgif_error | fl::third_party::nsgif_frame_decode (nsgif_t *gif, fl::u32 frame, nsgif_bitmap_t **bitmap) FL_NOEXCEPT |
| | Decodes a GIF frame.
|
| |
| nsgif_error | fl::third_party::nsgif_frame_prepare (nsgif_t *gif, nsgif_rect_t *area, fl::u32 *delay_cs, fl::u32 *frame_new) FL_NOEXCEPT |
| | Prepare to show a frame.
|
| |
| const nsgif_frame_info_t * | fl::third_party::nsgif_get_frame_info (const nsgif_t *gif, fl::u32 frame) FL_NOEXCEPT |
| | Get information about a GIF from an nsgif_t object.
|
| |
| const nsgif_info_t * | fl::third_party::nsgif_get_info (const nsgif_t *gif) FL_NOEXCEPT |
| | Get information about a GIF from an nsgif_t object.
|
| |
| void | fl::third_party::nsgif_global_palette (const nsgif_t *gif, fl::u32 table[NSGIF_MAX_COLOURS], fl::size *entries) FL_NOEXCEPT |
| | Get the global colour palette.
|
| |
| bool | fl::third_party::nsgif_local_palette (const nsgif_t *gif, fl::u32 frame, fl::u32 table[NSGIF_MAX_COLOURS], fl::size *entries) FL_NOEXCEPT |
| | Get the local colour palette for a frame.
|
| |
| nsgif_error | fl::third_party::nsgif_reset (nsgif_t *gif) FL_NOEXCEPT |
| | Reset a GIF animation.
|
| |
| void | fl::third_party::nsgif_set_frame_delay_behaviour (nsgif_t *gif, fl::u16 delay_min, fl::u16 delay_default) FL_NOEXCEPT |
| | Configure handling of small frame delays.
|
| |
| const char * | fl::third_party::nsgif_str_disposal (enum nsgif_disposal disposal) FL_NOEXCEPT |
| | Convert a disposal method to a string.
|
| |
| const char * | fl::third_party::nsgif_strerror (nsgif_error err) FL_NOEXCEPT |
| | Convert an error code to a string.
|
| |