From c7d81b9533f58d81e15965815e5e7875a820938a Mon Sep 17 00:00:00 2001 From: Nic Barker Date: Fri, 30 Aug 2024 19:02:02 +1200 Subject: [PATCH] Reorganise files --- bindings/odin/README.md | 7 ++++++- bindings/odin/clay-odin/clay.odin | 12 ++---------- .../clay-official-website.odin} | 4 ++-- .../clay_renderer_raylib.odin | 2 +- .../resources/Calistoga-Regular.ttf | Bin .../resources/Quicksand-Semibold.ttf | Bin .../resources/Roboto-Regular.ttf | Bin .../clay-official-website}/resources/check_1.png | Bin .../clay-official-website}/resources/check_2.png | Bin .../clay-official-website}/resources/check_3.png | Bin .../clay-official-website}/resources/check_4.png | Bin .../clay-official-website}/resources/check_5.png | Bin .../resources/declarative.png | Bin 13 files changed, 11 insertions(+), 14 deletions(-) rename bindings/odin/{example.odin => examples/clay-official-website/clay-official-website.odin} (99%) rename bindings/odin/{ => examples/clay-official-website}/clay_renderer_raylib.odin (99%) rename bindings/odin/{ => examples/clay-official-website}/resources/Calistoga-Regular.ttf (100%) rename bindings/odin/{ => examples/clay-official-website}/resources/Quicksand-Semibold.ttf (100%) rename bindings/odin/{ => examples/clay-official-website}/resources/Roboto-Regular.ttf (100%) rename bindings/odin/{ => examples/clay-official-website}/resources/check_1.png (100%) rename bindings/odin/{ => examples/clay-official-website}/resources/check_2.png (100%) rename bindings/odin/{ => examples/clay-official-website}/resources/check_3.png (100%) rename bindings/odin/{ => examples/clay-official-website}/resources/check_4.png (100%) rename bindings/odin/{ => examples/clay-official-website}/resources/check_5.png (100%) rename bindings/odin/{ => examples/clay-official-website}/resources/declarative.png (100%) diff --git a/bindings/odin/README.md b/bindings/odin/README.md index 30404ce..4d1e623 100644 --- a/bindings/odin/README.md +++ b/bindings/odin/README.md @@ -1 +1,6 @@ -TODO \ No newline at end of file +### Odin Language Bindings + +This directory contains bindings for the [Odin](odin-lang.org) programming language, as well as an example implementation of the [clay website](https://nicbarker.com/clay) in Odin. + +If you haven't taken a look at the [full documentation for clay](https://github.com/nicbarker/clay/blob/main/README.md), it's recommended that you take a look there first to familiarise yourself with the general concepts. This README is abbreviated and applies to using clay in Odin specifically. + diff --git a/bindings/odin/clay-odin/clay.odin b/bindings/odin/clay-odin/clay.odin index e3e0aa5..721d4b9 100644 --- a/bindings/odin/clay-odin/clay.odin +++ b/bindings/odin/clay-odin/clay.odin @@ -20,10 +20,7 @@ String :: struct { chars: [^]c.char, } -Vector2 :: struct { - x: c.float, - y: c.float, -} +Vector2 :: [2]c.float Dimensions :: struct { width: c.float, @@ -44,12 +41,7 @@ BoundingBox :: struct { height: c.float, } -Color :: struct { - r: c.float, - g: c.float, - b: c.float, - a: c.float, -} +Color :: [4]c.float CornerRadius :: struct { topLeft: c.float, diff --git a/bindings/odin/example.odin b/bindings/odin/examples/clay-official-website/clay-official-website.odin similarity index 99% rename from bindings/odin/example.odin rename to bindings/odin/examples/clay-official-website/clay-official-website.odin index d499a1d..78cf5ce 100644 --- a/bindings/odin/example.odin +++ b/bindings/odin/examples/clay-official-website/clay-official-website.odin @@ -1,6 +1,6 @@ package main -import clay "clay-odin" +import clay "../../clay-odin" import "core:c" import "core:fmt" import "vendor:raylib" @@ -307,7 +307,7 @@ DeclarativeSyntaxPageMobile :: proc() { } ColorLerp :: proc(a: clay.Color, b: clay.Color, amount: f32) -> clay.Color { - return clay.Color{r = a.r + (b.r - a.r) * amount, g = a.g + (b.g - a.g) * amount, b = a.b + (b.b - a.b) * amount, a = a.a + (b.a - a.a) * amount} + return clay.Color{a.r + (b.r - a.r) * amount, a.g + (b.g - a.g) * amount, a.b + (b.b - a.b) * amount, a.a + (b.a - a.a) * amount} } LOREM_IPSUM_TEXT: clay.String = clay.MakeString("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.") diff --git a/bindings/odin/clay_renderer_raylib.odin b/bindings/odin/examples/clay-official-website/clay_renderer_raylib.odin similarity index 99% rename from bindings/odin/clay_renderer_raylib.odin rename to bindings/odin/examples/clay-official-website/clay_renderer_raylib.odin index 82cb019..257b8ca 100644 --- a/bindings/odin/clay_renderer_raylib.odin +++ b/bindings/odin/examples/clay-official-website/clay_renderer_raylib.odin @@ -1,6 +1,6 @@ package main -import clay "clay-odin" +import clay "../../clay-odin" import "core:math" import "vendor:raylib" diff --git a/bindings/odin/resources/Calistoga-Regular.ttf b/bindings/odin/examples/clay-official-website/resources/Calistoga-Regular.ttf similarity index 100% rename from bindings/odin/resources/Calistoga-Regular.ttf rename to bindings/odin/examples/clay-official-website/resources/Calistoga-Regular.ttf diff --git a/bindings/odin/resources/Quicksand-Semibold.ttf b/bindings/odin/examples/clay-official-website/resources/Quicksand-Semibold.ttf similarity index 100% rename from bindings/odin/resources/Quicksand-Semibold.ttf rename to bindings/odin/examples/clay-official-website/resources/Quicksand-Semibold.ttf diff --git a/bindings/odin/resources/Roboto-Regular.ttf b/bindings/odin/examples/clay-official-website/resources/Roboto-Regular.ttf similarity index 100% rename from bindings/odin/resources/Roboto-Regular.ttf rename to bindings/odin/examples/clay-official-website/resources/Roboto-Regular.ttf diff --git a/bindings/odin/resources/check_1.png b/bindings/odin/examples/clay-official-website/resources/check_1.png similarity index 100% rename from bindings/odin/resources/check_1.png rename to bindings/odin/examples/clay-official-website/resources/check_1.png diff --git a/bindings/odin/resources/check_2.png b/bindings/odin/examples/clay-official-website/resources/check_2.png similarity index 100% rename from bindings/odin/resources/check_2.png rename to bindings/odin/examples/clay-official-website/resources/check_2.png diff --git a/bindings/odin/resources/check_3.png b/bindings/odin/examples/clay-official-website/resources/check_3.png similarity index 100% rename from bindings/odin/resources/check_3.png rename to bindings/odin/examples/clay-official-website/resources/check_3.png diff --git a/bindings/odin/resources/check_4.png b/bindings/odin/examples/clay-official-website/resources/check_4.png similarity index 100% rename from bindings/odin/resources/check_4.png rename to bindings/odin/examples/clay-official-website/resources/check_4.png diff --git a/bindings/odin/resources/check_5.png b/bindings/odin/examples/clay-official-website/resources/check_5.png similarity index 100% rename from bindings/odin/resources/check_5.png rename to bindings/odin/examples/clay-official-website/resources/check_5.png diff --git a/bindings/odin/resources/declarative.png b/bindings/odin/examples/clay-official-website/resources/declarative.png similarity index 100% rename from bindings/odin/resources/declarative.png rename to bindings/odin/examples/clay-official-website/resources/declarative.png