edit overlay progress

This commit is contained in:
galister
2025-11-14 17:58:23 +09:00
parent 70be748da1
commit 3daee83838
46 changed files with 687 additions and 352 deletions

View File

Before

Width:  |  Height:  |  Size: 368 B

After

Width:  |  Height:  |  Size: 368 B

View File

Before

Width:  |  Height:  |  Size: 609 B

After

Width:  |  Height:  |  Size: 609 B

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 488 B

After

Width:  |  Height:  |  Size: 488 B

View File

Before

Width:  |  Height:  |  Size: 396 B

After

Width:  |  Height:  |  Size: 396 B

View File

Before

Width:  |  Height:  |  Size: 347 B

After

Width:  |  Height:  |  Size: 347 B

View File

Before

Width:  |  Height:  |  Size: 349 B

After

Width:  |  Height:  |  Size: 349 B

View File

Before

Width:  |  Height:  |  Size: 331 B

After

Width:  |  Height:  |  Size: 331 B

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Tabler Icons by Paweł Kuna - https://github.com/tabler/tabler-icons/blob/master/LICENSE --><g fill="white"><path d="M12 1a7 7 0 0 1 7 7c0 5.457-3.028 10-7 10c-3.9 0-6.89-4.379-6.997-9.703L5 8l.004-.24A7 7 0 0 1 12 1m0 4a1 1 0 0 0 0 2l.117.007A1 1 0 0 1 13 8l.007.117A1 1 0 0 0 15 8a3 3 0 0 0-3-3"/><path d="M12 16a1 1 0 0 1 .993.883L13 17v1a3 3 0 0 1-2.824 2.995L10 21H7a1 1 0 0 0-.993.883L6 22a1 1 0 0 1-2 0a3 3 0 0 1 2.824-2.995L7 19h3a1 1 0 0 0 .993-.883L11 18v-1a1 1 0 0 1 1-1"/></g></svg>

After

Width:  |  Height:  |  Size: 593 B

View File

@@ -0,0 +1,13 @@
<svg width="24" height="16" viewBox="0 0 24 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g stroke="white" stroke-width="1" stroke-linecap="round" stroke-linejoin="round">
<path d="M2 13 L6 5 H18 L22 13 Z"></path>
<path d="M7 13 L9 5"></path>
<path d="M12 13 L12 5"></path>
<path d="M17 13 L15 5"></path>
<path d="M3 11 H21"></path>
<path d="M4 9 H20"></path>
<path d="M5 7 H19"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 440 B

View File

Before

Width:  |  Height:  |  Size: 346 B

After

Width:  |  Height:  |  Size: 346 B

View File

Before

Width:  |  Height:  |  Size: 511 B

After

Width:  |  Height:  |  Size: 511 B

View File

Before

Width:  |  Height:  |  Size: 504 B

After

Width:  |  Height:  |  Size: 504 B

View File

Before

Width:  |  Height:  |  Size: 364 B

After

Width:  |  Height:  |  Size: 364 B

View File

Before

Width:  |  Height:  |  Size: 620 B

After

Width:  |  Height:  |  Size: 620 B

View File

Before

Width:  |  Height:  |  Size: 475 B

After

Width:  |  Height:  |  Size: 475 B

View File

Before

Width:  |  Height:  |  Size: 325 B

After

Width:  |  Height:  |  Size: 325 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Remix Icon by Remix Design - https://github.com/Remix-Design/RemixIcon/blob/master/License --><path fill="white" d="m22.313 10.175l-1.415 1.414l-.707-.707l-4.242 4.243l-.707 3.536l-1.415 1.414l-4.242-4.243l-4.95 4.95l-1.414-1.414l4.95-4.95l-4.243-4.243l1.414-1.414l3.536-.707l4.242-4.243l-.707-.707l1.414-1.414z"/></svg>

After

Width:  |  Height:  |  Size: 419 B

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 378 B

After

Width:  |  Height:  |  Size: 378 B

View File

Before

Width:  |  Height:  |  Size: 689 B

After

Width:  |  Height:  |  Size: 689 B

View File

Before

Width:  |  Height:  |  Size: 357 B

After

Width:  |  Height:  |  Size: 357 B

View File

