Point (double scale, Point at) { if (myEditor.isDisposed()) return at; VisualPosition magnificationPosition = myEditor.xyToVisualPosition(at); float currentSize = myEditor.getColorsScheme().getEditorFontSize2D(); float defaultFontSize = EditorColorsManager.getInstance().getGlobalScheme().getEditorFontSize2D(); float size = Math.max((float)(currentSize * scale), defaultFontSize); myEditor.setFontSize(size); if (EditorSettingsExternalizable.getInstance().isWheelFontChangePersistent()) { myEditor.adjustGlobalFontSize(UISettingsUtils.scaleFontSize(size, 1 / UISettingsUtils.getInstance().getCurrentIdeScale())); } return myEditor.visualPositionToXY(magnificationPosition); }