Skip to content

Commit

Permalink
Demo Program to show new Watermark features
Browse files Browse the repository at this point in the history
  • Loading branch information
PySimpleGUI committed Mar 8, 2023
1 parent d447633 commit 3b7a17f
Show file tree
Hide file tree
Showing 2 changed files with 127 additions and 5 deletions.
109 changes: 109 additions & 0 deletions DemoPrograms/Demo_Watermark_Window.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
import PySimpleGUI as sg

"""
Demo - Watermarking all windows
Watermarking windows can be done in 4.60.0.160 and greater. It's a very simple mechanism for now.
The option is normally set in the Global Settings control panel. However, you can "Force" the watermark
on all windows by setting the Window paramter watermark=True on any window you create and from then on
all windows will have the watermark.
Copyright 2023 PySimpleGUI
"""

"""
M"""""""`YM
M mmmm. M
M MMMMM M .d8888b.
M MMMMM M 88' `88
M MMMMM M 88. .88
M MMMMM M `88888P'
MMMMMMMMMMM
M""MMM""MMM""M dP dP
M MMM MMM M 88 88
M MMP MMP M .d8888b. d8888P .d8888b. 88d888b. 88d8b.d8b. .d8888b. 88d888b. 88 .dP
M MM' MM' .M 88' `88 88 88ooood8 88' `88 88'`88'`88 88' `88 88' `88 88888"
M `' . '' .MM 88. .88 88 88. ... 88 88 88 88 88. .88 88 88 `8b.
M .d .dMMM `88888P8 dP `88888P' dP dP dP dP `88888P8 dP dP `YP
MMMMMMMMMMMMMM
"""

layout = [ [sg.Text('No Watermark')],
[sg.Button('Exit')] ]

window = sg.Window('No Watermark', layout)

while True:
event, values = window.read()
if event == sg.WIN_CLOSED or event == 'Exit':
break

window.close()


"""
MP""""""`MM dP
M mmmmm..M 88
M. `YM dP dP .d8888b. d8888P .d8888b. 88d8b.d8b.
MMMMMMM. M 88 88 Y8ooooo. 88 88ooood8 88'`88'`88
M. .MMM' M 88. .88 88 88 88. ... 88 88 88
Mb. .dM `8888P88 `88888P' dP `88888P' dP dP dP
MMMMMMMMMMM .88
d8888P
M""MMM""MMM""M dP dP
M MMM MMM M 88 88
M MMP MMP M .d8888b. d8888P .d8888b. 88d888b. 88d8b.d8b. .d8888b. 88d888b. 88 .dP
M MM' MM' .M 88' `88 88 88ooood8 88' `88 88'`88'`88 88' `88 88' `88 88888"
M `' . '' .MM 88. .88 88 88. ... 88 88 88 88 88. .88 88 88 `8b.
M .d .dMMM `88888P8 dP `88888P' dP dP dP dP `88888P8 dP dP `YP
MMMMMMMMMMMMMM
"""

sg.set_options(watermark_text='') # noramlly not requird unless previously set by user

layout = [ [sg.Text('System Provided Watermark')],
[sg.Button('Exit')] ]

window = sg.Window('System Watermark', layout, watermark=True)

while True:
event, values = window.read()
if event == sg.WIN_CLOSED or event == 'Exit':
break

window.close()


"""
M""MMMMM""M
M MMMMM M
M MMMMM M .d8888b. .d8888b. 88d888b.
M MMMMM M Y8ooooo. 88ooood8 88' `88
M `MMM' M 88 88. ... 88
Mb dM `88888P' `88888P' dP
MMMMMMMMMMM
M""MMM""MMM""M dP dP
M MMM MMM M 88 88
M MMP MMP M .d8888b. d8888P .d8888b. 88d888b. 88d8b.d8b. .d8888b. 88d888b. 88 .dP
M MM' MM' .M 88' `88 88 88ooood8 88' `88 88'`88'`88 88' `88 88' `88 88888"
M `' . '' .MM 88. .88 88 88. ... 88 88 88 88 88. .88 88 88 `8b.
M .d .dMMM `88888P8 dP `88888P' dP dP dP dP `88888P8 dP dP `YP
MMMMMMMMMMMMMM
"""

