Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 408e6a2

Browse files
committed
Merge branch 'alierdogan7-master'
2 parents b5a4544 + e08bbc1 commit 408e6a2

File tree

1 file changed

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

1 file changed

+31
-2
lines changed

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

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
import android.graphics.Bitmap;
2020
import android.graphics.Canvas;
2121
import android.graphics.Color;
22+
import android.graphics.ColorMatrix;
23+
import android.graphics.ColorMatrixColorFilter;
2224
import android.graphics.Paint;
2325
import android.graphics.Paint.Style;
2426
import android.graphics.PaintFlagsDrawFilter;
@@ -40,12 +42,12 @@
4042
import com.github.barteksc.pdfviewer.listener.OnDrawListener;
4143
import com.github.barteksc.pdfviewer.listener.OnErrorListener;
4244
import com.github.barteksc.pdfviewer.listener.OnLoadCompleteListener;
45+
import com.github.barteksc.pdfviewer.listener.OnLongPressListener;
4346
import com.github.barteksc.pdfviewer.listener.OnPageChangeListener;
4447
import com.github.barteksc.pdfviewer.listener.OnPageErrorListener;
4548
import com.github.barteksc.pdfviewer.listener.OnPageScrollListener;
4649
import com.github.barteksc.pdfviewer.listener.OnRenderListener;
4750
import com.github.barteksc.pdfviewer.listener.OnTapListener;
48-
import com.github.barteksc.pdfviewer.listener.OnLongPressListener;
4951
import com.github.barteksc.pdfviewer.model.PagePart;
5052
import com.github.barteksc.pdfviewer.scroll.ScrollHandle;
5153
import com.github.barteksc.pdfviewer.source.AssetSource;
@@ -178,6 +180,8 @@ enum ScrollDir {
178180

179181
private boolean doubletapEnabled = true;
180182

183+
private boolean nightMode = false;
184+
181185
private boolean pageSnap = true;
182186

183187
/** Pdfium core for loading and rendering PDFs */
@@ -373,6 +377,23 @@ public void setSwipeEnabled(boolean enableSwipe) {
373377
this.enableSwipe = enableSwipe;
374378
}
375379

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+
}
396+
376397
void enableDoubletap(boolean enableDoubletap) {
377398
this.doubletapEnabled = enableDoubletap;
378399
}
@@ -549,7 +570,7 @@ protected void onDraw(Canvas canvas) {
549570

550571
Drawable bg = getBackground();
551572
if (bg == null) {
552-
canvas.drawColor(Color.WHITE);
573+
canvas.drawColor(nightMode ? Color.BLACK : Color.WHITE);
553574
} else {
554575
bg.draw(canvas);
555576
}
@@ -1313,6 +1334,8 @@ public class Configurator {
13131334

13141335
private boolean pageSnap = false;
13151336

1337+
private boolean nightMode = false;
1338+
13161339
private Configurator(DocumentSource documentSource) {
13171340
this.documentSource = documentSource;
13181341
}
@@ -1442,6 +1465,11 @@ public Configurator pageFling(boolean pageFling) {
14421465
return this;
14431466
}
14441467

1468+
public Configurator nightMode(boolean nightMode) {
1469+
this.nightMode = nightMode;
1470+
return this;
1471+
}
1472+
14451473
public void load() {
14461474
if (!hasSize) {
14471475
waitingDocumentConfigurator = this;
@@ -1460,6 +1488,7 @@ public void load() {
14601488
PDFView.this.callbacks.setOnPageError(onPageErrorListener);
14611489
PDFView.this.callbacks.setLinkHandler(linkHandler);
14621490
PDFView.this.setSwipeEnabled(enableSwipe);
1491+
PDFView.this.setNightMode(nightMode);
14631492
PDFView.this.enableDoubletap(enableDoubletap);
14641493
PDFView.this.setDefaultPage(defaultPage);
14651494
PDFView.this.setSwipeVertical(!swipeHorizontal);

0 commit comments

Comments
 (0)