WoW:API Texture SetDesaturated: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
({{widgetmethod}})
m (confirmed returning of nil when card doesn't support shaders)
Line 16: 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.


----
----

Revision as of 10:27, 22 October 2006

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