Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1218)

Side by Side Diff: tools/viewer/sk_app/android/Window_android.h

Issue 1952323004: Initial commit of our new Android app to demo Skia. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Merge Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2016 Google Inc. 2 * Copyright 2016 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #ifndef Window_android_DEFINED 8 #ifndef Window_android_DEFINED
9 #define Window_android_DEFINED 9 #define Window_android_DEFINED
10 10
11 #include "../Window.h" 11 #include "../Window.h"
12 #include <android_native_app_glue.h> 12 #include "surface_glue_android.h"
13 13
14 namespace sk_app { 14 namespace sk_app {
15 15
16 enum {
17 /**
18 * Leave plenty of space between this item and the ones defined in the glue layer
19 */
20 APP_CMD_INVAL_WINDOW = 64,
21 };
22
23 class Window_android : public Window { 16 class Window_android : public Window {
24 public: 17 public:
25 Window_android() : Window() {} 18 Window_android() : Window() {}
26 ~Window_android() override {} 19 ~Window_android() override {}
27 20
28 bool init(android_app* app_state); 21 bool init(SkiaAndroidApp* skiaAndroidApp);
29 void initDisplay(ANativeWindow* window); 22 void initDisplay(ANativeWindow* window);
23 void onDisplayDestroyed();
30 24
31 void setTitle(const char*) override; 25 void setTitle(const char*) override;
32 void show() override {} 26 void show() override {}
33 27
34 bool attach(BackEndType attachType, const DisplayParams& params) override; 28 bool attach(BackEndType attachType, const DisplayParams& params) override;
35 void inval() override; 29 void inval() override;
36 30
37 void paintIfNeeded();
38
39 bool scaleContentToFit() const override { return true; } 31 bool scaleContentToFit() const override { return true; }
40 bool supportsContentRect() const override { return true; } 32 bool supportsContentRect() const override { return true; }
41 SkRect getContentRect() override { return mContentRect; } 33 SkRect getContentRect() override { return fContentRect; }
42 void setContentRect(int l, int t, int r, int b) { mContentRect.set(l,t,r,b); } 34 void setContentRect(int l, int t, int r, int b) { fContentRect.set(l,t,r,b); }
43 35
44 private: 36 private:
45 android_app* mApp = nullptr; 37 SkiaAndroidApp* fSkiaAndroidApp = nullptr;
46 SkRect mContentRect; 38 SkRect fContentRect;
47 DisplayParams fDisplayParams; 39 DisplayParams fDisplayParams;
40 bool fNativeWindowInitialized = false;
48 }; 41 };
49 42
50 } // namespace sk_app 43 } // namespace sk_app
51 44
52 #endif 45 #endif
OLDNEW
« no previous file with comments | « tools/viewer/sk_app/VulkanWindowContext.h ('k') | tools/viewer/sk_app/android/Window_android.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698