sg.set_options(watermark_text='User Supplied Version 1.0')

layout = [ [sg.Text('User Supplied Watermark')],
[sg.Button('Exit')] ]

window = sg.Window('User Supplied Watermark', layout, watermark=True)

while True:
event, values = window.read()
if event == sg.WIN_CLOSED or event == 'Exit':
break

window.close()
23 changes: 18 additions & 5 deletions PySimpleGUI.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/python3

version = __version__ = "4.61.0.160 Unreleased"
version = __version__ = "4.61.0.161 Unreleased"

_change_log = """
Changelog since 4.60.0 released to PyPI on 8-May-2022
Expand Down Expand Up @@ -387,6 +387,8 @@
New Global Settings feature - Window watermarking. Can be forced on temporarily by settings watermark=True in your Window creation
4.61.0.160
Fix "Bold" crash from watermarking feature
4.61.0.161
New set_options to control user-defined watermarks
"""

__version__ = version.split()[0] # For PEP 396 and PEP 345
Expand Down Expand Up @@ -19013,7 +19015,7 @@ def set_options(icon=None, button_color=None, element_size=(None, None), button_
enable_mac_notitlebar_patch=None, use_custom_titlebar=None, titlebar_background_color=None, titlebar_text_color=None, titlebar_font=None,
titlebar_icon=None, user_settings_path=None, pysimplegui_settings_path=None, pysimplegui_settings_filename=None, keep_on_top=None, dpi_awareness=None, scaling=None, disable_modal_windows=None, force_modal_windows=None, tooltip_offset=(None, None),
sbar_trough_color=None, sbar_background_color=None, sbar_arrow_color=None, sbar_width=None, sbar_arrow_width=None, sbar_frame_color=None, sbar_relief=None, alpha_channel=None,
hide_window_when_creating=None, use_button_shortcuts=None):
hide_window_when_creating=None, use_button_shortcuts=None, watermark_text=None):
"""
:param icon: Can be either a filename or Base64 value. For Windows if filename, it MUST be ICO format. For Linux, must NOT be ICO. Most portable is to use a Base64 of a PNG file. This works universally across all OS's
:type icon: bytes | str
Expand Down Expand Up @@ -19147,6 +19149,8 @@ def set_options(icon=None, button_color=None, element_size=(None, None), button_
:type hide_window_when_creating: (bool)
:param use_button_shortcuts: If True then Shortcut Char will be used with Buttons
:type use_button_shortcuts: (bool)
:param watermark_text: Set the text that will be used if a window is watermarked
:type watermark_text: (str)
:return: None
:rtype: None
"""
Expand Down Expand Up @@ -19424,6 +19428,10 @@ def set_options(icon=None, button_color=None, element_size=(None, None), button_

if use_button_shortcuts is not None:
DEFAULT_USE_BUTTON_SHORTCUTS = use_button_shortcuts

if watermark_text is not None:
pysimplegui_user_settings.set('-watermark user text-', watermark_text)

return True


Expand Down Expand Up @@ -25499,9 +25507,14 @@ def _global_settings_get_watermark_info():
ver_text = ' ' + version if pysimplegui_user_settings.get('-watermark ver-', False if not forced else True) or forced else ''
framework_ver_text = ' ' + framework_version if pysimplegui_user_settings.get('-watermark framework ver-', False if not forced else True) or forced else ''
watermark_font = pysimplegui_user_settings.get('-watermark font-', '_ 9 bold')
background_color = pysimplegui_user_settings.get('-watermark bg color-', 'window.BackgroundColor')
# background_color = pysimplegui_user_settings.get('-watermark bg color-', 'window.BackgroundColor')
user_text = pysimplegui_user_settings.get('-watermark user text-', '')
if user_text:
text = str(user_text)
else:
text = prefix_text + ver_text + framework_ver_text
Window._watermark = lambda window: Text(text, font=watermark_font, background_color= window.BackgroundColor)

Window._watermark = lambda window: Text(prefix_text + ver_text + framework_ver_text, font=watermark_font, background_color= window.BackgroundColor)


def main_global_get_screen_snapshot_symcode():
Expand Down Expand Up @@ -26416,4 +26429,4 @@ def _optional_window_data(window):
exit(0)
main()
exit(0)
#2e985cee1c05c21e66c65647555cdb19d022a40185cfad6fc96617a35f12286adcdeb20234a21b9cd4ffe4ccd3e5a259aa9bbdf3d772c389d0e5550ee89901ea46ac134062a39601e62fab71080f784137d54e8d6ee0eb35d9e2b7f0517147534b79aaf35f2b1d7194f0ad6dc0ae79167c616e719a74054d5bfaecb394aa78556ef3c0dd37fbd275c6f22008294cd4e0734cc9b5d151b49a2f42b754b736eb7322a0f3fc24efb638fba9b5ecc8b49ee2df3b2d0ffea18fd736978f1cfea73eb41dfaee1e4a339fa02df2660851accc6ec1e07f37b83b26edece5fb3e3f04c0163e6a499aa3bad9df6843b864cc8f2ae7ea2dadcdd69814997c4a97599f860ec8482e9bbf3969d27c7c288069a7218dceebaa410a9af1bd40edc331b7d96b2faaf0861b5a9cc7234f91d00c545efc94f4874aed65646105c61776b900d90c2c84578cf054ba409e21034a00a7e30a7e971027cb08433de7ff9f5d7b56c31977acb08bc18c4da434928e02257810856237cc6e81bdd4ca95d97ba2e9d43f1ded28f9a21ef3136f8ac6075117feddc13daa808a3c6e419e355b2a1ee86d057f47f0fa51e6e344c39a0c95ccb9e3dd98d89c4fde2411ec0877137fa27065a4e9ca1e75d27dc6b69c1df15c32052d8b303504243916275195f28daccc02c7cd539bc66d407bd89a77da1fc183c756e94b44fd947b72d53464d9a4ecab02cc17501e9e
#0ca08f0f911461d1d3ae002c055cdf86ca5d243565b37eef48a6b3e02a3e917ab3af8d7317296be3d6074b3257e506129a87b27b5ac89ab40f1ff33fbb907e4d32f218f30eb86903bcf017466d2291a534180cc363996ebac425524929e3caebd4d524524f380c2471d7497ac7f62df5a3525cbd9ebff46b6dcca3caf749c5c6e32b3697685a524169887216d4b24c66760e31c4b92f52e15c00a4adbf0b66b2b474fc8883def17a066b98ce9c0839f6c7900a4df01b49321b8410894264a7dd24babe7a66556ce725d0fe18810ba616e777c8db14978e56679262ef41c917dc52a2454b4926c52aa8c4415f86b824dbaadb89c15b020de386d263e13b609cd26a76925840970bcfb198ecc165609780d9fc24453a25d917254404251a69aa68b4503f761d5cdedbcb68ab281be964d1e04182d8f87135648a71b25a9655d02662593556b55f79d60109151403a478d4824c09264fb2b5b056b4fa57fbf7c391cf746c48ec98da618a509b2a72434d86c92c10961c85744c6172b37a183b3553299ae092a265764bf85d3d6c061f86dbf3c64c089bfa6f570beda30138c8c3427fe97b4a9c9b80571e7c67f718723f802d8d1959378b26df664ec7e1b0176c5cfbedb6f8d0280298633304d18bfdf3fd5d7900182bc47414d3b2ab7624f9756c33332e022160f619a0df34df54aebba8dc622b1cc68cb05807dd31372009363a

0 comments on commit 3b7a17f

Please sign in to comment.