mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
merge: remove painting on scrollbar background
this is no longer necessary, as we use transparent scrollbar for the middle editor now
This commit is contained in:
@@ -35,7 +35,6 @@ import com.intellij.openapi.util.UserDataHolder;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.ui.ButtonlessScrollBarUI;
|
||||
import org.jetbrains.annotations.CalledInAwt;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -77,7 +76,6 @@ public abstract class ThreesideTextDiffViewerEx extends ThreesideTextDiffViewer
|
||||
super.onInit();
|
||||
myContentPanel.setPainter(new MyDividerPainter(Side.LEFT), Side.LEFT);
|
||||
myContentPanel.setPainter(new MyDividerPainter(Side.RIGHT), Side.RIGHT);
|
||||
myContentPanel.setScrollbarPainter(new MyScrollbarPainter());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -384,21 +382,6 @@ public abstract class ThreesideTextDiffViewerEx extends ThreesideTextDiffViewer
|
||||
}
|
||||
}
|
||||
|
||||
protected class MyScrollbarPainter implements ButtonlessScrollBarUI.ScrollbarRepaintCallback {
|
||||
@NotNull private final DividerPaintable myPaintable = getDividerPaintable(Side.RIGHT);
|
||||
|
||||
@Override
|
||||
public void call(Graphics g) {
|
||||
EditorEx editor1 = getEditor(ThreeSide.BASE);
|
||||
EditorEx editor2 = getEditor(ThreeSide.RIGHT);
|
||||
|
||||
int width = editor1.getScrollPane().getVerticalScrollBar().getWidth();
|
||||
DiffDividerDrawUtil.paintPolygonsOnScrollbar((Graphics2D)g, width, editor1, editor2, myPaintable);
|
||||
|
||||
myFoldingModel.paintOnScrollbar((Graphics2D)g, width);
|
||||
}
|
||||
}
|
||||
|
||||
protected class MyStatusPanel extends StatusPanel {
|
||||
@Nullable
|
||||
@Override
|
||||
@@ -450,10 +433,6 @@ public abstract class ThreesideTextDiffViewerEx extends ThreesideTextDiffViewer
|
||||
MyPaintable paintable = side.select(myPaintable1, myPaintable2);
|
||||
paintable.paintOnDivider(gg, divider);
|
||||
}
|
||||
|
||||
public void paintOnScrollbar(@NotNull Graphics2D gg, int width) {
|
||||
myPaintable2.paintOnScrollbar(gg, width);
|
||||
}
|
||||
}
|
||||
|
||||
protected class MyInitialScrollHelper extends MyInitialScrollPositionHelper {
|
||||
|
||||
@@ -420,10 +420,6 @@ public class FoldingModelSupport {
|
||||
public void paintOnDivider(@NotNull Graphics2D gg, @NotNull Component divider) {
|
||||
DiffDividerDrawUtil.paintSeparators(gg, divider.getWidth(), myEditors[myLeft], myEditors[myRight], this);
|
||||
}
|
||||
|
||||
public void paintOnScrollbar(@NotNull Graphics2D gg, int width) {
|
||||
DiffDividerDrawUtil.paintSeparatorsOnScrollbar(gg, width, myEditors[myLeft], myEditors[myRight], this);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
@@ -67,8 +67,4 @@ public class ThreesideContentPanel extends JPanel {
|
||||
if (side == Side.RIGHT && myBaseEditor != null) myBaseEditor.getScrollPane().getVerticalScrollBar().repaint();
|
||||
mySplitter.repaintDivider(side);
|
||||
}
|
||||
|
||||
public void setScrollbarPainter(@NotNull ButtonlessScrollBarUI.ScrollbarRepaintCallback painter) {
|
||||
if (myBaseEditor != null) myBaseEditor.registerScrollBarRepaintCallback(painter);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,20 +59,6 @@ public class DiffDividerDrawUtil {
|
||||
config.restore();
|
||||
}
|
||||
|
||||
public static void paintSeparatorsOnScrollbar(@NotNull Graphics2D gg,
|
||||
int width,
|
||||
@NotNull Editor editor1,
|
||||
@NotNull Editor editor2,
|
||||
@NotNull DividerSeparatorPaintable paintable) {
|
||||
List<DividerSeparator> polygons = createVisibleSeparators(editor1, editor2, paintable);
|
||||
|
||||
GraphicsConfig config = GraphicsUtil.setupAAPainting(gg);
|
||||
for (DividerSeparator polygon : polygons) {
|
||||
polygon.paintOnScrollbar(gg, width);
|
||||
}
|
||||
config.restore();
|
||||
}
|
||||
|
||||
public static void paintPolygons(@NotNull Graphics2D gg,
|
||||
int width,
|
||||
@NotNull Editor editor1,
|
||||
@@ -105,18 +91,6 @@ public class DiffDividerDrawUtil {
|
||||
config.restore();
|
||||
}
|
||||
|
||||
public static void paintPolygonsOnScrollbar(@NotNull Graphics2D g,
|
||||
int width,
|
||||
@NotNull Editor editor1,
|
||||
@NotNull Editor editor2,
|
||||
@NotNull DividerPaintable paintable) {
|
||||
List<DividerPolygon> polygons = createVisiblePolygons(editor1, editor2, paintable);
|
||||
|
||||
for (DividerPolygon polygon : polygons) {
|
||||
polygon.paintOnScrollbar(g, width);
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static List<DividerPolygon> createVisiblePolygons(@NotNull Editor editor1,
|
||||
@NotNull Editor editor2,
|
||||
@@ -299,28 +273,6 @@ public class DiffDividerDrawUtil {
|
||||
g.setStroke(oldStroke);
|
||||
}
|
||||
|
||||
public void paintOnScrollbar(Graphics2D g, int width) {
|
||||
int startY = myStart1 - 1;
|
||||
int endY = myEnd1 - 1;
|
||||
int height = endY - startY;
|
||||
|
||||
int startX = 0;
|
||||
int endX = startX + width - 1;
|
||||
|
||||
g.setColor(myColor);
|
||||
if (height > 2) {
|
||||
if (!myResolved) {
|
||||
g.fillRect(startX, startY, width, height);
|
||||
}
|
||||
|
||||
DiffDrawUtil.drawChunkBorderLine(g, startX, endX, startY, myColor, false, myResolved);
|
||||
DiffDrawUtil.drawChunkBorderLine(g, startX, endX, endY, myColor, false, myResolved);
|
||||
}
|
||||
else {
|
||||
DiffDrawUtil.drawChunkBorderLine(g, startX, endX, startY, myColor, true, myResolved);
|
||||
}
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "<" + myStart1 + ", " + myEnd1 + " : " + myStart2 + ", " + myEnd2 + "> " + myColor;
|
||||
}
|
||||
@@ -350,10 +302,6 @@ public class DiffDividerDrawUtil {
|
||||
DiffDrawUtil.drawConnectorLineSeparator(g, 0, width, myStart1, myEnd1, myStart2, myEnd2, myScheme);
|
||||
}
|
||||
|
||||
public void paintOnScrollbar(Graphics2D g, int width) {
|
||||
DiffDrawUtil.drawConnectorLineSeparator(g, 0, width, myStart1, myEnd1, myStart1, myEnd1, myScheme);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "<" + myStart1 + ", " + myEnd1 + " : " + myStart2 + ", " + myEnd2 + "> ";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user