@@ -1,29 +0,0 @@
<layout>
<include src="wlx_theme.xml" />
<template name="TopButton">
<rectangle id="~id" color="~color_bg" padding="8" round="50%">
<sprite width="48" height="48" src="${src}" />
</rectangle>
</template>
<elements>
<div box_sizing="content_box" flex_direction="column" justify_content="center">
<rectangle padding="10" gap="8" round="100%" color="~color_bg" justify_content="center">
<TopButton id="lock" src="bar/lock_open.svg" />
<TopButton id="anchor" src="bar/anchor.svg" />
<TopButton id="mouse" src="bar/mouse.svg" />
<TopButton id="fade" src="bar/fade.svg" />
<TopButton id="move" src="bar/move-all.svg" />
<TopButton id="resize" src="bar/resize.svg" />
<TopButton id="inout" src="bar/inout.svg" />
<TopButton id="delete" src="bar/delete.svg" />
</rectangle>
<rectangle padding="8" gap="8" round="100%" color="~color_bg_active" justify_content="center" align_items="center">
<label size="18" translation="BAR.OPACITY" color="~text_color" />
<Slider width="150" height="24" min_value="0" max_value="100" value="100" />
<CheckBox translation="BAR.ADDITIVE" color="~text_color" />
</rectangle>
</div>
</elements>
</layout>

View File

