1 // Copyright 2014 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // This file is of the same format as file that generated by
6 // base/android/jni_generator/jni_generator.py
8 // com/google/vr/ndk/base/GvrApi
10 // Local modification includes:
11 // 1. Remove all implementation, only keep definition.
12 // 2. Use absolute path instead of relative path.
13 // 3. Removed all helper functions such as: Create.
14 // 4. Removed external functions that don't have implementation in shim file.
15 // 5. Changed RectF, Point, and PoseTracker to correct package name.
16 // 6. Added function RegisterGvrApiNatives at the end of this file.
17 // 7. Added "vr" as an argument to base::android::LazyGetClass.
19 #ifndef com_google_vr_ndk_base_GvrApi_JNI
20 #define com_google_vr_ndk_base_GvrApi_JNI
22 #include "base/android/jni_android.h"
23 // ----------------------------------------------------------------------------
25 // ----------------------------------------------------------------------------
28 #include <type_traits>
30 #include "third_party/jni_zero/jni_int_wrapper.h"
31 #include "third_party/jni_zero/jni_zero_helper.h"
33 // Step 1: forward declarations.
35 const char kGvrApiClassPath[] = "com/google/vr/ndk/base/GvrApi";
36 // Leaking this jclass as we cannot use LazyInstance from some threads.
37 std::atomic<jclass> g_GvrApi_clazz __attribute__((unused)) (nullptr);
38 #define GvrApi_clazz(env) \
39 base::android::LazyGetClass(env, kGvrApiClassPath, "vr", &g_GvrApi_clazz)
44 // Step 2: method stubs.
46 JNI_BOUNDARY_EXPORT jlong
47 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportListCreate(
50 jlong nativeGvrContext);
52 JNI_BOUNDARY_EXPORT void
53 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportListDestroy(
56 jlong nativeBufferViewportList);
58 JNI_BOUNDARY_EXPORT jint
59 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportListGetSize(
62 jlong nativeBufferViewportList);
64 JNI_BOUNDARY_EXPORT void
65 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportListGetItem(
68 jlong nativeBufferViewportList,
70 jlong nativeBufferViewport);
72 JNI_BOUNDARY_EXPORT void
73 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportListSetItem(
76 jlong nativeBufferViewportList,
78 jlong nativeBufferViewport);
80 JNI_BOUNDARY_EXPORT jlong
81 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportCreate(
84 jlong nativeGvrContext);
86 JNI_BOUNDARY_EXPORT void
87 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportDestroy(
90 jlong nativeBufferViewport);
92 JNI_BOUNDARY_EXPORT void
93 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportGetSourceUv(
96 jlong nativeBufferViewport,
99 JNI_BOUNDARY_EXPORT void
100 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportSetSourceUv(
103 jlong nativeBufferViewport,
109 JNI_BOUNDARY_EXPORT void
110 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportGetSourceFov(
113 jlong nativeBufferViewport,
116 JNI_BOUNDARY_EXPORT void
117 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportSetSourceFov(
120 jlong nativeBufferViewport,
126 JNI_BOUNDARY_EXPORT void
127 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportGetTransform(
130 jlong nativeBufferViewport,
133 JNI_BOUNDARY_EXPORT void
134 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportSetTransform(
137 jlong nativeBufferViewport,
140 JNI_BOUNDARY_EXPORT jboolean
141 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportEqual(JNIEnv* env,
146 JNI_BOUNDARY_EXPORT jint
147 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportGetTargetEye(
150 jlong nativeBufferViewport);
152 JNI_BOUNDARY_EXPORT void
153 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportSetTargetEye(
156 jlong nativeBufferViewport,
159 JNI_BOUNDARY_EXPORT jint
160 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportGetSourceBufferIndex(
163 jlong nativeBufferViewport);
165 JNI_BOUNDARY_EXPORT void
166 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportSetSourceBufferIndex(
169 jlong nativeBufferViewport,
172 JNI_BOUNDARY_EXPORT jint
173 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportGetExternalSurfaceId(
176 jlong nativeBufferViewport);
178 JNI_BOUNDARY_EXPORT void
179 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportSetExternalSurfaceId(
182 jlong nativeBufferViewport,
185 JNI_BOUNDARY_EXPORT void
186 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportSetExternalSurface(
189 jlong nativeBufferViewport,
190 jlong nativeExternalSurface);
192 JNI_BOUNDARY_EXPORT jint
193 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportGetReprojection(
196 jlong nativeBufferViewport);
198 JNI_BOUNDARY_EXPORT void
199 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportSetReprojection(
202 jlong nativeBufferViewport,
205 JNI_BOUNDARY_EXPORT void
206 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportSetSourceLayer(
209 jlong nativeBufferViewport,
212 JNI_BOUNDARY_EXPORT jlong
213 Java_com_google_vr_ndk_base_GvrApi_nativeBufferSpecCreate(
216 jlong nativeGvrContext);
218 JNI_BOUNDARY_EXPORT void
219 Java_com_google_vr_ndk_base_GvrApi_nativeBufferSpecDestroy(
222 jlong nativeBufferSpec);
224 JNI_BOUNDARY_EXPORT void
225 Java_com_google_vr_ndk_base_GvrApi_nativeBufferSpecGetSize(
228 jlong nativeBufferSpec,
231 JNI_BOUNDARY_EXPORT void
232 Java_com_google_vr_ndk_base_GvrApi_nativeBufferSpecSetSize(
235 jlong nativeBufferSpec,
239 JNI_BOUNDARY_EXPORT void
240 Java_com_google_vr_ndk_base_GvrApi_nativeBufferSpecSetColorFormat(
243 jlong nativeBufferSpec,
246 JNI_BOUNDARY_EXPORT void
247 Java_com_google_vr_ndk_base_GvrApi_nativeBufferSpecSetDepthStencilFormat(
250 jlong nativeBufferSpec,
253 JNI_BOUNDARY_EXPORT void
254 Java_com_google_vr_ndk_base_GvrApi_nativeBufferSpecSetMultiviewLayers(
257 jlong nativeBufferSpec,
260 JNI_BOUNDARY_EXPORT jint
261 Java_com_google_vr_ndk_base_GvrApi_nativeBufferSpecGetSamples(
264 jlong nativeBufferSpec);
266 JNI_BOUNDARY_EXPORT void
267 Java_com_google_vr_ndk_base_GvrApi_nativeBufferSpecSetSamples(
270 jlong nativeBufferSpec,
273 JNI_BOUNDARY_EXPORT jlong
274 Java_com_google_vr_ndk_base_GvrApi_nativeExternalSurfaceCreateWithListeners(
277 jlong nativeGvrContext,
278 jobject surfaceListener,
279 jobject frameListener,
282 JNI_BOUNDARY_EXPORT void
283 Java_com_google_vr_ndk_base_GvrApi_nativeExternalSurfaceDestroy(
286 jlong nativeBufferSpec);
288 JNI_BOUNDARY_EXPORT jint
289 Java_com_google_vr_ndk_base_GvrApi_nativeExternalSurfaceGetId(
292 jlong nativeBufferSpec);
294 JNI_BOUNDARY_EXPORT jobject
295 Java_com_google_vr_ndk_base_GvrApi_nativeExternalSurfaceGetSurface(
298 jlong nativeBufferSpec);
300 JNI_BOUNDARY_EXPORT jlong
301 Java_com_google_vr_ndk_base_GvrApi_nativeSwapChainCreate(JNIEnv* env,
306 JNI_BOUNDARY_EXPORT void
307 Java_com_google_vr_ndk_base_GvrApi_nativeSwapChainDestroy(JNIEnv* env,
309 jlong nativeContext);
311 JNI_BOUNDARY_EXPORT jint
312 Java_com_google_vr_ndk_base_GvrApi_nativeSwapChainGetBufferCount(
315 jlong nativeSwapChain);
317 JNI_BOUNDARY_EXPORT void
318 Java_com_google_vr_ndk_base_GvrApi_nativeSwapChainGetBufferSize(
321 jlong nativeSwapChain,
325 JNI_BOUNDARY_EXPORT void
326 Java_com_google_vr_ndk_base_GvrApi_nativeSwapChainResizeBuffer(
329 jlong nativeSwapChain,
334 JNI_BOUNDARY_EXPORT jlong
335 Java_com_google_vr_ndk_base_GvrApi_nativeSwapChainAcquireFrame(
338 jlong nativeSwapChain);
340 JNI_BOUNDARY_EXPORT void
341 Java_com_google_vr_ndk_base_GvrApi_nativeFrameBindBuffer(JNIEnv* env,
346 JNI_BOUNDARY_EXPORT void Java_com_google_vr_ndk_base_GvrApi_nativeFrameUnbind(
351 JNI_BOUNDARY_EXPORT jint
352 Java_com_google_vr_ndk_base_GvrApi_nativeFrameGetFramebufferObject(
358 JNI_BOUNDARY_EXPORT void
359 Java_com_google_vr_ndk_base_GvrApi_nativeFrameGetBufferSize(JNIEnv* env,
365 JNI_BOUNDARY_EXPORT void Java_com_google_vr_ndk_base_GvrApi_nativeFrameSubmit(
369 jlong nativeBufferViewportList,
370 jfloatArray headSpaceFromStartSpace);
372 JNI_BOUNDARY_EXPORT jboolean
373 Java_com_google_vr_ndk_base_GvrApi_nativeUsingDynamicLibrary(JNIEnv* env,
376 JNI_BOUNDARY_EXPORT jboolean
377 Java_com_google_vr_ndk_base_GvrApi_nativeUsingShimLibrary(JNIEnv* env,
380 JNI_BOUNDARY_EXPORT void
381 Java_com_google_vr_ndk_base_GvrApi_nativeSetApplicationState(JNIEnv* env,
386 JNI_BOUNDARY_EXPORT void
387 Java_com_google_vr_ndk_base_GvrApi_nativeSetDynamicLibraryLoadingEnabled(
392 JNI_BOUNDARY_EXPORT jlong Java_com_google_vr_ndk_base_GvrApi_nativeCreate(
402 jobject optionalPoseTrackingForTesting);
404 JNI_BOUNDARY_EXPORT void
405 Java_com_google_vr_ndk_base_GvrApi_nativeRequestContextSharing(
408 jlong nativeGvrContext,
409 jobject eglListener);
411 JNI_BOUNDARY_EXPORT jint
412 Java_com_google_vr_ndk_base_GvrApi_nativeGetError(JNIEnv* env,
414 jlong nativeGvrContext);
416 JNI_BOUNDARY_EXPORT jint
417 Java_com_google_vr_ndk_base_GvrApi_nativeClearError(JNIEnv* env,
419 jlong nativeGvrContext);
421 JNI_BOUNDARY_EXPORT jstring
422 Java_com_google_vr_ndk_base_GvrApi_nativeGetErrorString(JNIEnv* env,
426 JNI_BOUNDARY_EXPORT jlong
427 Java_com_google_vr_ndk_base_GvrApi_nativeGetUserPrefs(JNIEnv* env,
429 jlong nativeGvrContext);
431 JNI_BOUNDARY_EXPORT jint
432 Java_com_google_vr_ndk_base_GvrApi_nativeUserPrefsGetControllerHandedness(
435 jlong nativeUserPrefs);
437 JNI_BOUNDARY_EXPORT void Java_com_google_vr_ndk_base_GvrApi_nativePause(
440 jlong nativeGvrContext);
442 JNI_BOUNDARY_EXPORT void Java_com_google_vr_ndk_base_GvrApi_nativeResume(
445 jlong nativeGvrContext);
447 JNI_BOUNDARY_EXPORT void
448 Java_com_google_vr_ndk_base_GvrApi_nativeReleaseGvrContext(
451 jlong nativeGvrContext);
453 JNI_BOUNDARY_EXPORT void Java_com_google_vr_ndk_base_GvrApi_nativeInitializeGl(
456 jlong nativeGvrContext);
458 JNI_BOUNDARY_EXPORT void
459 Java_com_google_vr_ndk_base_GvrApi_nativeOnSurfaceCreatedReprojectionThread(
462 jlong nativeGvrContext);
464 JNI_BOUNDARY_EXPORT void
465 Java_com_google_vr_ndk_base_GvrApi_nativeOnSurfaceChangedReprojectionThread(
468 jlong nativeGvrContext);
470 JNI_BOUNDARY_EXPORT void
471 Java_com_google_vr_ndk_base_GvrApi_nativeGetRecommendedBufferViewports(
474 jlong nativeGvrContext,
475 jlong nativeBufferViewportList);
477 JNI_BOUNDARY_EXPORT void
478 Java_com_google_vr_ndk_base_GvrApi_nativeGetScreenBufferViewports(
481 jlong nativeGvrContext,
482 jlong nativeBufferViewportList);
484 JNI_BOUNDARY_EXPORT void
485 Java_com_google_vr_ndk_base_GvrApi_nativeGetMaximumEffectiveRenderTargetSize(
488 jlong nativeGvrContext,
491 JNI_BOUNDARY_EXPORT void
492 Java_com_google_vr_ndk_base_GvrApi_nativeGetScreenTargetSize(
495 jlong nativeGvrContext,
498 JNI_BOUNDARY_EXPORT void
499 Java_com_google_vr_ndk_base_GvrApi_nativeDistortToScreen(
502 jlong nativeGvrContext,
504 jlong nativeBufferViewportList,
505 jfloatArray headSpaceFromStartSpace,
508 JNI_BOUNDARY_EXPORT void
509 Java_com_google_vr_ndk_base_GvrApi_nativeSetDefaultFramebufferActive(
512 jlong nativeGvrContext);
514 JNI_BOUNDARY_EXPORT jobject
515 Java_com_google_vr_ndk_base_GvrApi_nativeRenderReprojectionThread(
518 jlong nativeGvrContext);
520 JNI_BOUNDARY_EXPORT void
521 Java_com_google_vr_ndk_base_GvrApi_nativeOnPauseReprojectionThread(
524 jlong nativeGvrContext);
526 JNI_BOUNDARY_EXPORT void
527 Java_com_google_vr_ndk_base_GvrApi_nativeGetHeadSpaceFromStartSpaceRotation(
530 jlong nativeGvrContext,
531 jfloatArray outRotation,
534 JNI_BOUNDARY_EXPORT void
535 Java_com_google_vr_ndk_base_GvrApi_nativeGetHeadSpaceFromStartSpaceTransform(
538 jlong nativeGvrContext,
539 jfloatArray outTransform,
542 JNI_BOUNDARY_EXPORT void
543 Java_com_google_vr_ndk_base_GvrApi_nativeSetIgnoreManualPauseResumeTracker(
546 jlong nativeGvrContext,
547 jboolean shouldIgnore);
549 JNI_BOUNDARY_EXPORT void Java_com_google_vr_ndk_base_GvrApi_nativePauseTracking(
552 jlong nativeGvrContext);
554 JNI_BOUNDARY_EXPORT jbyteArray
555 Java_com_google_vr_ndk_base_GvrApi_nativePauseTrackingGetState(
558 jlong nativeGvrContext);
560 JNI_BOUNDARY_EXPORT void
561 Java_com_google_vr_ndk_base_GvrApi_nativeResumeTracking(JNIEnv* env,
563 jlong nativeGvrContext);
565 JNI_BOUNDARY_EXPORT void
566 Java_com_google_vr_ndk_base_GvrApi_nativeResumeTrackingSetState(
569 jlong nativeGvrContext,
570 jbyteArray trackerStateBytes);
572 JNI_BOUNDARY_EXPORT void Java_com_google_vr_ndk_base_GvrApi_nativeResetTracking(
575 jlong nativeGvrContext);
577 JNI_BOUNDARY_EXPORT void
578 Java_com_google_vr_ndk_base_GvrApi_nativeRecenterTracking(
581 jlong nativeGvrContext);
583 JNI_BOUNDARY_EXPORT void
584 Java_com_google_vr_ndk_base_GvrApi_nativeGetEyeFromHeadMatrix(
587 jlong nativeGvrContext,
591 JNI_BOUNDARY_EXPORT jintArray
592 Java_com_google_vr_ndk_base_GvrApi_nativeGetWindowBounds(
595 jlong nativeGvrContext);
597 JNI_BOUNDARY_EXPORT jfloatArray
598 Java_com_google_vr_ndk_base_GvrApi_nativeComputeDistortedPoint(
601 jlong nativeGvrContext,
605 JNI_BOUNDARY_EXPORT jboolean
606 Java_com_google_vr_ndk_base_GvrApi_nativeSetDefaultViewerProfile(
609 jlong nativeGvrContext,
610 jstring viewerProfileUri);
612 JNI_BOUNDARY_EXPORT jstring
613 Java_com_google_vr_ndk_base_GvrApi_nativeGetViewerVendor(
616 jlong nativeGvrContext);
618 JNI_BOUNDARY_EXPORT jstring
619 Java_com_google_vr_ndk_base_GvrApi_nativeGetViewerModel(JNIEnv* env,
621 jlong nativeGvrContext);
623 JNI_BOUNDARY_EXPORT jint
624 Java_com_google_vr_ndk_base_GvrApi_nativeGetViewerType(JNIEnv* env,
626 jlong nativeGvrContext);
628 JNI_BOUNDARY_EXPORT jboolean
629 Java_com_google_vr_ndk_base_GvrApi_nativeSetAsyncReprojectionEnabled(
632 jlong nativeGvrContext,
635 JNI_BOUNDARY_EXPORT jboolean
636 Java_com_google_vr_ndk_base_GvrApi_nativeGetAsyncReprojectionEnabled(
639 jlong nativeGvrContext);
641 JNI_BOUNDARY_EXPORT jboolean
642 Java_com_google_vr_ndk_base_GvrApi_nativeIsFeatureSupported(
645 jlong nativeGvrContext,
648 JNI_BOUNDARY_EXPORT void
649 Java_com_google_vr_ndk_base_GvrApi_nativeReconnectSensors(
652 jlong nativeGvrContext);
654 JNI_BOUNDARY_EXPORT void
655 Java_com_google_vr_ndk_base_GvrApi_nativeSetIdleListener(JNIEnv* env,
657 jlong nativeGvrContext,
658 jobject idleListener);
660 JNI_BOUNDARY_EXPORT jboolean
661 Java_com_google_vr_ndk_base_GvrApi_nativeSetViewerParams(
664 jlong nativeGvrContext,
665 jbyteArray serializedViewerParams);
667 JNI_BOUNDARY_EXPORT void
668 Java_com_google_vr_ndk_base_GvrApi_nativeSetDisplayMetrics(
671 jlong nativeGvrContext,
677 JNI_BOUNDARY_EXPORT jfloat
678 Java_com_google_vr_ndk_base_GvrApi_nativeGetBorderSizeMeters(
681 jlong nativeGvrContext);
683 JNI_BOUNDARY_EXPORT void
684 Java_com_google_vr_ndk_base_GvrApi_nativeSetSurfaceSize(
687 jlong nativeGvrContext,
688 jint surfaceWidthPixels,
689 jint surfaceHeightPixels);
691 JNI_BOUNDARY_EXPORT void Java_com_google_vr_ndk_base_GvrApi_nativeSetLensOffset(
694 jlong nativeGvrContext,
699 JNI_BOUNDARY_EXPORT void Java_com_google_vr_ndk_base_GvrApi_nativeDumpDebugData(
702 jlong nativeGvrContext);
704 JNI_BOUNDARY_EXPORT jboolean
705 Java_com_google_vr_ndk_base_GvrApi_nativeUsingVrDisplayService(
708 jlong nativeGvrContext);
710 JNI_BOUNDARY_EXPORT jlong
711 Java_com_google_vr_ndk_base_GvrApi_nativeCreateEvent(JNIEnv* env, jclass clazz);
713 JNI_BOUNDARY_EXPORT jlong
714 Java_com_google_vr_ndk_base_GvrApi_nativeCreateValue(JNIEnv* env, jclass clazz);
716 JNI_BOUNDARY_EXPORT void Java_com_google_vr_ndk_base_GvrApi_nativeDestroyEvent(
719 jlong native_object);
721 JNI_BOUNDARY_EXPORT void Java_com_google_vr_ndk_base_GvrApi_nativeDestroyValue(
724 jlong native_object);
726 JNI_BOUNDARY_EXPORT jlong
727 Java_com_google_vr_ndk_base_GvrApi_nativeGetCurrentProperties(
730 jlong native_object);
732 JNI_BOUNDARY_EXPORT jlong
733 Java_com_google_vr_ndk_base_GvrApi_nativeGetEventFlags(JNIEnv* env,
735 jlong native_object);
737 JNI_BOUNDARY_EXPORT jlong
738 Java_com_google_vr_ndk_base_GvrApi_nativeGetEventTimestamp(JNIEnv* env,
740 jlong native_object);
742 JNI_BOUNDARY_EXPORT jint
743 Java_com_google_vr_ndk_base_GvrApi_nativeGetEventType(JNIEnv* env,
745 jlong native_object);
747 JNI_BOUNDARY_EXPORT jboolean
748 Java_com_google_vr_ndk_base_GvrApi_nativeGetProperty(JNIEnv* env,
750 jlong native_properties,
754 JNI_BOUNDARY_EXPORT jlong
755 Java_com_google_vr_ndk_base_GvrApi_nativeGetRecenterEventFlags(
758 jlong native_object);
760 JNI_BOUNDARY_EXPORT void
761 Java_com_google_vr_ndk_base_GvrApi_nativeGetRecenterEventStartSpaceFromTrackingSpaceTransform(
765 jfloatArray rotation_out_array);
767 JNI_BOUNDARY_EXPORT jint
768 Java_com_google_vr_ndk_base_GvrApi_nativeGetRecenterEventType(
771 jlong native_object);
773 JNI_BOUNDARY_EXPORT jboolean
774 Java_com_google_vr_ndk_base_GvrApi_nativePollEvent(JNIEnv* env,
779 JNI_BOUNDARY_EXPORT jlong
780 Java_com_google_vr_ndk_base_GvrApi_nativeValueAsFlags(JNIEnv* env,
782 jlong native_object);
784 JNI_BOUNDARY_EXPORT jfloat
785 Java_com_google_vr_ndk_base_GvrApi_nativeValueAsFloat(JNIEnv* env,
787 jlong native_object);
789 JNI_BOUNDARY_EXPORT jint
790 Java_com_google_vr_ndk_base_GvrApi_nativeValueAsInt(JNIEnv* env,
792 jlong native_object);
794 JNI_BOUNDARY_EXPORT void Java_com_google_vr_ndk_base_GvrApi_nativeValueAsMat4f(
798 jfloatArray mat4_out_array);
800 JNI_BOUNDARY_EXPORT jlong
801 Java_com_google_vr_ndk_base_GvrApi_nativeValueGetFlags(JNIEnv* env,
803 jlong native_object);
805 // Step 3: RegisterNatives.
807 static const JNINativeMethod kMethodsGvrApi[] = {
808 {"nativeBufferViewportListCreate",
813 reinterpret_cast<void*>(
814 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportListCreate)},
815 {"nativeBufferViewportListDestroy",
820 reinterpret_cast<void*>(
821 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportListDestroy)},
822 {"nativeBufferViewportListGetSize",
827 reinterpret_cast<void*>(
828 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportListGetSize)},
829 {"nativeBufferViewportListGetItem",
836 reinterpret_cast<void*>(
837 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportListGetItem)},
838 {"nativeBufferViewportListSetItem",
845 reinterpret_cast<void*>(
846 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportListSetItem)},
847 {"nativeBufferViewportCreate",
852 reinterpret_cast<void*>(
853 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportCreate)},
854 {"nativeBufferViewportDestroy",
859 reinterpret_cast<void*>(
860 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportDestroy)},
861 {"nativeBufferViewportGetSourceUv",
864 "Landroid/graphics/RectF;"
867 reinterpret_cast<void*>(
868 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportGetSourceUv)},
869 {"nativeBufferViewportSetSourceUv",
878 reinterpret_cast<void*>(
879 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportSetSourceUv)},
880 {"nativeBufferViewportGetSourceFov",
883 "Landroid/graphics/RectF;"
886 reinterpret_cast<void*>(
887 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportGetSourceFov)},
888 {"nativeBufferViewportSetSourceFov",
897 reinterpret_cast<void*>(
898 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportSetSourceFov)},
899 {"nativeBufferViewportGetTransform",
905 reinterpret_cast<void*>(
906 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportGetTransform)},
907 {"nativeBufferViewportSetTransform",
913 reinterpret_cast<void*>(
914 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportSetTransform)},
915 {"nativeBufferViewportEqual",
921 reinterpret_cast<void*>(
922 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportEqual)},
923 {"nativeBufferViewportGetTargetEye",
928 reinterpret_cast<void*>(
929 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportGetTargetEye)},
930 {"nativeBufferViewportSetTargetEye",
936 reinterpret_cast<void*>(
937 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportSetTargetEye)},
938 {"nativeBufferViewportGetSourceBufferIndex",
943 reinterpret_cast<void*>(
944 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportGetSourceBufferIndex)},
945 {"nativeBufferViewportSetSourceBufferIndex",
951 reinterpret_cast<void*>(
952 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportSetSourceBufferIndex)},
953 {"nativeBufferViewportGetExternalSurfaceId",
958 reinterpret_cast<void*>(
959 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportGetExternalSurfaceId)},
960 {"nativeBufferViewportSetExternalSurfaceId",
966 reinterpret_cast<void*>(
967 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportSetExternalSurfaceId)},
968 {"nativeBufferViewportSetExternalSurface",
974 reinterpret_cast<void*>(
975 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportSetExternalSurface)},
976 {"nativeBufferViewportGetReprojection",
981 reinterpret_cast<void*>(
982 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportGetReprojection)},
983 {"nativeBufferViewportSetReprojection",
989 reinterpret_cast<void*>(
990 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportSetReprojection)},
991 {"nativeBufferViewportSetSourceLayer",
997 reinterpret_cast<void*>(
998 Java_com_google_vr_ndk_base_GvrApi_nativeBufferViewportSetSourceLayer)},
999 {"nativeBufferSpecCreate",
1004 reinterpret_cast<void*>(
1005 Java_com_google_vr_ndk_base_GvrApi_nativeBufferSpecCreate)},
1006 {"nativeBufferSpecDestroy",
1011 reinterpret_cast<void*>(
1012 Java_com_google_vr_ndk_base_GvrApi_nativeBufferSpecDestroy)},
1013 {"nativeBufferSpecGetSize",
1016 "Landroid/graphics/Point;"
1019 reinterpret_cast<void*>(
1020 Java_com_google_vr_ndk_base_GvrApi_nativeBufferSpecGetSize)},
1021 {"nativeBufferSpecSetSize",
1028 reinterpret_cast<void*>(
1029 Java_com_google_vr_ndk_base_GvrApi_nativeBufferSpecSetSize)},
1030 {"nativeBufferSpecSetColorFormat",
1036 reinterpret_cast<void*>(
1037 Java_com_google_vr_ndk_base_GvrApi_nativeBufferSpecSetColorFormat)},
1038 {"nativeBufferSpecSetDepthStencilFormat",
1044 reinterpret_cast<void*>(
1045 Java_com_google_vr_ndk_base_GvrApi_nativeBufferSpecSetDepthStencilFormat)},
1046 {"nativeBufferSpecSetMultiviewLayers",
1052 reinterpret_cast<void*>(
1053 Java_com_google_vr_ndk_base_GvrApi_nativeBufferSpecSetMultiviewLayers)},
1054 {"nativeBufferSpecGetSamples",
1059 reinterpret_cast<void*>(
1060 Java_com_google_vr_ndk_base_GvrApi_nativeBufferSpecGetSamples)},
1061 {"nativeBufferSpecSetSamples",
1067 reinterpret_cast<void*>(
1068 Java_com_google_vr_ndk_base_GvrApi_nativeBufferSpecSetSamples)},
1069 {"nativeExternalSurfaceCreateWithListeners",
1072 "Ljava/lang/Runnable;"
1073 "Ljava/lang/Runnable;"
1074 "Landroid/os/Handler;"
1077 reinterpret_cast<void*>(
1078 Java_com_google_vr_ndk_base_GvrApi_nativeExternalSurfaceCreateWithListeners)},
1079 {"nativeExternalSurfaceDestroy",
1084 reinterpret_cast<void*>(
1085 Java_com_google_vr_ndk_base_GvrApi_nativeExternalSurfaceDestroy)},
1086 {"nativeExternalSurfaceGetId",
1091 reinterpret_cast<void*>(
1092 Java_com_google_vr_ndk_base_GvrApi_nativeExternalSurfaceGetId)},
1093 {"nativeExternalSurfaceGetSurface",
1097 "Landroid/view/Surface;",
1098 reinterpret_cast<void*>(
1099 Java_com_google_vr_ndk_base_GvrApi_nativeExternalSurfaceGetSurface)},
1100 {"nativeSwapChainCreate",
1106 reinterpret_cast<void*>(
1107 Java_com_google_vr_ndk_base_GvrApi_nativeSwapChainCreate)},
1108 {"nativeSwapChainDestroy",
1113 reinterpret_cast<void*>(
1114 Java_com_google_vr_ndk_base_GvrApi_nativeSwapChainDestroy)},
1115 {"nativeSwapChainGetBufferCount",
1120 reinterpret_cast<void*>(
1121 Java_com_google_vr_ndk_base_GvrApi_nativeSwapChainGetBufferCount)},
1122 {"nativeSwapChainGetBufferSize",
1126 "Landroid/graphics/Point;"
1129 reinterpret_cast<void*>(
1130 Java_com_google_vr_ndk_base_GvrApi_nativeSwapChainGetBufferSize)},
1131 {"nativeSwapChainResizeBuffer",
1139 reinterpret_cast<void*>(
1140 Java_com_google_vr_ndk_base_GvrApi_nativeSwapChainResizeBuffer)},
1141 {"nativeSwapChainAcquireFrame",
1146 reinterpret_cast<void*>(
1147 Java_com_google_vr_ndk_base_GvrApi_nativeSwapChainAcquireFrame)},
1148 {"nativeFrameBindBuffer",
1154 reinterpret_cast<void*>(
1155 Java_com_google_vr_ndk_base_GvrApi_nativeFrameBindBuffer)},
1156 {"nativeFrameUnbind",
1161 reinterpret_cast<void*>(
1162 Java_com_google_vr_ndk_base_GvrApi_nativeFrameUnbind)},
1163 {"nativeFrameGetFramebufferObject",
1169 reinterpret_cast<void*>(
1170 Java_com_google_vr_ndk_base_GvrApi_nativeFrameGetFramebufferObject)},
1171 {"nativeFrameGetBufferSize",
1175 "Landroid/graphics/Point;"
1178 reinterpret_cast<void*>(
1179 Java_com_google_vr_ndk_base_GvrApi_nativeFrameGetBufferSize)},
1180 {"nativeFrameSubmit",
1187 reinterpret_cast<void*>(
1188 Java_com_google_vr_ndk_base_GvrApi_nativeFrameSubmit)},
1189 {"nativeUsingDynamicLibrary",
1193 reinterpret_cast<void*>(
1194 Java_com_google_vr_ndk_base_GvrApi_nativeUsingDynamicLibrary)},
1195 {"nativeUsingShimLibrary",
1199 reinterpret_cast<void*>(
1200 Java_com_google_vr_ndk_base_GvrApi_nativeUsingShimLibrary)},
1201 {"nativeSetApplicationState",
1203 "Ljava/lang/ClassLoader;"
1204 "Landroid/content/Context;"
1207 reinterpret_cast<void*>(
1208 Java_com_google_vr_ndk_base_GvrApi_nativeSetApplicationState)},
1209 {"nativeSetDynamicLibraryLoadingEnabled",
1214 reinterpret_cast<void*>(
1215 Java_com_google_vr_ndk_base_GvrApi_nativeSetDynamicLibraryLoadingEnabled)},
1218 "Ljava/lang/ClassLoader;"
1219 "Landroid/content/Context;"
1225 "Lcom/google/vr/ndk/base/GvrApi$PoseTracker;"
1228 reinterpret_cast<void*>(Java_com_google_vr_ndk_base_GvrApi_nativeCreate)},
1229 {"nativeRequestContextSharing",
1232 "Lcom/google/vr/cardboard/EglReadyListener;"
1235 reinterpret_cast<void*>(
1236 Java_com_google_vr_ndk_base_GvrApi_nativeRequestContextSharing)},
1242 reinterpret_cast<void*>(
1243 Java_com_google_vr_ndk_base_GvrApi_nativeGetError)},
1244 {"nativeClearError",
1249 reinterpret_cast<void*>(
1250 Java_com_google_vr_ndk_base_GvrApi_nativeClearError)},
1251 {"nativeGetErrorString",
1255 "Ljava/lang/String;",
1256 reinterpret_cast<void*>(
1257 Java_com_google_vr_ndk_base_GvrApi_nativeGetErrorString)},
1258 {"nativeGetUserPrefs",
1263 reinterpret_cast<void*>(
1264 Java_com_google_vr_ndk_base_GvrApi_nativeGetUserPrefs)},
1265 {"nativeUserPrefsGetControllerHandedness",
1270 reinterpret_cast<void*>(
1271 Java_com_google_vr_ndk_base_GvrApi_nativeUserPrefsGetControllerHandedness)},
1277 reinterpret_cast<void*>(Java_com_google_vr_ndk_base_GvrApi_nativePause)},
1283 reinterpret_cast<void*>(Java_com_google_vr_ndk_base_GvrApi_nativeResume)},
1284 {"nativeReleaseGvrContext",
1289 reinterpret_cast<void*>(
1290 Java_com_google_vr_ndk_base_GvrApi_nativeReleaseGvrContext)},
1291 {"nativeInitializeGl",
1296 reinterpret_cast<void*>(
1297 Java_com_google_vr_ndk_base_GvrApi_nativeInitializeGl)},
1298 {"nativeOnSurfaceCreatedReprojectionThread",
1303 reinterpret_cast<void*>(
1304 Java_com_google_vr_ndk_base_GvrApi_nativeOnSurfaceCreatedReprojectionThread)},
1305 {"nativeOnSurfaceChangedReprojectionThread",
1310 reinterpret_cast<void*>(
1311 Java_com_google_vr_ndk_base_GvrApi_nativeOnSurfaceChangedReprojectionThread)},
1312 {"nativeGetRecommendedBufferViewports",
1318 reinterpret_cast<void*>(
1319 Java_com_google_vr_ndk_base_GvrApi_nativeGetRecommendedBufferViewports)},
1320 {"nativeGetScreenBufferViewports",
1326 reinterpret_cast<void*>(
1327 Java_com_google_vr_ndk_base_GvrApi_nativeGetScreenBufferViewports)},
1328 {"nativeGetMaximumEffectiveRenderTargetSize",
1331 "Landroid/graphics/Point;"
1334 reinterpret_cast<void*>(
1335 Java_com_google_vr_ndk_base_GvrApi_nativeGetMaximumEffectiveRenderTargetSize)},
1336 {"nativeGetScreenTargetSize",
1339 "Landroid/graphics/Point;"
1342 reinterpret_cast<void*>(
1343 Java_com_google_vr_ndk_base_GvrApi_nativeGetScreenTargetSize)},
1344 {"nativeDistortToScreen",
1353 reinterpret_cast<void*>(
1354 Java_com_google_vr_ndk_base_GvrApi_nativeDistortToScreen)},
1355 {"nativeSetDefaultFramebufferActive",
1360 reinterpret_cast<void*>(
1361 Java_com_google_vr_ndk_base_GvrApi_nativeSetDefaultFramebufferActive)},
1362 {"nativeRenderReprojectionThread",
1366 "Landroid/graphics/Point;",
1367 reinterpret_cast<void*>(
1368 Java_com_google_vr_ndk_base_GvrApi_nativeRenderReprojectionThread)},
1369 {"nativeOnPauseReprojectionThread",
1374 reinterpret_cast<void*>(
1375 Java_com_google_vr_ndk_base_GvrApi_nativeOnPauseReprojectionThread)},
1376 {"nativeGetHeadSpaceFromStartSpaceRotation",
1383 reinterpret_cast<void*>(
1384 Java_com_google_vr_ndk_base_GvrApi_nativeGetHeadSpaceFromStartSpaceRotation)},
1385 {"nativeGetHeadSpaceFromStartSpaceTransform",
1392 reinterpret_cast<void*>(
1393 Java_com_google_vr_ndk_base_GvrApi_nativeGetHeadSpaceFromStartSpaceTransform)},
1394 {"nativeSetIgnoreManualPauseResumeTracker",
1400 reinterpret_cast<void*>(
1401 Java_com_google_vr_ndk_base_GvrApi_nativeSetIgnoreManualPauseResumeTracker)},
1402 {"nativePauseTracking",
1407 reinterpret_cast<void*>(
1408 Java_com_google_vr_ndk_base_GvrApi_nativePauseTracking)},
1409 {"nativePauseTrackingGetState",
1414 reinterpret_cast<void*>(
1415 Java_com_google_vr_ndk_base_GvrApi_nativePauseTrackingGetState)},
1416 {"nativeResumeTracking",
1421 reinterpret_cast<void*>(
1422 Java_com_google_vr_ndk_base_GvrApi_nativeResumeTracking)},
1423 {"nativeResumeTrackingSetState",
1429 reinterpret_cast<void*>(
1430 Java_com_google_vr_ndk_base_GvrApi_nativeResumeTrackingSetState)},
1431 {"nativeResetTracking",
1436 reinterpret_cast<void*>(
1437 Java_com_google_vr_ndk_base_GvrApi_nativeResetTracking)},
1438 {"nativeRecenterTracking",
1443 reinterpret_cast<void*>(
1444 Java_com_google_vr_ndk_base_GvrApi_nativeRecenterTracking)},
1445 {"nativeGetEyeFromHeadMatrix",
1452 reinterpret_cast<void*>(
1453 Java_com_google_vr_ndk_base_GvrApi_nativeGetEyeFromHeadMatrix)},
1454 {"nativeGetWindowBounds",
1459 reinterpret_cast<void*>(
1460 Java_com_google_vr_ndk_base_GvrApi_nativeGetWindowBounds)},
1461 {"nativeComputeDistortedPoint",
1468 reinterpret_cast<void*>(
1469 Java_com_google_vr_ndk_base_GvrApi_nativeComputeDistortedPoint)},
1470 {"nativeSetDefaultViewerProfile",
1473 "Ljava/lang/String;"
1476 reinterpret_cast<void*>(
1477 Java_com_google_vr_ndk_base_GvrApi_nativeSetDefaultViewerProfile)},
1478 {"nativeGetViewerVendor",
1482 "Ljava/lang/String;",
1483 reinterpret_cast<void*>(
1484 Java_com_google_vr_ndk_base_GvrApi_nativeGetViewerVendor)},
1485 {"nativeGetViewerModel",
1489 "Ljava/lang/String;",
1490 reinterpret_cast<void*>(
1491 Java_com_google_vr_ndk_base_GvrApi_nativeGetViewerModel)},
1492 {"nativeGetViewerType",
1497 reinterpret_cast<void*>(
1498 Java_com_google_vr_ndk_base_GvrApi_nativeGetViewerType)},
1499 {"nativeSetAsyncReprojectionEnabled",
1505 reinterpret_cast<void*>(
1506 Java_com_google_vr_ndk_base_GvrApi_nativeSetAsyncReprojectionEnabled)},
1507 {"nativeGetAsyncReprojectionEnabled",
1512 reinterpret_cast<void*>(
1513 Java_com_google_vr_ndk_base_GvrApi_nativeGetAsyncReprojectionEnabled)},
1514 {"nativeIsFeatureSupported",
1520 reinterpret_cast<void*>(
1521 Java_com_google_vr_ndk_base_GvrApi_nativeIsFeatureSupported)},
1522 {"nativeReconnectSensors",
1527 reinterpret_cast<void*>(
1528 Java_com_google_vr_ndk_base_GvrApi_nativeReconnectSensors)},
1529 {"nativeSetIdleListener",
1532 "Lcom/google/vr/ndk/base/GvrApi$IdleListener;"
1535 reinterpret_cast<void*>(
1536 Java_com_google_vr_ndk_base_GvrApi_nativeSetIdleListener)},
1537 {"nativeSetViewerParams",
1543 reinterpret_cast<void*>(
1544 Java_com_google_vr_ndk_base_GvrApi_nativeSetViewerParams)},
1545 {"nativeSetDisplayMetrics",
1554 reinterpret_cast<void*>(
1555 Java_com_google_vr_ndk_base_GvrApi_nativeSetDisplayMetrics)},
1556 {"nativeGetBorderSizeMeters",
1561 reinterpret_cast<void*>(
1562 Java_com_google_vr_ndk_base_GvrApi_nativeGetBorderSizeMeters)},
1563 {"nativeSetSurfaceSize",
1570 reinterpret_cast<void*>(
1571 Java_com_google_vr_ndk_base_GvrApi_nativeSetSurfaceSize)},
1572 {"nativeSetLensOffset",
1580 reinterpret_cast<void*>(
1581 Java_com_google_vr_ndk_base_GvrApi_nativeSetLensOffset)},
1582 {"nativeDumpDebugData",
1587 reinterpret_cast<void*>(
1588 Java_com_google_vr_ndk_base_GvrApi_nativeDumpDebugData)},
1589 {"nativeUsingVrDisplayService",
1594 reinterpret_cast<void*>(
1595 Java_com_google_vr_ndk_base_GvrApi_nativeUsingVrDisplayService)},
1596 {"nativeCreateEvent",
1600 reinterpret_cast<void*>(
1601 Java_com_google_vr_ndk_base_GvrApi_nativeCreateEvent)},
1602 {"nativeCreateValue",
1606 reinterpret_cast<void*>(
1607 Java_com_google_vr_ndk_base_GvrApi_nativeCreateValue)},
1608 {"nativeDestroyEvent",
1613 reinterpret_cast<void*>(
1614 Java_com_google_vr_ndk_base_GvrApi_nativeDestroyEvent)},
1615 {"nativeDestroyValue",
1620 reinterpret_cast<void*>(
1621 Java_com_google_vr_ndk_base_GvrApi_nativeDestroyValue)},
1622 {"nativeGetCurrentProperties",
1627 reinterpret_cast<void*>(
1628 Java_com_google_vr_ndk_base_GvrApi_nativeGetCurrentProperties)},
1629 {"nativeGetEventFlags",
1634 reinterpret_cast<void*>(
1635 Java_com_google_vr_ndk_base_GvrApi_nativeGetEventFlags)},
1636 {"nativeGetEventTimestamp",
1641 reinterpret_cast<void*>(
1642 Java_com_google_vr_ndk_base_GvrApi_nativeGetEventTimestamp)},
1643 {"nativeGetEventType",
1648 reinterpret_cast<void*>(
1649 Java_com_google_vr_ndk_base_GvrApi_nativeGetEventType)},
1650 {"nativeGetProperty",
1657 reinterpret_cast<void*>(
1658 Java_com_google_vr_ndk_base_GvrApi_nativeGetProperty)},
1659 {"nativeGetRecenterEventFlags",
1664 reinterpret_cast<void*>(
1665 Java_com_google_vr_ndk_base_GvrApi_nativeGetRecenterEventFlags)},
1666 {"nativeGetRecenterEventStartSpaceFromTrackingSpaceTransform",
1672 reinterpret_cast<void*>(
1673 Java_com_google_vr_ndk_base_GvrApi_nativeGetRecenterEventStartSpaceFromTrackingSpaceTransform)},
1674 {"nativeGetRecenterEventType",
1679 reinterpret_cast<void*>(
1680 Java_com_google_vr_ndk_base_GvrApi_nativeGetRecenterEventType)},
1687 reinterpret_cast<void*>(
1688 Java_com_google_vr_ndk_base_GvrApi_nativePollEvent)},
1689 {"nativeValueAsFlags",
1694 reinterpret_cast<void*>(
1695 Java_com_google_vr_ndk_base_GvrApi_nativeValueAsFlags)},
1696 {"nativeValueAsFloat",
1701 reinterpret_cast<void*>(
1702 Java_com_google_vr_ndk_base_GvrApi_nativeValueAsFloat)},
1703 {"nativeValueAsInt",
1708 reinterpret_cast<void*>(
1709 Java_com_google_vr_ndk_base_GvrApi_nativeValueAsInt)},
1710 {"nativeValueAsMat4f",
1716 reinterpret_cast<void*>(
1717 Java_com_google_vr_ndk_base_GvrApi_nativeValueAsMat4f)},
1718 {"nativeValueGetFlags",
1723 reinterpret_cast<void*>(
1724 Java_com_google_vr_ndk_base_GvrApi_nativeValueGetFlags)},
1727 static bool RegisterNativesImpl(JNIEnv* env) {
1728 const int kMethodsGvrApiSize = std::extent<decltype(kMethodsGvrApi)>();
1730 if (env->RegisterNatives(GvrApi_clazz(env), kMethodsGvrApi,
1731 kMethodsGvrApiSize) < 0) {
1732 jni_generator::HandleRegistrationError(env, GvrApi_clazz(env), __FILE__);
1739 static bool RegisterGvrApiNatives(JNIEnv* env) {
1740 return RegisterNativesImpl(env);
1743 } // namespace GvrApi
1745 #endif // com_google_vr_ndk_base_GvrApi_JNI