]> git.eshelyaron.com Git - emacs.git/commit
Optimize damage region tracking under Android
authorPo Lu <luangruo@yahoo.com>
Mon, 18 Sep 2023 02:59:55 +0000 (10:59 +0800)
committerPo Lu <luangruo@yahoo.com>
Mon, 18 Sep 2023 02:59:55 +0000 (10:59 +0800)
commit4e46df96510335c086a3764e002c99348e0e9624
tree329373ead49ac6ff2a25e54dec65a70ca3297cb1
parent514b70d5a0c73f5c0698494b323dc31dbc854d3a
Optimize damage region tracking under Android

* java/org/gnu/emacs/EmacsDrawLine.java (perform):

* java/org/gnu/emacs/EmacsDrawRectangle.java (perform): Call
damageRect with integer coordinates in lieu of consing a new
Rect.

* java/org/gnu/emacs/EmacsDrawable.java (damageRect) <IIII>:
Declare a new variant of damageRect, accepting four integers
designating the extents of the damage rectangle.

* java/org/gnu/emacs/EmacsPixmap.java (damageRect) <IIII>: New
stub.

* java/org/gnu/emacs/EmacsView.java (damageRect) <IIII>:
Implement this overloaded variant of damageRect.

* java/org/gnu/emacs/EmacsWindow.java (damageRect): Ditto.

* src/android.c (android_init_emacs_drawable)
(android_init_emacs_window): Move search for `damageRect' to
android_init_emacs_window.
(android_damage_window): Call IIII variant of `damageRect' to
avoid consing a new rectangle.  Ameliorate dynamic method
dispatch overhead.
java/org/gnu/emacs/EmacsDrawLine.java
java/org/gnu/emacs/EmacsDrawRectangle.java
java/org/gnu/emacs/EmacsDrawable.java
java/org/gnu/emacs/EmacsPixmap.java
java/org/gnu/emacs/EmacsView.java
java/org/gnu/emacs/EmacsWindow.java
src/android.c