summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorRay <[email protected]>2022-11-10 10:17:37 +0100
committerRay <[email protected]>2022-11-10 10:17:37 +0100
commit3888299bf5f50a828a26ce52e29db41a8764a193 (patch)
tree84995c55c77369cf1c4a795f498b0ce2f61e3e29 /src
parent7f68c65406a8321ec192adc6abc3142ac48eb071 (diff)
downloadraylib-3888299bf5f50a828a26ce52e29db41a8764a193.tar.gz
raylib-3888299bf5f50a828a26ce52e29db41a8764a193.zip
WARNING: REMOVED: `DrawTextureTiled()`
This function implementation has been moved to the related example. Current implementation can be probably customized depending on user needs.
Diffstat (limited to 'src')
-rw-r--r--src/raylib.h3
-rw-r--r--src/rtextures.c85
2 files changed, 1 insertions, 87 deletions
diff --git a/src/raylib.h b/src/raylib.h
index 8274ff89..6e549208 100644
--- a/src/raylib.h
+++ b/src/raylib.h
@@ -1322,8 +1322,7 @@ RLAPI void DrawTextureV(Texture2D texture, Vector2 position, Color tint);
RLAPI void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint); // Draw a Texture2D with extended parameters
RLAPI void DrawTextureRec(Texture2D texture, Rectangle source, Vector2 position, Color tint); // Draw a part of a texture defined by a rectangle
RLAPI void DrawTexturePro(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, Color tint); // Draw a part of a texture defined by a rectangle with 'pro' parameters
-RLAPI void DrawTextureTiled(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, float scale, Color tint); // Draw part of a texture (defined by a rectangle) with rotation and scale tiled into dest.
-RLAPI void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint); // Draws a texture (or part of it) that stretches or shrinks nicely
+RLAPI void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint); // Draws a texture (or part of it) that stretches or shrinks nicely
// Color/pixel related functions
RLAPI Color Fade(Color color, float alpha); // Get color with alpha applied, alpha goes from 0.0f to 1.0f
diff --git a/src/rtextures.c b/src/rtextures.c
index b367aa19..a23224a0 100644
--- a/src/rtextures.c
+++ b/src/rtextures.c
@@ -3611,91 +3611,6 @@ void DrawTexturePro(Texture2D texture, Rectangle source, Rectangle dest, Vector2
}
}
-// Draw part of a texture (defined by a rectangle) with rotation and scale tiled into dest.
-// NOTE: For tilling a whole texture DrawTextureQuad() is better
-void DrawTextureTiled(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, float scale, Color tint)
-{
- if ((texture.id <= 0) || (scale <= 0.0f)) return; // Wanna see a infinite loop?!...just delete this line!
- if ((source.width == 0) || (source.height == 0)) return;
-
- int tileWidth = (int)(source.width*scale), tileHeight = (int)(source.height*scale);
- if ((dest.width < tileWidth) && (dest.height < tileHeight))
- {
- // Can fit only one tile
- DrawTexturePro(texture, (Rectangle){source.x, source.y, ((float)dest.width/tileWidth)*source.width, ((float)dest.height/tileHeight)*source.height},
- (Rectangle){dest.x, dest.y, dest.width, dest.height}, origin, rotation, tint);
- }
- else if (dest.width <= tileWidth)
- {
- // Tiled vertically (one column)
- int dy = 0;
- for (;dy+tileHeight < dest.height; dy += tileHeight)
- {
- DrawTexturePro(texture, (Rectangle){source.x, source.y, ((float)dest.width/tileWidth)*source.width, source.height}, (Rectangle){dest.x, dest.y + dy, dest.width, (float)tileHeight}, origin, rotation, tint);
- }
-
- // Fit last tile
- if (dy < dest.height)
- {
- DrawTexturePro(texture, (Rectangle){source.x, source.y, ((float)dest.width/tileWidth)*source.width, ((float)(dest.height - dy)/tileHeight)*source.height},
- (Rectangle){dest.x, dest.y + dy, dest.width, dest.height - dy}, origin, rotation, tint);
- }
- }
- else if (dest.height <= tileHeight)
- {
- // Tiled horizontally (one row)
- int dx = 0;
- for (;dx+tileWidth < dest.width; dx += tileWidth)
- {
- DrawTexturePro(texture, (Rectangle){source.x, source.y, source.width, ((float)dest.height/tileHeight)*source.height}, (Rectangle){dest.x + dx, dest.y, (float)tileWidth, dest.height}, origin, rotation, tint);
- }
-
- // Fit last tile
- if (dx < dest.width)
- {
- DrawTexturePro(texture, (Rectangle){source.x, source.y, ((float)(dest.width - dx)/tileWidth)*source.width, ((float)dest.height/tileHeight)*source.height},
- (Rectangle){dest.x + dx, dest.y, dest.width - dx, dest.height}, origin, rotation, tint);
- }
- }
- else
- {
- // Tiled both horizontally and vertically (rows and columns)
- int dx = 0;
- for (;dx+tileWidth < dest.width; dx += tileWidth)
- {
- int dy = 0;
- for (;dy+tileHeight < dest.height; dy += tileHeight)
- {
- DrawTexturePro(texture, source, (Rectangle){dest.x + dx, dest.y + dy, (float)tileWidth, (float)tileHeight}, origin, rotation, tint);
- }
-
- if (dy < dest.height)
- {
- DrawTexturePro(texture, (Rectangle){source.x, source.y, source.width, ((float)(dest.height - dy)/tileHeight)*source.height},
- (Rectangle){dest.x + dx, dest.y + dy, (float)tileWidth, dest.height - dy}, origin, rotation, tint);
- }
- }
-
- // Fit last column of tiles
- if (dx < dest.width)
- {
- int dy = 0;
- for (;dy+tileHeight < dest.height; dy += tileHeight)
- {
- DrawTexturePro(texture, (Rectangle){source.x, source.y, ((float)(dest.width - dx)/tileWidth)*source.width, source.height},
- (Rectangle){dest.x + dx, dest.y + dy, dest.width - dx, (float)tileHeight}, origin, rotation, tint);
- }
-
- // Draw final tile in the bottom right corner
- if (dy < dest.height)
- {
- DrawTexturePro(texture, (Rectangle){source.x, source.y, ((float)(dest.width - dx)/tileWidth)*source.width, ((float)(dest.height - dy)/tileHeight)*source.height},
- (Rectangle){dest.x + dx, dest.y + dy, dest.width - dx, dest.height - dy}, origin, rotation, tint);
- }
- }
- }
-}
-
// Draws a texture (or part of it) that stretches or shrinks nicely using n-patch info
void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint)
{