mirror of
https://github.com/Stremio/stremio-shell-ng.git
synced 2026-03-11 21:27:06 +00:00
Use layout for the splash image
This commit is contained in:
parent
9902c37aa2
commit
d9fbabbf62
2 changed files with 27 additions and 35 deletions
|
|
@ -311,9 +311,7 @@ impl MainWindow {
|
|||
data.set_min_size(WINDOW_MIN_WIDTH, WINDOW_MIN_HEIGHT);
|
||||
}
|
||||
fn on_paint(&self) {
|
||||
if self.splash_screen.visible() {
|
||||
self.splash_screen.resize(self.window.size());
|
||||
} else {
|
||||
if !self.splash_screen.visible() {
|
||||
self.webview.fit_to_window(self.window.handle.hwnd());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,32 +1,26 @@
|
|||
use native_windows_derive::NwgPartial;
|
||||
use native_windows_gui as nwg;
|
||||
use std::cmp;
|
||||
|
||||
#[derive(Default, NwgPartial)]
|
||||
pub struct SplashImage {
|
||||
#[nwg_resource]
|
||||
embed: nwg::EmbedResource,
|
||||
#[nwg_resource(size: Some((300,300)), source_embed: Some(&data.embed), source_embed_str: Some("SPLASHIMAGE"))]
|
||||
splash_image: nwg::Bitmap,
|
||||
#[nwg_control(background_color: Some(Self::BG_COLOR))]
|
||||
splash_frame: nwg::ImageFrame,
|
||||
#[nwg_control(parent: splash_frame, background_color: Some(Self::BG_COLOR), bitmap: Some(&data.splash_image))]
|
||||
splash: nwg::ImageFrame,
|
||||
}
|
||||
|
||||
impl SplashImage {
|
||||
const BG_COLOR: [u8; 3] = [27, 17, 38];
|
||||
pub fn resize(&self, size: (u32, u32)) {
|
||||
let (w, h) = size;
|
||||
let s = cmp::min(w, h);
|
||||
self.splash_frame.set_size(w, h);
|
||||
self.splash.set_size(s, s);
|
||||
self.splash.set_position(w as i32 / 2 - s as i32 / 2, 0);
|
||||
}
|
||||
pub fn visible(&self) -> bool {
|
||||
self.splash_frame.visible()
|
||||
}
|
||||
pub fn hide(&self) {
|
||||
self.splash_frame.set_visible(false);
|
||||
}
|
||||
}
|
||||
use crate::stremio_app::constants::{WINDOW_MIN_HEIGHT, WINDOW_MIN_WIDTH};
|
||||
use native_windows_derive::NwgPartial;
|
||||
use native_windows_gui as nwg;
|
||||
|
||||
#[derive(Default, NwgPartial)]
|
||||
pub struct SplashImage {
|
||||
#[nwg_resource]
|
||||
embed: nwg::EmbedResource,
|
||||
#[nwg_resource(size: Some((300,300)), source_embed: Some(&data.embed), source_embed_str: Some("SPLASHIMAGE"))]
|
||||
splash_image: nwg::Bitmap,
|
||||
#[nwg_layout(spacing: 0, min_size: [WINDOW_MIN_WIDTH as u32, WINDOW_MIN_HEIGHT as u32])]
|
||||
grid: nwg::GridLayout,
|
||||
#[nwg_control(background_color: Some(Self::BG_COLOR), bitmap: Some(&data.splash_image))]
|
||||
#[nwg_layout_item(layout: grid, col: 0, row: 0)]
|
||||
splash: nwg::ImageFrame,
|
||||
}
|
||||
|
||||
impl SplashImage {
|
||||
const BG_COLOR: [u8; 3] = [27, 17, 38];
|
||||
pub fn visible(&self) -> bool {
|
||||
self.splash.visible()
|
||||
}
|
||||
pub fn hide(&self) {
|
||||
self.splash.set_visible(false);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue