Java 类com.intellij.openapi.ui.AbstractPainter 实例源码

项目:intellij-ce-playground    文件:IdeBackgroundUtil.java   
public static void initFramePainters(@NotNull PaintersHelper painters) {
  PaintersHelper.initWallpaperPainter("idea.wallpaper.ide", painters);

  ApplicationInfoEx appInfo = ApplicationInfoEx.getInstanceEx();
  String path = UIUtil.isUnderDarcula()? appInfo.getEditorBackgroundImageUrl() : null;
  URL url = path == null ? null : appInfo.getClass().getResource(path);
  Image centerImage = url == null ? null : ImageLoader.loadFromUrl(url);

  if (centerImage != null) {
    painters.addPainter(PaintersHelper.newImagePainter(centerImage, PaintersHelper.FillType.TOP_CENTER, 1.0f, JBUI.insets(10, 0, 0, 0)), null);
  }
  painters.addPainter(new AbstractPainter() {
    EditorEmptyTextPainter p = ServiceManager.getService(EditorEmptyTextPainter.class);

    @Override
    public boolean needsRepaint() {
      return true;
    }

    @Override
    public void executePaint(Component component, Graphics2D g) {
      p.paintEmptyText((JComponent)component, g);
    }
  }, null);

}
项目:intellij-ce-playground    文件:PaintersHelper.java   
public static AbstractPainter newImagePainter(final Image image, final FillType fillType, final float alpha, final Insets insets) {
  return new ImagePainter() {
    @Override
    public void executePaint(Component component, Graphics2D g) {
      executePaint(g, component, image, fillType, alpha, insets);
    }
  };
}
项目:consulo    文件:PaintersHelper.java   
public static AbstractPainter newImagePainter(@Nonnull final Image image, final Fill fillType, final Place place, final float alpha, final Insets insets) {
  return new ImagePainter() {
    @Override
    public boolean needsRepaint() {
      return true;
    }

    @Override
    public void executePaint(Component component, Graphics2D g) {
      executePaint(g, component, image, fillType, place, alpha, insets);
    }
  };
}
项目:consulo    文件:IdeBackgroundUtil.java   
public static void initFramePainters(@Nonnull IdeGlassPaneImpl glassPane) {
  PaintersHelper painters = glassPane.getNamedPainters(FRAME_PROP);
  PaintersHelper.initWallpaperPainter(FRAME_PROP, painters);

  ApplicationInfoEx appInfo = ApplicationInfoEx.getInstanceEx();
  String path = /*UIUtil.isUnderDarcula()? appInfo.getEditorBackgroundImageUrl() : */null;
  URL url = path == null ? null : appInfo.getClass().getResource(path);
  Image centerImage = url == null ? null : ImageLoader.loadFromUrl(url);

  if (centerImage != null) {
    painters.addPainter(PaintersHelper.newImagePainter(centerImage, PaintersHelper.Fill.PLAIN, PaintersHelper.Place.TOP_CENTER, 1.0f, JBUI.insets(10, 0, 0, 0)), null);
  }
  painters.addPainter(new AbstractPainter() {
    EditorEmptyTextPainter p = EditorEmptyTextPainter.ourInstance;

    @Override
    public boolean needsRepaint() {
      return true;
    }

    @Override
    public void executePaint(Component component, Graphics2D g) {
      p.paintEmptyText((JComponent)component, g);
    }
  }, null);

}
项目:intellij-ce-playground    文件:PaintersHelper.java   
private static AbstractPainter newWallpaperPainter(@NotNull final String propertyName) {
  return new ImagePainter() {
    Image image;
    float alpha;
    Insets insets;
    FillType fillType;

    String current;

    @Override
    public void executePaint(Component component, Graphics2D g) {
      String value = StringUtil.notNullize(System.getProperty(propertyName), propertyName + ".png");
      if (!Comparing.equal(value, current)) {
        current = value;
        image = scaled = null;
        insets = JBUI.emptyInsets();
        String[] parts = value.split(",");
        try {
          alpha = StringUtil.parseInt(parts.length > 1 ? parts[1]: "", 10) / 100f;
          try {
            fillType =  FillType.valueOf(parts.length > 2 ? parts[2].toUpperCase(Locale.ENGLISH) : "");
          }
          catch (IllegalArgumentException e) {
            fillType = FillType.SCALE;
          }
          String filePath = parts[0];

          URL url = filePath.contains("://") ? new URL(filePath) :
                    (FileUtil.isAbsolutePlatformIndependent(filePath)
                     ? new File(filePath)
                     : new File(PathManager.getConfigPath(), filePath)).toURI().toURL();
          image = ImageLoader.loadFromUrl(url);
        }
        catch (Exception ignored) {
        }
      }
      if (image == null) return;
      executePaint(g, component, image, fillType, alpha, insets);
    }
  };
}