app library

应用壳:MyApp.initialize、路由、窗口与停靠 API。

可选入口:import 'package:xly/app.dart'; 全家桶仍可用:import 'package:xly/xly.dart';

Classes

CustomDragArea
桌面端整窗拖拽与双击最大化的根手势层。
MyApp
MyBootstrapTask
首帧提交后再跑的 blocking 初始化项。
MyDoubleClickConsumeZone
双击消费区域:标记子树为交互区,阻止桌面端双击穿透到窗口最大化。
MyDragProtectedArea
拖拽保护区域,用于解决子组件拖拽手势与窗口拖拽之间的竞争冲突。
MyRoute<T extends GetxController>
MyService<T>
服务注册类,用于注册GetX服务
MySplashGate
启动叠层门闩:首帧提交后跑 MyBootstrapTask,按公式揭开 MySplash
MyStorage
本应用专用 GetStorage 容器。
MyWindowDragGestureRecognizer
只把明确的拖拽认成搬动窗口,避免把点击手抖判成拖窗口。
RenderMyDoubleClickConsumeZone
MyDoubleClickConsumeZone 的渲染对象,供 classifyDesktopHit 识别。
VoidCallbackIntent
WindowSettings

Enums

MyBootstrapSeverity
MyApp.initialize bootstrap 项的失败等级。未分级时按 degraded
MyDesktopHitKind
双击位置相对窗口级最大化的交互分类。
MySplashPhase
启动叠层门闩阶段。

Constants

kMyWindowDragSlop → const double
整窗拖拽的判定阈值(逻辑像素)。

Functions

classifyDesktopHit(Offset globalPosition) MyDesktopHitKind
通过 hit test 分类 globalPosition 的交互属性。
debugHitPathHasConsumeZone(Offset globalPosition) bool
供测试观察 classifyDesktopHit 是否看到了消费区标记。

Exceptions / Errors

MyBootstrapContractError
无 tag 的 void / dynamic 被登记进 GetX。门闩按 fatal 处理,不看 MyBootstrapSeverity