Mercurial > 510Connectbot
diff app/src/main/java/com/five_ten_sg/connectbot/TerminalView.java @ 457:105815cce146 stable-1.9.3-3
minimum version android 5, target and compile version api 28
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Tue, 29 Jan 2019 11:21:57 -0800 |
parents | d29cce60f393 |
children |
line wrap: on
line diff
--- a/app/src/main/java/com/five_ten_sg/connectbot/TerminalView.java Sat Nov 10 12:18:05 2018 -0800 +++ b/app/src/main/java/com/five_ten_sg/connectbot/TerminalView.java Tue Jan 29 11:21:57 2019 -0800 @@ -32,15 +32,17 @@ import android.content.pm.ResolveInfo; import android.database.Cursor; import android.graphics.Canvas; +import android.graphics.ColorMatrix; +import android.graphics.ColorMatrixColorFilter; import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.Path; -import android.graphics.PixelXorXfermode; import android.graphics.RectF; import android.net.Uri; import android.os.AsyncTask; import android.util.Log; import android.view.KeyEvent; +import android.view.ScaleGestureDetector; import android.view.View; import android.view.ViewGroup.LayoutParams; import android.view.accessibility.AccessibilityEvent; @@ -48,7 +50,6 @@ import android.view.inputmethod.BaseInputConnection; import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputConnection; -import android.view.ScaleGestureDetector; import android.widget.Toast; import de.mud.terminal.VDUBuffer; @@ -97,6 +98,15 @@ public ScaleGestureDetector mScaleDetector; + private ColorMatrix getColorMatrix() { + return new ColorMatrix(new float[] { + -1, 0, 0, 0, 255, + 0, -1, 0, 0, 255, + 0, 0, -1, 0, 255, + 0, 0, 0, 1, 0 + }); + } + public TerminalView(Context context, TerminalBridge bridge) { super(context); this.context = context; @@ -107,7 +117,8 @@ setFocusableInTouchMode(true); cursorPaint = new Paint(); cursorPaint.setColor(bridge.color[bridge.defaultFg]); - cursorPaint.setXfermode(new PixelXorXfermode(bridge.color[bridge.defaultBg])); + cursorPaint.setColorFilter(new ColorMatrixColorFilter(getColorMatrix())); + //cursorPaint.setXfermode(new PixelXorXfermode(bridge.color[bridge.defaultBg])); cursorPaint.setAntiAlias(true); cursorStrokePaint = new Paint(cursorPaint); cursorStrokePaint.setStrokeWidth(0.1f); @@ -223,14 +234,13 @@ else if ((metaState & TerminalKeyListener.META_CTRL_LOCK) != 0) canvas.drawPath(ctrlCursor, cursorPaint); - // Restore previous clip region - canvas.restore(); + canvas.restore(); // Restore previous clip region } // draw any highlighted area if (bridge.isSelectingForCopy()) { SelectionArea area = bridge.getSelectionArea(); - canvas.save(Canvas.CLIP_SAVE_FLAG); + canvas.save(); canvas.clipRect( area.getLeft() * bridge.charWidth, area.getTop() * bridge.charHeight,