/
"SkillFrame", |
"PVPFrameHonor", |
"PetPaperDollFrame", |
"PetPaperDollFrameCompanionFrame", |
"TokenFrame", |
"PVPFrame", |
"SendMailFrame", |
} |
FluidFrames.FramesToInitLater = { |
frame:SetMovable(1) |
frame:SetUserPlaced(1) |
frame.FFImmobilized = true |
hooksecurefunc(frame, "SetPoint", FluidFrames.SetPointHook) |
hooksecurefunc(frame, "SetWidth", FluidFrames.SetWidthHook) |
hooksecurefunc(frame, "SetHeight", FluidFrames.SetHeightHook) |
frame.FFSetXHooked = true |
FluidFrames.SetImmobilizeHooks(frame) |
end |
-- Store frame to hide later (so that it doesn't hide moved child frames before they are reparented) |
end |
end |
for frameName,info in pairs(UIChildWindows) do |
--[[ |
for i,frameName in pairs(UIChildWindows) do |
local frame = getglobal(frameName) |
if (frame and frame.GetTitleRegion) then |
local titleRegion = frame:GetTitleRegion() |
frame:EnableMouse(1) |
end |
end |
]]-- |
-- Disable the mouse on a few child frames so that the parent is draggable |
for i,frameName in ipairs(FluidFrames.FramesToDragByParent) do |
end |
end |
for frameName,info in pairs(UIChildWindows) do |
--[[ |
for i,frameName in pairs(UIChildWindows) do |
local frame = getglobal(frameName) |
if (frame and frame.GetTitleRegion) then |
local titleRegion = frame:GetTitleRegion() |
end |
end |
end |
]]-- |
--Exceptions |
local titleRegion = MinimapCluster:GetTitleRegion() |
function FluidFrames.SetPointHook(self, ...) |
if (self.FFImmobilized) then |
DebugPrint(format("%s:SetPoint intercepted - Immobilized.", self:GetName())) |
--DebugPrint(format("%s:SetPoint intercepted - Immobilized.", self:GetName())) |
local data = FluidFramesModifiedFrames[self:GetName()] |
if (data and data.immobilized) then |
if (self:IsProtected() and InCombatLockdown()) then |
end |
end |
else |
DebugPrint(format("%s:SetPoint intercepted - Mobile: %s.", self:GetName(), (this and this.GetName and this:GetName() or "Unknown"))) |
--DebugPrint(format("%s:SetPoint intercepted - Mobile: %s.", self:GetName(), (this and this.GetName and this:GetName() or "Unknown"))) |
end |
end |
end |
end |
function FluidFrames.SetParentHook(self, oldParent) |
if (self.FFImmobilized) then |
local newParent = getglobal(FluidFrames.NEW_PARENT) |
DebugPrint(format("%s:SetParent intercepted - %s.", self:GetName(), oldParent.GetName and oldParent:GetName() or oldParent)) |
-- Undo SetParent |
self.FFImmobilized = nil |
FluidFrames.ReparentAssociatedFrames(self, oldParent, newParent) |
self.FFImmobilized = true |
end |
end |
function FluidFrames.SetImmobilizeHooks(frame) |
if (not frame.FFSetXHooked) then |
hooksecurefunc(frame, "SetPoint", FluidFrames.SetPointHook) |
hooksecurefunc(frame, "SetWidth", FluidFrames.SetWidthHook) |
hooksecurefunc(frame, "SetHeight", FluidFrames.SetHeightHook) |
hooksecurefunc(frame, "SetParent", FluidFrames.SetParentHook) |
frame.FFSetXHooked = true |
end |
end |
function FluidFrames.Immobilize(frame) |
if (frame.GetName and frame:GetName()) then |
if (not frame.FFSetXHooked) then |
hooksecurefunc(frame, "SetPoint", FluidFrames.SetPointHook) |
hooksecurefunc(frame, "SetWidth", FluidFrames.SetWidthHook) |
hooksecurefunc(frame, "SetHeight", FluidFrames.SetHeightHook) |
frame.FFSetXHooked = true |
end |
FluidFrames.SetImmobilizeHooks(frame) |
-- Should be just a single point relative to UIParent. Maybe store in SV? Set relativeTo = "UIParent"? |
local data = FluidFramesModifiedFrames[frame:GetName()] |
if (data) then |
function FluidFrames.ImmobilizeAndStoreDimentions(frame, storeScale, storeDimentions) |
if (frame.GetName and frame:GetName()) then |
if (not frame.FFSetXHooked) then |
hooksecurefunc(frame, "SetPoint", FluidFrames.SetPointHook) |
hooksecurefunc(frame, "SetWidth", FluidFrames.SetWidthHook) |
hooksecurefunc(frame, "SetHeight", FluidFrames.SetHeightHook) |
frame.FFSetXHooked = true |
end |
FluidFrames.SetImmobilizeHooks(frame) |
-- Should be just a single point relative to UIParent. Maybe store in SV? Set relativeTo = "UIParent"? |
local data = FluidFramesModifiedFrames[frame:GetName()] |
if (data) then |
## RequiredDeps: Portfolio |
## OptionalDeps: |
## SavedVariablesPerCharacter: FluidFramesModifiedFrames, FluidFrames_SavedVars |
## Version: 2.1 |
## Version: 2.2 |
## X-Date: Oct 15 2008 |
## X-Category: Frames |
## X-Website: http://www.wowinterface.com/downloads/info7080-FluidFrames.html |
\b\fs36 \cf2 Change Log: |
\b0\fs24 \cf0 \ |
\ |
v2.2\ |
- Enabled SendMailFrame, TokenFrame, and the PetPaperDollFrameCompanionFrame for dragging their parent frame\ |
- Found a bug that was breaking UIChildWindows dragging, but then decided to just disable it by design, since those frames are all anchored to their parent frame, which are draggable.\ |
\ |
v2.1\ |
- Changed distribution to distribute FluidFrames with Portfolio unembedded.\ |
- Fixed bug that caused LoD UI Panels to not be temporarily draggable\ |