From 5ecb6801fa5bf4f59a4459adfda922169523567f Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sun, 21 Sep 2014 14:26:42 +0200 Subject: Examples renaming and test examples merge Examples have been renamed for coherence with raylib modules and test examples have been merged into examples folder. --- examples/textures_srcrec_dstrec.c | 68 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 examples/textures_srcrec_dstrec.c (limited to 'examples/textures_srcrec_dstrec.c') diff --git a/examples/textures_srcrec_dstrec.c b/examples/textures_srcrec_dstrec.c new file mode 100644 index 00000000..27d9610e --- /dev/null +++ b/examples/textures_srcrec_dstrec.c @@ -0,0 +1,68 @@ +/******************************************************************************************* +* +* raylib [textures] example - Texture source and destination rectangles +* +* This example has been created using raylib 1.1 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2014 Ramon Santamaria (Ray San - raysan@raysanweb.com) +* +********************************************************************************************/ + +#include "raylib.h" + +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + int screenWidth = 800; + int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [textures] examples - texture source and destination rectangles"); + + // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) + Texture2D texture = LoadTexture("resources/raylib_logo.png"); // Texture loading + + // NOTE: Source rectangle (part of the texture to use for drawing) + Rectangle sourceRec = { 128, 128, 128, 128 }; + + // NOTE: Destination rectangle (screen rectangle where drawing part of texture) + Rectangle destRec = { screenWidth/2, screenHeight/2, 256, 256 }; + + // NOTE: Origin of the texture in case of rotation, it's relative to destination rectangle size + Vector2 origin = { 128, 128 }; + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + // TODO: Update your variables here + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + // NOTE: Using DrawTexturePro() we can easily rotate and scale the part of the texture we draw + DrawTexturePro(texture, sourceRec, destRec, origin, 45, LIGHTGRAY); + + DrawLine(destRec.x, 0, destRec.x, screenHeight, RED); + DrawLine(0, destRec.y, screenWidth, destRec.y, RED); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + UnloadTexture(texture); // Texture unloading + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} \ No newline at end of file -- cgit v1.2.3