10#ifndef FDL_PIPELINE_INTERNAL_H
11#define FDL_PIPELINE_INTERNAL_H
15namespace fdl::detail {
Public C ABI for the FDL (Framing Decision List) core library.
uint32_t fdl_fit_method_t
Fit method — how source content is scaled into the target canvas.
Definition fdl_core.h:151
fdl_dimensions_f64_t dimensions_clamp_to_dims(fdl_dimensions_f64_t dims, fdl_dimensions_f64_t clamp_dims, fdl_point_f64_t *out_delta)
Clamp dimensions to maximum bounds.
Definition fdl_pipeline.cpp:84
double output_size_for_axis(double canvas_size, double max_size, bool has_max, bool pad_to_max)
Determine output canvas size for a single axis.
Definition fdl_pipeline.cpp:35
double alignment_shift(double fit_size, double fit_anchor, double output_size, double canvas_size, double target_size, bool is_center, double align_factor, bool pad_to_max)
Calculate content translation shift for a single axis.
Definition fdl_pipeline.cpp:46
double calculate_scale_factor(fdl_dimensions_f64_t fit_norm, fdl_dimensions_f64_t target_norm, fdl_fit_method_t fit_method)
Calculate scale factor based on fit method.
Definition fdl_pipeline.cpp:15
Floating-point dimensions (used during computation).
Definition fdl_core.h:94
2D point in floating-point coordinates.
Definition fdl_core.h:100