Skip to content
This repository was archived by the owner on Nov 10, 2025. It is now read-only.

Commit e08bbc1

Browse files
committed
Set color filter once
1 parent 119129b commit e08bbc1

File tree

1 file changed

+19
-27
lines changed
  • android-pdf-viewer/src/main/java/com/github/barteksc/pdfviewer

1 file changed

+19
-27
lines changed

android-pdf-viewer/src/main/java/com/github/barteksc/pdfviewer/PDFView.java

Lines changed: 19 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@
4242
import com.github.barteksc.pdfviewer.listener.OnDrawListener;
4343
import com.github.barteksc.pdfviewer.listener.OnErrorListener;
4444
import com.github.barteksc.pdfviewer.listener.OnLoadCompleteListener;
45+
import com.github.barteksc.pdfviewer.listener.OnLongPressListener;
4546
import com.github.barteksc.pdfviewer.listener.OnPageChangeListener;
4647
import com.github.barteksc.pdfviewer.listener.OnPageErrorListener;
4748
import com.github.barteksc.pdfviewer.listener.OnPageScrollListener;
4849
import com.github.barteksc.pdfviewer.listener.OnRenderListener;
4950
import com.github.barteksc.pdfviewer.listener.OnTapListener;
50-
import com.github.barteksc.pdfviewer.listener.OnLongPressListener;
5151
import com.github.barteksc.pdfviewer.model.PagePart;
5252
import com.github.barteksc.pdfviewer.scroll.ScrollHandle;
5353
import com.github.barteksc.pdfviewer.source.AssetSource;
@@ -377,7 +377,22 @@ public void setSwipeEnabled(boolean enableSwipe) {
377377
this.enableSwipe = enableSwipe;
378378
}
379379

380-
public void setNightMode(boolean nightMode) { this.nightMode = nightMode; }
380+
public void setNightMode(boolean nightMode) {
381+
this.nightMode = nightMode;
382+
if (nightMode) {
383+
ColorMatrix colorMatrixInverted =
384+
new ColorMatrix(new float[]{
385+
-1, 0, 0, 0, 255,
386+
0, -1, 0, 0, 255,
387+
0, 0, -1, 0, 255,
388+
0, 0, 0, 1, 0});
389+
390+
ColorMatrixColorFilter filter = new ColorMatrixColorFilter(colorMatrixInverted);
391+
paint.setColorFilter(filter);
392+
} else {
393+
paint.setColorFilter(null);
394+
}
395+
}
381396

382397
void enableDoubletap(boolean enableDoubletap) {
383398
this.doubletapEnabled = enableDoubletap;
@@ -555,11 +570,7 @@ protected void onDraw(Canvas canvas) {
555570

556571
Drawable bg = getBackground();
557572
if (bg == null) {
558-
if (this.nightMode)
559-
canvas.drawColor(Color.BLACK);
560-
else
561-
canvas.drawColor(Color.WHITE);
562-
573+
canvas.drawColor(nightMode ? Color.BLACK : Color.WHITE);
563574
} else {
564575
bg.draw(canvas);
565576
}
@@ -675,25 +686,6 @@ private void drawPart(Canvas canvas, PagePart part) {
675686
return;
676687
}
677688

678-
679-
// NIGHT MODE !!!
680-
if ( this.nightMode ) {
681-
paint = new Paint();
682-
ColorMatrix colorMatrix_Inverted =
683-
new ColorMatrix(new float[] {
684-
-1, 0, 0, 0, 255,
685-
0, -1, 0, 0, 255,
686-
0, 0, -1, 0, 255,
687-
0, 0, 0, 1, 0});
688-
689-
690-
ColorMatrixColorFilter filter = new ColorMatrixColorFilter(colorMatrix_Inverted);
691-
paint.setColorFilter(filter);
692-
}
693-
else
694-
paint = new Paint();
695-
// NIGHT MODE !!!
696-
697689
canvas.drawBitmap(renderedBitmap, srcRect, dstRect, paint);
698690

699691
if (Constants.DEBUG_MODE) {
@@ -1473,7 +1465,7 @@ public Configurator pageFling(boolean pageFling) {
14731465
return this;
14741466
}
14751467

1476-
public Configurator setNightMode(boolean nightMode) {
1468+
public Configurator nightMode(boolean nightMode) {
14771469
this.nightMode = nightMode;
14781470
return this;
14791471
}

0 commit comments

Comments
 (0)