UNPKG

view360-canex

Version:

360 integrated viewing solution from inside-out view to outside-in view. It provides user-friendly service by rotating 360 degrees through various user interaction such as motion sensor and touch.

132 lines (131 loc) 4.42 kB
import Component from "@egjs/component"; import { mat4 } from "gl-matrix"; import Renderer from "./renderer/Renderer"; import { PROJECTION_TYPE, STEREO_FORMAT } from "../PanoViewer/consts"; import { CubemapConfig, ImageCandidate, ValueOf, VideoCandidate } from "../types"; import YawPitchControl from "../YawPitchControl/YawPitchControl"; declare const EVENTS: { BIND_TEXTURE: "bindTexture"; IMAGE_LOADED: "imageLoaded"; ERROR: "error"; RENDERING_CONTEXT_LOST: "renderingContextLost"; RENDERING_CONTEXT_RESTORE: "renderingContextRestore"; }; declare class PanoImageRenderer extends Component<{ [EVENTS.ERROR]: { type: number; message: string; }; [EVENTS.IMAGE_LOADED]: { content: HTMLElement; isVideo: boolean; projectionType: ValueOf<typeof PROJECTION_TYPE>; }; [EVENTS.BIND_TEXTURE]: void; [EVENTS.RENDERING_CONTEXT_LOST]: void; [EVENTS.RENDERING_CONTEXT_RESTORE]: void; }> { static EVENTS: { BIND_TEXTURE: "bindTexture"; IMAGE_LOADED: "imageLoaded"; ERROR: "error"; RENDERING_CONTEXT_LOST: "renderingContextLost"; RENDERING_CONTEXT_RESTORE: "renderingContextRestore"; }; static ERROR_TYPE: { INVALID_DEVICE: number; NO_WEBGL: number; FAIL_IMAGE_LOAD: number; RENDERER_ERROR: number; }; sphericalConfig: { initialYaw: number; initialPitch: number; fieldOfView: number; imageType: ValueOf<typeof PROJECTION_TYPE>; stereoFormat: ValueOf<typeof STEREO_FORMAT>; cubemapConfig: CubemapConfig; }; fieldOfView: number; width: number; height: number; canvas: HTMLCanvasElement; context: WebGLRenderingContext; shaderProgram: WebGLProgram | null; texture: WebGLTexture; pMatrix: mat4; mvMatrix: mat4; textureCoordBuffer: WebGLBuffer | null; vertexBuffer: WebGLBuffer | null; indexBuffer: WebGLBuffer | null; private _wrapper; private _wrapperOrigStyle; private _lastQuaternion; private _lastYaw; private _lastPitch; private _lastFieldOfView; private _renderingContextAttributes?; private _renderer; private _contentLoader; private _image; private _imageConfig; private _imageType; private _imageIsReady; private _isVideo; private _isCubeMap; private _shouldForceDraw; private _keepUpdate; private _yawPitchControl; private _animator; private _vr; constructor(image: ImageCandidate | VideoCandidate, width: number, height: number, isVideo: boolean, sphericalConfig: PanoImageRenderer["sphericalConfig"], renderingContextAttributes?: WebGLContextAttributes); setYawPitchControl(yawPitchControl: YawPitchControl): void; getContent(): HTMLImageElement | HTMLVideoElement | HTMLImageElement[]; setImage({ image, imageType, isVideo, cubemapConfig, }: { image: ImageCandidate | VideoCandidate; imageType: PanoImageRenderer["_imageType"]; isVideo: boolean; cubemapConfig: CubemapConfig; }): void; isImageLoaded(): boolean; bindTexture(): any; attachTo(parentElement: any): void; forceContextLoss(): void; detach(): void; destroy(): void; hasRenderingContext(): boolean; updateFieldOfView(fieldOfView: any): void; updateViewportDimensions(width: any, height: any): void; keepUpdate(doUpdate: any): void; startRender(): void; stopRender(): void; renderWithQuaternion(quaternion: any, fieldOfView: any): void; renderWithYawPitch(yaw: any, pitch: any, fieldOfView: any): void; getProjectionRenderer(): Renderer; enterVR(options: any): any; exitVR: () => void; private _setImageType; private _initCanvas; private _setDefaultCanvasStyle; private _onContentError; private _triggerContentLoad; private _onContentLoad; private _initShaderProgram; private _onWebglcontextlost; private _onWebglcontextrestored; private _updateViewport; private _initWebGL; private _initRenderingContext; private _initBuffers; private _bindTexture; private _updateTexture; private _render; private _renderStereo; private _bindBuffers; private _draw; private _requestPresent; private _onFirstVRFrame; private _setWrapperFullscreen; private _restoreStyle; } export default PanoImageRenderer;