Add onBackendCreated callback to Viewer
Also removes fWidth and fHeight from Window and instead
calls into WindowContent to get these values.
BUG=skia:
Change-Id: I72ee506004b7da73db9abb607a3bc82edfcf7d43
Reviewed-on: https://skia-review.googlesource.com/8795
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
diff --git a/tools/viewer/SampleSlide.cpp b/tools/viewer/SampleSlide.cpp
index 00ee534..93a495e 100644
--- a/tools/viewer/SampleSlide.cpp
+++ b/tools/viewer/SampleSlide.cpp
@@ -21,22 +21,25 @@
SampleSlide::~SampleSlide() {}
void SampleSlide::draw(SkCanvas* canvas) {
+ SkASSERT(fView);
fView->draw(canvas);
}
void SampleSlide::load(SkScalar winWidth, SkScalar winHeight) {
- fView = (*fViewFactory)();
+ fView.reset((*fViewFactory)());
fView->setVisibleP(true);
fView->setClipToBounds(false);
fView->setSize(winWidth, winHeight);
}
void SampleSlide::unload() {
- fView->unref();
- fView = nullptr;
+ fView.reset();
}
bool SampleSlide::onChar(SkUnichar c) {
+ if (!fView) {
+ return false;
+ }
SkEvent evt(gCharEvtName);
evt.setFast32(c);
return fView->doQuery(&evt);