Remove SampleApp and convert HelloWorld to sk_app
There is still a large amount of views code that could be trimmed down,
but which is used to implement samples (in viewer). Seemed simpler to
remove some of this code in pieces.
Bug: skia:
Change-Id: Ia3415060d03c8de604a154e3dc38379b754daab6
Reviewed-on: https://skia-review.googlesource.com/72801
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/example/HelloWorld.h b/example/HelloWorld.h
index 05d9b81..44f1321 100644
--- a/example/HelloWorld.h
+++ b/example/HelloWorld.h
@@ -1,73 +1,35 @@
/*
- * Copyright 2015 Google Inc.
- *
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- *
- */
+* Copyright 2017 Google Inc.
+*
+* Use of this source code is governed by a BSD-style license that can be
+* found in the LICENSE file.
+*/
#ifndef HelloWorld_DEFINED
#define HelloWorld_DEFINED
-#include "SkSurface.h"
-#include "SkWindow.h"
+#include "sk_app/Application.h"
+#include "sk_app/Window.h"
-class GrContext;
-struct GrGLInterface;
-class GrRenderTarget;
class SkCanvas;
-class HelloWorldWindow : public SkOSWindow {
+class HelloWorld : public sk_app::Application {
public:
- enum DeviceType {
- kRaster_DeviceType,
- kGPU_DeviceType,
- };
- HelloWorldWindow(void* hwnd);
- virtual ~HelloWorldWindow() override;
+ HelloWorld(int argc, char** argv, void* platformData);
+ ~HelloWorld() override;
- // Changes the device type of the object.
- bool setUpBackend();
-
- DeviceType getDeviceType() const { return fType; }
-
-protected:
- sk_sp<SkSurface> makeSurface() override {
- SkSurfaceProps props(INHERITED::getSurfaceProps());
- if (kGPU_DeviceType == fType) {
- return fGpuSurface;
- }
- const SkImageInfo info = SkImageInfo::MakeN32Premul(SkScalarRoundToInt(this->width()),
- SkScalarRoundToInt(this->height()));
- fRasterSurface = SkSurface::MakeRaster(info, &props);
- return fRasterSurface;
- }
-
- void draw(SkCanvas* canvas) override;
- void drawContents(SkCanvas* canvas);
-
- void onSizeChange() override;
+ void onBackendCreated();
+ void onPaint(SkCanvas* canvas);
+ void onIdle() override;
+ bool onChar(SkUnichar c, uint32_t modifiers);
private:
- bool findNextMatch(); // Set example to the first one that matches FLAGS_match.
- void setTitle();
- void setUpGpuBackedSurface();
- bool onHandleChar(SkUnichar unichar) override;
- void tearDownBackend();
+ void updateTitle();
- // draw contents
+ sk_app::Window* fWindow;
+ sk_app::Window::BackendType fBackendType;
+
SkScalar fRotationAngle;
-
- // support framework
- DeviceType fType;
- sk_sp<SkSurface> fRasterSurface;
- sk_sp<GrContext> fContext;
- sk_sp<SkSurface> fGpuSurface;
- AttachmentInfo fAttachmentInfo;
- sk_sp<const GrGLInterface> fInterface;
-
- typedef SkOSWindow INHERITED;
};
#endif