1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 12:21:25 -08:00
emacs/java
Po Lu b9c191d690 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.
2024-04-23 14:30:38 +08:00
..
org/gnu/emacs Implement face stipples on Android 2024-04-23 14:30:38 +08:00
res
AndroidManifest.xml.in Correct typos in and omissions from earlier Android port changes 2024-04-06 11:17:49 +08:00
debug.sh
emacs.keystore
INSTALL * java/INSTALL: Update instructions. 2024-04-19 17:39:29 +08:00
Makefile.in Implement face stipples on Android 2024-04-23 14:30:38 +08:00
proguard.conf Remove leftover tasks from previous Emacs sessions on startup 2024-04-14 10:36:50 +08:00
README

This directory holds the Java sources of the port of GNU Emacs to
Android-like systems, along with files needed to create an application
package out of them.  If you need to build this port, please read the
file INSTALL in this directory.

The ``org/gnu/emacs'' subdirectory contains the Java sources under the
``org.gnu.emacs'' package identifier.

``AndroidManifest.xml'' contains a manifest describing the Java
sources to the system.

The ``res'' directory contains resources, mainly the Emacs icon and
several ``boolean resources'' which are used as a form of conditional
evaluation for manifest entries.

`emacs.keystore' is the signing key used to build Emacs.  It is kept
here, and we encourage all people redistributing Emacs to use this
key.  It holds no security value, and otherwise it will be impossible
to install different builds of Emacs on top of each other.

Please keep the Java code indented with tabs and formatted according
to the rules for C code in the GNU coding standards.  Always use
C-style comments.

Refer to the file `admin/notes/java' in the toplevel directory of the
Emacs distribution or repository for specifics regarding writing Java
code for Emacs and the organization of the Android port.