diff --git a/examples/textures/resources/pat.png b/examples/textures/resources/patterns.png similarity index 100% rename from examples/textures/resources/pat.png rename to examples/textures/resources/patterns.png diff --git a/examples/textures/textures_draw_tiled.c b/examples/textures/textures_draw_tiled.c index 0e1bebdc..160117f9 100644 --- a/examples/textures/textures_draw_tiled.c +++ b/examples/textures/textures_draw_tiled.c @@ -11,9 +11,9 @@ #include "raylib.h" #define SIZEOF(A) (sizeof(A)/sizeof(A[0])) -#define OPT_WIDTH 220 // max width for the options container -#define MARGIN_SIZE 8 // size for the margins -#define COLOR_SIZE 16 // size of the color select buttons +#define OPT_WIDTH 220 // Max width for the options container +#define MARGIN_SIZE 8 // Size for the margins +#define COLOR_SIZE 16 // Size of the color select buttons int main(int argc, char **argv) { @@ -26,31 +26,41 @@ int main(int argc, char **argv) InitWindow(screenWidth, screenHeight, "raylib [textures] example - Draw part of a texture tiled"); // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) - Texture ptex = LoadTexture("resources/pat.png"); - SetTextureFilter(ptex, FILTER_TRILINEAR); // Makes the texture smoother when upscaled + Texture texPattern = LoadTexture("resources/patterns.png"); + SetTextureFilter(texPattern, FILTER_TRILINEAR); // Makes the texture smoother when upscaled // Coordinates for all patterns inside the texture - const Rectangle patRec[] = { (Rectangle){3,3,66,66}, (Rectangle){75,3,100,100}, - (Rectangle){3,75,66,66}, (Rectangle){7,156,50,50}, (Rectangle){85,106,90,45}, (Rectangle){75,154,100,60} }; + const Rectangle recPattern[] = { + (Rectangle){ 3, 3, 66, 66 }, + (Rectangle){ 75, 3, 100, 100 }, + (Rectangle){ 3, 75, 66, 66 }, + (Rectangle){ 7, 156, 50, 50 }, + (Rectangle){ 85, 106, 90, 45 }, + (Rectangle){ 75, 154, 100, 60} + }; // Setup colors - const Color colors[] = { BLACK, MAROON, ORANGE, BLUE, PURPLE, BEIGE, LIME, RED, DARKGRAY, SKYBLUE}; - enum {MAX_COLORS = SIZEOF(colors)}; + const Color colors[] = { BLACK, MAROON, ORANGE, BLUE, PURPLE, BEIGE, LIME, RED, DARKGRAY, SKYBLUE }; + enum { MAX_COLORS = SIZEOF(colors) }; Rectangle colorRec[MAX_COLORS] = { 0 }; // Calculate rectangle for each color - for(int i=0, x=0, y=0; i 10.0f) scale = 10.0f; - else if( scale <= 0.0f) scale = 0.25f; + if (IsKeyPressed(KEY_UP)) scale += 0.25f; + if (IsKeyPressed(KEY_DOWN)) scale -= 0.25f; + if (scale > 10.0f) scale = 10.0f; + else if ( scale <= 0.0f) scale = 0.25f; // Change rotation - if(IsKeyPressed(KEY_LEFT)) rotation -= 25.0f; - if(IsKeyPressed(KEY_RIGHT)) rotation += 25.0f; + if (IsKeyPressed(KEY_LEFT)) rotation -= 25.0f; + if (IsKeyPressed(KEY_RIGHT)) rotation += 25.0f; // Reset - if(IsKeyPressed(KEY_SPACE)) { rotation = 0.0f; scale = 1.0f; } + if (IsKeyPressed(KEY_SPACE)) { rotation = 0.0f; scale = 1.0f; } //---------------------------------------------------------------------------------- // Draw @@ -107,40 +122,42 @@ int main(int argc, char **argv) ClearBackground(RAYWHITE); // Draw the tiled area - DrawTextureTiled(ptex, patRec[activePat], (Rectangle){OPT_WIDTH+MARGIN_SIZE, MARGIN_SIZE, screenWidth - OPT_WIDTH - 2*MARGIN_SIZE, screenHeight - 2*MARGIN_SIZE}, + DrawTextureTiled(texPattern, recPattern[activePattern], (Rectangle){OPT_WIDTH+MARGIN_SIZE, MARGIN_SIZE, screenWidth - OPT_WIDTH - 2*MARGIN_SIZE, screenHeight - 2*MARGIN_SIZE}, (Vector2){0.0f, 0.0f}, rotation, scale, colors[activeCol]); // Draw options - DrawRectangle(MARGIN_SIZE, MARGIN_SIZE, OPT_WIDTH - MARGIN_SIZE, screenHeight-2*MARGIN_SIZE, ColorAlpha(LIGHTGRAY, 0.5f)); + DrawRectangle(MARGIN_SIZE, MARGIN_SIZE, OPT_WIDTH - MARGIN_SIZE, screenHeight - 2*MARGIN_SIZE, ColorAlpha(LIGHTGRAY, 0.5f)); - DrawText("Select Pattern", 2+MARGIN_SIZE, 30+MARGIN_SIZE, 10, BLACK); - DrawTexture(ptex, 2+MARGIN_SIZE, 40+MARGIN_SIZE, BLACK); - DrawRectangle(2+MARGIN_SIZE + patRec[activePat].x, 40+MARGIN_SIZE+patRec[activePat].y,patRec[activePat].width, patRec[activePat].height, ColorAlpha(DARKBLUE, 0.3f)); + DrawText("Select Pattern", 2 + MARGIN_SIZE, 30 + MARGIN_SIZE, 10, BLACK); + DrawTexture(texPattern, 2 + MARGIN_SIZE, 40 + MARGIN_SIZE, BLACK); + DrawRectangle(2 + MARGIN_SIZE + recPattern[activePattern].x, 40 + MARGIN_SIZE + recPattern[activePattern].y, recPattern[activePattern].width, recPattern[activePattern].height, ColorAlpha(DARKBLUE, 0.3f)); DrawText("Select Color", 2+MARGIN_SIZE, 10+256+MARGIN_SIZE, 10, BLACK); - for(int i=0; i