diff --git a/platform/platform-api/src/com/intellij/ide/ui/UISettings.java b/platform/platform-api/src/com/intellij/ide/ui/UISettings.java index 5cc315a820c1..40f305720d67 100644 --- a/platform/platform-api/src/com/intellij/ide/ui/UISettings.java +++ b/platform/platform-api/src/com/intellij/ide/ui/UISettings.java @@ -28,6 +28,7 @@ import com.intellij.openapi.components.Storage; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.SystemInfo; import com.intellij.util.PlatformUtils; +import com.intellij.util.ui.GraphicsUtil; import com.intellij.util.xmlb.Accessor; import com.intellij.util.xmlb.SerializationFilter; import com.intellij.util.xmlb.XmlSerializerUtil; @@ -312,7 +313,11 @@ public class UISettings implements PersistentStateComponent, Exporta } } else { - g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_ON); + if (SystemInfo.isUnix) { + GraphicsUtil.installAntialiasing(g2d); + } else { + g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_ON); + } } } else { diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java index d967607f0885..6d1a8c62837c 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java @@ -81,6 +81,7 @@ import com.intellij.util.containers.HashMap; import com.intellij.util.messages.MessageBusConnection; import com.intellij.util.text.CharArrayUtil; import com.intellij.util.ui.ButtonlessScrollBarUI; +import com.intellij.util.ui.GraphicsUtil; import com.intellij.util.ui.MacUIUtil; import com.intellij.util.ui.UIUtil; import com.intellij.util.ui.update.UiNotifyConnector; diff --git a/platform/platform-impl/src/com/intellij/openapi/options/newEditor/OptionsTree.java b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/OptionsTree.java index 87a97161da62..625d0afba8ba 100644 --- a/platform/platform-impl/src/com/intellij/openapi/options/newEditor/OptionsTree.java +++ b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/OptionsTree.java @@ -29,6 +29,7 @@ import com.intellij.ui.components.panels.NonOpaquePanel; import com.intellij.ui.treeStructure.*; import com.intellij.ui.treeStructure.filtered.FilteringTreeBuilder; import com.intellij.ui.treeStructure.filtered.FilteringTreeStructure; +import com.intellij.util.ui.GraphicsUtil; import com.intellij.util.ui.UIUtil; import com.intellij.util.ui.tree.TreeUtil; import com.intellij.util.ui.update.MergingUpdateQueue; @@ -739,6 +740,12 @@ public class OptionsTree extends JPanel implements Disposable, OptionsEditorColl @Override protected void paintVerticalPartOfLeg(final Graphics g, final Rectangle clipBounds, final Insets insets, final TreePath path) { } + + @Override + public void paint(Graphics g, JComponent c) { + GraphicsUtil.installAntialiasing(g); + super.paint(g, c); + } } } diff --git a/platform/platform-impl/src/com/intellij/ui/BalloonImpl.java b/platform/platform-impl/src/com/intellij/ui/BalloonImpl.java index eed97f72d314..1c04a578f67f 100644 --- a/platform/platform-impl/src/com/intellij/ui/BalloonImpl.java +++ b/platform/platform-impl/src/com/intellij/ui/BalloonImpl.java @@ -787,7 +787,7 @@ public class BalloonImpl implements Balloon, IdeTooltip.Ui { void paintComponent(BalloonImpl balloon, final Rectangle bounds, final Graphics2D g, Point pointTarget, JComponent component) { final GraphicsConfig cfg = new GraphicsConfig(g); - cfg.setAntialiasing(true); + GraphicsUtil.installAntialiasing(g); Shape shape; diff --git a/platform/platform-impl/src/com/intellij/ui/Splash.java b/platform/platform-impl/src/com/intellij/ui/Splash.java index 45fb3127b6b6..23265667768c 100644 --- a/platform/platform-impl/src/com/intellij/ui/Splash.java +++ b/platform/platform-impl/src/com/intellij/ui/Splash.java @@ -19,6 +19,7 @@ import com.intellij.ide.StartupProgress; import com.intellij.openapi.application.ex.ApplicationInfoEx; import com.intellij.openapi.application.impl.ApplicationInfoImpl; import com.intellij.openapi.util.IconLoader; +import com.intellij.openapi.util.SystemInfo; import com.intellij.util.ui.UIUtil; import javax.swing.*; @@ -135,7 +136,11 @@ public class Splash extends JDialog implements StartupProgress { final LicensingFacade provider = LicensingFacade.getInstance(); if (provider != null) { UIUtil.applyRenderingHints(g); - g.setFont(new Font(UIUtil.ARIAL_FONT_NAME, Font.BOLD, 11)); + if (SystemInfo.isUnix) { + g.setFont(new Font("Arial", Font.BOLD, 10)); + } else { + g.setFont(new Font(UIUtil.ARIAL_FONT_NAME, Font.BOLD, 11)); + } g.setColor(textColor); final String licensedToMessage = provider.getLicensedToMessage(); final List licenseRestrictionsMessages = provider.getLicenseRestrictionsMessages(); diff --git a/platform/util/src/com/intellij/util/ui/GraphicsUtil.java b/platform/util/src/com/intellij/util/ui/GraphicsUtil.java new file mode 100644 index 000000000000..d54ee0f6336e --- /dev/null +++ b/platform/util/src/com/intellij/util/ui/GraphicsUtil.java @@ -0,0 +1,32 @@ +/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.util.ui; + +import org.jetbrains.annotations.NotNull; + +import java.awt.*; + +/** + * @author Konstantin Bulenkov + */ +public class GraphicsUtil { + public static void installAntialiasing(@NotNull Graphics g2) { + if (g2 instanceof Graphics2D) { + Graphics2D g = (Graphics2D)g2; + g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB); + } + } +}