2023-03-23 21:25:38 +00:00
|
|
|
default _tooltip = None
|
|
|
|
|
2022-05-16 23:48:22 +00:00
|
|
|
screen tooltip():
|
|
|
|
layer "interface"
|
|
|
|
tag tooltip
|
|
|
|
zorder 5
|
|
|
|
style_prefix "tooltip"
|
|
|
|
|
2023-07-02 16:03:44 +00:00
|
|
|
if settings.get("tooltip") and getattr(store, "_tooltip", None):
|
2022-05-31 15:03:20 +00:00
|
|
|
window:
|
2023-03-23 21:25:38 +00:00
|
|
|
id "tooltip"
|
2022-05-31 15:03:20 +00:00
|
|
|
at tooltip_follow
|
2023-04-03 00:32:49 +00:00
|
|
|
text "[_tooltip!i]"
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
style tooltip_window is empty:
|
|
|
|
background "#00000080"
|
2023-03-23 21:25:38 +00:00
|
|
|
padding (18, 12)
|
2022-05-16 23:48:22 +00:00
|
|
|
xmaximum 300
|
|
|
|
|
|
|
|
style tooltip_text is default:
|
|
|
|
color "#fff"
|
|
|
|
size 10
|
|
|
|
outlines [(1, "#00000080", 1, 0)]
|
|
|
|
|
2022-05-31 15:03:20 +00:00
|
|
|
transform tooltip_follow:
|
|
|
|
events False
|
|
|
|
function tooltip_func
|
2022-05-16 23:48:22 +00:00
|
|
|
|
2022-05-31 15:03:20 +00:00
|
|
|
init python:
|
2022-05-16 23:48:22 +00:00
|
|
|
|
2022-05-31 15:03:20 +00:00
|
|
|
def tooltip_func(trans, st, at):
|
|
|
|
x, y = renpy.get_mouse_pos()
|
2023-03-23 21:25:38 +00:00
|
|
|
|
|
|
|
if trans.pos is not (x, y):
|
|
|
|
cw, ch = trans.child.window_size
|
|
|
|
|
|
|
|
xanchor = 1.0 if (x + int(cw)) > (config.screen_width) else 0.0
|
|
|
|
yanchor = 1.0 if (y + int(ch)) > (config.screen_height) else 0.0
|
|
|
|
|
|
|
|
xoffset = 18 if xanchor else 0
|
|
|
|
yoffset = 24 if yanchor else 0
|
|
|
|
trans.pos = (x, y)
|
|
|
|
trans.anchor = (xanchor, yanchor)
|
|
|
|
trans.offset = (xoffset, yoffset)
|
|
|
|
|
|
|
|
return 0
|
|
|
|
|
|
|
|
if not renpy.android:
|
|
|
|
|
|
|
|
config.always_shown_screens.append("tooltip")
|
|
|
|
config.per_frame_screens.append("tooltip")
|