Skip to content

Commit b3bd373

Browse files
committed
Add positioning strategy API and refactor menu open
Introduces PositioningStrategy abstraction for menu and UI element positioning, supporting absolute, cursor, and relative modes. Updates FFI bindings, native code, and Dart API to use positioning strategies instead of raw coordinates. Refactors menu open methods and updates example usage. Adds new exports and updates submodule and config files accordingly.
1 parent fecb9ce commit b3bd373

17 files changed

Lines changed: 623 additions & 662 deletions

File tree

examples/menu_example/lib/main.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ class _MenuExamplePageState extends State<MenuExamplePage>
113113
}
114114

115115
void _showMenuAtPosition(Offset position) {
116-
_contextMenu.open(at: position);
116+
_contextMenu.open(PositioningStrategy.absolute(position));
117117
}
118118

119119
void _clearHistory() {

packages/cnativeapi/example/pubspec.lock

Lines changed: 0 additions & 213 deletions
This file was deleted.

packages/cnativeapi/example/pubspec.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
1717
# In Windows, build-name is used as the major, minor, and patch parts
1818
# of the product and file versions while build-number is used as the build suffix.
1919
version: 1.0.0+1
20+
resolution: workspace
2021

2122
environment:
2223
sdk: ^3.9.2

packages/cnativeapi/ffigen.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,26 @@ output: "lib/src/bindings_generated.dart"
88
headers:
99
entry-points:
1010
- "src/libnativeapi/src/capi/accessibility_manager_c.h"
11+
- "src/libnativeapi/src/capi/application_c.h"
1112
- "src/libnativeapi/src/capi/display_c.h"
1213
- "src/libnativeapi/src/capi/display_manager_c.h"
1314
- "src/libnativeapi/src/capi/geometry_c.h"
1415
- "src/libnativeapi/src/capi/image_c.h"
1516
- "src/libnativeapi/src/capi/menu_c.h"
17+
- "src/libnativeapi/src/capi/positioning_strategy_c.h"
1618
- "src/libnativeapi/src/capi/string_utils_c.h"
1719
- "src/libnativeapi/src/capi/tray_icon_c.h"
1820
- "src/libnativeapi/src/capi/tray_manager_c.h"
1921

2022
include-directives:
2123
- "src/libnativeapi/src/capi/accessibility_manager_c.h"
24+
- "src/libnativeapi/src/capi/application_c.h"
2225
- "src/libnativeapi/src/capi/display_c.h"
2326
- "src/libnativeapi/src/capi/display_manager_c.h"
2427
- "src/libnativeapi/src/capi/geometry_c.h"
2528
- "src/libnativeapi/src/capi/image_c.h"
2629
- "src/libnativeapi/src/capi/menu_c.h"
30+
- "src/libnativeapi/src/capi/positioning_strategy_c.h"
2731
- "src/libnativeapi/src/capi/string_utils_c.h"
2832
- "src/libnativeapi/src/capi/tray_icon_c.h"
2933
- "src/libnativeapi/src/capi/tray_manager_c.h"

0 commit comments

Comments
 (0)