vanilla-wow-addons – Rev 1

Subversion Repositories:
Rev:
--[[
--      //////////////////////////////////////////////
--      Variables Init
--      //////////////////////////////////////////////
]]
local rpgoCPD_TITLE                     ="CharacterPaperdoll";
local rpgoCPD_ABBR                      ="CPP";
local rpgoCPD_AUTHOR            ="calvin";
local rpgoCPD_EMAIL                     ="calvin@rpgoutfitter.com";
local rpgoCPD_URL                       ="www.rpgoutfitter.com";
local rpgoCPD_DATE                      ="May 12, 2006";
local rpgoCPD_PROVIDER          ="rpgo";
local rpgoCPD_VERSION           ="1.0";
local rpgoCPDheight=35;
--[[// OnLoad
--      ////////////////////////////////////////////]]
function rpgoCPD_OnLoad()
        this:RegisterEvent("SCREENSHOT_FAILED");
        this:RegisterEvent("SCREENSHOT_SUCCEEDED");
        rpgo_VerboseMsg(rpgo_ColorizeTitle(rpgoCPD_PROVIDER,rpgoCPD_TITLE).." [v" .. rpgoCPD_VERSION .. "] loaded.");
end
function rpgoCPD_PicSave()
        if ( (not CharacterFrame:IsVisible()) or (not CharacterFrame:IsVisible()) ) then return; end
        if(rpgoCPDtmp) then
                rpgoCPD_Restore();
                return;
        else
                rpgoCPDtmp={};
        end
        if(not rpgoCPD) then rpgoCPD={}; end
        local rpgoCPDres=rpgo_Arg2Ary(GetScreenResolutions());
        rpgoCPD.res=rpgoCPDres[GetCurrentResolution()];
        rpgoCPD.height=GetScreenHeight();
        rpgoCPD.width=GetScreenWidth();
        rpgoCPD.h=CharacterFrame:GetHeight();
        rpgoCPD.w=CharacterFrame:GetWidth();
        rpgoCPD.x=CharacterFrame:GetLeft();
        rpgoCPD.y=rpgoCPD.height-CharacterFrame:GetTop();
        rpgoCPD.sc=CharacterFrame:GetScale();
        rpgoCPD.sm=CharacterModelFrame:GetModelScale();
        rpgoCPD.sp=(rpgoCPD.height-rpgoCPDheight)/rpgoCPD.h;
        CharacterFrame:SetScale(rpgoCPD.sc*rpgoCPD.sp);
        CharacterModelFrame:SetModelScale(rpgoCPD.sm/rpgoCPD.sp);
        CharacterModelFrame:SetFacing(PI/8);
        rpgoCPDtmp.CFpoint=CharacterFrame:GetPoint(1);
        CharacterFrame:SetPoint("TOPLEFT",0,-rpgoCPDheight);
        CharacterModelFrameRotateLeftButton:SetScale(rpgoCPD.sm/rpgoCPD.sp);
        CharacterModelFrameRotateRightButton:SetScale(rpgoCPD.sm/rpgoCPD.sp);
        rpgoCPDtmp.CMFBLBpoint=CharacterModelFrameRotateLeftButton:GetPoint(1);
        CharacterModelFrameRotateLeftButton:SetPoint("TOPLEFT",90,40);
        CharacterAttributesFrame:Hide();
        CharacterResistanceFrame:Hide();
        CharacterFrame:Raise();
        rpgoCPD.y1=rpgoCPD.height-CharacterFrame:GetTop();
--      TakeScreenshot();
end
function rpgoCPD_Restore()
        if(not rpgoCPDtmp) then return end;
        CharacterModelFrameRotateLeftButton:SetScale(rpgoCPD.sm);
        CharacterModelFrameRotateRightButton:SetScale(rpgoCPD.sm);
        CharacterModelFrameRotateLeftButton:SetPoint(rpgoCPDtmp.CFpoint,0,0);
        CharacterAttributesFrame:Show();
        CharacterResistanceFrame:Show();
        CharacterFrame:SetScale(rpgoCPD.sc);
        CharacterModelFrame:SetModelScale(rpgoCPD.sm);
        CharacterFrame:SetPoint(rpgoCPDtmp.CMFBLBpoint, rpgoCPD.x, -rpgoCPD.y);
        rpgoCPDtmp=nil;
end

--[[//////////////////////////////////////////////
--      general rpgo functions (shared)
--      ////////////////////////////////////////////]]
-- USAGE: rpgo_VerboseMsg(msg)
if (not rpgo_VerboseMsg) then
        rpgo_VerboseMsg=function(msg)
                DEFAULT_CHAT_FRAME:AddMessage(msg); end end
-- USAGE: rpgo_ColorizeTitle(provider,title)
if (not rpgo_ColorizeTitle) then
        rpgo_ColorizeTitle=function(provider,title)
                if(not rpgoColorTitle) then rpgoColorTitle="909090"; end
                if(provider and title) then return rpgo_ColorizeMsg(rpgoColorTitle,provider.."-"..title); end end end
-- USAGE: rpgo_ColorizeMsg(color,msg)
if (not rpgo_ColorizeMsg) then
        rpgo_ColorizeMsg=function(color,msg)
                if(color and msg) then return "|cff"..color..msg.."|r"; end end end
-- USAGE: rpgo_Arg2Ary(...)
if (not rpgo_SetTooltip) then
        rpgo_Arg2Ary=function(...)
        local tab={}; for i=1,arg.n,1 do tab[i]=arg[i]; end return tab; end end
-- USAGE: rpgo_SetTooltip(color,msg)
if (not rpgo_SetTooltip) then
        rpgo_SetTooltip=function()
                GameTooltip:SetOwner(this, "ANCHOR_BOTTOMRIGHT"); end end