diff options
| author | Po Lu <luangruo@yahoo.com> | 2023-09-18 10:59:55 +0800 |
|---|---|---|
| committer | Po Lu <luangruo@yahoo.com> | 2023-09-18 10:59:55 +0800 |
| commit | 4e46df96510335c086a3764e002c99348e0e9624 (patch) | |
| tree | 329373ead49ac6ff2a25e54dec65a70ca3297cb1 /java/org/gnu/emacs/EmacsDrawLine.java | |
| parent | 514b70d5a0c73f5c0698494b323dc31dbc854d3a (diff) | |
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.
Diffstat (limited to 'java/org/gnu/emacs/EmacsDrawLine.java')
| -rw-r--r-- | java/org/gnu/emacs/EmacsDrawLine.java | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/java/org/gnu/emacs/EmacsDrawLine.java b/java/org/gnu/emacs/EmacsDrawLine.java index d367ccff9c4..be4da54c075 100644 --- a/java/org/gnu/emacs/EmacsDrawLine.java +++ b/java/org/gnu/emacs/EmacsDrawLine.java @@ -29,7 +29,6 @@ public final class EmacsDrawLine perform (EmacsDrawable drawable, EmacsGC gc, int x, int y, int x2, int y2) { - Rect rect; Canvas canvas; Paint paint; int x0, x1, y0, y1; @@ -48,7 +47,6 @@ public final class EmacsDrawLine /* And the clip rectangle. */ paint = gc.gcPaint; - rect = new Rect (x0, y0, x1, y1); canvas = drawable.lockCanvas (gc); if (canvas == null) @@ -74,6 +72,6 @@ public final class EmacsDrawLine /* DrawLine with clip mask not implemented; it is not used by Emacs. */ - drawable.damageRect (rect); + drawable.damageRect (x0, y0, x1, y1); } } |
