diff options
Diffstat (limited to 'kscurses/utils.jai')
| -rw-r--r-- | kscurses/utils.jai | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/kscurses/utils.jai b/kscurses/utils.jai deleted file mode 100644 index 2b88e85..0000000 --- a/kscurses/utils.jai +++ /dev/null @@ -1,53 +0,0 @@ -// array_slice :: (array : []$T, left : int, right : int) -> []T { -// assert(left <= right && left >= 0 && right <= array.count); -// result : []T; -// result.data, result.count = array.data + left, right - left; -// return result; -// } - -length_code :: inline (c : u64) -> u8 { - for 0..7 { - if !c return xx it; - c >>= 8; - } - return 8; -} -utf8 :: (str : string) -> u32 { - code : u32; - assert(str.count <= 4); - memcpy(*code, str.data, str.count); - return code; -} -byteswap_64 :: (c : u64) -> u64 { - c = ((0xFFFFFFFF00000000 & c) >> 32) | ((0x00000000FFFFFFFF & c) << 32); - c = ((0xFFFF0000FFFF0000 & c) >> 16) | ((0x0000FFFF0000FFFF & c) << 16); - c = ((0xFF00FF00FF00FF00 & c) >> 8) | ((0x00FF00FF00FF00FF & c) << 8); - return c; -} -byteswap_32 :: (c : u32) -> u32 { - c = ((0xFFFF0000 & c) >> 16) | ((0x0000FFFF & c) << 16); - c = ((0xFF00FF00 & c) >> 8) | ((0x00FF00FF & c) << 8); - return c; -} -char_bs :: (code : u32) -> u32 { - l := length_code(code); - return byteswap_32(code) >> ((8 - l) * 8); -} -utf8_bs :: (str : string) -> u32 { - return char_bs(utf8(str)); -} -arrow_code_to_ivec2 :: (key : Key, $swap_y := true) -> ivec2 { - #if swap_y { - return ifx key == .UP ivec2.{ 0, -1} - else ifx key == .RIGHT ivec2.{ 1, 0} - else ifx key == .DOWN ivec2.{ 0, 1} - else ifx key == .LEFT ivec2.{-1, 0} - else ivec2.{}; - } else { - return ifx key == .UP ivec2.{ 0, 1} - else ifx key == .RIGHT ivec2.{ 1, 0} - else ifx key == .DOWN ivec2.{ 0, -1} - else ifx key == .LEFT ivec2.{-1, 0} - else ivec2.{}; - } -} |
