The open source OpenXR runtime
at prediction-2 136 lines 4.2 kB view raw
1// Copyright 2020-2021, Collabora, Ltd. 2// SPDX-License-Identifier: BSL-1.0 3// Author: Rylie Pavlik <rylie.pavlik@collabora.com> 4// Inline implementations: do not include on its own! 5 6#pragma once 7 8#include "android.graphics.h" 9#include "android.hardware.display.h" 10#include "android.util.h" 11#include <string> 12 13namespace wrap { 14namespace android::view { 15inline int32_t Display::DEFAULT_DISPLAY() { 16 auto &data = Meta::data(true); 17 auto ret = get(data.DEFAULT_DISPLAY, data.clazz()); 18 data.dropClassRef(); 19 return ret; 20} 21 22inline int32_t Display::getDisplayId() const { 23 assert(!isNull()); 24 return object().call<int32_t>(Meta::data().getDisplayId); 25} 26 27inline std::string Display::getName() const { 28 assert(!isNull()); 29 return object().call<std::string>(Meta::data().getName); 30} 31 32inline hardware::display::DeviceProductInfo 33Display::getDeviceProductInfo() const { 34 assert(!isNull()); 35 return hardware::display::DeviceProductInfo( 36 object().call<jni::Object>(Meta::data().getDeviceProductInfo)); 37} 38 39inline void Display::getRealSize(graphics::Point &out_size) { 40 assert(!isNull()); 41 return object().call<void>(Meta::data().getRealSize, out_size.object()); 42} 43 44inline void Display::getRealMetrics(util::DisplayMetrics &out_displayMetrics) { 45 assert(!isNull()); 46 return object().call<void>(Meta::data().getRealMetrics, 47 out_displayMetrics.object()); 48} 49 50inline bool Surface::isValid() const { 51 assert(!isNull()); 52 return object().call<bool>(Meta::data().isValid); 53} 54 55inline Surface SurfaceHolder::getSurface() { 56 assert(!isNull()); 57 return Surface(object().call<jni::Object>(Meta::data().getSurface)); 58} 59 60inline Display WindowManager::getDefaultDisplay() const { 61 assert(!isNull()); 62 return Display(object().call<jni::Object>(Meta::data().getDefaultDisplay)); 63} 64 65inline int32_t WindowManager_LayoutParams::FLAG_FULLSCREEN() { 66 return get(Meta::data().FLAG_FULLSCREEN, Meta::data().clazz()); 67} 68 69inline int32_t WindowManager_LayoutParams::FLAG_NOT_FOCUSABLE() { 70 return get(Meta::data().FLAG_NOT_FOCUSABLE, Meta::data().clazz()); 71} 72 73inline int32_t WindowManager_LayoutParams::FLAG_NOT_TOUCHABLE() { 74 return get(Meta::data().FLAG_NOT_TOUCHABLE, Meta::data().clazz()); 75} 76 77inline int32_t WindowManager_LayoutParams::TYPE_APPLICATION() { 78 return get(Meta::data().TYPE_APPLICATION, Meta::data().clazz()); 79} 80 81inline int32_t WindowManager_LayoutParams::TYPE_APPLICATION_OVERLAY() { 82 return get(Meta::data().TYPE_APPLICATION_OVERLAY, Meta::data().clazz()); 83} 84 85inline WindowManager_LayoutParams WindowManager_LayoutParams::construct() { 86 return WindowManager_LayoutParams( 87 Meta::data().clazz().newInstance(Meta::data().init)); 88} 89 90inline WindowManager_LayoutParams 91WindowManager_LayoutParams::construct(int32_t type) { 92 return WindowManager_LayoutParams( 93 Meta::data().clazz().newInstance(Meta::data().init1, type)); 94} 95 96inline WindowManager_LayoutParams 97WindowManager_LayoutParams::construct(int32_t type, int32_t flags) { 98 return WindowManager_LayoutParams( 99 Meta::data().clazz().newInstance(Meta::data().init2, type, flags)); 100} 101 102inline void WindowManager_LayoutParams::setTitle(std::string const &title) { 103 assert(!isNull()); 104 return object().call<void>(Meta::data().setTitle, title); 105} 106 107 108inline WindowManager_LayoutParams WindowManager_LayoutParams::construct(int32_t w, int32_t h, int32_t type, 109 int32_t flags, int32_t format) { 110 return WindowManager_LayoutParams( 111 Meta::data().clazz().newInstance(Meta::data().init4, w, h, type, flags, format)); 112} 113 114 115inline int Display_Mode::getModeId() { 116 assert(!isNull()); 117 return object().call<int>(Meta::data().getModeId); 118} 119 120inline int Display_Mode::getPhysicalHeight() { 121 assert(!isNull()); 122 return object().call<int>(Meta::data().getPhysicalHeight); 123} 124 125inline int Display_Mode::getPhysicalWidth() { 126 assert(!isNull()); 127 return object().call<int>(Meta::data().getPhysicalWidth); 128} 129 130inline float Display_Mode::getRefreshRate() { 131 assert(!isNull()); 132 return object().call<float>(Meta::data().getRefreshRate); 133} 134 135} // namespace android::view 136} // namespace wrap