53 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Zig
		
	
	
	
	
	
		
		
			
		
	
	
			53 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Zig
		
	
	
	
	
	
|  | pub const rl = @cImport({
 | ||
|  |     @cInclude("raylib.h");
 | ||
|  | });
 | ||
|  | 
 | ||
|  | pub fn Color(r: u8, g: u8, b: u8, a: u8) rl.Color {
 | ||
|  |     return .{
 | ||
|  |         .r = r,
 | ||
|  |         .g = g,
 | ||
|  |         .b = b,
 | ||
|  |         .a = a,
 | ||
|  |     };
 | ||
|  | }
 | ||
|  | pub fn ColorInt(whole: u24) rl.Color {
 | ||
|  |     return ColorIntA(@as(u32, whole) << 8 | 0xFF);
 | ||
|  | }
 | ||
|  | pub fn ColorIntA(whole: u32) rl.Color {
 | ||
|  |     return .{
 | ||
|  |         // zig fmt: off
 | ||
|  |         .r = @truncate(whole >> 24),
 | ||
|  |         .g = @truncate(whole >> 16),
 | ||
|  |         .b = @truncate(whole >>  8),
 | ||
|  |         .a = @truncate(whole >>  0),
 | ||
|  |         // zig fmt: on
 | ||
|  |     };
 | ||
|  | }
 | ||
|  | pub fn DrawAndMeasureText(
 | ||
|  |     text: [*c]const u8,
 | ||
|  |     pos_x: c_int,
 | ||
|  |     pos_y: c_int,
 | ||
|  |     font_size: c_int,
 | ||
|  |     color: rl.Color,
 | ||
|  | ) struct { width: c_int, height: c_int } {
 | ||
|  |     rl.DrawText(text, pos_x, pos_y, font_size, color);
 | ||
|  |     return .{
 | ||
|  |         .width = rl.MeasureText(text, font_size),
 | ||
|  |         .height = 10,
 | ||
|  |     };
 | ||
|  | }
 | ||
|  | pub fn GetKeyPressed() ?c_int {
 | ||
|  |     const result = rl.GetKeyPressed();
 | ||
|  |     return if (result == 0)
 | ||
|  |         null
 | ||
|  |     else
 | ||
|  |         result;
 | ||
|  | }
 | ||
|  | pub fn GetCharPressed() ?c_int {
 | ||
|  |     const result = rl.GetCharPressed();
 | ||
|  |     return if (result == 0)
 | ||
|  |         null
 | ||
|  |     else
 | ||
|  |         result;
 | ||
|  | }
 |