StatusBar example:
Code:
local CreateStatusBar = function (parent,width,height,point,frame,to,x,y,nobackdrop, isVertical)
local f = CreateFrame("StatusBar",nil,parent)
local w = pixelperfect(width)
local h = pixelperfect(height)
f:SetWidth(w);
f:SetHeight(h);
if isVertical then
f:SetOrientation("VERTICAL")
end
f:SetStatusBarTexture[[Interface\BUTTONS\WHITE8X8]]
f:SetStatusBarColor(1,1,1)
local bg = f:CreateTexture(nil,"ARTWORK",nil,-2)
bg:SetTexture[[Interface\BUTTONS\WHITE8X8]]
bg:SetAllPoints(f)
bg:SetVertexColor(0.3, 0.3, 0.3)
f.bg = bg
f:SetPoint(point,frame,to,x,y)
f.parent = parent
return f
end
There are also actual texture masks
Code:
local mask = self:CreateMaskTexture(nil, "BACKGROUND", nil, 0)
mask:SetTexture("Interface\\Addons\\tmask", "CLAMPTOWHITE", "CLAMPTOWHITE")
mask:SetAllPoints(self)
mainTexture:AddMaskTexture(mask)