From 9956344215f688ba3297ba50b239f3743f533d1d Mon Sep 17 00:00:00 2001 From: raysan5 Date: Fri, 14 Apr 2017 15:37:50 +0200 Subject: [PATCH] new example: shapes_lines_bezier --- examples/shapes/shapes_lines_bezier.c | 59 ++++++++++++++++++++++++ examples/shapes/shapes_lines_bezier.png | Bin 0 -> 17537 bytes 2 files changed, 59 insertions(+) create mode 100644 examples/shapes/shapes_lines_bezier.c create mode 100644 examples/shapes/shapes_lines_bezier.png diff --git a/examples/shapes/shapes_lines_bezier.c b/examples/shapes/shapes_lines_bezier.c new file mode 100644 index 000000000..f41334594 --- /dev/null +++ b/examples/shapes/shapes_lines_bezier.c @@ -0,0 +1,59 @@ +/******************************************************************************************* +* +* raylib [shapes] example - Cubic-bezier lines +* +* This example has been created using raylib 1.7 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2017 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + int screenWidth = 800; + int screenHeight = 450; + + SetConfigFlags(FLAG_MSAA_4X_HINT); + InitWindow(screenWidth, screenHeight, "raylib [shapes] example - cubic-bezier lines"); + + Vector2 start = { 0, 0 }; + Vector2 end = { screenWidth, screenHeight }; + + SetTargetFPS(60); + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) start = GetMousePosition(); + else if (IsMouseButtonDown(MOUSE_RIGHT_BUTTON)) end = GetMousePosition(); + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + DrawText("USE MOUSE LEFT-RIGHT CLICK to DEFINE LINE START and END POINTS", 15, 20, 20, GRAY); + + DrawLineBezier(start, end, 2.0f, RED); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} diff --git a/examples/shapes/shapes_lines_bezier.png b/examples/shapes/shapes_lines_bezier.png new file mode 100644 index 0000000000000000000000000000000000000000..390a49adf62b8220c72db7a4ebc6298c977df202 GIT binary patch literal 17537 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