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。