Commit Graph

25 Commits

Author SHA1 Message Date
Julian Winkler
f69cff7113 implement Bitmap.compress() 2025-02-10 21:55:14 +01:00
Julian Winkler
e9769c1587 Bitmap: explicitly store whether it was recycled 2025-02-10 21:55:14 +01:00
Julian Winkler
111a90e554 add Bitmap.isMutable()
In our implementation all bitmaps are mutable
2025-01-26 22:27:43 +01:00
Julian Winkler
57dd86fc98 api-impl: misc stubs for WhatsApp 2025-01-11 22:42:25 +01:00
Julian Winkler
bf923cfcfa Bitmap: create Texture as GdkMemoryTexture if nothing has to be rendered
This improves OsmAnd V1 renderer performance.
2024-12-22 23:40:11 +01:00
Julian Winkler
260821d68c Bitmap: implement pixel buffer access
For GPU textures, the GdkTextureDownloader will take care of format
conversions, so the application never sees the actual format.

If the application calls AndroidBitmap_unlockPixels(), the texture is
converted into a GdkMemoryTexture and can be accessed zero copy.
2024-12-22 23:40:11 +01:00
Julian Winkler
ba302d87ec add back graphics APIs for the previously working applications 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
1398125eb5 api-impl: stubs and fixes for Compose Stopwatch and LibreSudoku 2024-12-13 22:32:02 +01:00
Julian Winkler
e3c0931714 prevent reference cycles between Java and native objects 2024-08-02 17:02:53 +02:00
Mis012
2c1e0dd3b8 Bitmap: implement nativeCopyPixelsFromBuffer 2024-06-28 22:15:57 +02:00
Julian Winkler
b81f53e4b2 Bitmap: regenerate GdkTexture when Canvas was used on the Bitmap 2024-06-15 07:14:30 +02:00
Mis012
97e59437b9 Bitmap: implement copyPixelsToBuffer 2024-05-27 18:58:04 +02:00
Julian Winkler
e8eabb2027 GskCanvas.drawBitmap(): reuse GdkTexture objects 2024-05-27 16:37:49 +00:00
Mis012
e1abceee85 api-impl: more stubs to make OsmAnd launch
with latest bionic_translation, OsmAnd doesn't crash in native code
2024-04-14 15:15:42 +02:00
Mis012
2e864adc0f implement drawing into Bitmaps with Canvas, make BitmapDrawable use use paintable, misc Bitmap improvements 2024-03-16 15:00:22 +01:00
Julian Winkler
850fd2f076 add some stubs to make NewPipe video player work again 2024-02-08 14:22:40 +01:00
Julian Winkler
4130e252cc fixes to make Picasso Image Loader work
This library is used by newer NewPipe versions
2023-10-14 18:29:33 +02:00
Julian Winkler
ceb5df9d39 implement BitmapFactory.decodeStream() using gdk_pixbuf_new_from_stream
The java InputStream is wrapped into a custom GInputStream
implementation
2023-09-01 16:05:26 +02:00
Mis012
ffb2855a05 api-impl: add misc stuff needed by Teeter
note that Teeter still needs more stuff before it will work
2023-07-25 14:29:50 +02:00
Mis012
0a9591c474 src/api-impl: fix up code style, mainly for code imported from AOSP
used the following (plus manual edits):
`clang-format --style="{BasedOnStyle: LLVM, IndentWidth: 8, UseTab: Always, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: true, ColumnLimit: 0}`
2023-06-22 11:45:46 +02:00
Julian Winkler
12e9e9788a load assets and bitmaps directly from apk 2023-06-21 22:38:08 +02:00
Julian Winkler
58ec3733d3 Bitmap: implement decodeStream, getPixels and recycle 2023-06-18 11:28:40 +02:00
Mis012
49961186a2 get rid of launcher script requirement; fix app data dir being hardcoded; update documentation; remove prebuilt dalvik (NOTE - purged from history at this point, so is not part of the diff) 2022-10-12 17:30:07 +02:00
Mis012
449090143e refactor source tree organization, switch to meson 2022-10-09 22:59:16 +02:00