WoW:API Texture SetTexCoordModifiesRect (source)
Revision as of 04:47, 15 August 2023
, 15 August 2023Move page script moved page API Texture SetTexCoordModifiesRect to WoW:API Texture SetTexCoordModifiesRect without leaving a redirect
No edit summary |
m (Move page script moved page API Texture SetTexCoordModifiesRect to WoW:API Texture SetTexCoordModifiesRect without leaving a redirect) |
||
| (3 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
{{widgetmethod}} | {{widgetmethod}} {{removedapi|3.3.3|See [[#Notes]] below for work-around}} | ||
Set whether subsequent [[API Texture SetTexCoord|SetTexCoord()]] operations also modify the rendering rectangle of a Texture object to maintain texture scaling when the texture coordinates are modified. This adjustment is only implemented for rectangular regions and may yield undesirable results for rotation or shearing transformations. | |||
MyTexture:SetTexCoordModifiesRect(enableFlag) | MyTexture:SetTexCoordModifiesRect(enableFlag) | ||
| Line 8: | Line 9: | ||
:::'''false''' (default) to stretch/shrink the texture on SetTexCoord calls. | :::'''false''' (default) to stretch/shrink the texture on SetTexCoord calls. | ||
:::'''true''' to modify the display rectangle's dimensions instead. | :::'''true''' to modify the display rectangle's dimensions instead. | ||
== Details == | |||
By default a Texture object renders the underlying texture image across the entire surface of the Texture region, so setting TexCoords that represent a subset of the underlying image results in a scaled or stretched result. If SetTexCoordModifiesRect is set to true, then the rendering rectangle is adjusted relative to the Texture region, so that sizing/scaling will be preserved relative to the original (0,1,0,1) coordinates. The new rendering area has the same BOTTOMLEFT corner as the Texture region, but then a width and height defined as follows: | |||
T is a texture with a display width of W and display height of H. | |||
T:SetTexCoordModifiesRect(true) is called | |||
T:SetTexCoord(x1,x2, y1,y2) is then executed | |||
The texture image is then rendered onto a screen region with the same BOTTOMLEFT corner as T, but with a width of W * (abs(x2-x1)) and height of H * (abs(y2-y1)) | |||
== Examples == | == Examples == | ||
| Line 46: | Line 56: | ||
|} | |} | ||
</div> | </div> | ||
== Notes == | |||
This API has been deprecated in 3.3.3 in favor of modified implementation to be made available in a future release. {{ref web |url=http://forums.worldofwarcraft.com/thread.html?topicId=20437376853&sid=1&pageNo=5#86 | title=Reason, and workaround }}<br/> | |||