Widget API: Texture:SetTexCoord

Widget API ← Texture < SetTexCoord

Sets the region of a texture drawn by the Texture widget.

obj:SetTexCoord(left,right,top,bottom)
obj:SetTexCoord(ULx,ULy,LLx,LLy,URx,URy,LRx,LRy)

ParametersEdit

ArgumentsEdit

left, right, top, bottom - number
side coordinates; top left corner of the image is (0, 0); bottom right corner is (1, 1).
ULx, ULy, LLx, LLy, URx, URy, LRx, LRy - number
point coordinates; top left corner of the image is (0, 0); bottom right corner is (1, 1).

ReturnsEdit

none

DetailsEdit

The function can be used to cut a sub-region out of the texture to display in game.

ExampleEdit

texture:SetTexCoord(0, 0.5, 0.5, 1)

Displays the bottom-left quarter of the image.

local ULx,ULy,LLx,LLy,URx,URy,LRx,LRy = texture:GetTexCoord()
texture:SetTexCoord(ULx*0.5,ULy,LLx*0.5,LLy,URx,URy,LRx,LRy)
local w = texture:GetWidth();
texture:SetWidth(w * 0.5)

Change the "view" of a texture to the right, to one half, while maintaining aspect ratio and scale.

NotesEdit

  • the coordinates are normalized, and that the origin is the top left corner.
  • Tested in patch 2.0.6, and the origin is in fact in the top left, and not the bottom left as was previously stated
  • Unless you want to do rotations, use the (left,right,top,bottom) notation.
  • The more complex 8-argument form allows for arbitrary affine transformations, and transformations based on previous values.

See alsoEdit