skia2/tools/vulkan/android/Window_android.h

49 lines
1.2 KiB
C++

/*
* Copyright 2016 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef Window_android_DEFINED
#define Window_android_DEFINED
#include "../Window.h"
#include <android_native_app_glue.h>
enum {
/**
* Leave plenty of space between this item and the ones defined in the glue layer
*/
APP_CMD_INVAL_WINDOW = 64,
};
class Window_android : public Window {
public:
Window_android() : Window() {}
~Window_android() override {}
bool init(android_app* app_state);
void initDisplay(ANativeWindow* window);
void setTitle(const char*) override;
void show() override {}
bool attach(BackEndType attachType, int msaaSampleCount, AttachmentInfo*) override;
void inval() override;
void paintIfNeeded();
bool scaleContentToFit() const override { return true; }
bool supportsContentRect() const override { return true; }
SkRect getContentRect() override { return mContentRect; }
void setContentRect(int l, int t, int r, int b) { mContentRect.set(l,t,r,b); }
private:
android_app* mApp = nullptr;
SkRect mContentRect;
int mSampleCount = 0;
};
#endif