Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os, sys
- import traceback
- import win32api
- import win32con
- import win32gui
- with open(os.devnull, "w") as f:
- oldstdout=sys.stdout; sys.stdout=f; import pygame; sys.stdout=oldstdout
- if sys.platform in ["win32","win64"]:
- os.environ["SDL_VIDEO_CENTERED"] = "1"
- else:
- raise OSError("Not implemented!")
- pygame.display.init()
- icon=pygame.Surface((1,1)); icon.set_alpha(0); pygame.display.set_icon(icon)
- pygame.display.set_caption("Transparent PyGame Windows - Ian Mallett")
- def show_startup():
- res = (256,128)
- surface = pygame.display.set_mode(res,pygame.NOFRAME)
- color_transparent = (255,0,255)
- hwnd = pygame.display.get_wm_info()["window"]
- win32gui.SetWindowLong(
- hwnd,
- win32con.GWL_EXSTYLE,
- win32gui.GetWindowLong(hwnd,win32con.GWL_EXSTYLE) | win32con.WS_EX_LAYERED
- )
- win32gui.SetLayeredWindowAttributes(
- hwnd,
- win32api.RGB(*color_transparent), 0,
- win32con.LWA_COLORKEY
- )
- while True:
- for event in pygame.event.get():
- if event.type == pygame.QUIT: return False
- elif event.type == pygame.KEYDOWN:
- if event.key == pygame.K_RETURN:
- return True
- elif event.key == pygame.K_ESCAPE:
- return False
- surface.fill(color_transparent)
- pygame.draw.circle(surface,(64,128,96,128),(128,64),64,0)
- for r in [(0,0,16,16),(240,0,16,16),(0,112,16,16),(240,112,16,16)]:
- pygame.draw.rect(surface,(64,96,255),r,2)
- pygame.display.flip()
- def show_app():
- surface = pygame.display.set_mode((512,256))
- while True:
- for event in pygame.event.get():
- if event.type == pygame.QUIT: return
- elif event.type == pygame.KEYDOWN:
- if event.key == pygame.K_ESCAPE: return
- surface.fill((64,64,64))
- pygame.display.flip()
- def main():
- did_not_quit = show_startup()
- if did_not_quit:
- show_app()
- pygame.quit()
- if __name__ == "__main__":
- try:
- main()
- except:
- traceback.print_exc()
- pygame.quit()
- input()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement