Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
skia
src
pdf
SkDeflate.h
Go to the documentation of this file.
1
/*
2
* Copyright 2010 The Android Open Source Project
3
*
4
* Use of this source code is governed by a BSD-style license that can be
5
* found in the LICENSE file.
6
*/
7
8
9
#ifndef SkFlate_DEFINED
10
#define SkFlate_DEFINED
11
12
#include "
include/core/SkStream.h
"
13
14
/**
15
* Wrap a stream in this class to compress the information written to
16
* this stream using the Deflate algorithm.
17
*
18
* See http://en.wikipedia.org/wiki/DEFLATE
19
*/
20
class
SkDeflateWStream
final :
public
SkWStream
{
21
public
:
22
/** Does not take ownership of the stream.
23
24
@param compressionLevel 1 is best speed; 9 is best compression.
25
The default, -1, is to use zlib's Z_DEFAULT_COMPRESSION level.
26
0 would be no compression, but due to broken zlibs, users should handle that themselves.
27
28
@param gzip iff true, output a gzip file. "The gzip format is
29
a wrapper, documented in RFC 1952, around a deflate stream."
30
gzip adds a header with a magic number to the beginning of the
31
stream, allowing a client to identify a gzip file.
32
*/
33
SkDeflateWStream
(
SkWStream
*,
34
int
compressionLevel,
35
bool
gzip =
false
);
36
37
/** The destructor calls finalize(). */
38
~SkDeflateWStream
()
override
;
39
40
/** Write the end of the compressed stream. All subsequent calls to
41
write() will fail. Subsequent calls to finalize() do nothing. */
42
void
finalize
();
43
44
// The SkWStream interface:
45
bool
write
(
const
void
*,
size_t
)
override
;
46
size_t
bytesWritten
()
const override
;
47
48
private
:
49
struct
Impl
;
50
std::unique_ptr<Impl> fImpl;
51
};
52
53
#endif
// SkFlate_DEFINED
SkStream.h
SkDeflateWStream
Definition
SkDeflate.h:20
SkDeflateWStream::write
bool write(const void *, size_t) override
Definition
SkDeflate.cpp:107
SkDeflateWStream::~SkDeflateWStream
~SkDeflateWStream() override
Definition
SkDeflate.cpp:94
SkDeflateWStream::bytesWritten
size_t bytesWritten() const override
Definition
SkDeflate.cpp:132
SkDeflateWStream::finalize
void finalize()
Definition
SkDeflate.cpp:96
SkWStream
Definition
SkStream.h:218
SkDeflateWStream::Impl
Definition
SkDeflate.cpp:60
Generated on Fri Apr 26 2024 06:17:24 for Flutter Engine by
1.9.8