skia2/modules/canvaskit/viewer_bindings.cpp
Chris Dalton 8ce842d38d Fix the CanvasKit viewer build
Change-Id: I82e28478bd9c52f5633e74472ab2b256961cdf45
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281050
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-04-02 11:23:29 +00:00

32 lines
920 B
C++

/*
* Copyright 2020 Google LLC
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include <emscripten.h>
#include <emscripten/bind.h>
#include "include/core/SkCanvas.h"
#include "tools/viewer/SampleSlide.h"
#include <string>
using namespace emscripten;
EMSCRIPTEN_BINDINGS(Viewer) {
function("MakeSlide", optional_override([](std::string name)->sk_sp<Slide> {
if (name == "WavyPathText") {
extern Sample* MakeWavyPathTextSample();
return sk_make_sp<SampleSlide>(MakeWavyPathTextSample);
}
return nullptr;
}));
class_<Slide>("Slide")
.smart_ptr<sk_sp<Slide>>("sk_sp<Slide>")
.function("load", &Slide::load)
.function("animate", &Slide::animate)
.function("draw", optional_override([](Slide& self, SkCanvas& canvas) {
self.draw(&canvas);
}));
}