diff --git a/UI.lua b/UI.lua index bfc7013..9dc091b 100755 --- a/UI.lua +++ b/UI.lua @@ -91,22 +91,35 @@ local function CreateRadioButton(parent, name, text, x, y, isChecked, onClick) btn:SetSize(size, size) btn:SetPoint("TOPLEFT", parent, "TOPLEFT", x, y) - -- Background (grey when unselected, yellow when selected) — circular via mask - local bg = btn:CreateTexture(nil, "BACKGROUND") - bg:SetAllPoints() - bg:SetColorTexture(0.3, 0.3, 0.3, 1) - local mask = btn:CreateMaskTexture() - mask:SetAllPoints() - mask:SetTexture("Interface\\CharacterFrame\\TempPortraitAlphaMask", "CLAMPTOBLACKADDITIVE", "CLAMPTOBLACKADDITIVE") - bg:AddMaskTexture(mask) + -- Outer grey circle (always visible, acts as border) + local border = btn:CreateTexture(nil, "BACKGROUND") + border:SetAllPoints() + border:SetColorTexture(0.3, 0.3, 0.3, 1) + local borderMask = btn:CreateMaskTexture() + borderMask:SetAllPoints() + borderMask:SetTexture("Interface\\CharacterFrame\\TempPortraitAlphaMask", "CLAMPTOBLACKADDITIVE", "CLAMPTOBLACKADDITIVE") + border:AddMaskTexture(borderMask) + + -- Inner yellow circle (shown when selected, slightly smaller to reveal grey border) + local inner = btn:CreateTexture(nil, "BORDER") + local inset = 3 + inner:SetPoint("TOPLEFT", btn, "TOPLEFT", inset, -inset) + inner:SetPoint("BOTTOMRIGHT", btn, "BOTTOMRIGHT", -inset, inset) + inner:SetColorTexture(0.9, 0.75, 0.2, 1) + local innerMask = btn:CreateMaskTexture() + innerMask:SetPoint("TOPLEFT", btn, "TOPLEFT", inset, -inset) + innerMask:SetPoint("BOTTOMRIGHT", btn, "BOTTOMRIGHT", -inset, inset) + innerMask:SetTexture("Interface\\CharacterFrame\\TempPortraitAlphaMask", "CLAMPTOBLACKADDITIVE", "CLAMPTOBLACKADDITIVE") + inner:AddMaskTexture(innerMask) + inner:Hide() btn.checkTex = nil -- unused, kept for compatibility local function UpdateVisual() if btn:GetChecked() then - bg:SetColorTexture(0.9, 0.75, 0.2, 1) + inner:Show() else - bg:SetColorTexture(0.3, 0.3, 0.3, 1) + inner:Hide() end end @@ -248,7 +261,7 @@ function AltSystem:CreateMainFrame() -- Section: Define Your Base Roll CreateSectionHeader(content, "Define Your Base Roll", PADDING, yPos) - yPos = yPos - 20 + yPos = yPos - 25 -- Roll Type label CreateSubLabel(content, "Roll Type", PADDING, yPos) @@ -532,14 +545,11 @@ function AltSystem:CreateMainFrame() logPanel:SetSize(LOG_WIDTH, tabContentHeight) -- Log header - local logHeader = logPanel:CreateFontString(nil, "OVERLAY", "GameFontNormal") - logHeader:SetPoint("TOPLEFT", logPanel, "TOPLEFT", PADDING, -4) - logHeader:SetText("Log") - logHeader:SetTextColor(0.9, 0.75, 0.2) + local logHeader = CreateSectionHeader(logPanel, "Log", PADDING, -PADDING) -- Log scroll area background local logBg = CreateFrame("Frame", nil, logPanel, "InsetFrameTemplate") - logBg:SetPoint("TOPLEFT", logPanel, "TOPLEFT", 4, -22) + logBg:SetPoint("TOPLEFT", logPanel, "TOPLEFT", 4, -38) logBg:SetPoint("BOTTOMRIGHT", logPanel, "BOTTOMRIGHT", -4, 4) -- Scroll frame for log entries