WoW:API Texture SetDesaturated: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
mNo edit summary
 
m (Move page script moved page API Texture SetDesaturated to API Texture SetDesaturated without leaving a redirect)
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{widgetmethod}}
Sets a texture to be desaturated, to make it greyscale.
Sets a texture to be desaturated, to make it greyscale.


Line 14: Line 16:


; shaderSupported
; shaderSupported
So far haven't gotten a return other than 1.  Likely nil or false if desaturation isn't supported due to the user's graphic capabilities. (see below)
returns nil if desaturation isn't supported by the user's graphics card (ie. old GeForce4 cards don't). One can use texture:SetVertexColor instead in this case. See the example below for the way Blizzard handles this.


----
----

Latest revision as of 04:47, 15 August 2023

Widget API ← Texture < SetDesaturated

Sets a texture to be desaturated, to make it greyscale.

shaderSupported = texture:SetDesaturated(desaturation);

Arguments
desaturation

nil = normal colors
1 = desaturate (greyscale)


Returns
shaderSupported

returns nil if desaturation isn't supported by the user's graphics card (ie. old GeForce4 cards don't). One can use texture:SetVertexColor instead in this case. See the example below for the way Blizzard handles this.


There is a wrapper function in UIParent.lua that appears to darken the texture if shaderSupported returns false:

-- Wrapper for the desaturation function
function SetDesaturation(texture, desaturation)
	local shaderSupported = texture:SetDesaturated(desaturation);
	if ( not shaderSupported ) then
		if ( desaturation ) then
			texture:SetVertexColor(0.5, 0.5, 0.5);
		else
			texture:SetVertexColor(1.0, 1.0, 1.0);
		end
		
	end
end