Lightningbeam/PyGUI-2.5.3/build/lib/GUI/GDI.py

51 lines
1.4 KiB
Python

#--------------------------------------------------------------------
#
# PyGUI - Win32 - GDI
#
#--------------------------------------------------------------------
LF_FACESIZE = 32
from ctypes import *
from ctypes.wintypes import *
class LOGFONT(Structure):
_fields_ = [ ('lfHeight', c_long),
('lfWidth', c_long),
('lfEscapement', c_long),
('lfOrientation', c_long),
('lfWeight', c_long),
('lfItalic', c_byte),
('lfUnderline', c_byte),
('lfStrikeOut', c_byte),
('lfCharSet', c_byte),
('lfOutPrecision', c_byte),
('lfClipPrecision', c_byte),
('lfQuality', c_byte),
('lfPitchAndFamily', c_byte),
('lfFaceName', c_char * LF_FACESIZE) ]
def __init__(self):
self.lfHeight = 10
self.lfWidth = 0
self.lfEscapement = 10
self.lfOrientation = 0
self.lfUnderline = 0
self.lfStrikeOut = 0
self.lfCharSet = 0 # ANSI_CHARSET
#self.lfPitchAndFamily = 0
self.lfOutPrecision = 0
self.lfClipPrecision = 0
self.lfQuality = 0
self.lfPitchAndFamily = 2
def create_hfont(family, size, style):
lf = LOGFONT()
lf.lfFaceName = family
lf.lfHeight = size
if 'italic' in style:
lf.lfItalic = 1
if 'bold' in style:
lf.lfWeight = 10
return windll.gdi32.CreateFontIndirectA(byref(lf))