diff --git a/src/ext/lib/uwui/UI.js b/src/ext/lib/uwui/UI.js index 7714e7b..d7b25c2 100644 --- a/src/ext/lib/uwui/UI.js +++ b/src/ext/lib/uwui/UI.js @@ -211,6 +211,65 @@ class UI { this.handleMessage(message); } + + /** + * Generates marker positions for bug mitigations + */ + generateDebugMarker(x, y) { + const [parentMainDimension, parentCrossDimension] = y === 'center' ? ['height', 'width'] : ['width', 'height']; + + let anchorStyle; + + if (x === 'center' && x === y) { + anchorStyle = 'left: 50%; top: 50%; transform: translate(-50%, -50%);'; + } else { + switch (x) { + case 'left': + anchorStyle = 'left: 0px;'; + break; + case 'center': + anchorStyle = 'left: 50%; transform: translateX(-50%);'; + break; + case 'right': + anchorStyle = 'right: 0px;'; + break; + } + switch (y) { + case 'top': + anchorStyle = `${anchorStyle} top: 0px;`; + break; + case 'center': + anchorStyle = `${anchorStyle} top: 50%; transform: translateY(-50%);`; + break; + case 'bottom': + anchorStyle = `${anchorStyle} bottom: 0px;`; + break; + } + } + + + let [mainAxis, crossAxis] = y === 'center' ? ['left', 'top'] : ['top', 'left']; + + const template = document.createElement('template'); + template.innerHTML = ` +