LibBackdrop-1.0

24.8k Downloads

LibBackdrop provides a 100% compatible replacement for SetBackDrop

It also mixes in the following methods to the frame

Mxin methods

SetBackdropGradient(orient,minR,minG,minB,maxR,maxG,maxB)

setup a gradient on the bg texture.

SetBackdropGradientAlpha(orient,minR,minG,minB,minA,maxR,maxG,maxB,maxA)

setup a gradient with alpha on the bg texture

SetBackdropBorderGradient(orient,minR,minG,minB,maxR,maxG,maxB)

setup a gradient on the border texture

SetBackdropBorderGradientAlpha(orient,minR,minG,minB,minA,maxR,maxG,maxB,maxA)

setup a gradient with alpha on the border texture

GetBackdropBorderSection(section)

get a reference to a section of the border

[Valid values are: TOPLEFTCORNER,TOP,TOPRIGHTCORNER,LEFT,RIGHT,BOTLEFTCORNER,BOT,BOTRIGHTCORNER]

GetBackdropBackground

get a reference to the backdrop background texture itself

BorderTextureFunction(function name, params)

this method allows you to call a function on each border texture, passing whatever params you want. This is a convience method, instead of having to fetch each subtexture to call some method. Example usage frame:BorderTextureFunction("SetDrawLayer","ARTWORK") to raise the border draw layer

Library High Level Function

IsEnhanced(frame)

test if a frame has already been enhanced

EnhanceBackdrop (frame)

embed the mixins into a given frame

To Use:

local BD = LibStub("LibBackdrop-1.0")
-- Create a frame as normal
local testFrame = CreateFrame("Frame","Test Frame",UIParent)
-- Embed the new backdrop functions

BD:EnhanceBackdrop(testFrame)
-- Use as you would normally
testFrame:SetBackdrop({
     bgFile = "Interface/Tooltips/UI-Tooltip-Background", 
     edgeFile = "Interface/Tooltips/UI-Tooltip-Border", 
     tile = true, tileSize = 16, edgeSize = 16, 
     insets = { left = 4, right = 4, top = 4, bottom = 4 }})

--Now for some coloring fun
-- Set the border to gradient upward from red to green
testFrame:SetBackdropBorderGradient("vertical",1,0,0,0.5,1,0)
-- Set the background image to color from blue to green
testFrame:SetBackdropGradient("VERTICAL",0,0,1,0,1,0)

Here is the result of the above code http://dl.dropbox.com/u/10956/LibBackDrop-Example.png