Monado OpenXR Runtime
org.freedesktop.monado.auxiliary.impl.hpp
Go to the documentation of this file.
1// Copyright 2020-2021, Collabora, Ltd.
2// SPDX-License-Identifier: BSL-1.0
3/*!
4 * @file
5 * @brief Inline implementations for partially-generated wrapper for the
6 * `org.freedesktop.monado.auxiliary` Java package - do not include on its own!
7 * @author Rylie Pavlik <rylie.pavlik@collabora.com>
8 * @ingroup aux_android
9 */
10
11#pragma once
12
13#include "wrap/android.app.h"
14#include "wrap/android.content.h"
15#include "wrap/android.view.h"
16
17
18namespace wrap {
19namespace org::freedesktop::monado::auxiliary {
20 inline MonadoView
21 MonadoView::attachToWindow(android::content::Context const &displayContext,
22 void *nativePointer,
23 wrap::android::view::WindowManager_LayoutParams const &lp)
24 {
25 return MonadoView(Meta::data().clazz().call<jni::Object>(
26 Meta::data().attachToWindow, displayContext.object(),
27 static_cast<long long>(reinterpret_cast<uintptr_t>(nativePointer)), lp.object()));
28 }
29
30 inline void
32 {
33 Meta::data().clazz().call<void>(Meta::data().removeFromWindow, view.object());
34 }
35
36 inline jni::Object
37 MonadoView::getDisplayMetrics(android::content::Context const &context)
38 {
39 return Meta::data().clazz().call<jni::Object>(Meta::data().getDisplayMetrics, context.object());
40 }
41
42 inline float
43 MonadoView::getDisplayRefreshRate(android::content::Context const &context)
44 {
45 return Meta::data().clazz().call<float>(Meta::data().getDisplayRefreshRate, context.object());
46 }
47
48 inline int32_t
49 MonadoView::getDisplayModeIdWidth(const android::content::Context &displayContext,
50 int32_t displayId,
51 int32_t displayModeId)
52 {
53 return Meta::data().clazz().call<int32_t>(Meta::data().getDisplayModeIdWidth, displayContext.object(),
54 displayId, displayModeId);
55 }
56
57 inline int32_t
58 MonadoView::getDisplayModeIdHeight(const android::content::Context &displayContext,
59 int32_t displayId,
60 int32_t displayModeId)
61 {
62 return Meta::data().clazz().call<int32_t>(Meta::data().getDisplayModeIdHeight, displayContext.object(),
63 displayId, displayModeId);
64 }
65
66 inline void *
68 {
69 assert(!isNull());
70 return reinterpret_cast<void *>(
71 static_cast<intptr_t>(object().call<long long>(Meta::data().getNativePointer)));
72 }
73
74 inline void
76 {
77 assert(!isNull());
78 return object().call<void>(Meta::data().markAsDiscardedByNative);
79 }
80
81 inline android::view::SurfaceHolder
83 {
84 assert(!isNull());
85 return android::view::SurfaceHolder(
86 object().call<jni::Object>(Meta::data().waitGetSurfaceHolder, wait_ms));
87 }
88
89} // namespace org::freedesktop::monado::auxiliary
90} // namespace wrap
Wrapper for org.freedesktop.monado.auxiliary.MonadoView objects.
Definition: org.freedesktop.monado.auxiliary.hpp:42
static void removeFromWindow(MonadoView const &view)
Wrapper for the removeFromWindow static method.
Definition: org.freedesktop.monado.auxiliary.impl.hpp:31
void markAsDiscardedByNative()
Wrapper for the markAsDiscardedByNative method.
Definition: org.freedesktop.monado.auxiliary.impl.hpp:75
static float getDisplayRefreshRate(android::content::Context const &context)
Wrapper for the getDisplayRefreshRate static method.
Definition: org.freedesktop.monado.auxiliary.impl.hpp:43
static int32_t getDisplayModeIdHeight(android::content::Context const &context, int32_t displayId, int32_t displayModeId)
Wrapper for the getDisplayModeIdHeight static method.
Definition: org.freedesktop.monado.auxiliary.impl.hpp:58
static int32_t getDisplayModeIdWidth(android::content::Context const &context, int32_t displayId, int32_t displayModeId)
Wrapper for the getDisplayModeIdWidth static method.
Definition: org.freedesktop.monado.auxiliary.impl.hpp:49
android::view::SurfaceHolder waitGetSurfaceHolder(int32_t wait_ms)
Wrapper for the waitGetSurfaceHolder method.
Definition: org.freedesktop.monado.auxiliary.impl.hpp:82
static MonadoView attachToWindow(android::content::Context const &displayContext, void *nativePointer, android::view::WindowManager_LayoutParams const &lp)
Wrapper for the attachToWindow static method.
static jni::Object getDisplayMetrics(android::content::Context const &context)
Wrapper for the getDisplayMetrics static method.
Definition: org.freedesktop.monado.auxiliary.impl.hpp:37
void * getNativePointer()
Wrapper for the getNativePointer method.
Definition: org.freedesktop.monado.auxiliary.impl.hpp:67
static Meta & data(jni::jclass clazz=nullptr)
Singleton accessor.
Definition: org.freedesktop.monado.auxiliary.hpp:205