diff --git a/libraries/scrcpy/src/1_15/impl/init.ts b/libraries/scrcpy/src/1_15/impl/init.ts index bd2fd0b6..d8a004f3 100644 --- a/libraries/scrcpy/src/1_15/impl/init.ts +++ b/libraries/scrcpy/src/1_15/impl/init.ts @@ -89,6 +89,24 @@ export namespace CodecOptions { export type Init = CodecOptionsInit; } +export class Crop implements ScrcpyOptionValue { + width: number; + height: number; + x: number; + y: number; + + constructor(width: number, height: number, x: number, y: number) { + this.width = width; + this.height = height; + this.x = x; + this.y = y; + } + + toOptionValue(): string | undefined { + return `${this.width}:${this.height}:${this.x}:${this.y}`; + } +} + export interface Init { logLevel?: LogLevel; @@ -124,7 +142,7 @@ export interface Init { */ tunnelForward?: boolean; - crop?: string | undefined; + crop?: Crop | undefined; /** * Send PTS so that the client may record properly diff --git a/libraries/scrcpy/src/latest.ts b/libraries/scrcpy/src/latest.ts index a77548f7..da9cdf9e 100644 --- a/libraries/scrcpy/src/latest.ts +++ b/libraries/scrcpy/src/latest.ts @@ -2,6 +2,7 @@ export { BackOrScreenOnControlMessage as ScrcpyBackOrScreenOnControlMessage, CaptureOrientation as ScrcpyCaptureOrientation, CodecOptions as ScrcpyCodecOptions, + Crop as ScrcpyCrop, InjectScrollControlMessage as ScrcpyInjectScrollControlMessage, InjectTouchControlMessage as ScrcpyInjectTouchControlMessage, InstanceId as ScrcpyInstanceId, @@ -13,3 +14,5 @@ export { UHidCreateControlMessage as ScrcpyUHidCreateControlMessage, UHidOutputDeviceMessage as ScrcpyUHidOutputDeviceMessage, } from "./3_0/impl/index.js"; + +export { ScrcpyOptions3_0 as ScrcpyOptionsLatest } from "./3_0/index.js";