summaryrefslogtreecommitdiff
path: root/core/fxcodec/gif/cfx_gifcontext.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/fxcodec/gif/cfx_gifcontext.h')
-rw-r--r--core/fxcodec/gif/cfx_gifcontext.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/core/fxcodec/gif/cfx_gifcontext.h b/core/fxcodec/gif/cfx_gifcontext.h
index 597af73764..d9bcf4950d 100644
--- a/core/fxcodec/gif/cfx_gifcontext.h
+++ b/core/fxcodec/gif/cfx_gifcontext.h
@@ -13,6 +13,7 @@
#include "core/fxcodec/codec/ccodec_gifmodule.h"
#include "core/fxcodec/gif/cfx_gif.h"
#include "core/fxcodec/gif/cfx_lzwdecompressor.h"
+#include "core/fxcrt/cfx_memorystream.h"
#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/unowned_ptr.h"
@@ -49,11 +50,8 @@ class CFX_GifContext : public CCodec_GifModule::Context {
uint8_t global_pal_exp_;
uint32_t img_row_offset_;
uint32_t img_row_avail_size_;
- uint32_t avail_in_;
int32_t decode_status_;
- uint32_t skip_size_;
std::unique_ptr<CFX_GifGraphicControlExtension> graphic_control_extension_;
- uint8_t* next_in_;
std::vector<std::unique_ptr<CFX_GifImage>> images_;
std::unique_ptr<CFX_LZWDecompressor> lzw_decompressor_;
int width_;
@@ -65,15 +63,17 @@ class CFX_GifContext : public CCodec_GifModule::Context {
uint8_t img_pass_num_;
protected:
- uint8_t* ReadData(uint8_t** dest_buf_pp, uint32_t data_size);
+ bool ReadData(uint8_t* dest, uint32_t size);
CFX_GifDecodeStatus ReadGifSignature();
CFX_GifDecodeStatus ReadLogicalScreenDescriptor();
+ RetainPtr<CFX_MemoryStream> input_buffer_;
private:
void SaveDecodingStatus(int32_t status);
CFX_GifDecodeStatus DecodeExtension();
CFX_GifDecodeStatus DecodeImageInfo();
void DecodingFailureAtTailCleanup(CFX_GifImage* gif_image);
+ bool ScanForTerminalMarker();
};
#endif // CORE_FXCODEC_GIF_CFX_GIFCONTEXT_H_