diff options
| author | Maze Winther <mazewinther@gmail.com> | 2026-03-27 21:15:00 +0100 |
|---|---|---|
| committer | Maze Winther <mazewinther@gmail.com> | 2026-03-29 15:58:42 +0200 |
| commit | d862e56e34ad1a76836cc2716b473a61879f2205 (patch) | |
| tree | bf7279fe478810fca345567fbf6ed5fa1ffa8603 /apps/desktop/src | |
| parent | d08fbd73e1d1257d87ed21e85fb4dcfc33c094e1 (diff) | |
| download | opencut-d862e56e34ad1a76836cc2716b473a61879f2205.tar.gz | |
feat: init desktop app
Diffstat (limited to 'apps/desktop/src')
| -rw-r--r-- | apps/desktop/src/main.rs | 41 |
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); + }); +} |
