diff --git a/images/src/org/intellij/images/editor/actions/ActualSizeAction.java b/images/src/org/intellij/images/editor/actions/ActualSizeAction.java index 556e26f846b1..60ae407f8374 100644 --- a/images/src/org/intellij/images/editor/actions/ActualSizeAction.java +++ b/images/src/org/intellij/images/editor/actions/ActualSizeAction.java @@ -17,6 +17,7 @@ package org.intellij.images.editor.actions; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.project.DumbAware; import org.intellij.images.editor.ImageEditor; import org.intellij.images.editor.ImageZoomModel; import org.intellij.images.editor.actionSystem.ImageEditorActionUtil; @@ -28,7 +29,7 @@ import org.intellij.images.editor.actionSystem.ImageEditorActionUtil; * @see ImageEditor#getZoomModel() * @see ImageZoomModel#setZoomFactor */ -public final class ActualSizeAction extends AnAction { +public final class ActualSizeAction extends AnAction implements DumbAware { public void actionPerformed(AnActionEvent e) { ImageEditor editor = ImageEditorActionUtil.getValidEditor(e); if (editor != null) { diff --git a/images/src/org/intellij/images/editor/actions/ToggleGridAction.java b/images/src/org/intellij/images/editor/actions/ToggleGridAction.java index 53ca4b2f7354..4cd74f8521c3 100644 --- a/images/src/org/intellij/images/editor/actions/ToggleGridAction.java +++ b/images/src/org/intellij/images/editor/actions/ToggleGridAction.java @@ -17,6 +17,7 @@ package org.intellij.images.editor.actions; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.ToggleAction; +import com.intellij.openapi.project.DumbAware; import org.intellij.images.editor.ImageEditor; import org.intellij.images.editor.actionSystem.ImageEditorActionUtil; @@ -26,7 +27,7 @@ import org.intellij.images.editor.actionSystem.ImageEditorActionUtil; * @author Alexey Efimov * @see ImageEditor#setGridVisible */ -public final class ToggleGridAction extends ToggleAction { +public final class ToggleGridAction extends ToggleAction implements DumbAware { public boolean isSelected(AnActionEvent e) { ImageEditor editor = ImageEditorActionUtil.getValidEditor(e); return editor != null && editor.isGridVisible(); diff --git a/images/src/org/intellij/images/editor/actions/ZoomInAction.java b/images/src/org/intellij/images/editor/actions/ZoomInAction.java index 54d11ef81b9c..7461b39ec360 100644 --- a/images/src/org/intellij/images/editor/actions/ZoomInAction.java +++ b/images/src/org/intellij/images/editor/actions/ZoomInAction.java @@ -17,6 +17,7 @@ package org.intellij.images.editor.actions; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.project.DumbAware; import org.intellij.images.editor.ImageEditor; import org.intellij.images.editor.ImageZoomModel; import org.intellij.images.editor.actionSystem.ImageEditorActionUtil; @@ -27,7 +28,7 @@ import org.intellij.images.editor.actionSystem.ImageEditorActionUtil; * @author Alexey Efimov * @see ImageEditor#getZoomModel */ -public final class ZoomInAction extends AnAction { +public final class ZoomInAction extends AnAction implements DumbAware { public void actionPerformed(AnActionEvent e) { ImageEditor editor = ImageEditorActionUtil.getValidEditor(e); if (editor != null) { diff --git a/images/src/org/intellij/images/editor/actions/ZoomOutAction.java b/images/src/org/intellij/images/editor/actions/ZoomOutAction.java index babd5f47a190..3f7e709e7999 100644 --- a/images/src/org/intellij/images/editor/actions/ZoomOutAction.java +++ b/images/src/org/intellij/images/editor/actions/ZoomOutAction.java @@ -17,6 +17,7 @@ package org.intellij.images.editor.actions; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.project.DumbAware; import org.intellij.images.editor.ImageEditor; import org.intellij.images.editor.ImageZoomModel; import org.intellij.images.editor.actionSystem.ImageEditorActionUtil; @@ -27,7 +28,7 @@ import org.intellij.images.editor.actionSystem.ImageEditorActionUtil; * @author Alexey Efimov * @see ImageEditor#getZoomModel */ -public final class ZoomOutAction extends AnAction { +public final class ZoomOutAction extends AnAction implements DumbAware { public void actionPerformed(AnActionEvent e) { ImageEditor editor = ImageEditorActionUtil.getValidEditor(e); if (editor != null) { diff --git a/images/src/org/intellij/images/ui/ImageComponentUI.java b/images/src/org/intellij/images/ui/ImageComponentUI.java index 0cedcf98e143..10486dbbe45b 100644 --- a/images/src/org/intellij/images/ui/ImageComponentUI.java +++ b/images/src/org/intellij/images/ui/ImageComponentUI.java @@ -88,7 +88,16 @@ public class ImageComponentUI extends ComponentUI { private void paintImage(Graphics g, ImageComponent ic) { ImageDocument document = ic.getDocument(); Dimension size = ic.getCanvasSize(); + + Graphics2D g2d = (Graphics2D)g; + RenderingHints oldHints = g2d.getRenderingHints(); + + // disable any kind of source image manipulation when resizing + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF); + g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR); g.drawImage(document.getRenderer(), 0, 0, size.width, size.height, ic); + + g2d.setRenderingHints(oldHints); } private void paintGrid(Graphics g, ImageComponent ic) {