From 9daf04f14e50f4e10183e2e77a85c7c037ea4757 Mon Sep 17 00:00:00 2001 From: Jonathan Thomas Date: Sun, 26 Mar 2023 23:22:12 -0500 Subject: [PATCH] Take 2: Adjust caption scaling logic, to keep different resolution projects from having dramatically different font sizes. More debug code for Windows. --- src/effects/Caption.cpp | 6 ++---- tests/Caption.cpp | 26 +++++++++++++------------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/src/effects/Caption.cpp b/src/effects/Caption.cpp index c5182762..65e8c8db 100644 --- a/src/effects/Caption.cpp +++ b/src/effects/Caption.cpp @@ -110,9 +110,6 @@ std::shared_ptr Caption::GetFrame(std::shared_ptrdevicePixelRatio(); - // Get the Clip and Timeline pointers (if available) Clip* clip = (Clip*) ParentClip(); Timeline* timeline = NULL; @@ -146,10 +143,11 @@ std::shared_ptr Caption::GetFrame(std::shared_ptrdevicePixelRatio(); QFont font(QString(font_name.c_str()), int(font_size_value)); font.setPointSizeF(std::max(font_size_value, 1.0)); QFontMetricsF metrics = QFontMetricsF(font); + std::cout << "font_size_value: " << font_size_value << std::endl; // Get current keyframe values double left_value = left.GetValue(frame_number); diff --git a/tests/Caption.cpp b/tests/Caption.cpp index 04396213..be41007a 100644 --- a/tests/Caption.cpp +++ b/tests/Caption.cpp @@ -52,7 +52,7 @@ TEST_CASE( "caption effect", "[libopenshot][caption]" ) CHECK(c1.background_alpha.GetValue(1) == Approx(0.0f).margin(0.00001)); CHECK(c1.left.GetValue(1) == Approx(0.10f).margin(0.00001)); CHECK(c1.right.GetValue(1) == Approx(0.10f).margin(0.00001)); - CHECK(c1.top.GetValue(1) == Approx(0.70).margin(0.00001)); + CHECK(c1.top.GetValue(1) == Approx(0.72).margin(0.00001)); CHECK(c1.stroke_width.GetValue(1) == Approx(0.5f).margin(0.00001)); CHECK(c1.font_size.GetValue(1) == Approx(20.0f).margin(0.00001)); CHECK(c1.font_alpha.GetValue(1) == Approx(1.0f).margin(0.00001)); @@ -80,11 +80,11 @@ TEST_CASE( "caption effect", "[libopenshot][caption]" ) #ifdef _WIN32 // Windows pixel location check_col = 300; - check_row = 528; + check_row = 544; #else // Linux/Mac pixel location - check_col = 213; - check_row = 528; + check_col = 214; + check_row = 544; #endif // Verify pixel values (black background pixels) @@ -106,11 +106,11 @@ TEST_CASE( "caption effect", "[libopenshot][caption]" ) #ifdef _WIN32 // Windows pixel location check_col = 300; - check_row = 528; + check_row = 544; #else // Linux/Mac pixel location check_col = 214; - check_row = 528; + check_row = 544; #endif // Verify pixel values (black background pixels) @@ -146,11 +146,11 @@ TEST_CASE( "caption effect", "[libopenshot][caption]" ) #ifdef _WIN32 // Windows pixel location check_col = 146; - check_row = 361; + check_row = 360; #else // Linux/Mac pixel location - check_col = 92; - check_row = 361; + check_col = 118; + check_row = 360; #endif // Verify pixel values (black background pixels) @@ -175,7 +175,7 @@ TEST_CASE( "caption effect", "[libopenshot][caption]" ) check_row = 360; #else // Linux/Mac pixel location - check_col = 93; + check_col = 119; check_row = 360; #endif @@ -213,11 +213,11 @@ TEST_CASE( "caption effect", "[libopenshot][caption]" ) #ifdef _WIN32 // Windows pixel location check_col = 325; - check_row = 527; + check_row = 542; #else // Linux/Mac pixel location - check_col = 292; - check_row = 527; + check_col = 291; + check_row = 542; #endif // Verify pixel values (black background pixels)