From 78eada5f66a75957ecc540a6f6bdb93b95d7799e Mon Sep 17 00:00:00 2001 From: meow Date: Mon, 10 Mar 2025 09:18:14 +0100 Subject: [PATCH] feat: basic UI app FTLK --- .gitignore | 1 + Cargo.lock | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++++ Cargo.toml | 7 ++++ src/main.rs | 18 +++++++++ 4 files changed, 129 insertions(+) create mode 100644 .gitignore create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 src/main.rs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..3b13959 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,103 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "Lango" +version = "0.1.0" +dependencies = [ + "fltk", +] + +[[package]] +name = "bitflags" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" + +[[package]] +name = "cc" +version = "1.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" +dependencies = [ + "shlex", +] + +[[package]] +name = "cmake" +version = "0.1.54" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0" +dependencies = [ + "cc", +] + +[[package]] +name = "cmk" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd5de2a10e31b3ec3e8d75e7ccf8281ab3ee55de68f7ab6ffa9e21be8d82f22" + +[[package]] +name = "crossbeam-channel" +version = "0.5.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "fltk" +version = "1.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74e9cd956bb97d6d35fcabd549973dde55b2a12bee7d9d61171910f5d762af68" +dependencies = [ + "bitflags", + "crossbeam-channel", + "fltk-sys", + "once_cell", + "paste", + "ttf-parser", +] + +[[package]] +name = "fltk-sys" +version = "1.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db5c603b4416ff5665df2ec5dc0c102781a5fb56f2720de0abd11a0ffa8abd23" +dependencies = [ + "cmake", + "cmk", +] + +[[package]] +name = "once_cell" +version = "1.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "ttf-parser" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..2baef05 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "Lango" +version = "0.1.0" +edition = "2024" + +[dependencies] +fltk = "1.5.4" diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..1b8e9a7 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,18 @@ +use fltk::{app, enums::Color, frame::Frame, prelude::*, window::Window}; + +fn main() { + let app = app::App::default(); + + // define window & widgets and allat + let mut wind = Window::new(100, 100, 400, 300, "Lango"); + wind.set_color(Color::Black); + + let mut label = Frame::new(0, 0, 300, 200, "meow"); + label.set_label_color(Color::White); + label.set_label("hello world!"); + + wind.end(); + wind.show(); + + app.run().unwrap(); +}