Java 类com.intellij.util.ui.RegionPainter 实例源码

项目:jediterm    文件:ScrollPainter.java   
@Override
public void paint(Graphics2D g, int x, int y, int width, int height, Float value) {
  RegionPainter<Float> painter = myFallback;
  if (myPainter != null) {
    try {
      myPainter.paint(g, x, y, width, height, value);
      return;
    }
    catch (Throwable exception) {
      // do not try to use myPainter again on other systems
      if (!SystemInfo.isWindows) myPainter = null;
    }
  }
  if (painter != null) {
    painter.paint(g, x, y, width, height, value);
  }
}
项目:jediterm    文件:JediTerminalWidget.java   
@Override
protected JScrollBar createScrollBar() {
  JBScrollBar bar = new JBScrollBar();
  bar.putClientProperty(JBScrollPane.Alignment.class, JBScrollPane.Alignment.RIGHT);
  bar.putClientProperty(JBScrollBar.TRACK, new RegionPainter<Object>() {
    @Override
    public void paint(Graphics2D g, int x, int y, int width, int height, Object object) {
      SubstringFinder.FindResult result = myTerminalPanel.getFindResult();
      if (result != null) {
        int modelHeight = bar.getModel().getMaximum() - bar.getModel().getMinimum();
        int anchorHeight = Math.max(2, height / modelHeight);

        Color color = mySettingsProvider.getTerminalColorPalette()
          .getColor(mySettingsProvider.getFoundPatternColor().getBackground());
        g.setColor(color);
        for (SubstringFinder.FindResult.FindItem r : result.getItems()) {
          int where = height * r.getStart().y / modelHeight;
          g.fillRect(x, y + where, width, anchorHeight);
        }
      }
    }
  });
  return bar;
}
项目:consulo    文件:MacButtonlessScrollbarUI.java   
@Override
protected void paintTrack(Graphics g, JComponent c, Rectangle bounds) {
  g.setColor(getTrackBackground());
  g.fillRect(bounds.x, bounds.y, bounds.width, bounds.height);

  g.setColor(getTrackBorderColor());
  if (isVertical()) {
    g.drawLine(bounds.x, bounds.y, bounds.x, bounds.y + bounds.height);
  }
  else {
    g.drawLine(bounds.x, bounds.y, bounds.x + bounds.width, bounds.y);
  }

  RegionPainter<Object> painter = UIUtil.getClientProperty(c, ScrollBarUIConstants.TRACK);
  if (painter != null) {
    painter.paint((Graphics2D)g, bounds.x, bounds.y, bounds.width, bounds.height, null);
  }
}
项目:consulo    文件:IntelliJButtonlessScrollBarUI.java   
@Override
protected void paintTrack(Graphics g, JComponent c, Rectangle bounds) {
  g.setColor(getTrackBackground());
  g.fillRect(bounds.x, bounds.y, bounds.width, bounds.height);

  g.setColor(getTrackBorderColor());
  if (isVertical()) {
    g.drawLine(bounds.x, bounds.y, bounds.x, bounds.y + bounds.height);
  }
  else {
    g.drawLine(bounds.x, bounds.y, bounds.x + bounds.width, bounds.y);
  }

  RegionPainter<Object> painter = UIUtil.getClientProperty(c, ScrollBarUIConstants.TRACK);
  if (painter != null) {
    painter.paint((Graphics2D)g, bounds.x, bounds.y, bounds.width, bounds.height, null);
  }
}
项目:consulo    文件:ModernButtonlessScrollBarUI.java   
@Override
protected void paintTrack(Graphics g, JComponent c, Rectangle bounds) {
  g.setColor(new JBColor(LightColors.SLIGHTLY_GRAY, UIUtil.getListBackground()));
  g.fillRect(bounds.x, bounds.y, bounds.width, bounds.height);

  RegionPainter<Object> painter = UIUtil.getClientProperty(c, ScrollBarUIConstants.TRACK);
  if (painter != null) {
    painter.paint((Graphics2D)g, bounds.x, bounds.y, bounds.width, bounds.height, null);
  }
}
项目:jediterm    文件:ScrollPainter.java   
private Protected(RegionPainter<Float> painter, RegionPainter<Float> fallback) {
  myPainter = painter;
  myFallback = fallback;
}