Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Functions
SkPDFUtils.cpp File Reference
#include "src/pdf/SkPDFUtils.h"
#include "include/core/SkBitmap.h"
#include "include/core/SkBlendMode.h"
#include "include/core/SkData.h"
#include "include/core/SkStream.h"
#include "include/core/SkString.h"
#include "include/private/base/SkFixed.h"
#include "include/private/base/SkTo.h"
#include "src/core/SkGeometry.h"
#include "src/core/SkPathPriv.h"
#include "src/image/SkImage_Base.h"
#include "src/pdf/SkPDFResourceDict.h"
#include "src/pdf/SkPDFTypes.h"
#include <cmath>
#include <ctime>

Go to the source code of this file.

Functions

static void append_cubic (SkScalar ctl1X, SkScalar ctl1Y, SkScalar ctl2X, SkScalar ctl2Y, SkScalar dstX, SkScalar dstY, SkWStream *content)
 
static void append_quad (const SkPoint quad[], SkWStream *content)
 
static size_t print_permil_as_decimal (int x, char *result, unsigned places)
 
static constexpr int int_pow (int base, unsigned exp, int acc=1)
 

Function Documentation

◆ append_cubic()

static void append_cubic ( SkScalar  ctl1X,
SkScalar  ctl1Y,
SkScalar  ctl2X,
SkScalar  ctl2Y,
SkScalar  dstX,
SkScalar  dstY,
SkWStream content 
)
static

Definition at line 82 of file SkPDFUtils.cpp.

84 {
85 SkString cmd("y\n");
87 content->writeText(" ");
89 content->writeText(" ");
90 if (ctl2X != dstX || ctl2Y != dstY) {
91 cmd.set("c\n");
93 content->writeText(" ");
95 content->writeText(" ");
96 }
98 content->writeText(" ");
100 content->writeText(" ");
101 content->writeText(cmd.c_str());
102}
union flutter::testing::@2838::KeyboardChange::@76 content
void AppendScalar(SkScalar value, SkWStream *stream)
Definition SkPDFUtils.h:86

◆ append_quad()

static void append_quad ( const SkPoint  quad[],
SkWStream content 
)
static

Definition at line 104 of file SkPDFUtils.cpp.

104 {
105 SkPoint cubic[4];
106 SkConvertQuadToCubic(quad, cubic);
107 append_cubic(cubic[1].fX, cubic[1].fY, cubic[2].fX, cubic[2].fY,
108 cubic[3].fX, cubic[3].fY, content);
109}
void SkConvertQuadToCubic(const SkPoint src[3], SkPoint dst[4])
static void append_cubic(SkScalar ctl1X, SkScalar ctl1Y, SkScalar ctl2X, SkScalar ctl2Y, SkScalar dstX, SkScalar dstY, SkWStream *content)
AI float cubic(float precision, const SkPoint pts[], const VectorXform &vectorXform=VectorXform())

◆ int_pow()

static constexpr int int_pow ( int  base,
unsigned  exp,
int  acc = 1 
)
staticconstexpr

Definition at line 281 of file SkPDFUtils.cpp.

281 {
282 return exp < 1 ? acc
283 : int_pow(base * base,
284 exp / 2,
285 (exp % 2) ? acc * base : acc);
286}
static constexpr int int_pow(int base, unsigned exp, int acc=1)

◆ print_permil_as_decimal()

static size_t print_permil_as_decimal ( int  x,
char *  result,
unsigned  places 
)
static

Definition at line 264 of file SkPDFUtils.cpp.

264 {
265 result[0] = '.';
266 for (int i = places; i > 0; --i) {
267 result[i] = '0' + x % 10;
268 x /= 10;
269 }
270 int j;
271 for (j = places; j > 1; --j) {
272 if (result[j] != '0') {
273 break;
274 }
275 }
276 result[j + 1] = '\0';
277 return j + 1;
278}
GAsyncResult * result
double x