From 44f02a37dab4484aa6cbfc858d7b444204ac6ad7 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Wed, 12 Mar 2025 18:00:21 +0100 Subject: [PATCH] calc tl br diff --- src/kds_s2000w_handler_opts_calc.c | 5 +++++ src/kds_s2000w_handler_opts_calc.h | 1 + tests/kds_s2000w_handler_opts_calc_tests.c | 11 +++++++++++ tests/kds_s2000w_handler_opts_calc_tests.h | 1 + tests/kds_s2000w_handler_opts_calc_tests_run.c | 3 ++- 5 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/kds_s2000w_handler_opts_calc.c b/src/kds_s2000w_handler_opts_calc.c index 40f4039..e03c294 100644 --- a/src/kds_s2000w_handler_opts_calc.c +++ b/src/kds_s2000w_handler_opts_calc.c @@ -15,4 +15,9 @@ int32_t kds_s2000w_handler_opts_calc_pixel_to_inch(int32_t dpi, int32_t pixel) int32_t kds_s2000w_handler_opts_calc_pixel_quant(int32_t dpi) { return dpi / INCH_RESOLUTION; +} + +int32_t kds_s2000w_handler_opts_calc_diff(int32_t max, int32_t tl, int32_t br) +{ + return max - tl - br; } \ No newline at end of file diff --git a/src/kds_s2000w_handler_opts_calc.h b/src/kds_s2000w_handler_opts_calc.h index 27f01f6..7c2d98a 100644 --- a/src/kds_s2000w_handler_opts_calc.h +++ b/src/kds_s2000w_handler_opts_calc.h @@ -5,5 +5,6 @@ int32_t kds_s2000w_handler_opts_calc_inch_to_pixel(int32_t dpi, int32_t inch); int32_t kds_s2000w_handler_opts_calc_pixel_to_inch(int32_t dpi, int32_t pixel); int32_t kds_s2000w_handler_opts_calc_pixel_quant(int32_t dpi); +int32_t kds_s2000w_handler_opts_calc_diff(int32_t max, int32_t tl, int32_t br); #endif \ No newline at end of file diff --git a/tests/kds_s2000w_handler_opts_calc_tests.c b/tests/kds_s2000w_handler_opts_calc_tests.c index d721c10..d9be939 100644 --- a/tests/kds_s2000w_handler_opts_calc_tests.c +++ b/tests/kds_s2000w_handler_opts_calc_tests.c @@ -47,4 +47,15 @@ void kds_s2000w_handler_opts_calc_pixel_quant_test() int32_t pixel_quant = kds_s2000w_handler_opts_calc_pixel_quant(dpi); assert_int_equal(pixel_quant, 20); +} + +void kds_s2000w_handler_opts_calc_diff_test() +{ + int32_t max = 7800; + int32_t tl_x = 10; + int32_t br_x = 10; + + int32_t width = kds_s2000w_handler_opts_calc_diff(max, tl_x, br_x); + + assert_int_equal(width, 7780); } \ No newline at end of file diff --git a/tests/kds_s2000w_handler_opts_calc_tests.h b/tests/kds_s2000w_handler_opts_calc_tests.h index 2276083..d4f9cf8 100644 --- a/tests/kds_s2000w_handler_opts_calc_tests.h +++ b/tests/kds_s2000w_handler_opts_calc_tests.h @@ -12,5 +12,6 @@ void kds_s2000w_handler_opts_calc_inch_to_pixel_max_x_value_test(); void kds_s2000w_handler_opts_calc_pixel_to_inch_test(); void kds_s2000w_handler_opts_calc_pixel_to_inch_max_x_value_test(); void kds_s2000w_handler_opts_calc_pixel_quant_test(); +void kds_s2000w_handler_opts_calc_diff_test(); #endif \ No newline at end of file diff --git a/tests/kds_s2000w_handler_opts_calc_tests_run.c b/tests/kds_s2000w_handler_opts_calc_tests_run.c index a1e8eef..a6fab27 100644 --- a/tests/kds_s2000w_handler_opts_calc_tests_run.c +++ b/tests/kds_s2000w_handler_opts_calc_tests_run.c @@ -7,7 +7,8 @@ int main() cmocka_unit_test(kds_s2000w_handler_opts_calc_inch_to_pixel_max_x_value_test), cmocka_unit_test(kds_s2000w_handler_opts_calc_pixel_to_inch_test), cmocka_unit_test(kds_s2000w_handler_opts_calc_pixel_to_inch_max_x_value_test), - cmocka_unit_test(kds_s2000w_handler_opts_calc_pixel_quant_test) + cmocka_unit_test(kds_s2000w_handler_opts_calc_pixel_quant_test), + cmocka_unit_test(kds_s2000w_handler_opts_calc_diff_test) }; return cmocka_run_group_tests(opts_calc_tests, NULL, NULL); -- 2.39.5