WoW:API Texture SetTexCoordModifiesRect: Difference between revisions

m
Move 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.


Set whether subsequent [[API Texture SetTexCoord|SetTexCoord()]] operations should modify the display rectangle rather than stretch/shrink the texture.
  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/>
Anonymous user