frontengine 1.0.19__tar.gz → 1.0.20__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. {frontengine-1.0.19 → frontengine-1.0.20}/PKG-INFO +1 -1
  2. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/pet/desktop_pet.py +28 -2
  3. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine.egg-info/PKG-INFO +1 -1
  4. {frontengine-1.0.19 → frontengine-1.0.20}/pyproject.toml +1 -1
  5. {frontengine-1.0.19 → frontengine-1.0.20}/LICENSE +0 -0
  6. {frontengine-1.0.19 → frontengine-1.0.20}/README.md +0 -0
  7. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/__init__.py +0 -0
  8. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/__main__.py +0 -0
  9. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/__init__.py +0 -0
  10. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/base_widget.py +0 -0
  11. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/gif/__init__.py +0 -0
  12. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/gif/paint_gif.py +0 -0
  13. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/image/__init__.py +0 -0
  14. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/image/paint_image.py +0 -0
  15. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/load/__init__.py +0 -0
  16. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/load/load_someone_make_ui.py +0 -0
  17. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/overlay_factory.py +0 -0
  18. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/particle/__init__.py +0 -0
  19. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/particle/particle_ui.py +0 -0
  20. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/pet/__init__.py +0 -0
  21. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/scene/__init__.py +0 -0
  22. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/scene/extend_graphic_scene.py +0 -0
  23. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/scene/extend_graphic_view.py +0 -0
  24. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/scene/scene.py +0 -0
  25. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/sound_player/__init__.py +0 -0
  26. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/sound_player/sound_effect.py +0 -0
  27. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/sound_player/sound_player.py +0 -0
  28. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/text/__init__.py +0 -0
  29. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/text/draw_text.py +0 -0
  30. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/video/__init__.py +0 -0
  31. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/video/video_player.py +0 -0
  32. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/web/__init__.py +0 -0
  33. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/web/webview.py +0 -0
  34. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/show/window_helpers.py +0 -0
  35. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/system_tray/__init__.py +0 -0
  36. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/system_tray/extend_system_tray.py +0 -0
  37. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/__init__.py +0 -0
  38. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/color/__init__.py +0 -0
  39. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/color/global_color.py +0 -0
  40. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/dialog/__init__.py +0 -0
  41. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/dialog/choose_file_dialog.py +0 -0
  42. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/dialog/hotkey_settings_dialog.py +0 -0
  43. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/dialog/save_file_dialog.py +0 -0
  44. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/main_ui.py +0 -0
  45. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/menu/__init__.py +0 -0
  46. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/menu/help_menu.py +0 -0
  47. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/menu/how_to_menu.py +0 -0
  48. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/menu/language_menu.py +0 -0
  49. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/menu/preset_menu.py +0 -0
  50. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/menu/settings_menu.py +0 -0
  51. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/__init__.py +0 -0
  52. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/control_center/__init__.py +0 -0
  53. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/control_center/control_center_ui.py +0 -0
  54. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/gif/__init__.py +0 -0
  55. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/gif/gif_setting_ui.py +0 -0
  56. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/image/__init__.py +0 -0
  57. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/image/image_setting_ui.py +0 -0
  58. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/particle/__init__.py +0 -0
  59. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/particle/particle_setting_ui.py +0 -0
  60. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/pet/__init__.py +0 -0
  61. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/pet/pet_setting_ui.py +0 -0
  62. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/__init__.py +0 -0
  63. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_manager.py +0 -0
  64. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_page/__init__.py +0 -0
  65. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_page/base_scene_page.py +0 -0
  66. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_page/gif.py +0 -0
  67. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_page/image.py +0 -0
  68. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_page/registry.py +0 -0
  69. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_page/sound.py +0 -0
  70. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_page/text.py +0 -0
  71. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_page/video.py +0 -0
  72. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_page/web.py +0 -0
  73. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_setting_ui.py +0 -0
  74. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/sound_player/__init__.py +0 -0
  75. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/sound_player/sound_player_setting_ui.py +0 -0
  76. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/text/__init__.py +0 -0
  77. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/text/text_setting_ui.py +0 -0
  78. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/utils.py +0 -0
  79. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/video/__init__.py +0 -0
  80. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/video/video_setting_ui.py +0 -0
  81. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/web/__init__.py +0 -0
  82. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/ui/page/web/web_setting_ui.py +0 -0
  83. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/user_setting/__init__.py +0 -0
  84. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/user_setting/preset_repository.py +0 -0
  85. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/user_setting/scene_setting.py +0 -0
  86. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/user_setting/user_setting_file.py +0 -0
  87. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/__init__.py +0 -0
  88. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/browser/__init__.py +0 -0
  89. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/browser/browser.py +0 -0
  90. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/critical_exit/__init__.py +0 -0
  91. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/critical_exit/check_key_is_press.py +0 -0
  92. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/critical_exit/critical_exit.py +0 -0
  93. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/critical_exit/win32_vk.py +0 -0
  94. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/exception/__init__.py +0 -0
  95. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/exception/exception_tags.py +0 -0
  96. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/exception/exceptions.py +0 -0
  97. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/file/__init__.py +0 -0
  98. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/file/open/__init__.py +0 -0
  99. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/file/open/open_file.py +0 -0
  100. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/file/save/__init__.py +0 -0
  101. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/file/save/save_file.py +0 -0
  102. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/hotkey/__init__.py +0 -0
  103. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/hotkey/hotkey_service.py +0 -0
  104. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/json/__init__.py +0 -0
  105. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/json/json_file.py +0 -0
  106. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/json/json_repository.py +0 -0
  107. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/json_format/__init__.py +0 -0
  108. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/json_format/json_process.py +0 -0
  109. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/logging/__init__.py +0 -0
  110. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/logging/loggin_instance.py +0 -0
  111. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/multi_language/__init__.py +0 -0
  112. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/multi_language/english.py +0 -0
  113. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/multi_language/france.py +0 -0
  114. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/multi_language/germany.py +0 -0
  115. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/multi_language/italy.py +0 -0
  116. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/multi_language/language_wrapper.py +0 -0
  117. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/multi_language/russian.py +0 -0
  118. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/multi_language/simplified_chinese.py +0 -0
  119. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/multi_language/traditional_chinese.py +0 -0
  120. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/preset_schedule/__init__.py +0 -0
  121. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/preset_schedule/preset_schedule_service.py +0 -0
  122. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/redirect_manager/__init__.py +0 -0
  123. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/redirect_manager/redirect_manager_class.py +0 -0
  124. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/smart_pause/__init__.py +0 -0
  125. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/smart_pause/smart_pause_service.py +0 -0
  126. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/theme_schedule/__init__.py +0 -0
  127. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/theme_schedule/theme_schedule_service.py +0 -0
  128. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/utils/web_url.py +0 -0
  129. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/worker/__init__.py +0 -0
  130. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine/worker/qthread_worker.py +0 -0
  131. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine.egg-info/SOURCES.txt +0 -0
  132. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine.egg-info/dependency_links.txt +0 -0
  133. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine.egg-info/entry_points.txt +0 -0
  134. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine.egg-info/requires.txt +0 -0
  135. {frontengine-1.0.19 → frontengine-1.0.20}/frontengine.egg-info/top_level.txt +0 -0
  136. {frontengine-1.0.19 → frontengine-1.0.20}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: frontengine
