Commit graph

240 commits

Author SHA1 Message Date
Admin
a5f24c8063 windows otw 2026-02-14 12:28:02 +01:00
Admin
14d4b8b533 windowsrs vendored 2026-02-14 12:27:38 +01:00
Admin
a1e0174c9a vendored windows 2026-02-14 11:54:41 +01:00
Admin
7d3863bff2 windows rs strip 2026-02-14 11:32:16 +01:00
Admin
8e6702c56b First 2.0 2026-02-12 14:52:33 +01:00
Admin
a271bd0027 compile 2026-02-10 18:26:51 +01:00
Julián Montes de Oca
0dd31cb6c8 IME: Support on Android and Input Configuration (#839)
* WIP

* Improvements for cursor control

* Enhance text selection and key event handling for Samsung keyboard compatibility

* Default to multine inputtype in android

* WIP Input configurations

* Enhance iOS text input handling

* Cleanup

* Comment out 'Next' variant across platforms for future implementation.

* Rename IME Config API to match web APIs

* Fix Android emoji deletion by implementing UTF-16 code unit index conversion

* Proper ASCII-only input and improve iOS keyboard handling

* Replace 'is_numeric_only' with 'input_mode'

* Prevent pasting invalid characters

* Cleanup

* Cleanup

* Hide clipboard actions on text change

* Cleanup

* Unify keyboard event types and fix iOS text input regressions

Unified TextInputEvent with new fields for better IME support across platforms:
- Added `composition` field for IME preview ranges (CJKinput)
- Added `full_state_sync` for complete buffer state (Android approach)
- Added `replace_range` for autocorrect/suggestion replacements (iOS approach)

All platforms: Standardized on CharOffset for character position handling

* Prevent text synchronization with the platform during active composition

* Add UITextInputCurrentInputModeDidChangeNotification support

* Add underline for active IME composition in TextInput

* Improve editor action handling for multiline inputs on Android

* Enhance IME composition tracking and clipboard action handling in TextInput

* Simplify IME state handling on Android

* Cleanup IME handling on iOS

* Cleanup

* Cleanup IME handling on iOS

* Improve docs/comments

* Improve docs/comments

* Add floating cursor support for keyboard trackpad in iOS

* Refine IME handling in TextInput to prevent iOS buffer loss during composition updates

* Move UITextInput protocol implementation into its own module

* Move MakepadInputConnection into its own file

* Cleanup

* Improve general IME handling in TextInput. Improve docs and comments

* Refactor text input configuration to separate soft keyboard settings for mobile platforms.
2026-02-02 11:48:21 +01:00
Admin
86467a8161 remove warning 2026-01-13 16:37:10 +01:00
Admin
5b10f90af4 fix new httpserverrequest type 2026-01-09 08:09:21 +01:00
Kevin Boos
3cdc2549cd Quick hotfix to make cargo-makepad build again (#837) 2026-01-09 08:06:00 +01:00
wyenox
d70bd0d7cb Fix various issues in cargo makepad wasm (#826)
* Fix `Uncaught ReferenceError: env is not defined`

at bindgen.js: const imports = __wbg_get_imports(); imports.env = env;

at (index): let wasm = await init({module_or_path: module}, env);

* fix `Uncaught DOMException: WebAssembly.Memory object could not be cloned.`

at web.js:         worker.postMessage(this.alloc_thread_stack(args.context_ptr, args.timer));

* add missing rustc flags to enable threading

* allow cargo makepad in linux arm

* debugs

* don't color cargo tree

* remove debug prints

* remove unsupported os handling that didn't exist before
2026-01-05 15:14:29 +01:00
Julián Montes de Oca
7ff2574dfc Android: Implement ShowClipboardActions with native ActionMode (#821)
Cx API:
- Implement existing ShowClipboardActions
- Add HideClipboardActions
- Cross-platform API ready for iOS implementation

Android Implementation:
- Native ActionMode integration with floating toolbar (API 23+)
- JNI bindings for showing/hiding menu and handling clipboard actions
- Event system for Copy/Cut/Paste/Select All actions
- Smart menu state management based on selection and clipboard

TextInput Integration:
- Long press selects word and shows menu
- Double tap and long press selects word and shows menu
- Selection preservation when tapping selected text
2025-11-22 10:06:05 +01:00
Kevin Boos
485674d387 Ensure that LongPress (LongClick) on Android properly tracks touch movement (#820)
* Ensure that LongPress (LongClick) on Android properly uses touch slop

Previously, we assumed that multiple touch action events would occur
before a LongClick, but that is not necessarily true.
It is possible to just have one down touch immediately followed by a
LongClick, so we now account for that.

This also fixes the tracking of touch event locations such that
stale values aren't accidentally used when calculating if a finger movement
exceeded the allowable touch slop for considering a touch as a long press.
(Rust would've caught that... thanks Java)

* remove excess log stmt
2025-11-15 09:31:17 +01:00
Admin
76cce72dc9 Fused Id and LiveId 2025-10-25 20:53:30 +02:00
Julián Montes de Oca
48a1ecd52c Add audio input permission handling and example project (#792)
* Add permission handling for audio input

- Introduced `CheckPermission` and `RequestPermission` operations in `CxOsOp` for managing audio input permissions.
- Implemented permission status checks and requests across iOS, macOS, and Android.
- Added a new `Permission` module to define permission types and statuses.
- Updated event handling to include permission results in the event system.
- Updated manifest files to include necessary permissions for audio input on Android.

* Add audio example project

- Added a new example project for audio processing and permission handling
- Implemented UI components for audio device selection, microphone capture, and playback controls.
- Integrated permission handling for audio input and updated the workspace configuration to include the new example.

* Implement audio permission in Web, catch up Linux and Windows

* Refactor iOS permission handling to avoid ios_app re-entrancy

* Implement iOS mic capture and add sample rate to AudioInfo

* Ensure iOS audio output uses loudspeaker, only when not using external devices

* Enhance audio example by handling sample rates and resampling
2025-10-25 19:15:57 +02:00
Admin
27904478d6 aistream 2025-09-09 21:27:28 +02:00
Admin
1b539b9d5e fix cargo makepad quest missing font 2025-07-14 11:36:00 +02:00
Kevin Boos
e2094dc4dc Fix iOS Info.plist to use canonical version strings. Add location permissions. (#778) 2025-07-08 19:57:51 +02:00
Julián Montes de Oca
0e5bc91f76 Implement data directory handling for mobile platforms (#769)
- Add `get_data_dir` method to `CxOsApi` for retrieving writable data directory paths on mobile platforms.
2025-06-20 20:48:48 +02:00
Kevin Boos
b1780a0355 Allow users of TextInput to know when a keypress had no effect (#767)
* Allow users of `TextInput` to know when a keypress had no effect

This PR makes the `TextInput` widget emit a `TextInputAction::KeyDownUnhandled`
action upon keypresses that don't actually make any change to the widget's selection.

This action is currently only emitted for the Up, Down, Left, and Right arrow keys,
but we can certainly add it to others like Backspace, Delete, etc if desired.

Use case: if you want to enable custom behavior when the user uses arrow keys
to navigate an empty TextInput widget, such as jumping up out of the TextInput focus
to edit the most recent message you just sent in a chat app, then this PR
is necessary. Otherwise there's no way to know whether a given input actually had
any effect on the TextInput's inner cursor/selection state.

* Add the FaceID usage description to iOS Info.plist

Allows Makepad apps to use biometric auth on iOS
2025-06-20 20:48:06 +02:00
Kevin Boos
ab9483c365 Restore overwritten change in internal makepad-android-state library (#763)
* Add `Dock::replace_tab()`: change the inner widget content of a tab
without having to remove and recreate the actual tab itself.

* Fix StackNavigation to forward non-visibility events to all subviews

* Allow saving/restoring the state of the `TextInput` widget

This redoes the changes introduced in #533, but modified for the new version of TextInput

* Add KeyModifiers parameter to `TextInputAction::Returned`

* Fix bug in text centering

* Properly restore the state of the TextInput

* undo version bumps for `makepad-android-state` and `makepad-jni-sys`

---------

Co-authored-by: Eddy Bruel <me@eddybruel.com>
2025-05-29 17:38:43 +02:00
Admin
cf4f18c829 1.0.0 2025-05-15 16:46:16 +02:00
Admin
3bc38c7054 rebase script 2025-05-12 22:56:54 +02:00
Admin
df012c593f remove chat context warning 2025-05-12 22:56:16 +02:00
Admin
117525b231 windows ime warning off 2025-05-12 22:52:24 +02:00
Admin
05ac4d0e06 revert jni/android state 2025-05-12 12:47:17 +02:00
Admin
084b0e66e2 webgl fix 2025-05-12 12:33:32 +02:00
Admin
4dd43514e5 version 0.9.1 2025-05-12 12:09:24 +02:00
Admin
f5b624aed5 version 0.9.1 2025-05-12 12:08:14 +02:00
Admin
ef6ea0718f chinese font split 2025-05-12 12:08:13 +02:00
Admin
86289ef8d6 0.9.0 otw 2025-05-12 10:02:38 +02:00
Admin
552c6b12d5 0.9.0 test 2025-05-11 22:39:18 +02:00
Admin
6e75538783 0.9.0 2025-05-11 22:35:20 +02:00
Admin
b90d0509ba 0.9.0 2025-05-11 22:31:53 +02:00
Admin
a60261c1da 0.9.0 test 2025-05-11 22:24:36 +02:00
Admin
c2ade53661 auto version ttf-parser unique name 2025-05-11 22:08:12 +02:00
Admin
9867247cb8 small fonts 2025-05-11 18:43:26 +02:00
Admin
c211424565 fix up wasm load for uizoo 2025-05-09 15:18:54 +02:00
Eddy Bruel
729b4d3fa0 Various fixes 2025-05-08 11:51:43 +02:00
Eddy Bruel
ff9048cc37 Initial commit 2025-05-06 10:11:37 +02:00