mirror of https://github.com/python/cpython
gh-119174: Fix high DPI causes turtledemo(turtle-graphics examples) windows blurry (#119175)
------ Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
This commit is contained in:
parent
172690227e
commit
538ed5e481
|
@ -158,8 +158,9 @@ class IdleConf:
|
|||
self.defaultCfg = {}
|
||||
self.userCfg = {}
|
||||
self.cfg = {} # TODO use to select userCfg vs defaultCfg
|
||||
|
||||
# See https://bugs.python.org/issue4630#msg356516 for following.
|
||||
# self.blink_off_time = <first editor text>['insertofftime']
|
||||
# See https://bugs.python.org/issue4630#msg356516.
|
||||
|
||||
if not _utest:
|
||||
self.CreateConfigHandlers()
|
||||
|
|
|
@ -11,15 +11,9 @@ except ImportError:
|
|||
"Your Python may not be configured for Tk. **", file=sys.__stderr__)
|
||||
raise SystemExit(1)
|
||||
|
||||
# Valid arguments for the ...Awareness call below are defined in the following.
|
||||
# https://msdn.microsoft.com/en-us/library/windows/desktop/dn280512(v=vs.85).aspx
|
||||
if sys.platform == 'win32':
|
||||
try:
|
||||
import ctypes
|
||||
PROCESS_SYSTEM_DPI_AWARE = 1 # Int required.
|
||||
ctypes.OleDLL('shcore').SetProcessDpiAwareness(PROCESS_SYSTEM_DPI_AWARE)
|
||||
except (ImportError, AttributeError, OSError):
|
||||
pass
|
||||
from idlelib.util import fix_win_hidpi
|
||||
fix_win_hidpi()
|
||||
|
||||
from tkinter import messagebox
|
||||
|
||||
|
|
|
@ -12,11 +12,26 @@ TODO:
|
|||
* std streams (pyshell, run),
|
||||
* warning stuff (pyshell, run).
|
||||
"""
|
||||
import sys
|
||||
|
||||
# .pyw is for Windows; .pyi is for typing stub files.
|
||||
# The extension order is needed for iomenu open/save dialogs.
|
||||
py_extensions = ('.py', '.pyw', '.pyi')
|
||||
|
||||
|
||||
# Fix for HiDPI screens on Windows. CALL BEFORE ANY TK OPERATIONS!
|
||||
# URL for arguments for the ...Awareness call below.
|
||||
# https://msdn.microsoft.com/en-us/library/windows/desktop/dn280512(v=vs.85).aspx
|
||||
if sys.platform == 'win32': # pragma: no cover
|
||||
def fix_win_hidpi(): # Called in pyshell and turtledemo.
|
||||
try:
|
||||
import ctypes
|
||||
PROCESS_SYSTEM_DPI_AWARE = 1 # Int required.
|
||||
ctypes.OleDLL('shcore').SetProcessDpiAwareness(PROCESS_SYSTEM_DPI_AWARE)
|
||||
except (ImportError, AttributeError, OSError):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
from unittest import main
|
||||
main('idlelib.idle_test.test_util', verbosity=2)
|
||||
|
|
|
@ -92,13 +92,15 @@ from tkinter import *
|
|||
from idlelib.colorizer import ColorDelegator, color_config
|
||||
from idlelib.percolator import Percolator
|
||||
from idlelib.textview import view_text
|
||||
import turtle
|
||||
from turtledemo import __doc__ as about_turtledemo
|
||||
|
||||
import turtle
|
||||
if sys.platform == 'win32':
|
||||
from idlelib.util import fix_win_hidpi
|
||||
fix_win_hidpi()
|
||||
|
||||
demo_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
darwin = sys.platform == 'darwin'
|
||||
|
||||
STARTUP = 1
|
||||
READY = 2
|
||||
RUNNING = 3
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
Fix high DPI causes turtledemo(turtle-graphics examples) windows blurry
|
||||
Patch by Wulian233 and Terry Jan Reedy
|
||||
|
Loading…
Reference in New Issue