/*
   Module raylib provides bindings for the raylib C
   library (v5.5).

   Supported platforms: Windows, Mac, Linux
*/

#module_parameters(STATIC := true);

#scope_export

DARKGRAY   :: Color.{ 80, 80, 80, 255 };      // Dark Gray
YELLOW     :: Color.{ 253, 249, 0, 255 };     // Yellow
GOLD       :: Color.{ 255, 203, 0, 255 };     // Gold
ORANGE     :: Color.{ 255, 161, 0, 255 };     // Orange
PINK       :: Color.{ 255, 109, 194, 255 };   // Pink
RED        :: Color.{ 230, 41, 55, 255 };     // Red
MAROON     :: Color.{ 190, 33, 55, 255 };     // Maroon
GREEN      :: Color.{ 0, 228, 48, 255 };      // Green
LIME       :: Color.{ 0, 158, 47, 255 };      // Lime
DARKGREEN  :: Color.{ 0, 117, 44, 255 };      // Dark Green
SKYBLUE    :: Color.{ 102, 191, 255, 255 };   // Sky Blue
BLUE       :: Color.{ 0, 121, 241, 255 };     // Blue
DARKBLUE   :: Color.{ 0, 82, 172, 255 };      // Dark Blue
PURPLE     :: Color.{ 200, 122, 255, 255 };   // Purple
VIOLET     :: Color.{ 135, 60, 190, 255 };    // Violet
DARKPURPLE :: Color.{ 112, 31, 126, 255 };    // Dark Purple
BEIGE      :: Color.{ 211, 176, 131, 255 };   // Beige
BROWN      :: Color.{ 127, 106, 79, 255 };    // Brown
DARKBROWN  :: Color.{ 76, 63, 47, 255 };      // Dark Brown
WHITE      :: Color.{ 255, 255, 255, 255 };   // White
BLACK      :: Color.{ 0, 0, 0, 255 };         // Black
BLANK      :: Color.{ 0, 0, 0, 0 };           // Blank (Transparent)
MAGENTA    :: Color.{ 255, 0, 255, 255 };     // Magenta
RAYWHITE   :: Color.{ 245, 245, 245, 255 };   // My own White (raylib logo)

#if STATIC {
   #if OS == {
      case .WINDOWS;
         libraylib :: #library,no_dll,link_always "win/libraylib";
      case .MACOS;
         libraylib :: #library,no_dll,link_always "mac/libraylib";
      case .LINUX;
         libraylib :: #library,no_dll,link_always "linux/libraylib";
   }
}
else {
   #if OS == {
      case .WINDOWS;
         libraylib :: #library "win/libraylib";
      case .MACOS;
         libraylib :: #library "mac/libraylib.550";
      case .LINUX;
         libraylib :: #library "linux/libraylib";
   }
}

#if OS == {
   case .WINDOWS;
      user32  :: #library,system,link_always "user32";
      winmm   :: #library,system,link_always "winmm";
      gdi32   :: #library,system,link_always "gdi32";
      shell32 :: #library,system,link_always "shell32";
   case .MACOS;
      cocoa :: #library,system,link_always "Cocoa";
      iOKit :: #library,system,link_always "IOKit";
}

#load "raylib.jai";
