Button styling

This commit is contained in:
Gonçalo Correia 2026-05-15 13:51:22 +01:00
parent cdbaf7db93
commit 78ce755f71

42
UI.lua
View file

@ -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