--[[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.", -- or string id or function returning a string (optional) width = "full", -- or "half" (optional) reference = "MyAddonTexture" -- unique global reference to control (optional) } ]] -- TODO: add texture coords support? local widgetVersion = 9 local LAM = LibStub("LibAddonMenu-2.0") if not LAM:RegisterWidget("texture", widgetVersion) then return end local wm = WINDOW_MANAGER local MIN_HEIGHT = 26 function LAMCreateControl.texture(parent, textureData, controlName) local control = LAM.util.CreateBaseControl(parent, textureData, controlName) local width = control:GetWidth() control:SetResizeToFitDescendents(true) if control.isHalfWidth then --note these restrictions control:SetDimensionConstraints(width / 2, MIN_HEIGHT, width / 2, MIN_HEIGHT * 4) else control:SetDimensionConstraints(width, MIN_HEIGHT, width, MIN_HEIGHT * 4) 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.data = {tooltipText = LAM.util.GetStringFromValue(textureData.tooltip)} texture:SetHandler("OnMouseEnter", ZO_Options_OnMouseEnter) texture:SetHandler("OnMouseExit", ZO_Options_OnMouseExit) end return control end