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
Julian Winkler
e3c0931714
prevent reference cycles between Java and native objects
2024-08-02 17:02:53 +02:00
Mis012
004ba4ff00
remove some old debugging prints, gate others behind verbose log
2024-06-22 14:35:56 +02:00
Julian Winkler
c5e0f8a7fd
View.draw(): draw background, content, children in same order as AOSP
2024-05-27 16:37:49 +00:00
Julian Winkler
6f02565920
GskCanavas: draw default content when custom View calls super.onDraw()
2024-05-27 16:37:49 +00:00
Julian Winkler
c56dd88fb6
fix View.getGlobalVisibleRect() for 0x0 allocated Views
...
fixes commit f82af6ecb7
2024-05-20 08:12:28 +02:00
Julian Winkler
0ebbfc9461
set GTK_OVERFLOW_HIDDEN again for WrapperWidgets with allocation
...
This is needed for RecyclerView, which will be allocated because of the
onTouch() listener.
2024-05-11 13:17:54 +02:00
Julian Winkler
e4a399f849
use AndroidLayout for all JavaWidgets
2024-05-11 07:07:24 +02:00
Julian Winkler
f82af6ecb7
allocate transparent {WrapperWidget / JavaWidget} 0x0 and draw children in overflow area
...
This prevents overlay widgets from blocking touch events.
Androids ViewGroup.dispatchTouchEvent() loops over all children and only breaks if an eventhandler returns true. Gtk on the other hand stops at the first sensitive child. Even if the eventhandler returned false.
2024-05-11 07:07:24 +02:00
Julian Winkler
64411c75aa
fix build on Debian 12 / GTK 4.8
2024-05-06 07:28:56 +02:00
Mis012
31929d2253
ignore deprecation warnings for per-widget css, switch gtk_widget_translate_coordinates to gtk_widget_compute_point
2024-04-20 16:34:01 +02:00
Julian Winkler
654d551377
View.setTranslationY(): queue allocate when called on CoordinatorLayout
...
androidx adjusts the translation a little bit and immediately
reverts it to trigger a layout pass on the CoordinatorLayout.
Calling gtk_widget_queue_allocate here makes CoordinatorLayout behave
correctly, but it causes strange issues with other Views. Therefore, it is
done only for CoordinatorLayouts for now.
2024-03-28 20:50:05 +01:00
Julian Winkler
66e5d77959
View: clear canceled_event pointer
...
This is needed, as GdkEvent pointers are not guaranteed to be unique
2024-03-28 20:50:05 +01:00
Julian Winkler
e477b56dec
OnTouchListener: attach event controllers to WrapperWidget
...
otherwise, the touch event positions would depend on the scroll offset.
This fixes the glitchy vertical scrolling in ViewPager
2024-03-25 19:50:29 +01:00
Julian Winkler
19f1747e0d
View.getGlobalVisibleRect(): surface transform needs to be added
2024-03-15 19:51:02 +01:00