blob: 4b1f4784c6130f783e5ad3090870a45c8a7871f3 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
package cuchaz.enigma.config;
import com.bulenkov.darcula.DarculaLaf;
import cuchaz.enigma.gui.Gui;
import cuchaz.enigma.gui.MinecraftSyntaxKit;
import cuchaz.enigma.gui.highlight.DeobfuscatedHighlightPainter;
import cuchaz.enigma.gui.highlight.ObfuscatedHighlightPainter;
import cuchaz.enigma.gui.highlight.OtherHighlightPainter;
import de.sciss.syntaxpane.DefaultSyntaxKit;
import javax.swing.*;
import java.awt.*;
import java.io.IOException;
public class Themes {
public static void setDefault(Gui gui) {
// TODO set to default
try {
Config.getInstance().reset();
} catch (IOException e) {
e.printStackTrace();
}
updateTheme(gui);
}
public static void setDark(Gui gui) {
//Based off colors found here: https://github.com/dracula/dracula-theme/
Config.getInstance().obfuscatedColor = 0xFF5555;
Config.getInstance().obfuscatedHiglightAlpha = 0.3F;
Config.getInstance().obfuscatedColorOutline = 0xFF5555;
Config.getInstance().obfuscatedOutlineAlpha = 0.5F;
Config.getInstance().deobfuscatedColor = 0x50FA7B;
Config.getInstance().deobfuscatedHiglightAlpha = 0.3F;
Config.getInstance().deobfuscatedColorOutline = 0x50FA7B;
Config.getInstance().deobfuscatedOutlineAlpha = 0.5F;
Config.getInstance().otherColorOutline = 0xB4B4B4;
Config.getInstance().otherOutlineAlpha = 0.0F;
Config.getInstance().editorBackground = 0x282A36;
Config.getInstance().highlightColor = 0xFF79C6;
Config.getInstance().stringColor = 0xF1FA8C;
Config.getInstance().numberColor = 0xBD93F9;
Config.getInstance().operatorColor = 0xF8F8F2;
Config.getInstance().delimiterColor = 0xF8F8F2;
Config.getInstance().typeColor = 0xF8F8F2;
Config.getInstance().identifierColor = 0xF8F8F2;
Config.getInstance().defaultTextColor = 0xF8F8F2;
Config.getInstance().useDraculaLAF = true;
updateTheme(gui);
}
public static void updateTheme(Gui gui) {
try {
Config.getInstance().saveConfig();
} catch (IOException e) {
e.printStackTrace();
}
MinecraftSyntaxKit.invalidate();
DefaultSyntaxKit.initKit();
DefaultSyntaxKit.registerContentType("text/minecraft", MinecraftSyntaxKit.class.getName());
gui.obfuscatedHighlightPainter = new ObfuscatedHighlightPainter();
gui.deobfuscatedHighlightPainter = new DeobfuscatedHighlightPainter();
gui.otherHighlightPainter = new OtherHighlightPainter();
gui.editor.updateUI();
gui.editor.setBackground(new Color(Config.getInstance().editorBackground));
setLAF();
SwingUtilities.updateComponentTreeUI(gui.getFrame());
gui.getController().refreshCurrentClass();
}
public static void setLAF(){
try {
if (Config.getInstance().useDraculaLAF){
UIManager.setLookAndFeel(new DarculaLaf());
} else if (Config.getInstance().useSystemLAF)
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e){
throw new Error("Failed to set LAF", e);
}
}
}
|