Compare commits
6 commits
bf6add5c67
...
891ad2587e
Author | SHA1 | Date | |
---|---|---|---|
![]() |
891ad2587e | ||
![]() |
d94572201a | ||
![]() |
9207df10ba | ||
![]() |
e7a160272d | ||
![]() |
7f66f33462 | ||
![]() |
049e5bd7cc |
5 changed files with 35 additions and 27 deletions
4
justfile
4
justfile
|
@ -6,13 +6,13 @@ default:
|
|||
build:
|
||||
RUST_LOG=debug cargo build
|
||||
run:
|
||||
RUST_LOG=debug cargo run --release -- {{ui}} {{file}}
|
||||
RUST_LOG=debug cargo run -- {{ui}} {{file}}
|
||||
clean:
|
||||
RUST_LOG=debug cargo clean
|
||||
test:
|
||||
RUST_LOG=debug cargo test --benches --tests --all-features -- --nocapture
|
||||
profile:
|
||||
cargo flamegraph --image-width 4000 -- {{ui}} {{file}}
|
||||
cargo flamegraph --image-width 8000 -- {{ui}} {{file}}
|
||||
|
||||
alias r := run
|
||||
alias c := clean
|
||||
|
|
40
src/main.rs
40
src/main.rs
|
@ -288,22 +288,6 @@ impl cosmic::Application for App {
|
|||
}
|
||||
|
||||
fn header_start(&self) -> Vec<Element<Self::Message>> {
|
||||
vec![]
|
||||
}
|
||||
fn header_center(&self) -> Vec<Element<Self::Message>> {
|
||||
vec![search_input("Search...", "")
|
||||
.on_input(|_| Message::None)
|
||||
.on_submit(|_| Message::None)
|
||||
.width(Length::Fill)
|
||||
.into()]
|
||||
}
|
||||
fn header_end(&self) -> Vec<Element<Self::Message>> {
|
||||
// let editor_toggle = toggler(self.editor_mode.is_some())
|
||||
// .label("Editor")
|
||||
// .spacing(10)
|
||||
// .width(Length::Shrink)
|
||||
// .on_toggle(Message::EditorToggle);
|
||||
|
||||
let presenter_window = self.windows.get(1);
|
||||
let text = if self.presentation_open {
|
||||
text::body("End Presentation")
|
||||
|
@ -370,6 +354,30 @@ impl cosmic::Application for App {
|
|||
)
|
||||
.into(),
|
||||
horizontal_space().width(HEADER_SPACE).into(),
|
||||
]
|
||||
}
|
||||
fn header_center(&self) -> Vec<Element<Self::Message>> {
|
||||
vec![search_input("Search...", "")
|
||||
.on_input(|_| Message::None)
|
||||
.on_submit(|_| Message::None)
|
||||
.width(300)
|
||||
.into()]
|
||||
}
|
||||
fn header_end(&self) -> Vec<Element<Self::Message>> {
|
||||
// let editor_toggle = toggler(self.editor_mode.is_some())
|
||||
// .label("Editor")
|
||||
// .spacing(10)
|
||||
// .width(Length::Shrink)
|
||||
// .on_toggle(Message::EditorToggle);
|
||||
|
||||
let presenter_window = self.windows.get(1);
|
||||
let text = if self.presentation_open {
|
||||
text::body("End Presentation")
|
||||
} else {
|
||||
text::body("Present")
|
||||
};
|
||||
|
||||
vec![
|
||||
tooltip(
|
||||
button::custom(
|
||||
row!(
|
||||
|
|
|
@ -4,6 +4,7 @@ use std::{fs::File, io::BufReader, path::PathBuf, sync::Arc};
|
|||
use cosmic::{
|
||||
iced::{
|
||||
alignment::Horizontal,
|
||||
border,
|
||||
font::{Family, Stretch, Style, Weight},
|
||||
Background, Border, Color, ContentFit, Font, Length, Shadow,
|
||||
Vector,
|
||||
|
@ -551,12 +552,11 @@ pub(crate) fn slide_view(
|
|||
// .text(&slide_text)
|
||||
// .fill("#fff")
|
||||
// .shadow(text_svg::shadow(2, 2, 5, "#000000"))
|
||||
// .stroke(text_svg::stroke(1, "#000"))
|
||||
// .stroke(text_svg::stroke(3, "#000"))
|
||||
// .font(font)
|
||||
// .view()
|
||||
// .map(|m| Message::None);
|
||||
|
||||
// let text = text!("{}", &slide_text);
|
||||
// text widget based
|
||||
let lines = slide_text.lines();
|
||||
let text: Vec<Element<Message>> = lines
|
||||
|
@ -566,14 +566,15 @@ pub(crate) fn slide_view(
|
|||
Background::Color(Color::BLACK)
|
||||
.scale_alpha(0.4),
|
||||
)
|
||||
.padding(1)])
|
||||
.border(border::rounded(10))
|
||||
.padding(10)])
|
||||
.size(font_size)
|
||||
.font(font)
|
||||
.center()
|
||||
.into()
|
||||
})
|
||||
.collect();
|
||||
let text = Column::with_children(text).spacing(6);
|
||||
let text = Column::with_children(text).spacing(26);
|
||||
|
||||
//Next
|
||||
let text_container = Container::new(text)
|
||||
|
|
|
@ -218,7 +218,7 @@ impl TextSvg {
|
|||
};
|
||||
let stroke = if let Some(stroke) = &self.stroke {
|
||||
format!(
|
||||
"stroke=\"{}\" stroke-width=\"{}\"",
|
||||
"stroke=\"{}\" stroke-width=\"{}px\" stroke-linejoin=\"arcs\" paint-order=\"stroke\"",
|
||||
stroke.color, stroke.size
|
||||
)
|
||||
} else {
|
||||
|
@ -249,17 +249,16 @@ impl TextSvg {
|
|||
self.fill, stroke, text);
|
||||
|
||||
// debug!(final_svg);
|
||||
lazy(self.clone(), move |_s| Svg::new(Handle::from_memory(
|
||||
Svg::new(Handle::from_memory(
|
||||
Box::leak(<std::string::String as Clone>::clone(&final_svg).into_boxed_str()).as_bytes(),
|
||||
))
|
||||
.width(Length::Fill)
|
||||
.height(Length::Fill))
|
||||
.height(Length::Fill)
|
||||
.into()
|
||||
})).width(Length::Fill).height(Length::Fill).into()
|
||||
}
|
||||
|
||||
fn text_spans(&self) -> Vec<String> {
|
||||
let total_lines = self.text.lines().count();
|
||||
self.text
|
||||
.lines()
|
||||
.enumerate()
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
(slide (video :source "~/vids/The Basics of Hanging Drywall.mkv" :fit contain))
|
||||
(slide (video :source "~/vids/Ladybird Is The Future Of Web Browsers.webm" :fit contain))
|
||||
(song :id 7 :author "North Point Worship"
|
||||
:font "Quicksand Bold" :font-size 30
|
||||
:font "Quicksand Bold" :font-size 60
|
||||
:shadow "" :stroke ""
|
||||
:title "Death Was Arrested"
|
||||
:background (image :source "file:///home/chris/nc/tfc/openlp/CMG - Bright Mountains 01.jpg" :fit cover)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue