Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Classes | Macros | Functions
SkDeflate.cpp File Reference
#include "src/pdf/SkDeflate.h"
#include "include/core/SkData.h"
#include "include/private/base/SkMalloc.h"
#include "include/private/base/SkTo.h"
#include "src/core/SkTraceEvent.h"
#include "zlib.h"
#include <algorithm>

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 31 of file SkDeflate.cpp.

◆ SKDEFLATEWSTREAM_OUTPUT_BUFFER_SIZE

#define SKDEFLATEWSTREAM_OUTPUT_BUFFER_SIZE   4224

Definition at line 32 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 37 of file SkDeflate.cpp.

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