3
- Version: 1.0.19
3
+ Version: 1.0.20
4
4
  Summary: FrontEngine is use-define frontview or only use like screen saver
5
5
  Author-email: JE-Chen <jechenmailman@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/Intergration-Automation-Testing/FrontEngine
@@ -483,6 +483,31 @@ class PetMotion:
483
483
  """設定可站立的視窗上緣平台 / Set standable window top-edge platforms."""
484
484
  self.platforms = list(platforms)
485
485
 
486
+ def grab_nearest_wall(self, threshold: float = 40.0) -> bool:
487
+ """
488
+ 若目前貼近左/右螢幕邊緣,就抓住該牆開始往上爬;成功回傳 True。
489
+ If close to the left/right screen edge, grab that wall and start
490
+ climbing it. Returns True when a wall was grabbed.
491
+ """
492
+ if not self.climb:
493
+ return False
494
+ left, _top, right, _bottom = self.bounds
495
+ if self.x <= left + threshold:
496
+ self.x = float(left)
497
+ surface = SURFACE_LEFT
498
+ elif self.x + self.width >= right - threshold:
499
+ self.x = float(right - self.width)
500
+ surface = SURFACE_RIGHT
501
+ else:
502
+ return False
503
+ self.surface = surface
504
+ self.vy = float(-self.speed)
505
+ self._airborne = False
506
+ self.on_platform = False
507
+ self.platform_span = None
508
+ self.follow_target_x = None
509
+ return True
510
+
486
511
  def set_follow(self, target_x) -> None:
487
512
  """設定要走向的 x 座標(朝同伴玩耍)/ Set a horizontal target to walk toward."""
488
513
  self.follow_target_x = float(target_x)
@@ -1237,9 +1262,10 @@ class DesktopPetWidget(BaseWidget):
1237
1262
  self.motion.x = float(self.x())
1238
1263
  self.motion.y = float(self.y())
1239
1264
  if self._moved:
1240
- # Fling with the momentum of the last drag movement (floor mode).
1241
1265
  if self.motion.behaviour == BEHAVIOUR_FLOOR:
1242
- self.motion.throw(self._last_move_delta[0], self._last_move_delta[1])
1266
+ # Dropping against a screen edge grabs the wall; otherwise fling.
1267
+ if not self.motion.grab_nearest_wall():
1268
+ self.motion.throw(self._last_move_delta[0], self._last_move_delta[1])
1243
1269
  else:
1244
1270
  self.say() # a click (no drag) makes the pet talk
1245
1271
  super().mouseReleaseEvent(event)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: frontengine
3
- Version: 1.0.19
3
+ Version: 1.0.20
4
4
  Summary: FrontEngine is use-define frontview or only use like screen saver
5
5
  Author-email: JE-Chen <jechenmailman@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/Intergration-Automation-Testing/FrontEngine
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "frontengine"
9
- version = "1.0.19"
9
+ version = "1.0.20"
10
10
  authors = [
11
11
  { name = "JE-Chen", email = "jechenmailman@gmail.com" },
12
12
  ]
File without changes
File without changes
File without changes