mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-03-01 06:22:44 -08:00
refactor: extract overlay visibility facade runtime
This commit is contained in:
64
src/core/services/overlay-visibility-facade-service.ts
Normal file
64
src/core/services/overlay-visibility-facade-service.ts
Normal file
@@ -0,0 +1,64 @@
|
||||
import {
|
||||
setInvisibleOverlayVisibleService,
|
||||
setVisibleOverlayVisibleService,
|
||||
} from "./overlay-visibility-runtime-service";
|
||||
|
||||
export interface OverlayVisibilityFacadeDeps {
|
||||
getVisibleOverlayVisible: () => boolean;
|
||||
getInvisibleOverlayVisible: () => boolean;
|
||||
setVisibleOverlayVisibleState: (visible: boolean) => void;
|
||||
setInvisibleOverlayVisibleState: (visible: boolean) => void;
|
||||
updateVisibleOverlayVisibility: () => void;
|
||||
updateInvisibleOverlayVisibility: () => void;
|
||||
syncInvisibleOverlayMousePassthrough: () => void;
|
||||
shouldBindVisibleOverlayToMpvSubVisibility: () => boolean;
|
||||
isMpvConnected: () => boolean;
|
||||
setMpvSubVisibility: (visible: boolean) => void;
|
||||
}
|
||||
|
||||
export function setVisibleOverlayVisibleRuntimeFacadeService(
|
||||
visible: boolean,
|
||||
deps: OverlayVisibilityFacadeDeps,
|
||||
): void {
|
||||
setVisibleOverlayVisibleService({
|
||||
visible,
|
||||
setVisibleOverlayVisibleState: deps.setVisibleOverlayVisibleState,
|
||||
updateVisibleOverlayVisibility: deps.updateVisibleOverlayVisibility,
|
||||
updateInvisibleOverlayVisibility: deps.updateInvisibleOverlayVisibility,
|
||||
syncInvisibleOverlayMousePassthrough: deps.syncInvisibleOverlayMousePassthrough,
|
||||
shouldBindVisibleOverlayToMpvSubVisibility:
|
||||
deps.shouldBindVisibleOverlayToMpvSubVisibility,
|
||||
isMpvConnected: deps.isMpvConnected,
|
||||
setMpvSubVisibility: deps.setMpvSubVisibility,
|
||||
});
|
||||
}
|
||||
|
||||
export function setInvisibleOverlayVisibleRuntimeFacadeService(
|
||||
visible: boolean,
|
||||
deps: OverlayVisibilityFacadeDeps,
|
||||
): void {
|
||||
setInvisibleOverlayVisibleService({
|
||||
visible,
|
||||
setInvisibleOverlayVisibleState: deps.setInvisibleOverlayVisibleState,
|
||||
updateInvisibleOverlayVisibility: deps.updateInvisibleOverlayVisibility,
|
||||
syncInvisibleOverlayMousePassthrough: deps.syncInvisibleOverlayMousePassthrough,
|
||||
});
|
||||
}
|
||||
|
||||
export function toggleVisibleOverlayRuntimeFacadeService(
|
||||
deps: OverlayVisibilityFacadeDeps,
|
||||
): void {
|
||||
setVisibleOverlayVisibleRuntimeFacadeService(
|
||||
!deps.getVisibleOverlayVisible(),
|
||||
deps,
|
||||
);
|
||||
}
|
||||
|
||||
export function toggleInvisibleOverlayRuntimeFacadeService(
|
||||
deps: OverlayVisibilityFacadeDeps,
|
||||
): void {
|
||||
setInvisibleOverlayVisibleRuntimeFacadeService(
|
||||
!deps.getInvisibleOverlayVisible(),
|
||||
deps,
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user