| // Copyright 2023 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| import {RequestSessionError, XRDepthDataFormat, XRDepthUsage, XRSessionFeature, XRSessionMode} from './xr_session.mojom-webui.js'; |
| |
| export function depthFormatToString(format: XRDepthDataFormat): string { |
| switch (format) { |
| case XRDepthDataFormat.kLuminanceAlpha: |
| return 'luminance-alpha'; |
| case XRDepthDataFormat.kFloat32: |
| return 'float32'; |
| default: |
| return ''; |
| } |
| } |
| |
| export function depthUsageToString(usage: XRDepthUsage): string { |
| switch (usage) { |
| case XRDepthUsage.kCPUOptimized: |
| return 'CPU'; |
| case XRDepthUsage.kGPUOptimized: |
| return 'GPU'; |
| default: |
| return ''; |
| } |
| } |
| |
| export function requestSessionErrorToString( |
| requestSessionError: RequestSessionError): string { |
| switch (requestSessionError) { |
| case RequestSessionError.EXISTING_IMMERSIVE_SESSION: |
| return 'EXISTING_IMMERSIVE_SESSION'; |
| case RequestSessionError.INVALID_CLIENT: |
| return 'INVALID_CLIENT'; |
| case RequestSessionError.USER_DENIED_CONSENT: |
| return 'USER_DENIED_CONSENT'; |
| case RequestSessionError.NO_RUNTIME_FOUND: |
| return 'NO_RUNTIME_FOUND'; |
| case RequestSessionError.UNKNOWN_RUNTIME_ERROR: |
| return 'UNKNOWN_RUNTIME_ERROR'; |
| case RequestSessionError.RUNTIME_INSTALL_FAILURE: |
| return 'RUNTIMES_CHANGED'; |
| case RequestSessionError.RUNTIMES_CHANGED: |
| return 'EXISTING_IMMERSIVE_SESSION'; |
| case RequestSessionError.FULLSCREEN_ERROR: |
| return 'FULLSCREEN_ERROR'; |
| case RequestSessionError.UNKNOWN_FAILURE: |
| return 'UNKNOWN_FAILURE'; |
| default: |
| return ''; |
| } |
| } |
| |
| export function sessionFeatureToString(feature: XRSessionFeature): string { |
| switch (feature) { |
| case XRSessionFeature.REF_SPACE_VIEWER: |
| return 'viewer'; |
| case XRSessionFeature.REF_SPACE_LOCAL: |
| return 'local'; |
| case XRSessionFeature.REF_SPACE_LOCAL_FLOOR: |
| return 'local-floor'; |
| case XRSessionFeature.REF_SPACE_BOUNDED_FLOOR: |
| return 'bounded-floor'; |
| case XRSessionFeature.REF_SPACE_UNBOUNDED: |
| return 'unbounded'; |
| case XRSessionFeature.DOM_OVERLAY: |
| return 'dom-overlay'; |
| case XRSessionFeature.HIT_TEST: |
| return 'hit-test'; |
| case XRSessionFeature.LIGHT_ESTIMATION: |
| return 'light-estimation'; |
| case XRSessionFeature.ANCHORS: |
| return 'anchors'; |
| case XRSessionFeature.CAMERA_ACCESS: |
| return 'camera-access'; |
| case XRSessionFeature.PLANE_DETECTION: |
| return 'plane-detection'; |
| case XRSessionFeature.DEPTH: |
| return 'depth-sensing'; |
| case XRSessionFeature.IMAGE_TRACKING: |
| return 'image-tracking'; |
| case XRSessionFeature.HAND_INPUT: |
| return 'hand-tracking'; |
| case XRSessionFeature.SECONDARY_VIEWS: |
| return 'secondary-views'; |
| case XRSessionFeature.LAYERS: |
| return 'layers'; |
| case XRSessionFeature.FRONT_FACING: |
| return 'front-facing'; |
| default: |
| return ''; |
| } |
| } |
| |
| export function sessionModeToString(mode: XRSessionMode): string { |
| switch (mode) { |
| case XRSessionMode.kInline: |
| return 'inline'; |
| case XRSessionMode.kImmersiveVr: |
| return 'immersive-vr'; |
| case XRSessionMode.kImmersiveAr: |
| return 'immersive-ar'; |
| default: |
| return ''; |
| } |
| } |