Skip to content

@ue-too/board / index / ZoomByHandlerFunction

型別別名: ZoomByHandlerFunction()

ZoomByHandlerFunction = (delta, camera, config) => number

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

Handler function type for relative "zoom by" camera operations.

參數

delta

number

Zoom level change (added to current zoom)

camera

BoardCamera

Current camera instance

config

ZoomHandlerConfig

Zoom behavior configuration

回傳

number

Transformed zoom delta (after applying restrictions and clamping)

備註

Zoom-by handlers process relative zoom change requests. They form a pipeline that can apply restrictions, clamping, and other transformations to the delta.

Handler pipeline pattern:

  • Each handler receives the zoom delta, camera state, and config
  • Returns a potentially modified delta
  • Handlers can be chained using createHandlerChain

Common transformations:

  • Boundary clamping (prevent exceeding min/max zoom)
  • Zoom locking (return zero delta)
  • Delta dampening or acceleration

範例

typescript
const myZoomByHandler: ZoomByHandlerFunction = (delta, camera, config) => {
  // Custom logic: dampen large zoom changes
  if (Math.abs(delta) > 1.0) {
    return delta * 0.5;  // 50% dampening
  }
  return delta;
};

參閱