21 "The total duration, in seconds, of the animation we are drawing.");
23 "A double value in [0, 1] that specifies the point in animation to draw.");
36#if defined(SK_FONTMGR_FONTCONFIG_AVAILABLE)
65 char formatbuffer[1024];
66 int n = vsnprintf(formatbuffer,
sizeof(formatbuffer),
fmt,
args);
68 if (n>=0 && n<=
int(
sizeof(formatbuffer))) {
74 const uint8_t* input =
reinterpret_cast<const uint8_t*
>(data);
75 const uint8_t*
end = &input[size];
76 static const char codes[] =
77 "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
78 "abcdefghijklmnopqrstuvwxyz0123456789+/";
79 while (input !=
end) {
80 uint8_t
b = (*input & 0xFC) >> 2;
82 b = (*input & 0x03) << 4;
89 b |= (*input & 0xF0) >> 4;
91 b = (*input & 0x0F) << 2;
98 b |= (*input & 0xC0) >> 6;
101 fputc(codes[
b], out);
108 const char*
name,
bool last =
true) {
109 printf(
"\t\"%s\": \"",
name);
111 fputs(last ?
"\"\n" :
"\",\n", stdout);
115 const char*
name,
bool last =
true) {
136 fputs(
"Context is null.\n", stderr);
148 fputs(
"Unable to peekPixels.\n", stderr);
154 if ((!kRGBAIsNative)) {
156 fputs(
"Unable to alloc rgbaPixmap.\n", stderr);
160 fputs(
"Unable to read rgbaPixmap.\n", stderr);
163 pixmap = &rgbaPixmap;
173 fputs(
"Failed to create backEndTexture.\n", stderr);
191 constexpr int kSampleCnt = 1;
193 resourceProvider->createTexture(offscreenDims,
200 skgpu::Mipmapped::kNo,
203 "Fiddle_SetupBackendObjects");
204 if (!tmp || !tmp->asRenderTarget()) {
205 fputs(
"GrTexture is invalid.\n", stderr);
213 fputs(
"BackEndRenderTarget is invalid.\n", stderr);
229 fputs(
"Failed to create backendTextureRenderTarget.\n", stderr);
239int main(
int argc,
char** argv) {
252#if defined(SK_FONTMGR_FONTCONFIG_AVAILABLE)
265 perror(
"Unable to decode the source image.");
291 std::unique_ptr<sk_gpu_test::GLTestContext> glContext;
294 fputs(
"Unable to get GrContext.\n", stderr);
297 fputs(
"Unable to create backend objects.\n", stderr);
303 fputs(
"Unable to get render surface.\n", stderr);
345 dump_output(textoutput.c_str(), textoutput.length(),
"Text",
false);
348 dump_output(glinfo.c_str(), glinfo.length(),
"GLInfo",
true);
#define DEFINE_double(name, defaultValue, helpString)
static void info(const char *fmt,...) SK_PRINTF_LIKE(1
@ kPremul_SkAlphaType
pixel components are premultiplied by alpha
#define SkAssertResult(cond)
@ kRGBA_F16_SkColorType
pixel with half floats for red, green, blue, alpha;
@ kRGBA_8888_SkColorType
pixel with 8 bits for red, green, blue, alpha; in 32-bit word
constexpr SkColor SK_ColorWHITE
SK_API sk_sp< SkFontMgr > SkFontMgr_New_FontConfig(FcConfig *fc)
static SkColorType colorType(AImageDecoder *decoder, const AImageDecoderHeaderInfo *headerInfo)
sk_sp< T > sk_ref_sp(T *obj)
static void draw(SkCanvas *canvas, SkRect &target, int x, int y)
static void Parse(int argc, const char *const *argv)
SK_API GrBackendFormat defaultBackendFormat(SkColorType, GrRenderable) const
GrResourceProvider * resourceProvider()
GrDirectContextPriv priv()
bool tryAlloc(const SkImageInfo &)
const SkImageInfo & info() const
bool readPixels(const SkImageInfo &dstInfo, void *dstPixels, size_t dstRowBytes, int srcX, int srcY) const
bool peekPixels(SkPixmap *pixmap) const
void clear(SkColor color)
static sk_sp< SkColorSpace > MakeSRGB()
static sk_sp< SkColorSpace > MakeSRGBLinear()
static sk_sp< SkData > MakeFromFileName(const char path[])
sk_sp< SkData > detachAsData()
static sk_sp< SkFontMgr > RefEmpty()
bool asLegacyBitmap(SkBitmap *bitmap, LegacyBitmapMode legacyBitmapMode=kRO_LegacyBitmapMode) const
SkCanvas * beginRecording(const SkRect &bounds, sk_sp< SkBBoxHierarchy > bbh)
sk_sp< SkPicture > finishRecordingAsPicture()
sk_sp< SkData > serialize(const SkSerialProcs *procs=nullptr) const
DrawOptions GetDrawOptions()
sk_sp< GrDirectContext > create_direct_context(std::ostringstream &driverinfo, std::unique_ptr< sk_gpu_test::GLTestContext > *glContext)
sk_sp< SkFontMgr > fontMgr
GrBackendTexture backEndTextureRenderTarget
static sk_sp< SkData > encode_snapshot(GrDirectContext *ctx, const sk_sp< SkSurface > &surface)
static SkCanvas * prepare_canvas(SkCanvas *canvas)
static void dump_output(const void *data, size_t size, const char *name, bool last=true)
std::ostringstream gTextOutput
sk_sp< sk_gpu_test::ManagedBackendTexture > managedBackendTexture
void SkDebugf(const char *fmt,...)
GrBackendRenderTarget backEndRenderTarget
sk_sp< GrRenderTarget > backingRenderTarget
GrBackendTexture backEndTexture
sk_sp< sk_gpu_test::ManagedBackendTexture > managedBackendTextureRenderTarget
std::ostringstream gGLDriverInfo
static void encode_to_base64(const void *data, size_t size, FILE *out)
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
constexpr SkColor4f kTransparent
SK_API sk_sp< SkImage > DeferredFromEncodedData(sk_sp< SkData > encoded, std::optional< SkAlphaType > alphaType=std::nullopt)
void(* memset32)(uint32_t[], uint32_t, int)
SK_API sk_sp< SkDocument > MakeDocument(SkWStream *stream, const Metadata &metadata)
SK_API bool Encode(SkWStream *dst, const SkPixmap &src, const Options &options)
SK_API sk_sp< SkSurface > Raster(const SkImageInfo &imageInfo, size_t rowBytes, const SkSurfaceProps *surfaceProps)
SK_API sk_sp< SkSurface > RenderTarget(GrRecordingContext *context, skgpu::Budgeted budgeted, const SkImageInfo &imageInfo, int sampleCount, GrSurfaceOrigin surfaceOrigin, const SkSurfaceProps *surfaceProps, bool shouldCreateWithMips=false, bool isProtected=false)
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot data
static SkString fmt(SkColor4f c)
constexpr int32_t width() const
constexpr int64_t area() const
static SkImageInfo Make(int width, int height, SkColorType ct, SkAlphaType at)
SkImageInfo makeColorType(SkColorType newColorType) const
static constexpr SkSize Make(SkScalar w, SkScalar h)