diff --git a/src/org/geometerplus/android/fbreader/preferences/PreferenceActivity.java b/src/org/geometerplus/android/fbreader/preferences/PreferenceActivity.java index a4165ae37..845592219 100644 --- a/src/org/geometerplus/android/fbreader/preferences/PreferenceActivity.java +++ b/src/org/geometerplus/android/fbreader/preferences/PreferenceActivity.java @@ -543,6 +543,7 @@ public class PreferenceActivity extends ZLPreferenceActivity { imagesScreen.addOption(fbReader.ImageTappingActionOption, "tappingAction"); imagesScreen.addOption(fbReader.FitImagesToScreenOption, "fitImagesToScreen"); imagesScreen.addOption(fbReader.ImageViewBackgroundOption, "backgroundColor"); + imagesScreen.addOption(fbReader.ImageMatchBackgroundOption, "matchBackground"); final CancelMenuHelper cancelMenuHelper = new CancelMenuHelper(); final Screen cancelMenuScreen = createPreferenceScreen("cancelMenu"); diff --git a/src/org/geometerplus/fbreader/fbreader/ColorProfile.java b/src/org/geometerplus/fbreader/fbreader/ColorProfile.java index 58350eb9f..dfff44825 100644 --- a/src/org/geometerplus/fbreader/fbreader/ColorProfile.java +++ b/src/org/geometerplus/fbreader/fbreader/ColorProfile.java @@ -53,6 +53,8 @@ public class ColorProfile { return profile; } + public final String Name; + public final ZLStringOption WallpaperOption; public final ZLColorOption BackgroundOption; public final ZLColorOption SelectionBackgroundOption; @@ -80,6 +82,7 @@ public class ColorProfile { } private ColorProfile(String name) { + Name = name; if (NIGHT.equals(name)) { WallpaperOption = new ZLStringOption("Colors", name + ":Wallpaper", ""); diff --git a/src/org/geometerplus/fbreader/fbreader/FBReaderApp.java b/src/org/geometerplus/fbreader/fbreader/FBReaderApp.java index cc3b24426..ede9bc2ae 100644 --- a/src/org/geometerplus/fbreader/fbreader/FBReaderApp.java +++ b/src/org/geometerplus/fbreader/fbreader/FBReaderApp.java @@ -64,6 +64,8 @@ public final class FBReaderApp extends ZLApplication { } public final ZLEnumOption ImageTappingActionOption = new ZLEnumOption("Options", "ImageTappingAction", ImageTappingAction.openImageView); + public final ZLBooleanOption ImageMatchBackgroundOption = + new ZLBooleanOption("Colors", "ImageMatchBackground", true); public final ViewOptions ViewOptions = new ViewOptions(); diff --git a/src/org/geometerplus/fbreader/fbreader/FBView.java b/src/org/geometerplus/fbreader/fbreader/FBView.java index 283adcbf9..f4b67a96f 100644 --- a/src/org/geometerplus/fbreader/fbreader/FBView.java +++ b/src/org/geometerplus/fbreader/fbreader/FBView.java @@ -654,6 +654,14 @@ public final class FBView extends ZLTextView { @Override protected ZLPaintContext.ColorAdjustingMode getAdjustingModeForImages() { - return ZLPaintContext.ColorAdjustingMode.NONE; + if (myReader.ImageMatchBackgroundOption.getValue()) { + if (ColorProfile.DAY.equals(myReader.getColorProfile().Name)) { + return ZLPaintContext.ColorAdjustingMode.DARKEN_TO_BACKGROUND; + } else { + return ZLPaintContext.ColorAdjustingMode.LIGHTEN_TO_BACKGROUND; + } + } else { + return ZLPaintContext.ColorAdjustingMode.NONE; + } } }