]> git.eshelyaron.com Git - emacs.git/commit
Implement face stipples on Android
authorPo Lu <luangruo@yahoo.com>
Tue, 23 Apr 2024 06:30:38 +0000 (14:30 +0800)
committerEshel Yaron <me@eshelyaron.com>
Tue, 23 Apr 2024 10:13:55 +0000 (12:13 +0200)
commitdf74cd1e397312a5431256488784e45b4ded1de9
tree5db094258af5cab338703a23b6e6d46326981833
parent5807488bbf6dedb171507c548828d125a3635fa9
Implement face stipples on Android

* .gitignore:

* java/Makefile.in: Fix typos.

* java/org/gnu/emacs/EmacsFillRectangle.java (perform): Call
blitOpaqueStipple if filling an unobscured rectangle with an
opaque stipple.

* java/org/gnu/emacs/EmacsGC.java (EmacsGC) <tileObject>: New
field.
(markDirty): Synchronize the current stipple with tileObject.
(prepareStipple, blitOpaqueStipple): New functions.

* java/org/gnu/emacs/EmacsService.java (EmacsService)
<resources>: New static field.
(onCreate): Set it.

* src/android.c (android_create_bitmap_from_data): Correct order
of arguments to android_create_pixmap_from_bitmap_data.
(HAS_BUILTIN_TRAP): Delete macro.
(emacs_abort): Always induce backtraces by means of a NULL
pointer deference.

* src/dispextern.h (Emacs_GC, Emacs_Rectangle, GCForeground)
(GCBackground, GCFillStyle, GCStipple, FillOpaqueStipple)
[HAVE_ANDROID]: Define to their Android counterparts rather
than simulating their existence.

* src/epaths.in: Set bitmap path to /assets/bitmaps on Android.

* src/image.c (image_bitmap_pixmap): Also enable when
HAVE_ANDROID.

* src/sfntfont-android.c (sfntfont_android_put_glyphs): Assert
that this is never called to draw a stippled background.
* src/xfaces.c (x_create_gc) [HAVE_ANDROID]: Redefine as
wrapper around android_create_gc.
(prepare_face_for_display) [HAVE_ANDROID]: Enable stipples.

(cherry picked from commit b9c191d690fd5d1480858469df23cc4509996fae)
.gitignore
java/Makefile.in
java/org/gnu/emacs/EmacsFillRectangle.java
java/org/gnu/emacs/EmacsGC.java
java/org/gnu/emacs/EmacsService.java
src/android.c
src/dispextern.h
src/epaths.in
src/image.c
src/sfntfont-android.c
src/xfaces.c