From 3cdef5a12efb1f36ed8f1a97b9b6aaf193f79928 Mon Sep 17 00:00:00 2001 From: themixray <35273590+themixray@users.noreply.github.com> Date: Sun, 5 Dec 2021 18:35:17 +0300 Subject: [PATCH] Add files via upload --- build/lib/pygwin/font.py | 2 +- build/lib/pygwin/ui.py | 80 +++++++++++++++++++++++++----- dist/pgw-0.0.1-py3-none-any.whl | Bin 0 -> 15549 bytes dist/pgw-0.0.1.tar.gz | Bin 0 -> 12164 bytes pgw.egg-info/PKG-INFO | 12 +++++ pgw.egg-info/dependency_links.txt | 1 + pgw.egg-info/requires.txt | 7 +++ setup.bat | 1 - setup.cfg | 4 +- setup.py | 7 +-- 10 files changed, 94 insertions(+), 20 deletions(-) create mode 100644 dist/pgw-0.0.1-py3-none-any.whl create mode 100644 dist/pgw-0.0.1.tar.gz create mode 100644 pgw.egg-info/PKG-INFO create mode 100644 pgw.egg-info/dependency_links.txt create mode 100644 pgw.egg-info/requires.txt diff --git a/build/lib/pygwin/font.py b/build/lib/pygwin/font.py index 4532537..615ae8a 100644 --- a/build/lib/pygwin/font.py +++ b/build/lib/pygwin/font.py @@ -30,7 +30,7 @@ class font: surface._surface_orig = surf return surface def size(self, text, size, newLineSpace=5, - italic=False, bold=False, underline=False): + italic=False,bold=False,underline=False): return self.render(text, size, (255,255,255), newLineSpace=newLineSpace, italic=italic, bold=bold, diff --git a/build/lib/pygwin/ui.py b/build/lib/pygwin/ui.py index 70f4ddf..10a7891 100644 --- a/build/lib/pygwin/ui.py +++ b/build/lib/pygwin/ui.py @@ -212,11 +212,12 @@ class entry(widget): if _ct.WinDLL("User32.dll").GetKeyState(0x14): text = text.upper() if _pg.key.get_pressed()[_pg.K_LSHIFT] or _pg.key.get_pressed()[_pg.K_RSHIFT]: - text = text.translate(dict(zip(map(ord, '''1234567890-=[]\\;'''+"',./`"), - '''!@#$%^&*()_+{}|:"<>?~'''))) + text = text.translate(dict(zip(map(ord, + '''1234567890-=[]\\;'''+"',./`"),'''!@#$%^&*()_+{}|:"<>?~'''))) if hex(getattr(_ct.windll.LoadLibrary("user32.dll"), "GetKeyboardLayout")(0))=='0x4190419': - text = text.translate(dict(zip(map(ord, '''qwertyuiop[]asdfghjkl;'zxcvbnm,./`QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>?~'''), - '''йцукенгшщзхъфывапролджэячсмитьбю.ёЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,Ё'''))) + text = text.translate(dict(zip(map(ord, + '''qwertyuiop[]asdfghjkl;'zxcvbnm,./`QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>?~'''), + '''йцукенгшщзхъфывапролджэячсмитьбю.ёЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,Ё'''))) if text in self.blacklist: return if self.whitelist != None: @@ -304,8 +305,10 @@ class textarea(widget): self.tick += 1 if self.tick >= 60: if self.text != '': - points = [[x+self.font.size(last,self.fontSize)[0],self.surface.size[1]-(self.font.size('X',self.fontSize)[1])], - [x+self.font.size(last,self.fontSize)[0],self.surface.size[1]/2-text.size[1]/2+self.surface.size[1]-10]] + points = [[x+self.font.size(last,self.fontSize)[0], + self.surface.size[1]-(self.font.size('X',self.fontSize)[1])], + [x+self.font.size(last,self.fontSize)[0], + self.surface.size[1]/2-text.size[1]/2+self.surface.size[1]-10]] self.surface.draw.line(self.lineColor,points[0],points[1],3) if self.tick == 120: self.tick = 0 @@ -355,9 +358,11 @@ class textarea(widget): if _pg.key.get_pressed()[_pg.K_LSHIFT] or _pg.key.get_pressed()[_pg.K_RSHIFT]: text = text.translate(dict(zip(map(ord, '''1234567890-=[]\\;'''+"',./`"), '''!@#$%^&*()_+{}|:"<>?~'''))) - if hex(getattr(_ct.windll.LoadLibrary("user32.dll"), "GetKeyboardLayout")(0))=='0x4190419': - text = text.translate(dict(zip(map(ord, '''qwertyuiop[]asdfghjkl;'zxcvbnm,./`QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>?~'''), - '''йцукенгшщзхъфывапролджэячсмитьбю.ёЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,Ё'''))) + if hex(getattr(_ct.windll.LoadLibrary("user32.dll"), + "GetKeyboardLayout")(0))=='0x4190419': + text = text.translate(dict(zip(map(ord, + '''qwertyuiop[]asdfghjkl;'zxcvbnm,./`QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>?~'''), + '''йцукенгшщзхъфывапролджэячсмитьбю.ёЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,Ё'''))) if text in self.blacklist: return if self.whitelist != None: @@ -612,15 +617,19 @@ class checkBox(widget): self.surface.size[0]-self.borderWidth*2, self.surface.size[1]-self.borderWidth*2)) if self.x: - self.surface.draw.line(self.afg,[self.borderWidth,self.width/2+self.borderWidth],[self.width/2,self.width-self.borderWidth],self.borderWidth) - self.surface.draw.line(self.afg,[self.width/2,self.width-self.borderWidth],[self.width-self.borderWidth,self.borderWidth],self.borderWidth) + self.surface.draw.line(self.afg,[self.borderWidth,self.width/2+self.borderWidth], + [self.width/2,self.width-self.borderWidth],self.borderWidth) + self.surface.draw.line(self.afg,[self.width/2,self.width-self.borderWidth], + [self.width-self.borderWidth,self.borderWidth],self.borderWidth) else: self.surface.draw.rect(self.bg,_r(self.borderWidth,self.borderWidth, self.surface.size[0]-self.borderWidth*2, self.surface.size[1]-self.borderWidth*2)) if self.x: - self.surface.draw.line(self.fg,[self.borderWidth,self.width/2+self.borderWidth],[self.width/2,self.width-self.borderWidth],self.borderWidth) - self.surface.draw.line(self.fg,[self.width/2,self.width-self.borderWidth],[self.width-self.borderWidth,self.borderWidth],self.borderWidth) + self.surface.draw.line(self.fg,[self.borderWidth,self.width/2+self.borderWidth], + [self.width/2,self.width-self.borderWidth],self.borderWidth) + self.surface.draw.line(self.fg,[self.width/2,self.width-self.borderWidth], + [self.width-self.borderWidth,self.borderWidth],self.borderWidth) def draw(self, win, pos): self._generate(pos) win.blit(self.surface,pos) @@ -633,6 +642,51 @@ class checkBox(widget): # def draw(self, win, pos): # self._generate(pos) # win.blit(self.surface,pos) +class tip(widget): + def __init__(self,text,responceWidth,responceHeight,fontSize=15,font=_df, + borderColor=(180,180,50),borderWidth=2,bg=(255,255,128), + fg=(35,35,5),waitBeforeShowing=0, + tipPosRelativeCursor=(10,10)): + super()._args(locals()) + self.tick = -1 + self.lcp = (0,0) + self.tprc = self.tipPosRelativeCursor + self._generate() + def _generate(self, position=None): + self.surface = _s((self.responceWidth, + self.responceHeight)) + if position != None: + self.tick += 1 + if self.lcp != _m.getPosition(): + self.tick = 0 + self.lcp = _m.getPosition() + if self.tick >= self.waitBeforeShowing: + mp = _m.getPosition() + mp = [mp[0]+self.tprc[0]-position[0], + mp[1]+self.tprc[1]-position[1]] + rect = _r(mp[0],mp[1], + self.font.size(self.text,self.fontSize)[0]+4, + self.font.size(self.text,self.fontSize)[1]+6) + if mp[0]<0 or mp[1]<0:return + if mp[0]>self.responceWidth:return + if mp[1]>self.responceHeight:return + if mp[0]>self.responceWidth-rect.w: + mp[0]=self.responceWidth-rect.w + if mp[1]>self.responceHeight-rect.h: + mp[1]=self.responceHeight-rect.h + rect = _r(mp[0],mp[1], + self.font.size(self.text,self.fontSize)[0]+4, + self.font.size(self.text,self.fontSize)[1]+6) + self.surface.draw.rect(self.bg,rect) + self.surface.draw.rect( + self.borderColor,rect,self.borderWidth) + ts = self.font.render( + self.text,self.fontSize,self.fg) + self.surface.blit(ts,(mp[0]+2,mp[1]+3)) + def draw(self, win, pos): + self._generate(pos) + win.blit(self.surface,pos) + class base: def __init__(self, win, bg=(128,128,128)): self._widgets = {} diff --git a/dist/pgw-0.0.1-py3-none-any.whl b/dist/pgw-0.0.1-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..27b66a2e0b7cb30b6300f67d855147df1b5ddc2b GIT binary patch literal 15549 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 RPMATM;S>u4!(DR_4*>Vo`4j*E literal 0 HcmV?d00001 diff --git a/dist/pgw-0.0.1.tar.gz b/dist/pgw-0.0.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..5b8f64f8686bb05af156d58c82b775094fbdf347 GIT binary patch literal 12164 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