Mercurial > wow > hansgar_and_franzok_assist
diff Libs/DF/fw.lua @ 40:a960d5372b0c
- framework update from v22 to v44.
| author | Tercio |
|---|---|
| date | Wed, 31 Aug 2016 19:55:14 -0300 |
| parents | 7944c081e5b4 |
| children | e0a8f43009ea |
line wrap: on
line diff
--- a/Libs/DF/fw.lua Tue Jul 19 13:23:40 2016 -0300 +++ b/Libs/DF/fw.lua Wed Aug 31 19:55:14 2016 -0300 @@ -1,5 +1,5 @@ -local dversion = 22 +local dversion = 44 local major, minor = "DetailsFramework-1.0", dversion local DF, oldminor = LibStub:NewLibrary (major, minor) @@ -110,6 +110,11 @@ "SetFrameworkDebugState", "FindHighestParent", "OpenInterfaceProfile", + "CreateInCombatTexture", + "CreateAnimationHub", + "CreateAnimation", + "CreateScrollBox", + "CreateBorder", } DF.table = {} @@ -562,6 +567,10 @@ slider.widget_type = "range" slider:SetHook ("OnValueChange", widget_table.set) + if (widget_table.thumbscale) then + slider:SetThumbSize (slider.thumb:GetWidth()*widget_table.thumbscale, nil) + end + local label = DF:NewLabel (parent, nil, "$parentLabel" .. index, nil, widget_table.name .. (use_two_points and ": " or ""), "GameFontNormal", widget_table.text_template or text_template or 12) slider:SetPoint ("left", label, "right", 2) label:SetPoint (cur_x, cur_y) @@ -683,6 +692,34 @@ end end) + + function DF:CreateInCombatTexture (frame) + if (DF.debug and not frame) then + error ("Details! Framework: CreateInCombatTexture invalid frame on parameter 1.") + end + + local in_combat_background = DF:CreateImage (frame) + in_combat_background:SetColorTexture (.6, 0, 0, .1) + in_combat_background:Hide() + + local in_combat_label = Plater:CreateLabel (frame, "you are in combat", 24, "silver") + in_combat_label:SetPoint ("right", in_combat_background, "right", -10, 0) + in_combat_label:Hide() + + frame:RegisterEvent ("PLAYER_REGEN_DISABLED") + frame:RegisterEvent ("PLAYER_REGEN_ENABLED") + frame:SetScript ("OnEvent", function (self, event) + if (event == "PLAYER_REGEN_DISABLED") then + in_combat_background:Show() + in_combat_label:Show() + elseif (event == "PLAYER_REGEN_ENABLED") then + in_combat_background:Hide() + in_combat_label:Hide() + end + end) + + return in_combat_background + end ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --> tutorials @@ -1051,6 +1088,7 @@ image = "DF_ImageMetaFunctions", slider = "DF_SliderMetaFunctions", split_bar = "DF_SplitBarMetaFunctions", + aura_tracker = "DF_AuraTracker", } function DF:AddMemberForWidget (widgetName, memberType, memberName, func) @@ -1126,3 +1164,251 @@ return object; end + +----------------------------- +--> animations + +function DF:CreateAnimationHub (parent, onPlay, onFinished) + local newAnimation = parent:CreateAnimationGroup() + newAnimation:SetScript ("OnPlay", onPlay) + newAnimation:SetScript ("OnFinished", onFinished) + newAnimation.NextAnimation = 1 + return newAnimation +end + +function DF:CreateAnimation (animation, type, order, duration, arg1, arg2, arg3, arg4, arg5, arg6, arg7) + local anim = animation:CreateAnimation (type) + + anim:SetOrder (order or animation.NextAnimation) + anim:SetDuration (duration) + + type = string.upper (type) + + if (type == "ALPHA") then + anim:SetFromAlpha (arg1) + anim:SetToAlpha (arg2) + + elseif (type == "SCALE") then + anim:SetFromScale (arg1, arg2) + anim:SetToScale (arg3, arg4) + anim:SetOrigin (arg5 or "center", arg6 or 0, arg7 or 0) --point, x, y + + elseif (type == "ROTATION") then + anim:SetDegrees (arg1) --degree + anim:SetOrigin (arg2 or "center", arg3 or 0, arg4 or 0) --point, x, y + + elseif (type == "TRANSLATION") then + anim:SetOffset (arg1, arg2) + + end + + animation.NextAnimation = animation.NextAnimation + 1 + return anim +end + + +----------------------------- +--> borders + +local default_border_color1 = .5 +local default_border_color2 = .3 +local default_border_color3 = .1 + +local SetBorderAlpha = function (self, alpha1, alpha2, alpha3) + self.Borders.Alpha1 = alpha1 or self.Borders.Alpha1 + self.Borders.Alpha2 = alpha2 or self.Borders.Alpha2 + self.Borders.Alpha3 = alpha3 or self.Borders.Alpha3 + + for _, texture in ipairs (self.Borders.Layer1) do + texture:SetAlpha (self.Borders.Alpha1) + end + for _, texture in ipairs (self.Borders.Layer2) do + texture:SetAlpha (self.Borders.Alpha2) + end + for _, texture in ipairs (self.Borders.Layer3) do + texture:SetAlpha (self.Borders.Alpha3) + end +end + +function DF:CreateBorder (parent, alpha1, alpha2, alpha3) + + parent.Borders = { + Layer1 = {}, + Layer2 = {}, + Layer3 = {}, + Alpha1 = alpha1 or default_border_color1, + Alpha2 = alpha2 or default_border_color2, + Alpha3 = alpha3 or default_border_color3, + } + + parent.SetBorderAlpha = SetBorderAlpha + + local border1 = parent:CreateTexture (nil, "background") + border1:SetPoint ("topleft", parent, "topleft", -1, 1) + border1:SetPoint ("bottomleft", parent, "bottomleft", -1, -1) + border1:SetColorTexture (0, 0, 0, alpha1 or default_border_color1) + local border2 = parent:CreateTexture (nil, "background") + border2:SetPoint ("topleft", parent, "topleft", -2, 2) + border2:SetPoint ("bottomleft", parent, "bottomleft", -2, -2) + border2:SetColorTexture (0, 0, 0, alpha2 or default_border_color2) + local border3 = parent:CreateTexture (nil, "background") + border3:SetPoint ("topleft", parent, "topleft", -3, 3) + border3:SetPoint ("bottomleft", parent, "bottomleft", -3, -3) + border3:SetColorTexture (0, 0, 0, alpha3 or default_border_color3) + + tinsert (parent.Borders.Layer1, border1) + tinsert (parent.Borders.Layer2, border2) + tinsert (parent.Borders.Layer3, border3) + + local border1 = parent:CreateTexture (nil, "background") + border1:SetPoint ("topleft", parent, "topleft", 0, 1) + border1:SetPoint ("topright", parent, "topright", 1, 1) + border1:SetColorTexture (0, 0, 0, alpha1 or default_border_color1) + local border2 = parent:CreateTexture (nil, "background") + border2:SetPoint ("topleft", parent, "topleft", -1, 2) + border2:SetPoint ("topright", parent, "topright", 2, 2) + border2:SetColorTexture (0, 0, 0, alpha2 or default_border_color2) + local border3 = parent:CreateTexture (nil, "background") + border3:SetPoint ("topleft", parent, "topleft", -2, 3) + border3:SetPoint ("topright", parent, "topright", 3, 3) + border3:SetColorTexture (0, 0, 0, alpha3 or default_border_color3) + + tinsert (parent.Borders.Layer1, border1) + tinsert (parent.Borders.Layer2, border2) + tinsert (parent.Borders.Layer3, border3) + + local border1 = parent:CreateTexture (nil, "background") + border1:SetPoint ("topright", parent, "topright", 1, 0) + border1:SetPoint ("bottomright", parent, "bottomright", 1, -1) + border1:SetColorTexture (0, 0, 0, alpha1 or default_border_color1) + local border2 = parent:CreateTexture (nil, "background") + border2:SetPoint ("topright", parent, "topright", 2, 1) + border2:SetPoint ("bottomright", parent, "bottomright", 2, -2) + border2:SetColorTexture (0, 0, 0, alpha2 or default_border_color2) + local border3 = parent:CreateTexture (nil, "background") + border3:SetPoint ("topright", parent, "topright", 3, 2) + border3:SetPoint ("bottomright", parent, "bottomright", 3, -3) + border3:SetColorTexture (0, 0, 0, alpha3 or default_border_color3) + + tinsert (parent.Borders.Layer1, border1) + tinsert (parent.Borders.Layer2, border2) + tinsert (parent.Borders.Layer3, border3) + + local border1 = parent:CreateTexture (nil, "background") + border1:SetPoint ("bottomleft", parent, "bottomleft", 0, -1) + border1:SetPoint ("bottomright", parent, "bottomright", 0, -1) + border1:SetColorTexture (0, 0, 0, alpha1 or default_border_color1) + local border2 = parent:CreateTexture (nil, "background") + border2:SetPoint ("bottomleft", parent, "bottomleft", -1, -2) + border2:SetPoint ("bottomright", parent, "bottomright", 1, -2) + border2:SetColorTexture (0, 0, 0, alpha2 or default_border_color2) + local border3 = parent:CreateTexture (nil, "background") + border3:SetPoint ("bottomleft", parent, "bottomleft", -2, -3) + border3:SetPoint ("bottomright", parent, "bottomright", 2, -3) + border3:SetColorTexture (0, 0, 0, alpha3 or default_border_color3) + + tinsert (parent.Borders.Layer1, border1) + tinsert (parent.Borders.Layer2, border2) + tinsert (parent.Borders.Layer3, border3) + +end + +function DF:ReskinSlider (slider, heightOffset) + if (slider.slider) then + slider.cima:SetNormalTexture ([[Interface\Buttons\Arrow-Up-Up]]) + slider.cima:SetPushedTexture ([[Interface\Buttons\Arrow-Up-Down]]) + slider.cima:SetDisabledTexture ([[Interface\Buttons\Arrow-Up-Disabled]]) + slider.cima:GetNormalTexture():ClearAllPoints() + slider.cima:GetPushedTexture():ClearAllPoints() + slider.cima:GetDisabledTexture():ClearAllPoints() + slider.cima:GetNormalTexture():SetPoint ("center", slider.cima, "center", 1, 1) + slider.cima:GetPushedTexture():SetPoint ("center", slider.cima, "center", 1, 1) + slider.cima:GetDisabledTexture():SetPoint ("center", slider.cima, "center", 1, 1) + slider.cima:SetSize (16, 16) + slider.cima:SetBackdrop ({edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\AddOns\Details\images\background]]}) + slider.cima:SetBackdropColor (0, 0, 0, 0.3) + slider.cima:SetBackdropBorderColor (0, 0, 0, 1) + + slider.baixo:SetNormalTexture ([[Interface\Buttons\Arrow-Down-Up]]) + slider.baixo:SetPushedTexture ([[Interface\Buttons\Arrow-Down-Down]]) + slider.baixo:SetDisabledTexture ([[Interface\Buttons\Arrow-Down-Disabled]]) + slider.baixo:GetNormalTexture():ClearAllPoints() + slider.baixo:GetPushedTexture():ClearAllPoints() + slider.baixo:GetDisabledTexture():ClearAllPoints() + slider.baixo:GetNormalTexture():SetPoint ("center", slider.baixo, "center", 1, -5) + slider.baixo:GetPushedTexture():SetPoint ("center", slider.baixo, "center", 1, -5) + slider.baixo:GetDisabledTexture():SetPoint ("center", slider.baixo, "center", 1, -5) + slider.baixo:SetSize (16, 16) + slider.baixo:SetBackdrop ({edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\AddOns\Details\images\background]]}) + slider.baixo:SetBackdropColor (0, 0, 0, 0.35) + slider.baixo:SetBackdropBorderColor (0, 0, 0, 1) + + slider.slider:SetBackdrop ({edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\AddOns\Details\images\background]]}) + slider.slider:SetBackdropColor (0, 0, 0, 0.35) + slider.slider:SetBackdropBorderColor (0, 0, 0, 1) + + --slider.slider:Altura (164) + slider.slider:cimaPoint (0, 13) + slider.slider:baixoPoint (0, -13) + slider.slider.thumb:SetTexture ([[Interface\AddOns\Details\images\icons2]]) + slider.slider.thumb:SetTexCoord (482/512, 492/512, 104/512, 120/512) + slider.slider.thumb:SetSize (12, 12) + slider.slider.thumb:SetVertexColor (0.6, 0.6, 0.6, 0.95) + else + + slider.ScrollBar.ScrollUpButton:SetNormalTexture ([[Interface\Buttons\Arrow-Up-Up]]) + slider.ScrollBar.ScrollUpButton:GetNormalTexture():SetTexCoord (0, 1, 0, 1) + slider.ScrollBar.ScrollUpButton:SetPushedTexture ([[Interface\Buttons\Arrow-Up-Down]]) + slider.ScrollBar.ScrollUpButton:GetPushedTexture():SetTexCoord (0, 1, 0, 1) + slider.ScrollBar.ScrollUpButton:SetDisabledTexture ([[Interface\Buttons\Arrow-Up-Disabled]]) + slider.ScrollBar.ScrollUpButton:GetDisabledTexture():SetTexCoord (0, 1, 0, 1) + + slider.ScrollBar.ScrollUpButton:SetSize (16, 16) + slider.ScrollBar.ScrollUpButton:SetBackdrop ({edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = "Interface\\Tooltips\\UI-Tooltip-Background"}) + slider.ScrollBar.ScrollUpButton:SetBackdropColor (0, 0, 0, 0.3) + slider.ScrollBar.ScrollUpButton:SetBackdropBorderColor (0, 0, 0, 1) + + slider.ScrollBar.ScrollUpButton:GetNormalTexture():ClearAllPoints() + slider.ScrollBar.ScrollUpButton:GetPushedTexture():ClearAllPoints() + slider.ScrollBar.ScrollUpButton:GetDisabledTexture():ClearAllPoints() + slider.ScrollBar.ScrollUpButton:GetNormalTexture():SetPoint ("center", slider.ScrollBar.ScrollUpButton, "center", 1, 1) + slider.ScrollBar.ScrollUpButton:GetPushedTexture():SetPoint ("center", slider.ScrollBar.ScrollUpButton, "center", 1, 1) + slider.ScrollBar.ScrollUpButton:GetDisabledTexture():SetPoint ("center", slider.ScrollBar.ScrollUpButton, "center", 1, 1) + + -- + + slider.ScrollBar.ScrollDownButton:SetNormalTexture ([[Interface\Buttons\Arrow-Down-Up]]) + slider.ScrollBar.ScrollDownButton:GetNormalTexture():SetTexCoord (0, 1, 0, 1) + slider.ScrollBar.ScrollDownButton:SetPushedTexture ([[Interface\Buttons\Arrow-Down-Down]]) + slider.ScrollBar.ScrollDownButton:GetPushedTexture():SetTexCoord (0, 1, 0, 1) + slider.ScrollBar.ScrollDownButton:SetDisabledTexture ([[Interface\Buttons\Arrow-Down-Disabled]]) + slider.ScrollBar.ScrollDownButton:GetDisabledTexture():SetTexCoord (0, 1, 0, 1) + + slider.ScrollBar.ScrollDownButton:SetSize (16, 16) + slider.ScrollBar.ScrollDownButton:SetBackdrop ({edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = "Interface\\Tooltips\\UI-Tooltip-Background"}) + slider.ScrollBar.ScrollDownButton:SetBackdropColor (0, 0, 0, 0.3) + slider.ScrollBar.ScrollDownButton:SetBackdropBorderColor (0, 0, 0, 1) + + slider.ScrollBar.ScrollDownButton:GetNormalTexture():ClearAllPoints() + slider.ScrollBar.ScrollDownButton:GetPushedTexture():ClearAllPoints() + slider.ScrollBar.ScrollDownButton:GetDisabledTexture():ClearAllPoints() + slider.ScrollBar.ScrollDownButton:GetNormalTexture():SetPoint ("center", slider.ScrollBar.ScrollDownButton, "center", 1, -5) + slider.ScrollBar.ScrollDownButton:GetPushedTexture():SetPoint ("center", slider.ScrollBar.ScrollDownButton, "center", 1, -5) + slider.ScrollBar.ScrollDownButton:GetDisabledTexture():SetPoint ("center", slider.ScrollBar.ScrollDownButton, "center", 1, -5) + + -- + slider.ScrollBar:SetPoint ("TOPLEFT", slider, "TOPRIGHT", 6, -16) + slider.ScrollBar:SetPoint ("BOTTOMLEFT", slider, "BOTTOMRIGHT", 6, 16 + (heightOffset and heightOffset*-1 or 0)) + + slider.ScrollBar.ThumbTexture:SetColorTexture (.5, .5, .5, .3) + slider.ScrollBar.ThumbTexture:SetSize (12, 8) + + -- + + slider.ScrollBar:SetBackdrop ({edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = "Interface\\Tooltips\\UI-Tooltip-Background"}) + slider.ScrollBar:SetBackdropColor (0, 0, 0, 0.35) + slider.ScrollBar:SetBackdropBorderColor (0, 0, 0, 1) + end +end + +--doo elsee \ No newline at end of file
