comparison MapFrame.lua @ 108:b67ba1078824

- Added some WorldMapFrame alterations to make the filter bar less obtrusive
author Nenue
date Sat, 03 Jun 2017 17:20:14 -0400
parents 4d1520186ea4
children caa482329919
comparison
equal deleted inserted replaced
107:b2be2de2b133 108:b67ba1078824
1 -- 1 --
2 -- Created by IntelliJ IDEA. 2 -- WorldPlan
3 -- User: Nick 3 -- Map Frame Customizations
4 -- Date: 5/24/2017
5 -- Time: 9:27 PM
6 -- To change this template use File | Settings | File Templates.
7 -- 4 --
5 local _, db = ...
6 local print = DEVIAN_WORKSPACE and function(...) print('MapFrame',...) end or nop
7 local enableConfigLayers = false
8 local regionLabels = {}
8 9
9 WorldPlanMapFrameMixin = { 10 WorldPlanMapFrameMixin = {
10 defaults = { 11 defaults = {
11 anchors = { 12 anchors = {
12 point = 'LEFT', 13 point = 'LEFT',
21 } 22 }
22 local Module = WorldPlanMapFrameMixin 23 local Module = WorldPlanMapFrameMixin
23 24
24 function Module:OnLoad() 25 function Module:OnLoad()
25 WorldPlan:AddHandler(self) 26 WorldPlan:AddHandler(self)
26 27 hooksecurefunc("WorldMap_ToggleSizeUp", function()
27 28 self:ApplySettings()
29 end)
30 hooksecurefunc("WorldMap_ToggleSizeDown", function()
31 self:ApplySettings()
32 end)
33 print('OnLoad()')
28 end 34 end
29 35
30 function Module:Setup() 36 function Module:Setup()
37 print('Setup()')
31 self:ApplySettings() 38 self:ApplySettings()
39
40
41 --if not InCombatLockdown() then
42 --end
32 end 43 end
33 44
45
46
47 db.CLTriggers.map = function(arg2)
48 WorldPlanMapFrame:ApplySettings()
49 if enableConfigLayers then
50 enableConfigLayers = false
51 db.print('Map Labels off')
52 else
53 enableConfigLayers = true
54 db.print('Map Labels on')
55 end
56 for m, label in pairs(regionLabels) do
57 print(m, label)
58 label:SetShown(enableConfigLayers)
59 end
60 end
61
62 local BORDER_COLOR = {0,0,0,1}
63 local BORDER_INSET = 0
64 local BORDER_WIDTH = 2
65 local BORDER_INSET_WIDTH = BORDER_INSET+BORDER_WIDTH
66
67 local GlobalRegions = {
68 [WorldMapFrameLeftBorder] = {
69 color = BORDER_COLOR,
70 w = BORDER_WIDTH,
71 [1] = {'TOPRIGHT', 'TOPLEFT', BORDER_INSET, 0},
72 [2] = {'BOTTOMRIGHT', 'BOTTOMRIGHT', BORDER_INSET_WIDTH, -BORDER_INSET }
73 },
74 [WorldMapFrameRightBorder] = {
75 color = BORDER_COLOR,
76 w = BORDER_WIDTH,
77 [1] = {'TOPLEFT', 'TOPRIGHT', BORDER_INSET,0 },
78 [2] = {'BOTTOMRIGHT', 'BOTTOMRIGHT', BORDER_INSET_WIDTH, -BORDER_INSET_WIDTH}
79 },
80 [WorldMapFrameTopBorder] = {
81 color = BORDER_COLOR,
82 h = BORDER_WIDTH,
83 [1] = {'BOTTOMRIGHT', 'TOPRIGHT', BORDER_INSET_WIDTH, 0},
84 [2] = {'BOTTOMLEFT', 'TOPLEFT', -(BORDER_INSET_WIDTH), 0}
85 },
86 [WorldMapFrameBottomBorder] = {
87 h = BORDER_WIDTH,
88 color = BORDER_COLOR,
89 [1] = {'TOPRIGHT', 'BOTTOMRIGHT', BORDER_INSET_WIDTH, -BORDER_INSET},
90 [2] = {'TOPLEFT', 'BOTTOMLEFT', -BORDER_INSET_WIDTH, -BORDER_INSET}
91 },
92 [WorldMapFrameBg] = {
93 color = BORDER_COLOR,
94 [1] = {'TOPLEFT', 'TOPLEFT', 0, 0},
95 [2] = {'BOTTOMRIGHT', 'BOTTOMRIGHT', 0, 0}
96 },
97 [WorldMapFrameNavBar] = {
98 [1] = {'TOPLEFT', 'TOPLEFT', 3, 0, WorldMapFrameBg},
99 [2] = {'TOPRIGHT', 'TOPRIGHT', -3, 0, WorldMapFrameBg}
100 },
101 [WorldMapTitleButton] = {
102 [1] = {'TOPLEFT', 'TOPLEFT', 0, 0, WorldMapFrameNavBarOverlay},
103 [2] = {'BOTTOMRIGHT', 'BOTTOMRIGHT', 0, 0, WorldMapFrameNavBarOverlay},
104 },
105
106 [WorldMapFrameBotLeftCorner] = { hidden = true},
107 [WorldMapFramePortraitFrame] = { hidden = true},
108 [WorldMapFramePortrait] = { hidden = true, },
109 [WorldMapFrameTutorialButton] = { hidden = true, },
110 [WorldMapFrameTopRightCorner] = {hidden = true},
111 [WorldMapFrameTopLeftCorner] = {hidden = true},
112 [WorldMapFrameBotLeftCorner] = {hidden = true},
113 [WorldMapFrameBotRightCorner] = {hidden = true},
114 [WorldMapFrameTopTileStreaks] = { hidden = true},
115 [WorldMapFrame.BorderFrame.ButtonFrameEdge] = { hidden = true},
116 [WW] = {hidden = true}
117 }
118
119
120
34 function Module:ApplySettings() 121 function Module:ApplySettings()
122 print('ApplySettings()')
123
124 local regions = {WorldMapFrame.BorderFrame:GetRegions() }
125 local r,g,b,a = 1,0,0,1
126 for name, region in pairs(regions) do
127 local fs = regionLabels[region]
128 if not fs then
129 --print(name, type(region), tostring(region), region:GetName())
130 fs = self:CreateFontString(nil, 'OVERLAY')
131 fs:SetFontObject(WorldPlanFont)
132 regionLabels[region] = fs
133 fs:SetPoint('TOPLEFT', region, 'TOPLEFT')
134 fs:SetShown(enableConfigLayers)
135 fs:SetText(tostring(region:GetName()))
136 end
137
138
139 if region.SetColorTexture then
140 region:SetColorTexture(r,g,b,a)
141 print('===', region.GetName and region:GetName() or tostring(region), string.format("|cFF%2X%2X%2X%f,%f,%f", r*255, g*255, b*255, r,g,b))
142 if g < 1 then
143 g = g + 0.25
144 elseif r > 0 then
145 r = r - 0.25
146 elseif b < 1 then
147 b = b + .25
148 end
149 end
150
151 end
152
153 for region, data in pairs(GlobalRegions) do
154 print(region, data)
155 if data.hidden then
156 region:SetShown(false)
157 else
158
159 if data.w then
160 print('width =', data.w)
161 region:SetWidth(data.w)
162 end
163 if data.h then
164 print('height =', data.h)
165 region:SetHeight(data.h)
166 end
167 if data.color then
168 print('color =', unpack(data.color))
169 region:SetColorTexture(unpack(data.color))
170 end
171
172 if #data >= 1 then
173 region:ClearAllPoints()
174 for i, point in ipairs(data) do
175 print(i)
176 if type(point) == 'table' then
177 print('point +=', unpack(point))
178 region:SetPoint(point[1], point[5] or region:GetParent(), point[2], point[3], point[4])
179 end
180 end
181 end
182 end
183
184 end
35 185
36 end 186 end