@@ -6,49 +6,84 @@
border="2" round="50%" padding="8" gradient="vertical" tooltip_side="bottom" />
<template name="TopButton">
<Button id="${id}" macro="button_style" tooltip="${tooltip}" _press="${press}" border_color="#0044CC" color="#000A1C" color2="#000002">
<sprite width="48" height="48" src="${src}" _release="${release}" />
<Button id="${id}" macro="button_style" tooltip="${tooltip}" _press="${press}" sticky="${sticky}" border_color="#0044CC" color="#000A1C" color2="#000002">
<sprite id="${id}_sprite" width="48" height="48" src="${src}" _release="${release}" />
</Button>
</template>
<template name="TopButtonDanger">
<Button id="${id}" macro="button_style" tooltip="${tooltip}" _press="${press}" border_color="#CC0000" color="#110000" color2="#020000">
<Button macro="button_style" tooltip="${tooltip}" _press="${press}" border_color="#CC0000" color="#110000" color2="#020000">
<sprite width="48" height="48" src="${src}" _release="${release}" />
</Button>
</template>
<template name="TopButtonFaded">
<Button id="${id}" macro="button_style" tooltip="${tooltip}" _press="${press}" border_color="#707070" color="#202020" color2="#010101">
<Button macro="button_style" tooltip="${tooltip}" _press="${press}" border_color="#707070" color="#202020" color2="#010101">
<sprite width="48" height="48" src="${src}" _release="${release}" />
</Button>
</template>
<template name="PosButton">
<Button id="${id}" macro="button_style" tooltip="${tooltip}" _press="${press}" border_color="#0044CC" color="#000A1C" color2="#000002">
<sprite id="${id}_sprite" width="40" height="40" src="${src}" _release="${release}" />
</Button>
</template>
<elements>
<div width="100%" height="100%">
<rectangle id="shadow" width="100%" height="100%" padding="4" gap="4" align_items="center" justify_content="center" color="#000000DD" flex_direction="row">
<div flex_direction="column">
<rectangle padding="16" gap="8" round="32" color="~color_bg" border="2" border_color="~color_accent" justify_content="center">
<div flex_direction="column" gap="8">
<label align="center" translation="EDIT_MODE.HINT_POINT_WINDOW" />
<div flex_direction="row" gap="4">
<TopButton id="lock" src="bar/lock_open.svg" tooltip="EDIT_MODE.LOCK_INTERACTION" kind="btn_primary" press="::EditModeToggleLock" />
<TopButton id="anchor" src="bar/anchor.svg" tooltip="EDIT_MODE.POSITIONING" kind="btn_primary" press="::EditModeToggleAnchor" />
<TopButton id="alpha" src="bar/fade.svg" tooltip="EDIT_MODE.OPACITY" kind="btn_primary" press="::EditModeToggleFade" />
<TopButton id="curve" src="bar/curve.svg" tooltip="EDIT_MODE.ADJUST_CURVATURE" kind="btn_primary" press="::EditModeToggleCurve" />
<TopButton id="move" src="bar/move-all.svg" tooltip="EDIT_MODE.MOVE_PRESS_AND_DRAG" kind="btn_primary" />
<TopButton id="resize" src="bar/resize.svg" tooltip="EDIT_MODE.RESIZE_PRESS_AND_DRAG" kind="btn_primary" />
<TopButtonDanger id="delete" src="bar/delete.svg" tooltip="EDIT_MODE.DELETE" kind="btn_danger" press="::EditModeDeletePress" release="::EditModeDeleteRelease" />
<TopButton sticky="1" id="top_lock" src="edit/lock_open.svg" tooltip="EDIT_MODE.LOCK_INTERACTION" press="::EditModeToggleLock" />
<TopButton sticky="0" id="top_pos" src="edit/anchor.svg" tooltip="EDIT_MODE.POSITIONING" press="::EditModeTab pos" />
<TopButton sticky="0" id="top_alpha" src="edit/fade.svg" tooltip="EDIT_MODE.OPACITY" press="::EditModeTab alpha" />
<TopButton sticky="0" id="top_curve" src="edit/curve.svg" tooltip="EDIT_MODE.ADJUST_CURVATURE" press="::EditModeTab curve" />
<TopButton sticky="0" id="top_move" src="edit/move-all.svg" tooltip="EDIT_MODE.MOVE_PRESS_AND_DRAG" />
<TopButton sticky="0" id="top_resize" src="edit/resize.svg" tooltip="EDIT_MODE.RESIZE_PRESS_AND_DRAG" />
<TopButtonDanger src="edit/delete.svg" tooltip="EDIT_MODE.DELETE" press="::EditModeDeletePress" release="::EditModeDeleteRelease" />
<div width="8" height="100%" />
<TopButtonFaded src="watch/edit.svg" tooltip="EDIT_MODE.LEAVE" kind="btn_faded" press="::EditToggle" />
<TopButtonFaded src="watch/edit.svg" tooltip="EDIT_MODE.LEAVE" press="::EditToggle" />
</div>
<div padding="8" gap="8" justify_content="center" align_items="center">
<label translation="EDIT_MODE.OPACITY" />
<Slider id="alpha_slider" width="200" height="16" min_value="0.1" max_value="1" value="1" step="0.05" />
<CheckBox id="additive_box" translation="EDIT_MODE.BLENDING_ADDITIVE" tooltip="EDIT_MODE.ALPHA_BLEND_MODE" tooltip_side="bottom" />
<div id="tab_none" display="none">
<div height="100">
<label align="center" translation="EDIT_MODE.HINT_POINT_WINDOW" />
</div>
</div>
<div padding="8" gap="8" justify_content="center" align_items="center">
<label translation="EDIT_MODE.CURVATURE" />
<Slider id="curve_slider" width="250" height="16" min_value="0" max_value="0.5" value="0.15" step="0.01" />
<div id="tab_pos" display="none">
<div height="100" flex_direction="column">
<div padding="8" gap="8" justify_content="center" align_items="center">
<PosButton id="pos_static" src="edit/pin.svg" tooltip="EDIT_MODE.POS_STATIC" press="::EditModeSetPos static" />
<PosButton id="pos_anchored" src="edit/anchor.svg" tooltip="EDIT_MODE.POS_ANCHORED" press="::EditModeSetPos anchored" />
<PosButton id="pos_floating" src="edit/float.svg" tooltip="EDIT_MODE.POS_FLOATING" press="::EditModeSetPos floating" />
<PosButton id="pos_hmd" src="watch/hmd.svg" tooltip="EDIT_MODE.POS_HMD" press="::EditModeSetPos hmd" />
<PosButton id="pos_hand_l" src="watch/controller_l.svg" tooltip="EDIT_MODE.POS_HAND_L" press="::EditModeSetPos hand_l" />
<PosButton id="pos_hand_r" src="watch/controller_r.svg" tooltip="EDIT_MODE.POS_HAND_R" press="::EditModeSetPos hand_r" />
</div>
<div padding="8" gap="8" justify_content="center" align_items="center">
<label translation="EDIT_MODE.INTERPOLATION" />
<Slider id="lerp_slider" width="250" height="16" min_value="0.05" max_value="1" value="1" step="0.05" />
</div>
</div>
</div>
<div id="tab_alpha" display="none">
<div height="100" padding="8" gap="8" justify_content="center" align_items="center">
<label translation="EDIT_MODE.OPACITY" />
<Slider id="alpha_slider" width="200" height="16" min_value="0.1" max_value="1" value="1" step="0.05" />
<CheckBox id="additive_box" translation="EDIT_MODE.BLENDING_ADDITIVE" tooltip="EDIT_MODE.ALPHA_BLEND_MODE" tooltip_side="bottom" />
</div>
</div>
<div id="tab_curve" display="none">
<div height="100" flex_direction="column">
<div padding="8" gap="8" justify_content="center" align_items="center">
<label translation="EDIT_MODE.CURVATURE_EXPLANATION" />
</div>
<div padding="8" gap="8" justify_content="center" align_items="center">
<label translation="EDIT_MODE.CURVATURE" />
<Slider id="curve_slider" width="250" height="16" min_value="0" max_value="0.5" value="0.15" step="0.01" />
</div>
</div>
</div>
</div>
</rectangle>

