Add files via upload

This commit is contained in:
themixray 2021-12-05 18:35:17 +03:00 committed by GitHub
parent a3fd5c01d4
commit 3cdef5a12e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 94 additions and 20 deletions

View file

@ -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,

View file

@ -212,10 +212,11 @@ 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
@ -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,8 +358,10 @@ 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
@ -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 = {}

BIN
dist/pgw-0.0.1-py3-none-any.whl vendored Normal file

Binary file not shown.

BIN
dist/pgw-0.0.1.tar.gz vendored Normal file

Binary file not shown.

12
pgw.egg-info/PKG-INFO Normal file
View file

@ -0,0 +1,12 @@
Metadata-Version: 2.1
Name: pgw
Version: 0.0.1
Summary: A library for creating Python applications.
Home-page: UNKNOWN
Author: themixray
License: MIT
Platform: UNKNOWN
License-File: LICENSE
UNKNOWN

View file

@ -0,0 +1 @@

View file

@ -0,0 +1,7 @@
cython
pywin32
pygame
inputs
pydub
wxPython
pyautogui

View file

@ -1,3 +1,2 @@
@echo off
python setup.py install
pause

View file

@ -1,9 +1,9 @@
[metadata]
name = pygwin0
name = pgw
version = 0.0.1
author = themixray
author_email = simindeymo@gmail.com
description = A library for creating Python applications.
description = Python Grapchical Window.
long_description = file: README.md
long_description_content_type = text/markdown
url = https://github.com/themixray/pygwin

View file

@ -1,5 +1,6 @@
from setuptools import setup
setup(name='pygwin',packages=['pygwin'],version='0.0.1',author='themixray',
description='A library for creating Python applications.',license='MIT',
install_requires=['cython','pywin32','pygame','inputs','pydub','wxPython'])
setup(name='pgw',packages=['pygwin'],version='0.0.1',author='themixray',
description='A library for creating Python applications.',
license='MIT',install_requires=['cython','pywin32','pygame',
'inputs','pydub','wxPython','pyautogui'])