Files
SubMiner/src/core/services/overlay-visibility-facade-deps-runtime-service.ts

36 lines
1.5 KiB
TypeScript

import {
OverlayVisibilityFacadeDeps,
} from "./overlay-visibility-facade-service";
export interface OverlayVisibilityFacadeDepsRuntimeOptions {
getVisibleOverlayVisible: () => boolean;
getInvisibleOverlayVisible: () => boolean;
setVisibleOverlayVisibleState: (nextVisible: boolean) => void;
setInvisibleOverlayVisibleState: (nextVisible: boolean) => void;
updateVisibleOverlayVisibility: () => void;
updateInvisibleOverlayVisibility: () => void;
syncInvisibleOverlayMousePassthrough: () => void;
shouldBindVisibleOverlayToMpvSubVisibility: () => boolean;
isMpvConnected: () => boolean;
setMpvSubVisibility: (mpvSubVisible: boolean) => void;
}
export function createOverlayVisibilityFacadeDepsRuntimeService(
options: OverlayVisibilityFacadeDepsRuntimeOptions,
): OverlayVisibilityFacadeDeps {
return {
getVisibleOverlayVisible: options.getVisibleOverlayVisible,
getInvisibleOverlayVisible: options.getInvisibleOverlayVisible,
setVisibleOverlayVisibleState: options.setVisibleOverlayVisibleState,
setInvisibleOverlayVisibleState: options.setInvisibleOverlayVisibleState,
updateVisibleOverlayVisibility: options.updateVisibleOverlayVisibility,
updateInvisibleOverlayVisibility: options.updateInvisibleOverlayVisibility,
syncInvisibleOverlayMousePassthrough:
options.syncInvisibleOverlayMousePassthrough,
shouldBindVisibleOverlayToMpvSubVisibility:
options.shouldBindVisibleOverlayToMpvSubVisibility,
isMpvConnected: options.isMpvConnected,
setMpvSubVisibility: options.setMpvSubVisibility,
};
}