Commit Graph

19 Commits

Author SHA1 Message Date
Julian Winkler
24f839f556 make android.text.Layout.draw() compatible custom Canvas classes
TextAndroidCanvas is a proxy canvas class which prevents us from
accessing the GtkSnapshot of the real canvas. To solve this problem, we
call Canvas.drawText() for each line.
2025-02-24 21:49:46 +01:00
Julian Winkler
587aeaba74 Canvas: implement drawCircle() and a drawText() variant 2025-02-24 21:45:36 +01:00
Mis012
899805f23f Canvas: add drawLines 2025-02-15 21:42:21 +01:00
Julian Winkler
829df70a9f Canvas: fix some issues spotted by the CTS 2025-02-13 06:56:31 +01:00
Julian Winkler
652715ee00 Canvas: add more Bitmap drawing methods 2025-02-10 21:55:14 +01:00
Julian Winkler
7695aadf91 implement Paint as combination of GDK, GSK and Pango attributes 2024-12-22 23:40:11 +01:00
Julian Winkler
f3bc468a1c drop Skia dependency
Everything is implementede using GTK Scene Graph now. Skia is no longer
needed.
2024-12-22 12:30:29 +01:00
Julian Winkler
cd2c69cf73 reimplement Bitmap and Path using GdkTexture and GskPath
This allows us to use GskCanvas for Bitmap rendering

This increases the required GTK version to >= 4.14.
2024-12-22 12:30:29 +01:00
Julian Winkler
c8ed103516 implement Canvas.scale() for skia and GtkSnapshot 2024-12-16 17:54:15 +01:00
Julian Winkler
597c73f334 GskCanvas: implement RoundedRect filling 2024-12-16 17:54:15 +01:00
Julian Winkler
1955522b28 android.text.Layout: actually measure text sizes 2024-12-13 22:32:04 +01:00
Julian Winkler
d0952101a6 implement some Canvas methods needed for composeUI 2024-12-01 14:15:00 +00:00
Julian Winkler
e8eabb2027 GskCanvas.drawBitmap(): reuse GdkTexture objects 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
d941fd5a81 implement more GskCanvas methods 2024-05-27 16:37:49 +00:00
Julian Winkler
3d9eb9611f GskCanvas: implement drawPath, rotate, translate, save, restore
This is enough to make DrawerArrowDrawable functional.

drawPath() only draws line segments for now.
2024-04-09 18:19:18 +02:00
Mis012
b229d83ad8 GskCanvas: implement drawRect 2024-04-07 23:23:30 +02:00
Julian Winkler
8eb0c0a3c1 implement ColorFilter in GskCanvas
This is needed to make icons follow night mode setting
2024-03-24 22:13:28 +01:00
Julian Winkler
ad266c7821 add support for custom Java Drawables
This is made possible, by adding a second Canvas implementation which
can be used to render directly to GdkSnapshot objects

For now the only implemented method is drawBitmap(), this is already
enough to make VectorDrawableCompat functional
2024-03-24 22:13:28 +01:00