IDEA-157667 Editor's scrollbar thumb: alpha and colors

use new default values for scroll bars on Windows and Mac
This commit is contained in:
Sergey Malenkov
2016-06-27 17:40:27 +03:00
parent c862dfe8d0
commit 6ce676880d
2 changed files with 58 additions and 49 deletions
@@ -66,11 +66,11 @@ public class JBScrollPane extends JScrollPane {
@Deprecated
public static final RegionPainter<Float> THUMB_PAINTER = new ProtectedPainter(
new DefaultThumbPainter(new SubtractThumbPainter(.20f, .15f, Gray.x80, Gray.x91),
new CachedValue("ide.scroll.thumb.windows.default.alpha", "0.20", .20f),
new DefaultThumbPainter(new SubtractThumbPainter(.25f, .15f, Gray.x80, Gray.x8C),
new CachedValue("ide.scroll.thumb.windows.default.alpha", "0.25", .25f),
new CachedValue("ide.scroll.thumb.windows.default.delta", "0.15", .15f),
new CachedColor("ide.scroll.thumb.windows.default.color", "#808080", Gray.x80),
new CachedColor("ide.scroll.thumb.windows.default.border", "#919191", Gray.x91)),
new CachedColor("ide.scroll.thumb.windows.default.border", "#8C8C8C", Gray.x8C)),
new DefaultThumbPainter(new ThumbPainter(.7f, .2f, Gray.x99, Gray.x8C),
new CachedValue("ide.scroll.thumb.linux.default.alpha", "0.70", .70f),
new CachedValue("ide.scroll.thumb.linux.default.delta", "0.20", .20f),
@@ -78,11 +78,11 @@ public class JBScrollPane extends JScrollPane {
new CachedColor("ide.scroll.thumb.linux.default.border", "#8c8c8c", Gray.x8C)));
@Deprecated
public static final RegionPainter<Float> THUMB_DARK_PAINTER = new DefaultThumbPainter(
new ThumbPainter(.35f, .25f, Gray.x80, Gray.x94),
new CachedValue("ide.scroll.thumb.windows.darcula.alpha", "0.35", .35f),
new CachedValue("ide.scroll.thumb.windows.darcula.delta", "0.25", .25f),
new CachedColor("ide.scroll.thumb.windows.darcula.color", "#808080", Gray.x80),
new CachedColor("ide.scroll.thumb.windows.darcula.border", "#949494", Gray.x94));
new ThumbPainter(.37f, .13f, Gray.xA6, Gray.x1A),
new CachedValue("ide.scroll.thumb.windows.darcula.alpha", "0.37", .37f),
new CachedValue("ide.scroll.thumb.windows.darcula.delta", "0.13", .13f),
new CachedColor("ide.scroll.thumb.windows.darcula.color", "#A6A6A6", Gray.xA6),
new CachedColor("ide.scroll.thumb.windows.darcula.border", "#1A1A1A", Gray.x1A));
@Deprecated
public static final RegionPainter<Float> MAC_THUMB_PAINTER = new DefaultThumbPainter(
@@ -90,27 +90,27 @@ public class JBScrollPane extends JScrollPane {
new CachedValue("ide.scroll.thumb.mac.classic.default.alpha", "0.20", .20f),
new CachedValue("ide.scroll.thumb.mac.classic.default.delta", "0.30", .30f),
new CachedColor("ide.scroll.thumb.mac.classic.default.color", "#000000", Gray.x00),
new CachedColor("ide.scroll.thumb.mac.classic.default.border", "#000000", Gray.x00));
new CachedColor("ide.scroll.thumb.mac.classic.default.border", "", null));
static final RegionPainter<Float> MAC_OVERLAY_THUMB_PAINTER = new DefaultThumbPainter(
new RoundThumbPainter(2, 0f, .5f, Gray.x00, Gray.x00),
new CachedValue("ide.scroll.thumb.mac.overlay.default.alpha", "0.00", .00f),
new CachedValue("ide.scroll.thumb.mac.overlay.default.delta", "0.50", .50f),
new CachedColor("ide.scroll.thumb.mac.overlay.default.color", "#000000", Gray.x00),
new CachedColor("ide.scroll.thumb.mac.overlay.default.border", "#000000", Gray.x00));
new CachedColor("ide.scroll.thumb.mac.overlay.default.border", "", null));
@Deprecated
public static final RegionPainter<Float> MAC_THUMB_DARK_PAINTER = new DefaultThumbPainter(
new RoundThumbPainter(2, .10f, .05f, Gray.xFF, Gray.xFF),
new CachedValue("ide.scroll.thumb.mac.classic.darcula.alpha", "0.10", .10f),
new CachedValue("ide.scroll.thumb.mac.classic.darcula.delta", "0.05", .05f),
new CachedColor("ide.scroll.thumb.mac.classic.darcula.color", "#ffffff", Gray.xFF),
new CachedColor("ide.scroll.thumb.mac.classic.darcula.border", "#ffffff", Gray.xFF));
new RoundThumbPainter(2, .35f, .20f, Gray.xA6, Gray.x1A),
new CachedValue("ide.scroll.thumb.mac.classic.darcula.alpha", "0.35", .35f),
new CachedValue("ide.scroll.thumb.mac.classic.darcula.delta", "0.20", .20f),
new CachedColor("ide.scroll.thumb.mac.classic.darcula.color", "#A6A6A6", Gray.xA6),
new CachedColor("ide.scroll.thumb.mac.classic.darcula.border", "#1A1A1A", Gray.x1A));
static final RegionPainter<Float> MAC_OVERLAY_THUMB_DARK_PAINTER = new DefaultThumbPainter(
new RoundThumbPainter(2, 0f, .15f, Gray.xFF, Gray.xFF),
new RoundThumbPainter(2, 0f, .55f, Gray.xA6, Gray.x1A),
new CachedValue("ide.scroll.thumb.mac.overlay.darcula.alpha", "0.00", .00f),
new CachedValue("ide.scroll.thumb.mac.overlay.darcula.delta", "0.15", .15f),
new CachedColor("ide.scroll.thumb.mac.overlay.darcula.color", "#ffffff", Gray.xFF),
new CachedColor("ide.scroll.thumb.mac.overlay.darcula.border", "#ffffff", Gray.xFF));
new CachedValue("ide.scroll.thumb.mac.overlay.darcula.delta", "0.55", .55f),
new CachedColor("ide.scroll.thumb.mac.overlay.darcula.color", "#A6A6A6", Gray.xA6),
new CachedColor("ide.scroll.thumb.mac.overlay.darcula.border", "#1A1A1A", Gray.x1A));
private static final Logger LOG = Logger.getInstance(JBScrollPane.class);
@@ -900,8 +900,10 @@ public class JBScrollPane extends JScrollPane {
@Override
protected void paint(Graphics2D g, int x, int y, int width, int height) {
g.setColor(myFillColor);
g.fillRect(x, y, width, height);
if (myFillColor != null) {
g.setColor(myFillColor);
g.fillRect(x, y, width, height);
}
}
@Override
@@ -929,10 +931,14 @@ public class JBScrollPane extends JScrollPane {
height -= myBorder + myBorder;
int arc = Math.min(width, height);
g.setColor(myFillColor);
g.fillRoundRect(x, y, width, height, arc, arc);
g.setColor(myDrawColor);
g.drawRoundRect(x, y, width - 1, height - 1, arc, arc);
if (myFillColor != null) {
g.setColor(myFillColor);
g.fillRoundRect(x, y, width, height, arc, arc);
}
if (myDrawColor != null) {
g.setColor(myDrawColor);
g.drawRoundRect(x, y, width - 1, height - 1, arc, arc);
}
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, old);
}
}
@@ -948,15 +954,17 @@ public class JBScrollPane extends JScrollPane {
@Override
protected void paint(Graphics2D g, int x, int y, int width, int height) {
super.paint(g, x + 1, y + 1, width - 2, height - 2);
g.setColor(myDrawColor);
if (Registry.is("ide.scroll.thumb.border.rounded")) {
g.drawLine(x + 1, y, x + width - 2, y);
g.drawLine(x + 1, y + height - 1, x + width - 2, y + height - 1);
g.drawLine(x, y + 1, x, y + height - 2);
g.drawLine(x + width - 1, y + 1, x + width - 1, y + height - 2);
}
else {
g.drawRect(x, y, width - 1, height - 1);
if (myDrawColor != null) {
g.setColor(myDrawColor);
if (Registry.is("ide.scroll.thumb.border.rounded")) {
g.drawLine(x + 1, y, x + width - 2, y);
g.drawLine(x + 1, y + height - 1, x + width - 2, y + height - 1);
g.drawLine(x, y + 1, x, y + height - 2);
g.drawLine(x + width - 1, y + 1, x + width - 1, y + height - 2);
}
else {
g.drawRect(x, y, width - 1, height - 1);
}
}
}
}
@@ -1061,6 +1069,7 @@ public class JBScrollPane extends JScrollPane {
myColor = Color.decode(string);
}
catch (Exception ignore) {
myColor = null;
}
finally {
myString = string;
@@ -118,34 +118,34 @@ ide.scroll.track.border.paint=false
ide.scroll.thumb.border.rounded=false
ide.scroll.thumb.small.if.opaque=true
mac.scroll.new.ui=true
ide.scroll.thumb.windows.default.alpha=0.20
ide.scroll.thumb.windows.default.alpha=0.25
ide.scroll.thumb.windows.default.delta=0.15
ide.scroll.thumb.windows.default.color=#808080
ide.scroll.thumb.windows.default.border=#919191
ide.scroll.thumb.windows.default.border=#8C8C8C
ide.scroll.thumb.linux.default.alpha=0.70
ide.scroll.thumb.linux.default.delta=0.20
ide.scroll.thumb.linux.default.color=#999999
ide.scroll.thumb.linux.default.border=#8c8c8c
ide.scroll.thumb.windows.darcula.alpha=0.35
ide.scroll.thumb.windows.darcula.delta=0.25
ide.scroll.thumb.windows.darcula.color=#808080
ide.scroll.thumb.windows.darcula.border=#949494
ide.scroll.thumb.windows.darcula.alpha=0.37
ide.scroll.thumb.windows.darcula.delta=0.13
ide.scroll.thumb.windows.darcula.color=#A6A6A6
ide.scroll.thumb.windows.darcula.border=#1A1A1A
ide.scroll.thumb.mac.classic.default.alpha=0.20
ide.scroll.thumb.mac.classic.default.delta=0.30
ide.scroll.thumb.mac.classic.default.color=#000000
ide.scroll.thumb.mac.classic.default.border=#000000
ide.scroll.thumb.mac.classic.default.border=
ide.scroll.thumb.mac.overlay.default.alpha=0.00
ide.scroll.thumb.mac.overlay.default.delta=0.50
ide.scroll.thumb.mac.overlay.default.color=#000000
ide.scroll.thumb.mac.overlay.default.border=#000000
ide.scroll.thumb.mac.classic.darcula.alpha=0.10
ide.scroll.thumb.mac.classic.darcula.delta=0.05
ide.scroll.thumb.mac.classic.darcula.color=#ffffff
ide.scroll.thumb.mac.classic.darcula.border=#ffffff
ide.scroll.thumb.mac.overlay.default.border=
ide.scroll.thumb.mac.classic.darcula.alpha=0.35
ide.scroll.thumb.mac.classic.darcula.delta=0.20
ide.scroll.thumb.mac.classic.darcula.color=#A6A6A6
ide.scroll.thumb.mac.classic.darcula.border=#1A1A1A
ide.scroll.thumb.mac.overlay.darcula.alpha=0.00
ide.scroll.thumb.mac.overlay.darcula.delta=0.15
ide.scroll.thumb.mac.overlay.darcula.color=#ffffff
ide.scroll.thumb.mac.overlay.darcula.border=#ffffff
ide.scroll.thumb.mac.overlay.darcula.delta=0.55
ide.scroll.thumb.mac.overlay.darcula.color=#A6A6A6
ide.scroll.thumb.mac.overlay.darcula.border=#1A1A1A
ide.tooltip.callout=true
ide.tooltip.animationCycle=150