112d62a7d51a1826e221ffd34224d01c9bec49babdjsollen/* 212d62a7d51a1826e221ffd34224d01c9bec49babdjsollen* Copyright 2016 Google Inc. 312d62a7d51a1826e221ffd34224d01c9bec49babdjsollen* 412d62a7d51a1826e221ffd34224d01c9bec49babdjsollen* Use of this source code is governed by a BSD-style license that can be 512d62a7d51a1826e221ffd34224d01c9bec49babdjsollen* found in the LICENSE file. 612d62a7d51a1826e221ffd34224d01c9bec49babdjsollen*/ 712d62a7d51a1826e221ffd34224d01c9bec49babdjsollen 812d62a7d51a1826e221ffd34224d01c9bec49babdjsollen#ifndef Window_android_DEFINED 912d62a7d51a1826e221ffd34224d01c9bec49babdjsollen#define Window_android_DEFINED 1012d62a7d51a1826e221ffd34224d01c9bec49babdjsollen 1112d62a7d51a1826e221ffd34224d01c9bec49babdjsollen#include "../Window.h" 12796c5bb4655a511553970e111c96d90963fb9ae4liyuqian#include "surface_glue_android.h" 1312d62a7d51a1826e221ffd34224d01c9bec49babdjsollen 14345242671587d7273819bfe423be96e4392033e3jvanverthnamespace sk_app { 15345242671587d7273819bfe423be96e4392033e3jvanverth 1612d62a7d51a1826e221ffd34224d01c9bec49babdjsollenclass Window_android : public Window { 1712d62a7d51a1826e221ffd34224d01c9bec49babdjsollenpublic: 182d1ee7936e3536e45c963db004e3b512bb415fd8brianosman Window_android() : Window() {} 1912d62a7d51a1826e221ffd34224d01c9bec49babdjsollen ~Window_android() override {} 2012d62a7d51a1826e221ffd34224d01c9bec49babdjsollen 21796c5bb4655a511553970e111c96d90963fb9ae4liyuqian bool init(SkiaAndroidApp* skiaAndroidApp); 2212d62a7d51a1826e221ffd34224d01c9bec49babdjsollen void initDisplay(ANativeWindow* window); 23796c5bb4655a511553970e111c96d90963fb9ae4liyuqian void onDisplayDestroyed(); 2412d62a7d51a1826e221ffd34224d01c9bec49babdjsollen 2512d62a7d51a1826e221ffd34224d01c9bec49babdjsollen void setTitle(const char*) override; 2612d62a7d51a1826e221ffd34224d01c9bec49babdjsollen void show() override {} 2712d62a7d51a1826e221ffd34224d01c9bec49babdjsollen 28578f064a60b63ddfb00831e9e59a47060bfcefe0csmartdalton bool attach(BackendType) override; 29566c8e4a36c51cb24d8bb97cc71b3eb26737c012liyuqian void onInval() override; 30e5a6cd9832eaa7011dee162283ff6470f82a3fdcliyuqian void setUIState(const Json::Value& state) override; 31566c8e4a36c51cb24d8bb97cc71b3eb26737c012liyuqian 32566c8e4a36c51cb24d8bb97cc71b3eb26737c012liyuqian void paintIfNeeded(); 3312d62a7d51a1826e221ffd34224d01c9bec49babdjsollen 3412d62a7d51a1826e221ffd34224d01c9bec49babdjsollen bool scaleContentToFit() const override { return true; } 3512d62a7d51a1826e221ffd34224d01c9bec49babdjsollen 3612d62a7d51a1826e221ffd34224d01c9bec49babdjsollenprivate: 37796c5bb4655a511553970e111c96d90963fb9ae4liyuqian SkiaAndroidApp* fSkiaAndroidApp = nullptr; 386cb70251829a467b146da9bc8925064f33608e48liyuqian BackendType fBackendType; 3912d62a7d51a1826e221ffd34224d01c9bec49babdjsollen}; 4012d62a7d51a1826e221ffd34224d01c9bec49babdjsollen 41345242671587d7273819bfe423be96e4392033e3jvanverth} // namespace sk_app 42345242671587d7273819bfe423be96e4392033e3jvanverth 4312d62a7d51a1826e221ffd34224d01c9bec49babdjsollen#endif 44