aboutsummaryrefslogtreecommitdiff
path: root/code
diff options
context:
space:
mode:
Diffstat (limited to 'code')
-rw-r--r--code/main.felan28
1 files changed, 21 insertions, 7 deletions
diff --git a/code/main.felan b/code/main.felan
index 1dff7fb..6d83f56 100644
--- a/code/main.felan
+++ b/code/main.felan
@@ -1,8 +1,10 @@
@import("basic.felan");
+/*
libc :: @c_library("/lib/libc.so.6");
puts :: @c_function(libc,"puts",(*u8)->i32);
sleep :: @c_function(libc,"sleep",(i32)->i32);
+*/
raylib :: @c_library("/lib/libraylib.so.5.5.0");
InitWindow :: @c_function(raylib,"InitWindow",(i32,i32,*u8)->void);
@@ -10,9 +12,16 @@ WindowShouldClose :: @c_function(raylib,"WindowShouldClose",()->bool);
BeginDrawing :: @c_function(raylib,"BeginDrawing",()->void);
EndDrawing :: @c_function(raylib,"EndDrawing",()->void);
CloseWindow :: @c_function(raylib,"CloseWindow",()->void);
-ClearBackground :: @c_function(raylib,"ClearBackground",(color:u32)->void);
+ClearBackground :: @c_function(raylib,"ClearBackground",(color:Color)->void);
DrawText :: @c_function(raylib,"DrawText",(*u8,i32,i32,i32,u32)->void);
+Color :: struct {
+ r:u8;
+ g:u8;
+ b:u8;
+ a:u8;
+};
+
main :: ()->void{
b := "raylib [core] example - basic window\0";
c := "Congrats! You created your first window!\0";
@@ -22,18 +31,23 @@ main :: ()->void{
screenHeight :i32: 450;
a : u8 : 255;
b : u8 : 0;
- white :u32: color(a,a,a,a);
- black :u32: 0xff000000;
+ white :: color(a,a,a,a);
+ black :u32= 0xff000000;
InitWindow(screenWidth,screenHeight,str);
while !WindowShouldClose() {
BeginDrawing();
- ClearBackground(@cast(white,u32));
- DrawText(str2,@cast(190,i32),@cast(200,i32),@cast(20,i32),@cast(black,u32));
+ ClearBackground(white);
+ DrawText(str2,@cast(190,i32),@cast(200,i32),@cast(20,i32),black);
EndDrawing();
}
CloseWindow();
};
-color :: (a:u8,r:u8,g:u8,b:u8)->u32{
- return @cast(a,u32)<<@cast(6*4,u32) | @cast(r,u32)<<@cast(0*4,u32) | @cast(g,u32)<<@cast(2*4,u32) | @cast(b,u32)<<@cast(4*4,u32);
+color :: (a:u8,r:u8,g:u8,b:u8)->Color{
+ c : Color = undefined;
+ c.r = r;
+ c.g = g;
+ c.b = b;
+ c.a = a;
+ return c;
};