summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/core.c21
-rw-r--r--src/raylib.h2
-rw-r--r--src/textures.c8
3 files changed, 27 insertions, 4 deletions
diff --git a/src/core.c b/src/core.c
index 5f12fb72..da286923 100644
--- a/src/core.c
+++ b/src/core.c
@@ -1819,6 +1819,27 @@ int StorageLoadValue(int position)
return value;
}
+// Open URL with default system browser (if available)
+void OpenURL(const char *url)
+{
+ // Max length is "explorer ".length + url.maxlength (which is 2083),
+ // but we are not wasting that much memory here... let's set it up to 512
+ static char cmd[512] = { 0 };
+
+#if defined(_WIN32)
+ strcpy(cmd, "explorer ");
+#elif defined(__linux__)
+ strcpy(cmd, "xdg-open "); // Alternatives: firefox, x-www-browser
+#elif defined(__APPLE__)
+ strcpy(cmd, "open ");
+#endif
+
+ strcat(cmd, url);
+ system(cmd);
+
+ memset(cmd, 0, 512);
+}
+
//----------------------------------------------------------------------------------
// Module Functions Definition - Input (Keyboard, Mouse, Gamepad) Functions
//----------------------------------------------------------------------------------
diff --git a/src/raylib.h b/src/raylib.h
index aba4e108..ef470389 100644
--- a/src/raylib.h
+++ b/src/raylib.h
@@ -887,6 +887,8 @@ RLAPI long GetFileModTime(const char *fileName); // Get file mo
RLAPI void StorageSaveValue(int position, int value); // Save integer value to storage file (to defined position)
RLAPI int StorageLoadValue(int position); // Load integer value from storage file (from defined position)
+RLAPI void OpenURL(const char *url); // Open URL with default system browser (if available)
+
//------------------------------------------------------------------------------------
// Input Handling Functions (Module: core)
//------------------------------------------------------------------------------------
diff --git a/src/textures.c b/src/textures.c
index 6249287d..fce1092a 100644
--- a/src/textures.c
+++ b/src/textures.c
@@ -1741,10 +1741,10 @@ void ImageDrawRectangle(Image *dst, Rectangle rec, Color color)
// Draw rectangle lines within an image
void ImageDrawRectangleLines(Image *dst, Rectangle rec, int thick, Color color)
{
- ImageDrawRectangle(&dst, (Rectangle){ rec.x, rec.y, rec.width, thick }, color);
- ImageDrawRectangle(&dst, (Rectangle){ rec.x, rec.y + thick, thick, rec.height - thick*2 }, color);
- ImageDrawRectangle(&dst, (Rectangle){ rec.x + rec.width - thick, rec.y + thick, thick, rec.height - thick*2 }, color);
- ImageDrawRectangle(&dst, (Rectangle){ rec.x, rec.height - thick, rec.width, thick }, color);
+ ImageDrawRectangle(dst, (Rectangle){ rec.x, rec.y, rec.width, thick }, color);
+ ImageDrawRectangle(dst, (Rectangle){ rec.x, rec.y + thick, thick, rec.height - thick*2 }, color);
+ ImageDrawRectangle(dst, (Rectangle){ rec.x + rec.width - thick, rec.y + thick, thick, rec.height - thick*2 }, color);
+ ImageDrawRectangle(dst, (Rectangle){ rec.x, rec.height - thick, rec.width, thick }, color);
}
// Draw text (default font) within an image (destination)