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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 literal 0 HcmV?d00001