View File

@@ -12,5 +12,11 @@
"OPACITY": "Undurchsichtigkeit",
"POSITIONING": "Positionierung",
"RESIZE_PRESS_AND_DRAG": "Größe ändern (gedrückt halten & ziehen)"
"POS_STATIC": "Statisch: Bleibt an Ort und Stelle und wird niemals neu zentriert.",
"POS_ANCHORED": "Verankert: Bewegt sich zusammen mit dem Rest des Sets. Standard.",
"POS_FLOATING": "Schwebend: Bleibt an Ort und Stelle, wird beim Anzeigen neu zentriert.",
"POS_HMD": "Folge dem HMD.",
"POS_HAND_L": "Folge der linken Hand.",
"POS_HAND_R": "Folge der rechten Hand."
}
}
}

View File

@@ -4,13 +4,20 @@
"ALPHA_BLEND_MODE": "Alpha blend mode",
"BLENDING_ADDITIVE": "Additive",
"CURVATURE": "Curvature",
"DELETE": "Delete",
"DELETE": "Long press to remove from current set",
"HINT_POINT_WINDOW": "Point at a window to change its parameters.\nOnce done, leave edit mode using the button on the right.",
"LEAVE": "Leave edit mode",
"LOCK_INTERACTION": "Lock interaction",
"MOVE_PRESS_AND_DRAG": "Move (press & drag)",
"OPACITY": "Opacity",
"POSITIONING": "Positioning",
"RESIZE_PRESS_AND_DRAG": "Resize (press & drag)"
"RESIZE_PRESS_AND_DRAG": "Resize (press & drag)",
"POS_STATIC": "Static: Stay in place and never recenter.",
"POS_ANCHORED": "Anchored: Moves together with the rest of the set. Default.",
"POS_FLOATING": "Floating: Stay in place, recenter when shown.",
"POS_HMD": "Follow the HMD.",
"POS_HAND_L": "Follow the left hand.",
"POS_HAND_R": "Follow the right hand.",
"INTERPOLATION": "Interpolation"
}
}

View File

@@ -12,5 +12,11 @@
"OPACITY": "Opacidad",
"POSITIONING": "Posicionamiento",
"RESIZE_PRESS_AND_DRAG": "Redimensionar (presionar y arrastrar)"
"POS_STATIC": "Estático: Permanece en su lugar y nunca se recentra.",
"POS_ANCHORED": "Anclado: Se mueve junto con el resto del conjunto. Predeterminado.",
"POS_FLOATING": "Flotante: Permanece en su lugar, se recentra cuando se muestra.",
"POS_HMD": "Seguir el HMD.",
"POS_HAND_L": "Seguir la mano izquierda.",
"POS_HAND_R": "Seguir la mano derecha."
}
}
}

View File

@@ -12,5 +12,11 @@
"OPACITY": "不透明度",
"POSITIONING": "位置調整",
"RESIZE_PRESS_AND_DRAG": "サイズ変更(押してドラッグ)"
"POS_STATIC": "固定:その場に留まり、再センタリングされません。",
"POS_ANCHORED": "アンカー:他のセット要素と一緒に移動します。デフォルト。",
"POS_FLOATING": "フローティング:その場に留まり、表示されるときに再センタリングされます。",
"POS_HMD": "HMD に追従する。",
"POS_HAND_L": "左手に追従する。",
"POS_HAND_R": "右手に追従する。"
}
}
}

View File

@@ -12,5 +12,11 @@
"OPACITY": "Przezroczystość",
"POSITIONING": "Pozycjonowanie",
"RESIZE_PRESS_AND_DRAG": "Zmień rozmiar (naciśnij i przeciągnij)"
"POS_STATIC": "Statyczne: Pozostaje w miejscu i nigdy nie jest ponownie wyśrodkowywane.",
"POS_ANCHORED": "Zakotwiczone: Porusza się razem z resztą zestawu. Domyślne.",
"POS_FLOATING": "Pływające: Pozostaje w miejscu, ponownie się wyśrodkowuje po pokazaniu.",
"POS_HMD": "Podążaj za HMD.",
"POS_HAND_L": "Podążaj za lewą dłonią.",
"POS_HAND_R": "Podążaj za prawą dłonią."
}
}