mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Add a registry key to select daltonization algotihm
This commit is contained in:
@@ -3,6 +3,13 @@ package com.intellij.ide.ui;
|
||||
import java.awt.image.ImageFilter;
|
||||
|
||||
final class DaltonizationFilter extends WeightFilter {
|
||||
public static ImageFilter get(ColorBlindness blindness) {
|
||||
if (blindness == ColorBlindness.protanopia) return protanopia;
|
||||
if (blindness == ColorBlindness.deuteranopia) return deuteranopia;
|
||||
if (blindness == ColorBlindness.tritanopia) return tritanopia;
|
||||
return null;
|
||||
}
|
||||
|
||||
public static final ImageFilter protanopia = forProtanopia(null);
|
||||
public static final ImageFilter deuteranopia = forDeuteranopia(null);
|
||||
public static final ImageFilter tritanopia = forTritanopia(null);
|
||||
|
||||
@@ -95,6 +95,13 @@ final class MatrixFilter extends WeightFilter {
|
||||
TRITANOPIA_CORRECTION = Matrix.create(3, 1, 0, 0, 0, 1, 0, .7, .7, 1);
|
||||
}
|
||||
|
||||
public static ImageFilter get(ColorBlindness blindness) {
|
||||
if (blindness == ColorBlindness.protanopia) return protanopia;
|
||||
if (blindness == ColorBlindness.deuteranopia) return deuteranopia;
|
||||
if (blindness == ColorBlindness.tritanopia) return tritanopia;
|
||||
return null;
|
||||
}
|
||||
|
||||
public static final ImageFilter protanopia = forProtanopia(null, true);
|
||||
public static final ImageFilter deuteranopia = forDeuteranopia(null, true);
|
||||
public static final ImageFilter tritanopia = forTritanopia(null, true);
|
||||
|
||||
@@ -3,6 +3,14 @@ package com.intellij.ide.ui;
|
||||
import java.awt.image.ImageFilter;
|
||||
|
||||
final class SimulationFilter extends WeightFilter {
|
||||
public static ImageFilter get(ColorBlindness blindness) {
|
||||
if (blindness == ColorBlindness.protanopia) return protanopia;
|
||||
if (blindness == ColorBlindness.deuteranopia) return deuteranopia;
|
||||
if (blindness == ColorBlindness.tritanopia) return tritanopia;
|
||||
if (blindness == ColorBlindness.achromatopsia) return achromatopsia;
|
||||
return null;
|
||||
}
|
||||
|
||||
public static final ImageFilter protanopia = forProtanopia(null);
|
||||
public static final ImageFilter deuteranopia = forDeuteranopia(null);
|
||||
public static final ImageFilter tritanopia = forTritanopia(null);
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.intellij.openapi.util.IconLoader;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.SimpleModificationTracker;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import com.intellij.openapi.util.registry.Registry;
|
||||
import com.intellij.util.EventDispatcher;
|
||||
import com.intellij.util.PlatformUtils;
|
||||
import com.intellij.util.SystemProperties;
|
||||
@@ -41,7 +42,6 @@ import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.intellij.util.ui.UIUtil.isValidFont;
|
||||
|
||||
@@ -171,13 +171,9 @@ public class UISettings extends SimpleModificationTracker implements PersistentS
|
||||
incModificationCount();
|
||||
myDispatcher.getMulticaster().uiSettingsChanged(this);
|
||||
ApplicationManager.getApplication().getMessageBus().syncPublisher(UISettingsListener.TOPIC).uiSettingsChanged(this);
|
||||
IconLoader.setFilter(COLOR_BLINDNESS == ColorBlindness.protanopia
|
||||
? DaltonizationFilter.protanopia
|
||||
: COLOR_BLINDNESS == ColorBlindness.deuteranopia
|
||||
? DaltonizationFilter.deuteranopia
|
||||
: COLOR_BLINDNESS == ColorBlindness.tritanopia
|
||||
? DaltonizationFilter.tritanopia
|
||||
: null);
|
||||
IconLoader.setFilter(Registry.is("color.blindness.daltonization")
|
||||
? DaltonizationFilter.get(COLOR_BLINDNESS)
|
||||
: MatrixFilter.get(COLOR_BLINDNESS));
|
||||
}
|
||||
|
||||
public void removeUISettingsListener(UISettingsListener listener) {
|
||||
|
||||
@@ -43,6 +43,7 @@ actionSystem.enableAbbreviations=true
|
||||
actionSystem.extendedKeyCode.disabled=false
|
||||
|
||||
color.blindness.icon.filter=false
|
||||
color.blindness.daltonization=false
|
||||
|
||||
ide.debugMode=false
|
||||
|
||||
|
||||
Reference in New Issue
Block a user