Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Functions
SkPDFBitmap.cpp File Reference
#include "src/pdf/SkPDFBitmap.h"
#include "include/codec/SkCodec.h"
#include "include/codec/SkEncodedImageFormat.h"
#include "include/codec/SkJpegDecoder.h"
#include "include/core/SkBitmap.h"
#include "include/core/SkData.h"
#include "include/core/SkExecutor.h"
#include "include/core/SkImage.h"
#include "include/core/SkStream.h"
#include "include/encode/SkICC.h"
#include "include/encode/SkJpegEncoder.h"
#include "include/private/SkColorData.h"
#include "include/private/base/SkTo.h"
#include "src/core/SkImageInfoPriv.h"
#include "src/pdf/SkDeflate.h"
#include "src/pdf/SkPDFDocumentPriv.h"
#include "src/pdf/SkPDFTypes.h"
#include "src/pdf/SkPDFUnion.h"
#include "src/pdf/SkPDFUtils.h"

Go to the source code of this file.

Functions

SkPDFIndirectReference SkPDFSerializeImage (const SkImage *img, SkPDFDocument *doc, int encodingQuality)
 

Function Documentation

◆ SkPDFSerializeImage()

SkPDFIndirectReference SkPDFSerializeImage ( const SkImage img,
SkPDFDocument doc,
int  encodingQuality = 101 
)

Serialize a SkImage as an Image Xobject. quality > 100 means lossless

Definition at line 380 of file SkPDFBitmap.cpp.

382 {
383 SkASSERT(img);
384 SkASSERT(doc);
386 if (SkExecutor* executor = doc->executor()) {
387 SkRef(img);
388 doc->incrementJobCount();
389 executor->add([img, encodingQuality, doc, ref]() {
390 serialize_image(img, encodingQuality, doc, ref);
391 SkSafeUnref(img);
392 doc->signalJobComplete();
393 });
394 return ref;
395 }
396 serialize_image(img, encodingQuality, doc, ref);
397 return ref;
398}
#define SkASSERT(cond)
Definition SkAssert.h:116
static void SkSafeUnref(T *obj)
Definition SkRefCnt.h:149
static T * SkRef(T *obj)
Definition SkRefCnt.h:132
static sk_sp< SkData > serialize_image(const SkImage *image, SkSerialProcs procs)
SkExecutor * executor() const
SkPDFIndirectReference reserveRef()