Compare with Previous | Blame | View Log
--[[textureData = {
type = "texture",
image = "file/path.dds",
imageWidth = 64, --max of 250 for half width, 510 for full
imageHeight = 32, --max of 100
tooltip = "Image's tooltip text.", --(optional)
width = "full", --or "half" (optional)
reference = "MyAddonTexture" --(optional) unique global reference to control
} ]]
--add texture coords support?
local widgetVersion = 5
local LAM = LibStub("LibAddonMenu-2.0")
if not LAM:RegisterWidget("texture", widgetVersion) then return end
local wm = WINDOW_MANAGER
function LAMCreateControl.texture(parent, textureData, controlName)
local control = wm:CreateTopLevelWindow(controlName or textureData.reference)
control:SetResizeToFitDescendents(true)
control:SetParent(parent.scroll or parent)
local isHalfWidth = textureData.width == "half"
if isHalfWidth then
control:SetDimensionConstraints(250, 55, 250, 100)
control:SetDimensions(250, 55)
else
control:SetDimensionConstraints(510, 30, 510, 100)
control:SetDimensions(510, 30)
end
control.texture = wm:CreateControl(nil, control, CT_TEXTURE)
local texture = control.texture
texture:SetAnchor(CENTER)
texture:SetDimensions(textureData.imageWidth, textureData.imageHeight)
texture:SetTexture(textureData.image)
if textureData.tooltip then
texture:SetMouseEnabled(true)
--texture.tooltipText = textureData.tooltip
texture.data = {tooltipText = textureData.tooltip}
texture:SetHandler("OnMouseEnter", ZO_Options_OnMouseEnter)
texture:SetHandler("OnMouseEnter", ZO_Options_OnMouseExit)
end
control.panel = parent.panel or parent --if this is in a submenu, panel is its parent
control.data = textureData
return control
end