UNPKG

@bezlepkin/nativescript-ar

Version:

NativeScript Augmented Reality plugin. ARKit on iOS and (with the help of Sceneform) ARCore on Android.

27 lines (26 loc) 1.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FragmentScreenGrab = void 0; const core_1 = require("@nativescript/core"); class FragmentScreenGrab { grabScreenshot(fragment) { return new Promise((resolve, reject) => { const view = fragment.getArSceneView(); const bitmap = android.graphics.Bitmap.createBitmap(view.getWidth(), view.getHeight(), android.graphics.Bitmap.Config.ARGB_8888); const handlerThread = new android.os.HandlerThread("PixelCopier"); handlerThread.start(); android.view.PixelCopy.request(view, bitmap, new android.view.PixelCopy.OnPixelCopyFinishedListener({ onPixelCopyFinished: (copyResult) => { if (copyResult === android.view.PixelCopy.SUCCESS) { resolve(core_1.ImageSource.fromDataSync(bitmap)); } else { reject("Field to copy screen image"); } handlerThread.quitSafely(); } }), new android.os.Handler(handlerThread.getLooper())); }); } } exports.FragmentScreenGrab = FragmentScreenGrab;