UNPKG

nativescript-ar

Version:

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

57 lines (56 loc) 2.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var image_source_1 = require("tns-core-modules/image-source"); var utils = require("tns-core-modules/utils/utils"); var arcommon_1 = require("./arcommon"); var pixelsPerMeter = 500; var ARImage = (function (_super) { __extends(ARImage, _super); function ARImage() { return _super !== null && _super.apply(this, arguments) || this; } ARImage.create = function (options, fragment) { var _this = this; if (typeof options.image === "string") { if (options.image.indexOf("://") >= 0) { return image_source_1.fromUrl(options.image).then(function (image) { options.image = image; return ARImage.create(options, fragment); }); } options.image = image_source_1.fromFileOrResource(options.image); } return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () { var image, context, imageView; return __generator(this, function (_a) { image = options.image.android; context = utils.ad.getApplicationContext(); imageView = new android.widget.ImageView(context); imageView.setImageBitmap(image); com.google.ar.sceneform.rendering.ViewRenderable.builder() .setView(context, imageView) .build() .thenAccept(new java.util.function.Consumer({ accept: function (renderable) { if (options.dimensions) { renderable.setSizer(new com.google.ar.sceneform.rendering.FixedWidthViewSizer(options.dimensions.x)); } else { renderable.setSizer(new com.google.ar.sceneform.rendering.DpToMetersViewSizer(pixelsPerMeter)); } renderable.setVerticalAlignment(com.google.ar.sceneform.rendering.ViewRenderable.VerticalAlignment.CENTER); var node = arcommon_1.ARCommonNode.createNode(options, fragment); node.setRenderable(renderable); resolve(new ARImage(options, node)); } })) .exceptionally(new java.util.function.Function({ apply: function (error) { return reject(error); } })); return [2]; }); }); }); }; return ARImage; }(arcommon_1.ARCommonNode)); exports.ARImage = ARImage;