12345678910111213141516171819202122232425262728293031323334353637 |
- // Copyright 2019 Google LLC.
- // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
- #include "tools/fiddle/examples.h"
- template sk_tools::Registry<fiddle::Example>* sk_tools::Registry<fiddle::Example>::gHead;
- // These globals are needed by fiddles:
- GrBackendTexture backEndTexture;
- GrBackendRenderTarget backEndRenderTarget;
- GrBackendTexture backEndTextureRenderTarget;
- SkBitmap source;
- sk_sp<SkImage> image;
- double duration = 1.0;
- double frame = 1.0;
- int main() {
- constexpr int kImgCount = 7;
- sk_sp<SkImage> images[kImgCount];
- SkBitmap bitmaps[kImgCount];
- for (int i = 1; i < kImgCount; ++i) {
- SkString path = SkStringPrintf("resources/images/example_%d.png", i);
- images[i] = SkImage::MakeFromEncoded(SkData::MakeFromFileName(path.c_str()));
- SkAssertResult(images[i] && images[i]->asLegacyBitmap(&bitmaps[i]));
- }
- for (const fiddle::Example& example : sk_tools::Registry<fiddle::Example>::Range()) {
- SkASSERT((unsigned)example.fImageIndex < (unsigned)kImgCount);
- image = images[example.fImageIndex];
- source = bitmaps[example.fImageIndex];
- SkBitmap bmp;
- bmp.allocN32Pixels(example.fWidth, example.fHeight);
- bmp.eraseColor(SK_ColorWHITE);
- SkCanvas canvas(bmp);
- SkDebugf("==> %s\n", example.fName);
- example.fFunc(&canvas);
- }
- }
|