Skip to content

@ue-too/board / index / restrictZoomByHandler

函式: restrictZoomByHandler()

restrictZoomByHandler(delta, camera, config): number

定義於: packages/board/src/camera/camera-rig/zoom-handler.ts:362

Handler pipeline step that prevents "zoom by" operations when zoom is locked.

參數

delta

number

Zoom level change

camera

BoardCamera

Current camera instance

config

ZoomHandlerRestrictConfig

Restriction configuration

回傳

number

Zero (if locked) or delta (if unlocked)

備註

This handler implements a global zoom lock for relative zoom operations.

Behavior:

  • If restrictZoom is true: Returns 0 (prevents any change)
  • If restrictZoom is false: Returns delta unchanged

Use this for:

  • Disabling zoom during specific application states
  • Fixed-zoom viewing modes
  • Read-only camera modes

Can be used standalone, but typically composed into a handler pipeline via createDefaultZoomByOnlyHandler or createHandlerChain.

範例

typescript
const config: ZoomHandlerRestrictConfig = {
  restrictZoom: true  // Lock zoom
};

const delta = 0.5;
const result = restrictZoomByHandler(delta, camera, config);
// result = 0 (zoom locked, no change allowed)

參閱

createDefaultZoomByOnlyHandler for default pipeline usage