summaryrefslogtreecommitdiff
path: root/apps/desktop/src
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2026-03-27 21:15:00 +0100
committerMaze Winther <mazewinther@gmail.com>2026-03-29 15:58:42 +0200
commitd862e56e34ad1a76836cc2716b473a61879f2205 (patch)
treebf7279fe478810fca345567fbf6ed5fa1ffa8603 /apps/desktop/src
parentd08fbd73e1d1257d87ed21e85fb4dcfc33c094e1 (diff)
downloadopencut-d862e56e34ad1a76836cc2716b473a61879f2205.tar.gz
feat: init desktop app
Diffstat (limited to 'apps/desktop/src')
-rw-r--r--apps/desktop/src/main.rs41
1 files changed, 41 insertions, 0 deletions
diff --git a/apps/desktop/src/main.rs b/apps/desktop/src/main.rs
new file mode 100644
index 00000000..e456f136
--- /dev/null
+++ b/apps/desktop/src/main.rs
@@ -0,0 +1,41 @@
+use gpui::{
+ App, Application, Bounds, Context, SharedString, Window, WindowBounds, WindowOptions, div,
+ prelude::*, px, rgb, size,
+};
+
+struct AppWindow {
+ title: SharedString,
+}
+
+impl Render for AppWindow {
+ fn render(&mut self, _window: &mut Window, _cx: &mut Context<Self>) -> impl IntoElement {
+ div()
+ .size_full()
+ .bg(rgb(0x0f0f0f))
+ .flex()
+ .justify_center()
+ .items_center()
+ .text_xl()
+ .text_color(rgb(0xffffff))
+ .child(self.title.clone())
+ }
+}
+
+fn main() {
+ Application::new().run(|cx: &mut App| {
+ let bounds = Bounds::centered(None, size(px(1280.), px(720.)), cx);
+ cx.open_window(
+ WindowOptions {
+ window_bounds: Some(WindowBounds::Windowed(bounds)),
+ ..Default::default()
+ },
+ |_, cx| {
+ cx.new(|_| AppWindow {
+ title: "OpenCut".into(),
+ })
+ },
+ )
+ .unwrap();
+ cx.activate(true);
+ });
+}