Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
examples.cpp
Go to the documentation of this file.
1// Copyright 2019 Google LLC.
2// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
3
5
6#if defined(SK_FONTMGR_FONTCONFIG_AVAILABLE)
8#endif
9
10#if defined(SK_FONTMGR_CORETEXT_AVAILABLE)
12#endif
13
14#if defined(SK_FONTMGR_DIRECTWRITE_AVAILABLE)
16#endif
17
18#if defined(SK_FONTMGR_FREETYPE_DIRECTORY_AVAILABLE)
20#endif
21
23
24// These globals are needed by fiddles:
30double duration = 1.0;
31double frame = 1.0;
33
34int main() {
35 constexpr int kImgCount = 7;
36 sk_sp<SkImage> images[kImgCount];
37 SkBitmap bitmaps[kImgCount];
38 for (int i = 1; i < kImgCount; ++i) {
39 SkString path = SkStringPrintf("resources/images/example_%d.png", i);
41 SkAssertResult(images[i] && images[i]->asLegacyBitmap(&bitmaps[i]));
42 }
43#if defined(SK_FONTMGR_FONTCONFIG_AVAILABLE)
45#elif defined(SK_FONTMGR_CORETEXT_AVAILABLE)
47#elif defined(SK_FONTMGR_DIRECTWRITE_AVAILABLE)
48 fontMgr = SkFontMgr_New_DirectWrite();
49#elif defined(SK_FONTMGR_FREETYPE_DIRECTORY_AVAILABLE)
50 fontMgr = SkFontMgr_New_Custom_Directory("/usr/share/fonts/");
51#else
52 #error "Unsupported OS"
53#endif
55 SkASSERT((unsigned)example.fImageIndex < (unsigned)kImgCount);
56 image = images[example.fImageIndex];
57 source = bitmaps[example.fImageIndex];
58 SkBitmap bmp;
59 bmp.allocN32Pixels(example.fWidth, example.fHeight);
61 SkCanvas canvas(bmp);
62 SkDebugf("==> %s\n", example.fName);
63 example.fFunc(&canvas);
64 }
65}
#define SkAssertResult(cond)
Definition SkAssert.h:123
#define SkASSERT(cond)
Definition SkAssert.h:116
constexpr SkColor SK_ColorWHITE
Definition SkColor.h:122
void SK_SPI SkDebugf(const char format[],...) SK_PRINTF_LIKE(1
SK_API sk_sp< SkFontMgr > SkFontMgr_New_Custom_Directory(const char *dir)
SK_API sk_sp< SkFontMgr > SkFontMgr_New_FontConfig(FcConfig *fc)
SK_API sk_sp< SkFontMgr > SkFontMgr_New_CoreText(CTFontCollectionRef)
SK_API SkString static SkString SkStringPrintf()
Definition SkString.h:287
void allocN32Pixels(int width, int height, bool isOpaque=false)
Definition SkBitmap.cpp:232
void eraseColor(SkColor4f) const
Definition SkBitmap.cpp:442
static sk_sp< SkData > MakeFromFileName(const char path[])
Definition SkData.cpp:148
sk_sp< SkFontMgr > fontMgr
Definition examples.cpp:32
GrBackendTexture backEndTextureRenderTarget
Definition examples.cpp:27
sk_sp< SkImage > image
Definition examples.cpp:29
SkBitmap source
Definition examples.cpp:28
GrBackendRenderTarget backEndRenderTarget
Definition examples.cpp:26
GrBackendTexture backEndTexture
Definition examples.cpp:25
double duration
Definition examples.cpp:30
int main()
Definition examples.cpp:34
double frame
Definition examples.cpp:31
std::array< MockImage, 3 > images
SK_API sk_sp< SkImage > DeferredFromEncodedData(sk_sp< SkData > encoded, std::optional< SkAlphaType > alphaType=std::nullopt)