farmbuyer@1: --[[----------------------------------------------------------------------------- farmbuyer@1: Spacer Widget farmbuyer@1: farmbuyer@1: Spacer API farmbuyer@1: farmbuyer@1: :SetImage(path,...) farmbuyer@1: same as Label:SetImage farmbuyer@1: farmbuyer@1: :SetImageSize(w,h) farmbuyer@1: same as Label:SetImageSize farmbuyer@1: farmbuyer@1: Because the whole point is to take up space, the most-used functions will farmbuyer@1: probably be the sizing routines from the base widget API. farmbuyer@1: farmbuyer@1: -farmbuyer farmbuyer@1: -------------------------------------------------------------------------------]] farmbuyer@1: local Type, Version = "Spacer", 2 farmbuyer@1: local AceGUI = LibStub and LibStub("AceGUI-3.0", true) farmbuyer@1: if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end farmbuyer@1: farmbuyer@1: -- Lua APIs farmbuyer@1: farmbuyer@1: -- WoW APIs farmbuyer@1: local CreateFrame = CreateFrame farmbuyer@1: farmbuyer@1: farmbuyer@1: --[[----------------------------------------------------------------------------- farmbuyer@1: Support functions farmbuyer@1: -------------------------------------------------------------------------------]] farmbuyer@1: farmbuyer@1: farmbuyer@1: --[[----------------------------------------------------------------------------- farmbuyer@1: Scripts farmbuyer@1: -------------------------------------------------------------------------------]] farmbuyer@1: farmbuyer@1: farmbuyer@1: --[[----------------------------------------------------------------------------- farmbuyer@1: Methods farmbuyer@1: -------------------------------------------------------------------------------]] farmbuyer@1: local methods = { farmbuyer@1: ["OnAcquire"] = function (self) farmbuyer@1: self:SetHeight(110) farmbuyer@1: self:SetWidth(110) farmbuyer@1: self:SetImage(nil) farmbuyer@1: self.frame:EnableMouse(true) -- needed? farmbuyer@1: end, farmbuyer@1: farmbuyer@1: --["OnRelease"] = function (self) end, farmbuyer@1: farmbuyer@1: ["SetImage"] = function (self, path, ...) farmbuyer@1: local space = self.space farmbuyer@1: farmbuyer@1: space:SetTexture (path or "Interface\\GLUES\\COMMON\\Glue-Tooltip-Background") farmbuyer@1: local n = select('#', ...) farmbuyer@1: if n == 4 or n == 8 then farmbuyer@1: space:SetTexCoord(...) farmbuyer@1: end farmbuyer@1: end, farmbuyer@1: farmbuyer@1: ["SetImageSize"] = function (self, width, height) farmbuyer@1: self.frame:SetWidth(width) farmbuyer@1: self.frame:SetHeight(height) farmbuyer@1: end, farmbuyer@1: } farmbuyer@1: farmbuyer@1: farmbuyer@1: --[[----------------------------------------------------------------------------- farmbuyer@1: Constructor farmbuyer@1: -------------------------------------------------------------------------------]] farmbuyer@1: local function Constructor() farmbuyer@1: local frame = CreateFrame("Frame",nil,UIParent) farmbuyer@1: farmbuyer@1: local space = frame:CreateTexture(nil,"BACKGROUND") farmbuyer@1: space:SetAllPoints(frame) farmbuyer@1: space:SetTexture("Interface\\GLUES\\COMMON\\Glue-Tooltip-Background") farmbuyer@1: space:SetBlendMode("ADD") farmbuyer@1: farmbuyer@1: local widget = { farmbuyer@1: space = space, farmbuyer@1: frame = frame, farmbuyer@1: type = Type farmbuyer@1: } farmbuyer@1: for method, func in pairs(methods) do farmbuyer@1: widget[method] = func farmbuyer@1: end farmbuyer@1: farmbuyer@1: return AceGUI:RegisterAsWidget(widget) farmbuyer@1: end farmbuyer@1: farmbuyer@1: AceGUI:RegisterWidgetType(Type,Constructor,Version) farmbuyer@1: