Skip to content

Commit f21ea6f

Browse files
committed
[*] refactor video editor
1 parent b22b688 commit f21ea6f

File tree

21 files changed

+290
-264
lines changed

21 files changed

+290
-264
lines changed

lib/video-editor/src/filters.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
pub mod audio;
2+
pub mod graph;
23
pub mod subtitle;
4+
pub mod text;
35
pub mod traits;
46
pub mod video;
57

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
pub mod draw_circle;
2+
pub mod draw_rectangle;
3+
4+
pub use draw_circle::*;
5+
pub use draw_rectangle::*;
6+
7+
pub fn all_filter_names() -> &'static [&'static str] {
8+
&[
9+
draw_circle::DrawCircleFilter::NAME,
10+
draw_rectangle::DrawRectangleFilter::NAME,
11+
]
12+
}

lib/video-editor/src/filters/video/draw_circle.rs renamed to lib/video-editor/src/filters/graph/draw_circle.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ pub struct DrawCircleFilter {
5858
}
5959

6060
impl DrawCircleFilter {
61-
pub const NAME: &'static str = "draw_circle";
61+
pub const NAME: &'static str = "draw circle";
6262

6363
pub fn new(center_x: f32, center_y: f32, radius: u32) -> Self {
6464
Self {

lib/video-editor/src/filters/video/draw_rectangle.rs renamed to lib/video-editor/src/filters/graph/draw_rectangle.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -299,8 +299,9 @@ impl DrawRectangleFilter {
299299
let aa_range = 1.5;
300300

301301
// 判断是在填充区还是边框区
302-
let in_fill = inner_w > 0.0 && inner_h > 0.0 &&
303-
Self::inside_rounded_rect(fx - bw, fy - bw, inner_w, inner_h, inner_r);
302+
let in_fill = inner_w > 0.0
303+
&& inner_h > 0.0
304+
&& Self::inside_rounded_rect(fx - bw, fy - bw, inner_w, inner_h, inner_r);
304305

305306
if in_fill {
306307
// 填充区:检查是否靠近内边界
@@ -460,7 +461,9 @@ impl DrawRectangleFilter {
460461
}
461462
} else {
462463
// Rounded rectangle with border support
463-
let fill_rgba = self.fill_color.map(|f| Rgba(apply_opacity(f)))
464+
let fill_rgba = self
465+
.fill_color
466+
.map(|f| Rgba(apply_opacity(f)))
464467
.unwrap_or(Rgba([0, 0, 0, 0]));
465468

466469
Self::draw_rounded_rectangle_with_border(

lib/video-editor/src/filters/text/font.rs

Whitespace-only changes.

lib/video-editor/src/filters/video.rs

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ pub mod color_balance;
44
pub mod contrast;
55
pub mod crop;
66
pub mod cross_dissolve;
7-
pub mod draw_circle;
8-
pub mod draw_rectangle;
97
pub mod fade_in;
108
pub mod fade_out;
119
pub mod flip;
@@ -28,8 +26,6 @@ pub use color_balance::ColorBalanceFilter;
2826
pub use contrast::ContrastFilter;
2927
pub use crop::CropFilter;
3028
pub use cross_dissolve::CrossDissolveFilter;
31-
pub use draw_circle::DrawCircleFilter;
32-
pub use draw_rectangle::DrawRectangleFilter;
3329
pub use fade_in::FadeInFilter;
3430
pub use fade_out::FadeOutFilter;
3531
pub use flip::{FlipDirection, FlipFilter};
@@ -48,29 +44,27 @@ pub use zoom_out::ZoomOutFilter;
4844

4945
pub fn all_filter_names() -> &'static [&'static str] {
5046
&[
47+
TransformFilter::NAME,
48+
WipeLeftToRightFilter::NAME,
49+
WipeTopToBottomFilter::NAME,
50+
SlideFromLeftFilter::NAME,
51+
SlideFromTopFilter::NAME,
52+
FlipFilter::NAME,
53+
MovingFilter::NAME,
54+
ZoomFilter::NAME,
55+
ZoomInFilter::NAME,
56+
ZoomOutFilter::NAME,
57+
FadeInFilter::NAME,
58+
FadeOutFilter::NAME,
5159
BrightnessFilter::NAME,
5260
ChromaKeyFilter::NAME,
5361
ColorBalanceFilter::NAME,
5462
ContrastFilter::NAME,
5563
CropFilter::NAME,
5664
CrossDissolveFilter::NAME,
57-
DrawCircleFilter::NAME,
58-
DrawRectangleFilter::NAME,
59-
FadeInFilter::NAME,
60-
FadeOutFilter::NAME,
61-
FlipFilter::NAME,
6265
GaussianBlurFilter::NAME,
63-
MovingFilter::NAME,
6466
SaturationFilter::NAME,
6567
SharpenFilter::NAME,
66-
SlideFromLeftFilter::NAME,
67-
SlideFromTopFilter::NAME,
68-
TransformFilter::NAME,
69-
WipeLeftToRightFilter::NAME,
70-
WipeTopToBottomFilter::NAME,
71-
ZoomFilter::NAME,
72-
ZoomInFilter::NAME,
73-
ZoomOutFilter::NAME,
7468
]
7569
}
7670

wayshot/src/logic/popup_action.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,14 @@ pub fn init(ui: &AppWindow) {
287287
let index = user_data.parse::<i32>().unwrap();
288288
global_ve_filter!(ui).invoke_down_filter(index);
289289
}
290+
"video-editor-move-to-top-filter" => {
291+
let index = user_data.parse::<i32>().unwrap();
292+
global_ve_filter!(ui).invoke_move_to_top_filter(index);
293+
}
294+
"video-editor-move-to-bottom-filter" => {
295+
let index = user_data.parse::<i32>().unwrap();
296+
global_ve_filter!(ui).invoke_move_to_bottom_filter(index);
297+
}
290298
"video-editor-remove-filter" => {
291299
let index = user_data.parse::<i32>().unwrap();
292300
global_ve_filter!(ui).invoke_remove_filter(index);

wayshot/src/logic/video_editor/conversion.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,17 @@ use video_editor::{
3030
FadeOutFilter as AudioFadeOutFilter, GainFilter, LimiterFilter, MuteLeftFilter,
3131
MuteRightFilter, NoiseGateFilter, NormalizeFilter,
3232
},
33+
graph::{DrawCircleFilter, DrawRectangleFilter},
3334
subtitle::style::{
3435
AlignmentFilter, BackgroundColorFilter, BorderRadiusFilter, FontPathFilter,
3536
FontSizeFilter, MarginHorizontalFilter, MarginVerticalFilter, OutlineColorFilter,
3637
OutlineWidthFilter, PaddingFilter, PrimaryColorFilter,
3738
},
3839
video::{
39-
BrightnessFilter, ChromaKeyFilter, ContrastFilter, CropFilter, DrawCircleFilter,
40-
DrawRectangleFilter, FlipFilter, GaussianBlurFilter, SaturationFilter, SharpenFilter,
41-
TransformFilter, ZoomFilter,
42-
},
43-
video::{
44-
ColorBalanceFilter, CrossDissolveFilter, FadeInFilter, FadeOutFilter, MovingFilter,
45-
SlideFromLeftFilter, SlideFromTopFilter, WipeLeftToRightFilter, WipeTopToBottomFilter,
40+
BrightnessFilter, ChromaKeyFilter, ColorBalanceFilter, ContrastFilter, CropFilter,
41+
CrossDissolveFilter, FadeInFilter, FadeOutFilter, FlipFilter, GaussianBlurFilter,
42+
MovingFilter, SaturationFilter, SharpenFilter, SlideFromLeftFilter, SlideFromTopFilter,
43+
TransformFilter, WipeLeftToRightFilter, WipeTopToBottomFilter, ZoomFilter,
4644
ZoomInFilter, ZoomOutFilter,
4745
},
4846
},

wayshot/src/logic/video_editor/filters.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
mod audio;
22
mod conversion;
33
pub mod filter;
4-
mod overlay;
54
mod subtitle;
65
mod video;
76

@@ -12,5 +11,4 @@ pub fn init(ui: &crate::slint_generatedAppWindow::AppWindow) {
1211
video::init(ui);
1312
audio::init(ui);
1413
subtitle::init(ui);
15-
overlay::init(ui);
1614
}

wayshot/src/logic/video_editor/filters/conversion.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,16 @@ use video_editor::filters::{
2323
CompressorFilter, FadeInFilter as AudioFadeInFilter, FadeOutFilter as AudioFadeOutFilter,
2424
GainFilter, LimiterFilter, NoiseGateFilter, NormalizeFilter,
2525
},
26+
graph::{DrawCircleFilter, DrawRectangleFilter},
2627
subtitle::style::{
2728
AlignmentFilter, BackgroundColorFilter, BorderRadiusFilter, FontPathFilter, FontSizeFilter,
2829
MarginHorizontalFilter, MarginVerticalFilter, OutlineColorFilter, OutlineWidthFilter,
2930
PaddingFilter, PrimaryColorFilter,
3031
},
3132
video::{
32-
ColorBalanceFilter, EasingFunction, MovingFilter,
33-
BrightnessFilter, ChromaKeyFilter, ContrastFilter, CropFilter, DrawCircleFilter,
34-
DrawRectangleFilter, FlipDirection, FlipFilter, GaussianBlurFilter, SaturationFilter,
35-
SharpenFilter, TransformFilter, ZoomFilter,
33+
BrightnessFilter, ChromaKeyFilter, ColorBalanceFilter, ContrastFilter, CropFilter,
34+
EasingFunction, FlipDirection, FlipFilter, GaussianBlurFilter, MovingFilter,
35+
SaturationFilter, SharpenFilter, TransformFilter, ZoomFilter,
3636
},
3737
};
3838

0 commit comments

Comments
 (0)