mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Platform: disabled image interpolation on resize in the viewer (IDEA-98635)
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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 <a href="mailto:aefimov.box@gmail.com">Alexey Efimov</a>
|
||||
* @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();
|
||||
|
||||
@@ -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 <a href="mailto:aefimov.box@gmail.com">Alexey Efimov</a>
|
||||
* @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) {
|
||||
|
||||
@@ -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 <a href="mailto:aefimov.box@gmail.com">Alexey Efimov</a>
|
||||
* @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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user