WoW:API Texture SetTexCoord: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
(boilerplate)
m (Move page script moved page API Texture SetTexCoord to API Texture SetTexCoord without leaving a redirect)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{widgetmethod}}
{{widgetmethod}}
Limits the region of a texture drawn by the Texture widget.
Sets the region of a texture drawn by the {{api|Texture|t=w}} widget.
obj:SetTexCoord(left,right,top,bottom);
obj:SetTexCoord(ULx,ULy,LLx,LLy,URx,URy,LRx,LRy);


== Arguments ==
obj:SetTexCoord(left,right,top,bottom)
:(left,right,top,bottom)
obj:SetTexCoord(ULx,ULy,LLx,LLy,URx,URy,LRx,LRy)
:: 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);
== Parameters ==
:: Number - point coordinates; top left corner of the image is (0, 0); bottom right corner is (1, 1).
=== Arguments ===
:;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).
 
=== Returns ===
:none
 
== Details ==
The function can be used to cut a sub-region out of the texture to display in game.
 
== Example ==
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.


== Notes ==
== Notes ==
The function cuts a sub-region out of the texture to display ingame.
* 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.
* Unless you want to do rotations, use the ''(left,right,top,bottom)'' notation.
* The more complex 8-argument form allows for arbitrary affine transformations, see [[SetTexCoord Transformations]] for details.
* The more complex 8-argument form allows for arbitrary affine transformations, and transformations based on previous values.
 
== Example ==
Displays the bottom-right quarter of the image.
texture:SetTexCoord(0, 0.5, 0.5, 1);


==Details==
== See also ==
Use this function to select a sub-region of a texture for display in a Texture widget.  Note that the coordinates are normalised, and that the origin is the ''top'' left corner.  (Note: 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)
* {{api|Texture:GetTexCoord|t=w}}()
* [[SetTexCoord Transformations]]

Latest revision as of 04:47, 15 August 2023

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)

Parameters

Arguments

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).

Returns

none

Details

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

Example

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.

Notes

  • 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 also