@@ -112,37 +112,69 @@ API.SetInside = function(self, Anchor, OffsetX, OffsetY)
112112 self :SetPoint (" BOTTOMRIGHT" , Anchor , " BOTTOMRIGHT" , - OffsetX , OffsetY )
113113end
114114
115+ API .SetBorderColor = function (self , R , G , B , Alpha )
116+ if self .BorderTop then
117+ self .BorderTop :SetColorTexture (R , G , B , Alpha )
118+ end
119+
120+ if self .BorderBottom then
121+ self .BorderBottom :SetColorTexture (R , G , B , Alpha )
122+ end
123+
124+ if self .BorderRight then
125+ self .BorderRight :SetColorTexture (R , G , B , Alpha )
126+ end
127+
128+ if self .BorderLeft then
129+ self .BorderLeft :SetColorTexture (R , G , B , Alpha )
130+ end
131+ end
132+
115133API .CreateBackdrop = function (self , template )
116- local BackdropColorR , BackdropColorG , BackdropColorB , BackdropColorA = unpack (Config .General .BackdropColor )
117- local BorderColorR , BorderColorG , BorderColorB = unpack (Config .General .BorderColor )
118- local BackgroundAlpha = (template == " Transparent" ) and 0.75 or BackdropColorA or 1
119- local Texture = Config .Medias .Blank
120-
121- local Backdrop = {
122- bgFile = Texture ,
123- edgeFile = Texture ,
124- edgeSize = Scale (1 ),
125- insets = {
126- top = 0 ,
127- left = 0 ,
128- bottom = 0 ,
129- right = 0
130- }
131- }
134+ if (self .Backdrop ) then return end
132135
133136 self .Backdrop = CreateFrame (" Frame" , nil , self , " BackdropTemplate" )
134137 self .Backdrop :SetAllPoints ()
135- -- self.Backdrop:SetOutside(self, 2, 2)
136138 self .Backdrop :SetFrameLevel (self :GetFrameLevel ())
137- self .Backdrop :SetBackdrop (Backdrop )
138- self .Backdrop :SetBackdropColor (BackdropColorR , BackdropColorG , BackdropColorB , BackgroundAlpha )
139- self .Backdrop :SetBackdropBorderColor (BorderColorR , BorderColorG , BorderColorB )
140- end
141139
142- API .SetBorderColor = function (self , R , G , B , Alpha )
143- if (self .Backdrop ) then
144- self .Backdrop :SetBackdropBorderColor (R , G , B , Alpha or 1 )
145- end
140+ local BorderR , BorderG , BorderB = unpack (Config .General .BorderColor )
141+ local BackdropR , BackdropG , BackdropB , BackdropA = unpack (Config .General .BackdropColor )
142+ local BackgroundAlpha = (template == " Transparent" ) and 0.75 or BackdropA or 1
143+ local BorderSize = Scale (1 )
144+ local Texture = Config .Medias .Blank
145+
146+ self .Backdrop :SetBackdrop ({ bgFile = Texture })
147+ self .Backdrop :SetBackdropColor (BackdropR , BackdropG , BackdropB , BackgroundAlpha )
148+
149+ self .Backdrop .BorderTop = self .Backdrop :CreateTexture (nil , " BORDER" , nil , 1 )
150+ self .Backdrop .BorderTop :SetSize (BorderSize , BorderSize )
151+ self .Backdrop .BorderTop :SetPoint (" TOPLEFT" , self .Backdrop , " TOPLEFT" , 0 , 0 )
152+ self .Backdrop .BorderTop :SetPoint (" TOPRIGHT" , self .Backdrop , " TOPRIGHT" , 0 , 0 )
153+ self .Backdrop .BorderTop :SetSnapToPixelGrid (false )
154+ self .Backdrop .BorderTop :SetTexelSnappingBias (0 )
155+
156+ self .Backdrop .BorderBottom = self .Backdrop :CreateTexture (nil , " BORDER" , nil , 1 )
157+ self .Backdrop .BorderBottom :SetSize (BorderSize , BorderSize )
158+ self .Backdrop .BorderBottom :SetPoint (" BOTTOMLEFT" , self .Backdrop , " BOTTOMLEFT" , 0 , 0 )
159+ self .Backdrop .BorderBottom :SetPoint (" BOTTOMRIGHT" , self .Backdrop , " BOTTOMRIGHT" , 0 , 0 )
160+ self .Backdrop .BorderBottom :SetSnapToPixelGrid (false )
161+ self .Backdrop .BorderBottom :SetTexelSnappingBias (0 )
162+
163+ self .Backdrop .BorderLeft = self .Backdrop :CreateTexture (nil , " BORDER" , nil , 1 )
164+ self .Backdrop .BorderLeft :SetSize (BorderSize , BorderSize )
165+ self .Backdrop .BorderLeft :SetPoint (" TOPLEFT" , self .Backdrop , " TOPLEFT" , 0 , 0 )
166+ self .Backdrop .BorderLeft :SetPoint (" BOTTOMLEFT" , self .Backdrop , " BOTTOMLEFT" , 0 , 0 )
167+ self .Backdrop .BorderLeft :SetSnapToPixelGrid (false )
168+ self .Backdrop .BorderLeft :SetTexelSnappingBias (0 )
169+
170+ self .Backdrop .BorderRight = self .Backdrop :CreateTexture (nil , " BORDER" , nil , 1 )
171+ self .Backdrop .BorderRight :SetSize (BorderSize , BorderSize )
172+ self .Backdrop .BorderRight :SetPoint (" TOPRIGHT" , self .Backdrop , " TOPRIGHT" , 0 , 0 )
173+ self .Backdrop .BorderRight :SetPoint (" BOTTOMRIGHT" , self .Backdrop , " BOTTOMRIGHT" , 0 , 0 )
174+ self .Backdrop .BorderRight :SetSnapToPixelGrid (false )
175+ self .Backdrop .BorderRight :SetTexelSnappingBias (0 )
176+
177+ self .Backdrop :SetBorderColor (BorderR , BorderG , BorderB , BorderA )
146178end
147179
148180function Filger :EnableAPI ()
0 commit comments