Window_android.h revision 566c8e4a36c51cb24d8bb97cc71b3eb26737c012
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 2540d21de8b6620d724f34bdc85af1dcb593d33fe0liyuqian const DisplayParams& getDisplayParams() override; 2612d62a7d51a1826e221ffd34224d01c9bec49babdjsollen void setTitle(const char*) override; 2712d62a7d51a1826e221ffd34224d01c9bec49babdjsollen void show() override {} 2812d62a7d51a1826e221ffd34224d01c9bec49babdjsollen 29af236b5aa9e7d71d59bee6533d16deb76e9d098bjvanverth bool attach(BackendType attachType, const DisplayParams& params) override; 30566c8e4a36c51cb24d8bb97cc71b3eb26737c012liyuqian void onInval() override; 31566c8e4a36c51cb24d8bb97cc71b3eb26737c012liyuqian 32566c8e4a36c51cb24d8bb97cc71b3eb26737c012liyuqian void paintIfNeeded(); 3312d62a7d51a1826e221ffd34224d01c9bec49babdjsollen 3412d62a7d51a1826e221ffd34224d01c9bec49babdjsollen bool scaleContentToFit() const override { return true; } 3512d62a7d51a1826e221ffd34224d01c9bec49babdjsollen bool supportsContentRect() const override { return true; } 36796c5bb4655a511553970e111c96d90963fb9ae4liyuqian SkRect getContentRect() override { return fContentRect; } 37796c5bb4655a511553970e111c96d90963fb9ae4liyuqian void setContentRect(int l, int t, int r, int b) { fContentRect.set(l,t,r,b); } 3812d62a7d51a1826e221ffd34224d01c9bec49babdjsollen 3912d62a7d51a1826e221ffd34224d01c9bec49babdjsollenprivate: 40796c5bb4655a511553970e111c96d90963fb9ae4liyuqian SkiaAndroidApp* fSkiaAndroidApp = nullptr; 41796c5bb4655a511553970e111c96d90963fb9ae4liyuqian SkRect fContentRect; 4205de216ffb864cb1f3a4fa37a2c3a772be38a0c9brianosman DisplayParams fDisplayParams; 4312d62a7d51a1826e221ffd34224d01c9bec49babdjsollen}; 4412d62a7d51a1826e221ffd34224d01c9bec49babdjsollen 45345242671587d7273819bfe423be96e4392033e3jvanverth} // namespace sk_app 46345242671587d7273819bfe423be96e4392033e3jvanverth 4712d62a7d51a1826e221ffd34224d01c9bec49babdjsollen#endif 48