ng-cw-v12
Version:
Angular UI Component Library
91 lines (90 loc) • 3.48 kB
TypeScript
import { OnInit, OnDestroy, AfterViewInit, ElementRef, OnChanges, SimpleChanges, NgZone } from '@angular/core';
import * as i0 from "@angular/core";
export declare type NcAnimationTypeType = 'rotate' | 'hover' | '3drotate';
export interface NcOffset {
x: number;
y: number;
}
export declare class PrismBackgroundComponent implements OnInit, AfterViewInit, OnDestroy, OnChanges {
private ngZone;
containerRef: ElementRef<HTMLDivElement>;
/** 棱镜高度(1-8) */
ncHeight: number;
/** 棱镜基础宽度(1-8) */
ncBaseWidth: number;
/** 动画类型:rotate, hover, 3drotate */
ncAnimationType: NcAnimationTypeType;
/** 发光强度(0-3) */
ncGlow: number;
/** 偏移量 {x, y} */
ncOffset: NcOffset;
/** 噪点强度(0-1) */
ncNoise: number;
/** 画布是否具有 alpha 通道(透明背景) */
private _transparent;
set ncTransparent(val: boolean | string);
get ncTransparent(): boolean;
/** 棱镜在屏幕空间中的整体比例(1-5) */
ncScale: number;
/** 色相偏移(-3.14-3.14) */
ncHueShift: number;
/** 颜色变化频率(0-4) */
ncColorFrequency: number;
/** 悬停反馈强度 */
ncHoverStrength: number;
/** 悬停缓动系数(0-1,数值越高反应越灵敏) */
ncInertia: number;
/** 在光泽之上叠加额外的光晕效果(0.5-2) */
ncBloom: number;
/** 若不在屏幕中,是否挂起以节省性能 */
private _suspendWhenOffscreen;
set ncSuspendWhenOffscreen(val: boolean | string);
get ncSuspendWhenOffscreen(): boolean;
/** 动画速度(0-2) */
ncTimeScale: number;
/** 背景颜色 */
ncBgColor: string;
private renderer;
private camera;
private scene;
private material;
private mesh;
private resizeObserver;
private intersectionObserver;
private rafId;
private dpr;
private pointer;
private yaw;
private pitch;
private roll;
private targetYaw;
private targetPitch;
private wX;
private wY;
private wZ;
private phX;
private phZ;
private isVisible;
private t0;
constructor(ngZone: NgZone);
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
ngOnChanges(changes: SimpleChanges): void;
private initWebGL;
private updateUniforms;
private setupResizeObserver;
private setupIntersectionObserver;
private lerp;
private setMat3FromEuler;
private renderLoop;
private startRAF;
private stopRAF;
private cleanup;
private get geometry();
onPointerMove(e: PointerEvent): void;
onMouseLeave(): void;
onBlur(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<PrismBackgroundComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<PrismBackgroundComponent, "nc-prism-background", never, { "ncHeight": "ncHeight"; "ncBaseWidth": "ncBaseWidth"; "ncAnimationType": "ncAnimationType"; "ncGlow": "ncGlow"; "ncOffset": "ncOffset"; "ncNoise": "ncNoise"; "ncTransparent": "ncTransparent"; "ncScale": "ncScale"; "ncHueShift": "ncHueShift"; "ncColorFrequency": "ncColorFrequency"; "ncHoverStrength": "ncHoverStrength"; "ncInertia": "ncInertia"; "ncBloom": "ncBloom"; "ncSuspendWhenOffscreen": "ncSuspendWhenOffscreen"; "ncTimeScale": "ncTimeScale"; "ncBgColor": "ncBgColor"; }, {}, never, ["*"]>;
}