OLD | NEW |
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 |
OLD | NEW |