Flutter Engine
The Flutter Engine
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Classes | Macros | Functions
SkDeflate.cpp File Reference
#include "src/pdf/SkDeflate.h"
#include "include/private/base/SkAssert.h"
#include "include/private/base/SkDebug.h"
#include "include/private/base/SkMalloc.h"
#include "include/private/base/SkTo.h"
#include "src/core/SkTraceEvent.h"
#include <algorithm>
#include <cstdint>
#include <cstring>
#include "zlib.h"

Go to the source code of this file.

Classes

struct  SkDeflateWStream::Impl
 

Macros

#define SKDEFLATEWSTREAM_INPUT_BUFFER_SIZE   4096
 
#define SKDEFLATEWSTREAM_OUTPUT_BUFFER_SIZE   4224
 

Functions

static void do_deflate (int flush, z_stream *zStream, SkWStream *out, unsigned char *inBuffer, size_t inBufferSize)
 

Macro Definition Documentation

◆ SKDEFLATEWSTREAM_INPUT_BUFFER_SIZE

#define SKDEFLATEWSTREAM_INPUT_BUFFER_SIZE   4096

Definition at line 34 of file SkDeflate.cpp.

◆ SKDEFLATEWSTREAM_OUTPUT_BUFFER_SIZE

#define SKDEFLATEWSTREAM_OUTPUT_BUFFER_SIZE   4224

Definition at line 35 of file SkDeflate.cpp.

Function Documentation

◆ do_deflate()

static void do_deflate ( int  flush,
z_stream *  zStream,
SkWStream out,
unsigned char *  inBuffer,
size_t  inBufferSize 
)
static

Definition at line 40 of file SkDeflate.cpp.

44 {
45 zStream->next_in = inBuffer;
46 zStream->avail_in = SkToInt(inBufferSize);
47 unsigned char outBuffer[SKDEFLATEWSTREAM_OUTPUT_BUFFER_SIZE];
48 SkDEBUGCODE(int returnValue;)
49 do {
50 zStream->next_out = outBuffer;
51 zStream->avail_out = sizeof(outBuffer);
52 SkDEBUGCODE(returnValue =) deflate(zStream, flush);
53 SkASSERT(!zStream->msg);
54
55 out->write(outBuffer, sizeof(outBuffer) - zStream->avail_out);
56 } while (zStream->avail_in || !zStream->avail_out);
57 SkASSERT(flush == Z_FINISH
58 ? returnValue == Z_STREAM_END
59 : returnValue == Z_OK);
60}
#define SkASSERT(cond)
Definition: SkAssert.h:116
#define SKDEFLATEWSTREAM_OUTPUT_BUFFER_SIZE
Definition: SkDeflate.cpp:35
SkDEBUGCODE(SK_SPI) SkThreadID SkGetThreadID()
constexpr int SkToInt(S x)
Definition: SkTo.h:29
void write(SkWStream *wStream, const T &text)
Definition: skqp.cpp:188