skia2/tools/fiddle/examples.cpp
Mike Klein c0bd9f9fe5 rewrite includes to not need so much -Ifoo
Current strategy: everything from the top

Things to look at first are the manual changes:

   - added tools/rewrite_includes.py
   - removed -Idirectives from BUILD.gn
   - various compile.sh simplifications
   - tweak tools/embed_resources.py
   - update gn/find_headers.py to write paths from the top
   - update gn/gn_to_bp.py SkUserConfig.h layout
     so that #include "include/config/SkUserConfig.h" always
     gets the header we want.

No-Presubmit: true
Change-Id: I73a4b181654e0e38d229bc456c0d0854bae3363e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209706
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-04-24 16:27:11 +00:00

38 lines
1.4 KiB
C++

// 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);
}
}