(fix/texture): Desaturate state lost on SetTexture
Fixes #93 Also normalize SetDesaturated calls to use booleans instead of numeric flags. (cherry picked from commit 47dce3a9d5ba23c170f002b323a11ed2a5c5e206)
This commit is contained in:
@@ -99,18 +99,35 @@ local funcs = {
|
|||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local function setDesaturated(self, desaturated, ...)
|
||||||
|
self.isDesaturated = desaturated and 1 or 0
|
||||||
|
return self._SetDesaturated(self, desaturated, ...)
|
||||||
|
end
|
||||||
|
|
||||||
|
local function setTexture(self, ...)
|
||||||
|
local apply = self._SetTexture(self, ...)
|
||||||
|
if self.isDesaturated ~= nil then
|
||||||
|
self._SetDesaturated(self, self.isDesaturated == 1)
|
||||||
|
end
|
||||||
|
return apply
|
||||||
|
end
|
||||||
|
|
||||||
function Private.TextureBase.create(frame)
|
function Private.TextureBase.create(frame)
|
||||||
local base = {}
|
local base = {}
|
||||||
|
|
||||||
for funcName, func in pairs(funcs) do
|
for funcName, func in pairs(funcs) do
|
||||||
base[funcName] = func
|
base[funcName] = func
|
||||||
end
|
end
|
||||||
|
|
||||||
local texture = frame:CreateTexture()
|
local texture = frame:CreateTexture()
|
||||||
|
texture._SetDesaturated = texture.SetDesaturated
|
||||||
|
texture._SetTexture = texture.SetTexture
|
||||||
|
texture.SetDesaturated = setDesaturated
|
||||||
|
texture.SetTexture = setTexture
|
||||||
|
|
||||||
base.texture = texture
|
base.texture = texture
|
||||||
|
|
||||||
return base
|
return base
|
||||||
end
|
end
|
||||||
|
|
||||||
function Private.TextureBase.modify(base, options)
|
function Private.TextureBase.modify(base, options)
|
||||||
|
|||||||
@@ -1140,7 +1140,7 @@ end
|
|||||||
local function setTexture(self, ...)
|
local function setTexture(self, ...)
|
||||||
local apply = self._SetTexture(self, ...)
|
local apply = self._SetTexture(self, ...)
|
||||||
if self.isDesaturated ~= nil then
|
if self.isDesaturated ~= nil then
|
||||||
self:_SetDesaturated(self.isDesaturated)
|
self:_SetDesaturated(self.isDesaturated == 1)
|
||||||
end
|
end
|
||||||
return apply
|
return apply
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ end
|
|||||||
local function setTexture(self, ...)
|
local function setTexture(self, ...)
|
||||||
local apply = self._SetTexture(self, ...)
|
local apply = self._SetTexture(self, ...)
|
||||||
if self.isDesaturated ~= nil then
|
if self.isDesaturated ~= nil then
|
||||||
self:_SetDesaturated(self.isDesaturated)
|
self:_SetDesaturated(self.isDesaturated == 1)
|
||||||
end
|
end
|
||||||
return apply
|
return apply
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ local default = {
|
|||||||
height = 200,
|
height = 200,
|
||||||
color = {1, 1, 1, 1},
|
color = {1, 1, 1, 1},
|
||||||
blendMode = "BLEND",
|
blendMode = "BLEND",
|
||||||
|
textureWrapMode = "CLAMPTOBLACKADDITIVE",
|
||||||
rotation = 0,
|
rotation = 0,
|
||||||
mirror = false,
|
mirror = false,
|
||||||
rotate = false,
|
rotate = false,
|
||||||
|
|||||||
Reference in New Issue
Block a user