Commit Graph

96 Commits

Author SHA1 Message Date
Julian Winkler
9e27cccc0d View.c: remove some uneccesary allocations which confuse composeUI apps 2025-07-28 22:27:50 +02:00
Julian Winkler
e5a6ef7251 AndroidLayout: ignore mesaure and allocate calls during drawing phase 2025-07-28 22:27:50 +02:00
Julian Winkler
b7843665ef handle drag-and-drop events as ACTION_SEND Intents 2025-07-14 12:25:04 +02:00
Mis012
6031eecefc api-impl-jni: add workarounds for Gtk's non-graceful handling of layout changes during the snapshot phase 2025-06-20 22:36:09 +02:00
Mis012
364070fa1f api-impl: misc stubs and formatting fixes 2025-06-08 13:42:42 +02:00
Julian Winkler
3d4f386db0 View.setFullscreen(): mock the window size while request is pending 2025-06-04 22:48:23 +02:00
Julian Winkler
12d25c162f onClickListener: stop event propagation if click was handled 2025-06-02 20:06:57 +02:00
Julian Winkler
ec45faaf87 View.dispatchTouchEvent(): implement ACTION_CANCEL for sythetic events 2025-04-19 15:32:27 +02:00
Julian Winkler
bd83e211d0 handle onClickListener for synthesized MotionEvents
Since synthesized events can't be handled by GTK, we also need to handle
gestures by ourself in that case.
2025-04-18 07:21:21 +02:00
Mis012
4d12ad5c90 View: add basic implemntation of dispatchTouchEvent
Some Views block all events going to their descendants, and
then synthesize new events themselves. Gtk doesn't allow event
synthesization, which makes this quite annoying to deal with.
This initial implementation definiely has some problems,
for example it seems to cause infinite loops in some cases,
however it surprisingly works well enough.
2025-03-26 20:06:15 +01:00
Julian Winkler
15a6432d01 Revert "View: call onLayout() only on size change or on request"
This reverts commit b33a470c7b.

This commit was added as fix for layout recreation loops, but this is no
longer a problem, since ViewGroup.detachViewFromParent() has been
improved. The first fix is no longer needed and it seems to cause some
minor regressions, so we revert it.
2025-03-25 23:34:56 +01:00
Julian Winkler
b33a470c7b View: call onLayout() only on size change or on request
GTK always wants us to call gtk_widget_allocate() on all children, so we
need to do it manually when not calling onLayout().
2025-03-02 00:05:59 +01:00
Mis012
ab5b600bf1 run whitespace_format.py --add-new-line-marker-at-end-of-file --remove-trailing-whitespace --remove-trailing-empty-lines --new-line-marker=linux --normalize-non-standard-whitespace=remove on src/ 2025-02-05 16:27:17 +01:00
Mis012
465b3ebbfe View: support multitouch properly
seems to work, but there might still be some edge cases
2025-01-15 00:06:06 +01:00
Julian Winkler
785c24af62 implement View.setKeepScreenOn() 2025-01-11 23:23:53 +01:00
Julian Winkler
0dfcb9324f drop GTK < 4.14 ifdefs 2024-12-22 23:40:11 +01:00
Julian Winkler
47fc749018 implement WindowManager for composeUI popups
currently everything is created as GtkPopover which is not ideal for
toplevel windows, so print a warning in that case.
2024-12-17 22:38:09 +01:00
Julian Winkler
967e6e9b94 AndroidLayout: prevent unnecessary measurements between two JavaWidgets
GTK sometimes calls widget_measure() from widget_allocate(). This is
unnecessary if the parent and child are both JavaWidgets and these
unexpected measurements can confuse Views.
2024-12-15 18:06:58 +01:00
Julian Winkler
864750020e View: always call dispatchTouchEvent() if overwritten 2024-12-13 22:32:04 +01:00
Julian Winkler
fe7790c4ff View: implement requestFocus() and isFocused() 2024-12-01 14:15:00 +00:00
Julian Winkler
d0952101a6 implement some Canvas methods needed for composeUI 2024-12-01 14:15:00 +00:00
Daniel Panero
be93b4c396 JavaWidget: add css classes and default_stylesheet.css 2024-11-26 16:33:38 +01:00
Daniel Panero
fb6565e535 Add paddings and improved margins 2024-11-18 21:39:01 +00:00
Julian Winkler
6068ac2eb8 View.setSystemUiVisibility(): implement fullscreen
For now we only allow fullscreen for maximized windows
2024-10-31 20:30:15 +01:00
Julian Winkler
c492e1f03f add Java APIs needed for WhatsApp MainActivity and ConversationActivity 2024-10-03 15:57:44 +02:00