FDL Core Library
ASC Framing Decision List — C/C++ Reference Implementation
Loading...
Searching...
No Matches
Functions
fdl_framing.h File Reference

Internal implementation of framing-from-intent computation. More...

#include "fdl/fdl_core.h"

Go to the source code of this file.

Functions

fdl_from_intent_result_t fdl::detail::compute_framing_from_intent (fdl_dimensions_f64_t canvas_dims, fdl_dimensions_f64_t working_dims, double squeeze, fdl_dimensions_i64_t aspect_ratio, double protection, fdl_round_strategy_t rounding)
 Compute a framing decision from a framing intent.
 

Detailed Description

Internal implementation of framing-from-intent computation.

Fits a framing intent's aspect ratio within working dimensions, centers within canvas, and optionally computes a protection area.

Function Documentation

◆ compute_framing_from_intent()

fdl_from_intent_result_t fdl::detail::compute_framing_from_intent ( fdl_dimensions_f64_t  canvas_dims,
fdl_dimensions_f64_t  working_dims,
double  squeeze,
fdl_dimensions_i64_t  aspect_ratio,
double  protection,
fdl_round_strategy_t  rounding 
)

Compute a framing decision from a framing intent.

Returns a zeroed result if aspect_ratio.height or working_dims.height is zero (guards against division by zero).

Parameters
canvas_dimsFull canvas dimensions (for anchor centering).
working_dimsEffective dimensions if available, else canvas dims.
squeezeAnamorphic squeeze factor.
aspect_ratioTarget aspect ratio as integer width:height (height must be > 0).
protectionProtection factor (0.0 for no protection).
roundingRounding strategy.
Returns
Computed framing dimensions, anchors, and optional protection.