|
FDL Core Library
ASC Framing Decision List — C/C++ Reference Implementation
|
Public C ABI for the FDL (Framing Decision List) core library. More...
#include "fdl_export.h"#include <stddef.h>#include <stdint.h>Go to the source code of this file.
Data Structures | |
| struct | fdl_abi_version_t |
| ABI version triple for runtime compatibility checks. More... | |
| struct | fdl_dimensions_i64_t |
| Canvas dimensions in integer pixels. More... | |
| struct | fdl_dimensions_f64_t |
| Floating-point dimensions (used during computation). More... | |
| struct | fdl_point_f64_t |
| 2D point in floating-point coordinates. More... | |
| struct | fdl_rect_t |
| Axis-aligned rectangle (x, y origin + width, height). More... | |
| struct | fdl_geometry_t |
| Geometry container for FDL template transformation processing. More... | |
| struct | fdl_round_strategy_t |
| Rounding strategy combining even-snap and direction mode. More... | |
| struct | fdl_from_intent_result_t |
| Result of computing a framing decision from a framing intent. More... | |
| struct | fdl_parse_result_t |
| Result of parsing JSON into an FDL document. More... | |
| struct | fdl_template_result_t |
| Result of applying a canvas template. More... | |
| struct | fdl_resolve_canvas_result_t |
| Result of resolving a canvas for given input dimensions. More... | |
Macros | |
| #define | FDL_TRUE 1 |
Boolean constants for C ABI int fields and return values. | |
| #define | FDL_FALSE 0 |
| Boolean false. | |
| #define | FDL_DEFAULT_JSON_INDENT 2 |
| Default JSON serialization indent. | |
| #define | FDL_CUSTOM_ATTR_TYPE_NONE 0 |
| Attribute not found. | |
| #define | FDL_CUSTOM_ATTR_TYPE_STRING 1 |
| String attribute. | |
| #define | FDL_CUSTOM_ATTR_TYPE_INT 2 |
| Integer attribute. | |
| #define | FDL_CUSTOM_ATTR_TYPE_FLOAT 3 |
| Floating-point attribute. | |
| #define | FDL_CUSTOM_ATTR_TYPE_BOOL 4 |
| Boolean attribute. | |
| #define | FDL_CUSTOM_ATTR_TYPE_POINT_F64 5 |
| Point (x, y) attribute. | |
| #define | FDL_CUSTOM_ATTR_TYPE_DIMS_F64 6 |
| Dimensions (width, height) float attribute. | |
| #define | FDL_CUSTOM_ATTR_TYPE_DIMS_I64 7 |
| Dimensions (width, height) integer attribute. | |
| #define | FDL_CUSTOM_ATTR_TYPE_OTHER 8 |
| Unsupported JSON type. | |
| #define | FDL_ATTR_SCALE_FACTOR "scale_factor" |
| Custom attribute name for the template scale factor (float). | |
| #define | FDL_ATTR_CONTENT_TRANSLATION "content_translation" |
| Custom attribute name for the template content translation (point_f64). | |
| #define | FDL_ATTR_SCALED_BOUNDING_BOX "scaled_bounding_box" |
| Custom attribute name for the template scaled bounding box (dims_f64). | |
| #define | FDL_ROUNDING_MODE_UP 0 |
| Always round up (ceiling). | |
| #define | FDL_ROUNDING_MODE_DOWN 1 |
| Always round down (floor). | |
| #define | FDL_ROUNDING_MODE_ROUND 2 |
| Round to nearest (half-to-even). | |
| #define | FDL_ROUNDING_EVEN_WHOLE 0 |
| No even constraint (round to nearest integer). | |
| #define | FDL_ROUNDING_EVEN_EVEN 1 |
| Snap to nearest even integer after rounding. | |
| #define | FDL_GEOMETRY_PATH_CANVAS_DIMENSIONS 0 |
| Full canvas dimensions. | |
| #define | FDL_GEOMETRY_PATH_CANVAS_EFFECTIVE_DIMENSIONS 1 |
| Effective (active image) dimensions. | |
| #define | FDL_GEOMETRY_PATH_FRAMING_PROTECTION_DIMENSIONS 2 |
| Protection area dimensions. | |
| #define | FDL_GEOMETRY_PATH_FRAMING_DIMENSIONS 3 |
| Framing decision dimensions. | |
| #define | FDL_FIT_METHOD_WIDTH 0 |
| Scale to match target width. | |
| #define | FDL_FIT_METHOD_HEIGHT 1 |
| Scale to match target height. | |
| #define | FDL_FIT_METHOD_FIT_ALL 2 |
| Scale to fit entirely within target (letterbox/pillarbox). | |
| #define | FDL_FIT_METHOD_FILL 3 |
| Scale to fill target completely (may crop). | |
| #define | FDL_HALIGN_LEFT 0 |
| Align to left edge. | |
| #define | FDL_HALIGN_CENTER 1 |
| Center horizontally. | |
| #define | FDL_HALIGN_RIGHT 2 |
| Align to right edge. | |
| #define | FDL_VALIGN_TOP 0 |
| Align to top edge. | |
| #define | FDL_VALIGN_CENTER 1 |
| Center vertically. | |
| #define | FDL_VALIGN_BOTTOM 2 |
| Align to bottom edge. | |
| #define | FDL_CUSTOM_ATTR_DECL(PREFIX, HANDLE_TYPE) |
| Macro to declare all 19 custom attribute functions for a handle type. | |
Typedefs | |
| typedef uint32_t | fdl_custom_attr_type_t |
| Type identifier for custom attributes. | |
| typedef struct fdl_abi_version_t | fdl_abi_version_t |
| ABI version triple for runtime compatibility checks. | |
| typedef struct fdl_dimensions_i64_t | fdl_dimensions_i64_t |
| Canvas dimensions in integer pixels. | |
| typedef struct fdl_dimensions_f64_t | fdl_dimensions_f64_t |
| Floating-point dimensions (used during computation). | |
| typedef struct fdl_point_f64_t | fdl_point_f64_t |
| 2D point in floating-point coordinates. | |
| typedef struct fdl_rect_t | fdl_rect_t |
| Axis-aligned rectangle (x, y origin + width, height). | |
| typedef uint64_t | fdl_rounding_mode_t |
| Rounding mode — direction to round fractional pixel values. | |
| typedef uint64_t | fdl_rounding_even_t |
| Rounding even — whether to snap results to even numbers. | |
| typedef uint32_t | fdl_geometry_path_t |
| Geometry path — selects a dimension layer within the FDL hierarchy. | |
| typedef uint32_t | fdl_fit_method_t |
| Fit method — how source content is scaled into the target canvas. | |
| typedef uint32_t | fdl_halign_t |
| Horizontal alignment — how content is positioned horizontally. | |
| typedef uint32_t | fdl_valign_t |
| Vertical alignment — how content is positioned vertically. | |
| typedef struct fdl_geometry_t | fdl_geometry_t |
| Geometry container for FDL template transformation processing. | |
| typedef struct fdl_round_strategy_t | fdl_round_strategy_t |
| Rounding strategy combining even-snap and direction mode. | |
| typedef struct fdl_from_intent_result_t | fdl_from_intent_result_t |
| Result of computing a framing decision from a framing intent. | |
| typedef struct fdl_doc | fdl_doc_t |
| | |
| typedef struct fdl_context | fdl_context_t |
| Opaque handles to FDL sub-objects (index-based, stable across mutations). | |
| typedef struct fdl_canvas | fdl_canvas_t |
| Opaque handle to a canvas. | |
| typedef struct fdl_framing_decision | fdl_framing_decision_t |
| Opaque handle to a framing decision. | |
| typedef struct fdl_framing_intent | fdl_framing_intent_t |
| Opaque handle to a framing intent. | |
| typedef struct fdl_canvas_template | fdl_canvas_template_t |
| Opaque handle to a canvas template. | |
| typedef struct fdl_clip_id | fdl_clip_id_t |
| Opaque handle to a clip ID. | |
| typedef struct fdl_file_sequence | fdl_file_sequence_t |
| Opaque handle to a file sequence. | |
| typedef struct fdl_parse_result_t | fdl_parse_result_t |
| Result of parsing JSON into an FDL document. | |
| typedef struct fdl_template_result_t | fdl_template_result_t |
| Result of applying a canvas template. | |
| typedef struct fdl_resolve_canvas_result_t | fdl_resolve_canvas_result_t |
| Result of resolving a canvas for given input dimensions. | |
| typedef struct fdl_validation_result | fdl_validation_result_t |
| Opaque handle to a validation result. | |
Functions | |
| fdl_abi_version_t | fdl_abi_version (void) |
| Return the ABI version of the loaded library. | |
| int64_t | fdl_round (double value, fdl_rounding_even_t even, fdl_rounding_mode_t mode) |
| Round a single value according to FDL rounding rules. | |
| fdl_dimensions_f64_t | fdl_round_dimensions (fdl_dimensions_f64_t dims, fdl_rounding_even_t even, fdl_rounding_mode_t mode) |
| Round dimensions according to FDL rounding rules. | |
| fdl_point_f64_t | fdl_round_point (fdl_point_f64_t point, fdl_rounding_even_t even, fdl_rounding_mode_t mode) |
| Round a point according to FDL rounding rules. | |
| fdl_dimensions_f64_t | fdl_dimensions_normalize (fdl_dimensions_f64_t dims, double squeeze) |
| Normalize dimensions by applying anamorphic squeeze to width. | |
| fdl_dimensions_f64_t | fdl_dimensions_scale (fdl_dimensions_f64_t dims, double scale_factor, double target_squeeze) |
| Scale normalized dimensions and apply target squeeze. | |
| fdl_dimensions_f64_t | fdl_dimensions_normalize_and_scale (fdl_dimensions_f64_t dims, double input_squeeze, double scale_factor, double target_squeeze) |
| Normalize and scale in one step. | |
| fdl_dimensions_f64_t | fdl_dimensions_sub (fdl_dimensions_f64_t a, fdl_dimensions_f64_t b) |
| Subtract two dimensions: result = a - b. | |
| int | fdl_dimensions_equal (fdl_dimensions_f64_t a, fdl_dimensions_f64_t b) |
| Check if dimensions are approximately equal within FDL tolerance. | |
| int | fdl_dimensions_f64_gt (fdl_dimensions_f64_t a, fdl_dimensions_f64_t b) |
| Check if a > b using OR logic (either width or height is greater). | |
| int | fdl_dimensions_f64_lt (fdl_dimensions_f64_t a, fdl_dimensions_f64_t b) |
| Check if a < b using OR logic (either width or height is less). | |
| int | fdl_dimensions_is_zero (fdl_dimensions_f64_t dims) |
| Check if both width and height are zero. | |
| int | fdl_dimensions_i64_is_zero (fdl_dimensions_i64_t dims) |
| Check if both width and height are zero (int64 variant). | |
| fdl_dimensions_f64_t | fdl_dimensions_i64_normalize (fdl_dimensions_i64_t dims, double squeeze) |
| Normalize int64 dimensions by applying anamorphic squeeze to width. | |
| fdl_dimensions_i64_t | fdl_dimensions_f64_to_i64 (fdl_dimensions_f64_t dims) |
| Convert float dimensions to int64 by truncation. | |
| int | fdl_dimensions_i64_gt (fdl_dimensions_i64_t a, fdl_dimensions_i64_t b) |
| Check if a > b using OR logic (either width or height is greater). | |
| int | fdl_dimensions_i64_lt (fdl_dimensions_i64_t a, fdl_dimensions_i64_t b) |
| Check if a < b using OR logic (either width or height is less). | |
| fdl_point_f64_t | fdl_point_normalize (fdl_point_f64_t point, double squeeze) |
| Normalize a point by applying anamorphic squeeze to x. | |
| fdl_point_f64_t | fdl_point_scale (fdl_point_f64_t point, double scale_factor, double target_squeeze) |
| Scale a normalized point and apply target squeeze. | |
| fdl_point_f64_t | fdl_point_add (fdl_point_f64_t a, fdl_point_f64_t b) |
| Add two points: result = a + b. | |
| fdl_point_f64_t | fdl_point_sub (fdl_point_f64_t a, fdl_point_f64_t b) |
| Subtract two points: result = a - b. | |
| fdl_point_f64_t | fdl_point_mul_scalar (fdl_point_f64_t a, double scalar) |
| Multiply point by scalar. | |
| fdl_point_f64_t | fdl_point_clamp (fdl_point_f64_t point, double min_val, double max_val, int has_min, int has_max) |
| Clamp point values to [min_val, max_val]. | |
| int | fdl_point_is_zero (fdl_point_f64_t point) |
| Check if both x and y are zero. | |
| fdl_point_f64_t | fdl_point_normalize_and_scale (fdl_point_f64_t point, double input_squeeze, double scale_factor, double target_squeeze) |
| Normalize and scale a point in one step. | |
| int | fdl_point_equal (fdl_point_f64_t a, fdl_point_f64_t b) |
| Check approximate equality within FDL tolerances. | |
| int | fdl_point_f64_lt (fdl_point_f64_t a, fdl_point_f64_t b) |
| Check if a < b using OR logic (either x or y is less). | |
| int | fdl_point_f64_gt (fdl_point_f64_t a, fdl_point_f64_t b) |
| Check if a > b using OR logic (either x or y is greater). | |
| double | fdl_fp_rel_tol (void) |
| Relative tolerance for floating-point comparison. | |
| double | fdl_fp_abs_tol (void) |
| Absolute tolerance for floating-point comparison. | |
| fdl_geometry_t | fdl_geometry_fill_hierarchy_gaps (fdl_geometry_t geo, fdl_point_f64_t anchor_offset) |
| Fill gaps in the geometry hierarchy by propagating populated dimensions upward. | |
| fdl_geometry_t | fdl_geometry_normalize_and_scale (fdl_geometry_t geo, double source_squeeze, double scale_factor, double target_squeeze) |
| Normalize and scale all 7 fields of the geometry. | |
| fdl_geometry_t | fdl_geometry_round (fdl_geometry_t geo, fdl_round_strategy_t strategy) |
| Round all 7 fields of the geometry. | |
| fdl_geometry_t | fdl_geometry_apply_offset (fdl_geometry_t geo, fdl_point_f64_t offset, fdl_point_f64_t *theo_eff, fdl_point_f64_t *theo_prot, fdl_point_f64_t *theo_fram) |
| Apply offset to all anchors, clamping to canvas bounds. | |
| fdl_geometry_t | fdl_geometry_crop (fdl_geometry_t geo, fdl_point_f64_t theo_eff, fdl_point_f64_t theo_prot, fdl_point_f64_t theo_fram) |
| Crop all dimensions to visible portion within canvas. | |
| int | fdl_geometry_get_dims_anchor_from_path (const fdl_geometry_t *geo, fdl_geometry_path_t path, fdl_dimensions_f64_t *out_dims, fdl_point_f64_t *out_anchor) |
| Extract dimensions and anchor from geometry by path. | |
| double | fdl_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. | |
| double | fdl_output_size_for_axis (double canvas_size, double max_size, int has_max, int pad_to_max) |
| Determine output canvas size for a single axis. | |
| double | fdl_alignment_shift (double fit_size, double fit_anchor, double output_size, double canvas_size, double target_size, int is_center, double align_factor, int pad_to_max) |
| Calculate content translation shift for a single axis. | |
| fdl_dimensions_f64_t | fdl_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. | |
| fdl_from_intent_result_t | fdl_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. | |
| fdl_doc_t * | fdl_doc_create (void) |
| Create an empty FDL document. | |
| void | fdl_doc_free (fdl_doc_t *doc) |
| Free an FDL document and all associated handles. | |
| fdl_parse_result_t | fdl_doc_parse_json (const char *json_str, size_t json_len) |
| Parse a JSON string into an FDL document. | |
| const char * | fdl_doc_get_uuid (const fdl_doc_t *doc) |
| Get the UUID from a parsed FDL document. | |
| const char * | fdl_doc_get_fdl_creator (const fdl_doc_t *doc) |
| Get the fdl_creator from a parsed FDL document. | |
| const char * | fdl_doc_get_default_framing_intent (const fdl_doc_t *doc) |
| Get the default_framing_intent from a parsed FDL document. | |
| int | fdl_doc_get_version_major (const fdl_doc_t *doc) |
| Get the FDL version major number. | |
| int | fdl_doc_get_version_minor (const fdl_doc_t *doc) |
| Get the FDL version minor number. | |
| char * | fdl_doc_to_json (const fdl_doc_t *doc, int indent) |
| Serialize document to canonical JSON string. | |
| char * | fdl_context_to_json (const fdl_context_t *ctx, int indent) |
| Serialize a context sub-object to canonical JSON. | |
| char * | fdl_canvas_to_json (const fdl_canvas_t *canvas, int indent) |
| Serialize a canvas sub-object to canonical JSON. | |
| char * | fdl_framing_decision_to_json (const fdl_framing_decision_t *fd, int indent) |
| Serialize a framing decision to canonical JSON. | |
| char * | fdl_framing_intent_to_json (const fdl_framing_intent_t *fi, int indent) |
| Serialize a framing intent to canonical JSON. | |
| char * | fdl_canvas_template_to_json (const fdl_canvas_template_t *ct, int indent) |
| Serialize a canvas template to canonical JSON. | |
| const char * | fdl_context_get_label (const fdl_context_t *ctx) |
| Get the label of a context. | |
| const char * | fdl_context_get_context_creator (const fdl_context_t *ctx) |
| Get the context_creator of a context. | |
| int | fdl_context_has_clip_id (const fdl_context_t *ctx) |
| Check if a context has a clip_id. | |
| const char * | fdl_context_get_clip_id (const fdl_context_t *ctx) |
| Get clip_id as a JSON string. | |
| fdl_clip_id_t * | fdl_context_clip_id (fdl_context_t *ctx) |
| Get the clip_id handle from a context. | |
| const char * | fdl_clip_id_get_clip_name (const fdl_clip_id_t *cid) |
| Get the clip_name from a clip_id. | |
| int | fdl_clip_id_has_file (const fdl_clip_id_t *cid) |
| Check if a clip_id has a file path. | |
| const char * | fdl_clip_id_get_file (const fdl_clip_id_t *cid) |
| Get the file path from a clip_id. | |
| int | fdl_clip_id_has_sequence (const fdl_clip_id_t *cid) |
| Check if a clip_id has a file sequence. | |
| fdl_file_sequence_t * | fdl_clip_id_sequence (fdl_clip_id_t *cid) |
| Get the file sequence handle from a clip_id. | |
| char * | fdl_clip_id_to_json (const fdl_clip_id_t *cid, int indent) |
| Serialize a clip_id to canonical JSON. | |
| const char * | fdl_file_sequence_get_value (const fdl_file_sequence_t *seq) |
| Get the sequence pattern value string. | |
| const char * | fdl_file_sequence_get_idx (const fdl_file_sequence_t *seq) |
| Get the index variable name. | |
| int64_t | fdl_file_sequence_get_min (const fdl_file_sequence_t *seq) |
| Get the minimum (first) frame number. | |
| int64_t | fdl_file_sequence_get_max (const fdl_file_sequence_t *seq) |
| Get the maximum (last) frame number. | |
| const char * | fdl_canvas_get_label (const fdl_canvas_t *canvas) |
| Get the label of a canvas. | |
| const char * | fdl_canvas_get_id (const fdl_canvas_t *canvas) |
| Get the ID of a canvas. | |
| const char * | fdl_canvas_get_source_canvas_id (const fdl_canvas_t *canvas) |
| Get the source_canvas_id of a canvas (the canvas this was derived from). | |
| fdl_dimensions_i64_t | fdl_canvas_get_dimensions (const fdl_canvas_t *canvas) |
| Get the canvas dimensions in pixels. | |
| int | fdl_canvas_has_effective_dimensions (const fdl_canvas_t *canvas) |
| Check if the canvas has effective dimensions set. | |
| fdl_dimensions_i64_t | fdl_canvas_get_effective_dimensions (const fdl_canvas_t *canvas) |
| Get effective (active image area) dimensions. | |
| fdl_point_f64_t | fdl_canvas_get_effective_anchor_point (const fdl_canvas_t *canvas) |
| Get the effective anchor point (offset from canvas origin). | |
| double | fdl_canvas_get_anamorphic_squeeze (const fdl_canvas_t *canvas) |
| Get the anamorphic squeeze factor. | |
| int | fdl_canvas_has_photosite_dimensions (const fdl_canvas_t *canvas) |
| Check if the canvas has photosite dimensions set. | |
| fdl_dimensions_i64_t | fdl_canvas_get_photosite_dimensions (const fdl_canvas_t *canvas) |
| Get photosite (sensor) dimensions. | |
| int | fdl_canvas_has_physical_dimensions (const fdl_canvas_t *canvas) |
| Check if the canvas has physical dimensions set. | |
| fdl_dimensions_f64_t | fdl_canvas_get_physical_dimensions (const fdl_canvas_t *canvas) |
| Get physical dimensions (e.g. | |
| const char * | fdl_framing_decision_get_label (const fdl_framing_decision_t *fd) |
| Get the label of a framing decision. | |
| const char * | fdl_framing_decision_get_id (const fdl_framing_decision_t *fd) |
| Get the ID of a framing decision. | |
| const char * | fdl_framing_decision_get_framing_intent_id (const fdl_framing_decision_t *fd) |
| Get the framing_intent_id that this framing decision references. | |
| fdl_dimensions_f64_t | fdl_framing_decision_get_dimensions (const fdl_framing_decision_t *fd) |
| Get the framing decision dimensions (floating-point sub-pixel). | |
| fdl_point_f64_t | fdl_framing_decision_get_anchor_point (const fdl_framing_decision_t *fd) |
| Get the anchor point of a framing decision. | |
| int | fdl_framing_decision_has_protection (const fdl_framing_decision_t *fd) |
| Check if a framing decision has protection area set. | |
| fdl_dimensions_f64_t | fdl_framing_decision_get_protection_dimensions (const fdl_framing_decision_t *fd) |
| Get the protection area dimensions. | |
| fdl_point_f64_t | fdl_framing_decision_get_protection_anchor_point (const fdl_framing_decision_t *fd) |
| Get the protection anchor point. | |
| const char * | fdl_framing_intent_get_label (const fdl_framing_intent_t *fi) |
| Get the label of a framing intent. | |
| const char * | fdl_framing_intent_get_id (const fdl_framing_intent_t *fi) |
| Get the ID of a framing intent. | |
| fdl_dimensions_i64_t | fdl_framing_intent_get_aspect_ratio (const fdl_framing_intent_t *fi) |
| Get the target aspect ratio of a framing intent. | |
| double | fdl_framing_intent_get_protection (const fdl_framing_intent_t *fi) |
| Get the protection factor of a framing intent. | |
| const char * | fdl_canvas_template_get_label (const fdl_canvas_template_t *ct) |
| Get the label of a canvas template. | |
| const char * | fdl_canvas_template_get_id (const fdl_canvas_template_t *ct) |
| Get the ID of a canvas template. | |
| fdl_dimensions_i64_t | fdl_canvas_template_get_target_dimensions (const fdl_canvas_template_t *ct) |
| Get the target dimensions of a canvas template. | |
| double | fdl_canvas_template_get_target_anamorphic_squeeze (const fdl_canvas_template_t *ct) |
| Get the target anamorphic squeeze factor. | |
| fdl_geometry_path_t | fdl_canvas_template_get_fit_source (const fdl_canvas_template_t *ct) |
| Get the fit source — which dimension layer to scale from. | |
| fdl_fit_method_t | fdl_canvas_template_get_fit_method (const fdl_canvas_template_t *ct) |
| Get the fit method — how source is scaled into target. | |
| fdl_halign_t | fdl_canvas_template_get_alignment_method_horizontal (const fdl_canvas_template_t *ct) |
| Get the horizontal alignment method. | |
| fdl_valign_t | fdl_canvas_template_get_alignment_method_vertical (const fdl_canvas_template_t *ct) |
| Get the vertical alignment method. | |
| int | fdl_canvas_template_has_preserve_from_source_canvas (const fdl_canvas_template_t *ct) |
| Check if preserve_from_source_canvas is set. | |
| fdl_geometry_path_t | fdl_canvas_template_get_preserve_from_source_canvas (const fdl_canvas_template_t *ct) |
| Get the preserve_from_source_canvas geometry path. | |
| int | fdl_canvas_template_has_maximum_dimensions (const fdl_canvas_template_t *ct) |
| Check if maximum_dimensions constraint is set. | |
| fdl_dimensions_i64_t | fdl_canvas_template_get_maximum_dimensions (const fdl_canvas_template_t *ct) |
| Get the maximum_dimensions constraint. | |
| int | fdl_canvas_template_get_pad_to_maximum (const fdl_canvas_template_t *ct) |
| Get the pad_to_maximum flag. | |
| fdl_round_strategy_t | fdl_canvas_template_get_round (const fdl_canvas_template_t *ct) |
| Get the rounding strategy. | |
| int | fdl_resolve_geometry_layer (const fdl_canvas_t *canvas, const fdl_framing_decision_t *framing, fdl_geometry_path_t path, fdl_dimensions_f64_t *out_dims, fdl_point_f64_t *out_anchor) |
| Resolve dimensions and anchor directly from canvas/framing handles for a path. | |
| fdl_rect_t | fdl_make_rect (double x, double y, double width, double height) |
| Construct a rect from raw coordinates. | |
| fdl_rect_t | fdl_canvas_get_rect (const fdl_canvas_t *canvas) |
| Get the full canvas rect: (0, 0, dims.width, dims.height). | |
| int | fdl_canvas_get_effective_rect (const fdl_canvas_t *canvas, fdl_rect_t *out_rect) |
| Get the effective (active image) rect of a canvas. | |
| fdl_rect_t | fdl_framing_decision_get_rect (const fdl_framing_decision_t *fd) |
| Get the framing decision rect: (anchor.x, anchor.y, dims.width, dims.height). | |
| int | fdl_framing_decision_get_protection_rect (const fdl_framing_decision_t *fd, fdl_rect_t *out_rect) |
| Get the framing decision protection rect. | |
| fdl_template_result_t | fdl_apply_canvas_template (const fdl_canvas_template_t *tmpl, const fdl_canvas_t *source_canvas, const fdl_framing_decision_t *source_framing, const char *new_canvas_id, const char *new_fd_name, const char *source_context_label, const char *context_creator) |
| Apply a canvas template to a source canvas/framing. | |
| void | fdl_template_result_free (fdl_template_result_t *result) |
| Free a template result (doc + all allocated strings). | |
| fdl_resolve_canvas_result_t | fdl_context_resolve_canvas_for_dimensions (fdl_context_t *ctx, fdl_dimensions_f64_t input_dims, fdl_canvas_t *canvas, fdl_framing_decision_t *framing) |
| Resolve canvas for given input dimensions. | |
| fdl_doc_t * | fdl_doc_create_with_header (const char *uuid, int version_major, int version_minor, const char *fdl_creator, const char *default_framing_intent) |
| Create a new FDL document with header fields and empty collections. | |
| void | fdl_doc_set_uuid (fdl_doc_t *doc, const char *uuid) |
| Set the UUID on a document. | |
| void | fdl_doc_set_fdl_creator (fdl_doc_t *doc, const char *creator) |
| Set the fdl_creator on a document. | |
| void | fdl_doc_set_default_framing_intent (fdl_doc_t *doc, const char *fi_id) |
| Set the default_framing_intent on a document. | |
| void | fdl_doc_set_version (fdl_doc_t *doc, int major, int minor) |
| Set the FDL version on a document. | |
| fdl_framing_intent_t * | fdl_doc_add_framing_intent (fdl_doc_t *doc, const char *id, const char *label, int64_t aspect_w, int64_t aspect_h, double protection) |
| Add a framing intent to the document. | |
| fdl_context_t * | fdl_doc_add_context (fdl_doc_t *doc, const char *label, const char *context_creator) |
| Add a context to the document. | |
| fdl_canvas_t * | fdl_context_add_canvas (fdl_context_t *ctx, const char *id, const char *label, const char *source_canvas_id, int64_t dim_w, int64_t dim_h, double squeeze) |
| Add a canvas to a context. | |
| void | fdl_canvas_set_effective_dimensions (fdl_canvas_t *canvas, fdl_dimensions_i64_t dims, fdl_point_f64_t anchor) |
| Set effective dimensions and anchor on a canvas. | |
| void | fdl_canvas_set_photosite_dimensions (fdl_canvas_t *canvas, fdl_dimensions_i64_t dims) |
| Set photosite dimensions on a canvas. | |
| void | fdl_canvas_set_physical_dimensions (fdl_canvas_t *canvas, fdl_dimensions_f64_t dims) |
| Set physical dimensions on a canvas. | |
| fdl_framing_decision_t * | fdl_canvas_add_framing_decision (fdl_canvas_t *canvas, const char *id, const char *label, const char *framing_intent_id, double dim_w, double dim_h, double anchor_x, double anchor_y) |
| Add a framing decision to a canvas. | |
| fdl_canvas_template_t * | fdl_doc_add_canvas_template (fdl_doc_t *doc, const char *id, const char *label, int64_t target_w, int64_t target_h, double target_squeeze, fdl_geometry_path_t fit_source, fdl_fit_method_t fit_method, fdl_halign_t halign, fdl_valign_t valign, fdl_round_strategy_t rounding) |
| Add a canvas template to the document. | |
| void | fdl_canvas_template_set_preserve_from_source_canvas (fdl_canvas_template_t *ct, fdl_geometry_path_t path) |
| Set preserve_from_source_canvas on a canvas template. | |
| void | fdl_canvas_template_set_maximum_dimensions (fdl_canvas_template_t *ct, fdl_dimensions_i64_t dims) |
| Set maximum_dimensions on a canvas template. | |
| void | fdl_canvas_template_set_pad_to_maximum (fdl_canvas_template_t *ct, int pad) |
| Set pad_to_maximum flag on a canvas template. | |
| void | fdl_framing_decision_set_protection (fdl_framing_decision_t *fd, fdl_dimensions_f64_t dims, fdl_point_f64_t anchor) |
| Set protection dimensions and anchor on a framing decision. | |
| void | fdl_framing_intent_set_aspect_ratio (fdl_framing_intent_t *fi, fdl_dimensions_i64_t dims) |
| Set aspect ratio on a framing intent. | |
| void | fdl_framing_intent_set_protection (fdl_framing_intent_t *fi, double protection) |
| Set protection factor on a framing intent. | |
| void | fdl_canvas_set_dimensions (fdl_canvas_t *canvas, fdl_dimensions_i64_t dims) |
| Set dimensions on a canvas. | |
| void | fdl_canvas_set_anamorphic_squeeze (fdl_canvas_t *canvas, double squeeze) |
| Set anamorphic squeeze on a canvas. | |
| void | fdl_canvas_set_effective_dims_only (fdl_canvas_t *canvas, fdl_dimensions_i64_t dims) |
| Set effective dimensions on a canvas. | |
| void | fdl_canvas_remove_effective (fdl_canvas_t *canvas) |
| Remove effective dimensions and anchor from a canvas. | |
| void | fdl_framing_decision_set_dimensions (fdl_framing_decision_t *fd, fdl_dimensions_f64_t dims) |
| Set dimensions on a framing decision. | |
| void | fdl_framing_decision_set_anchor_point (fdl_framing_decision_t *fd, fdl_point_f64_t point) |
| Set anchor point on a framing decision. | |
| void | fdl_framing_decision_set_protection_dimensions (fdl_framing_decision_t *fd, fdl_dimensions_f64_t dims) |
| Set protection dimensions on a framing decision (without changing anchor). | |
| void | fdl_framing_decision_set_protection_anchor_point (fdl_framing_decision_t *fd, fdl_point_f64_t point) |
| Set protection anchor point on a framing decision (without changing dimensions). | |
| void | fdl_framing_decision_remove_protection (fdl_framing_decision_t *fd) |
| Remove protection dimensions and anchor from a framing decision. | |
| void | fdl_framing_decision_adjust_anchor (fdl_framing_decision_t *fd, const fdl_canvas_t *canvas, fdl_halign_t h_align, fdl_valign_t v_align) |
| Adjust anchor_point on a framing decision based on alignment within canvas. | |
| void | fdl_framing_decision_adjust_protection_anchor (fdl_framing_decision_t *fd, const fdl_canvas_t *canvas, fdl_halign_t h_align, fdl_valign_t v_align) |
| Adjust protection_anchor_point on a framing decision based on alignment within canvas. | |
| void | fdl_framing_decision_populate_from_intent (fdl_framing_decision_t *fd, const fdl_canvas_t *canvas, const fdl_framing_intent_t *intent, fdl_round_strategy_t rounding) |
| Populate a framing decision from a canvas and framing intent. | |
| const char * | fdl_context_set_clip_id_json (fdl_context_t *ctx, const char *json_str, size_t json_len) |
| Set clip_id on a context from a JSON string. | |
| void | fdl_context_remove_clip_id (fdl_context_t *ctx) |
| Remove clip_id from a context. | |
| const char * | fdl_clip_id_validate_json (const char *json_str, size_t json_len) |
| Validate clip_id JSON for mutual exclusion (file vs sequence). | |
| fdl_validation_result_t * | fdl_doc_validate (const fdl_doc_t *doc) |
| Run schema and semantic validators on the document. | |
| uint32_t | fdl_validation_result_error_count (const fdl_validation_result_t *result) |
| Get the number of validation errors. | |
| const char * | fdl_validation_result_error_at (const fdl_validation_result_t *result, uint32_t index) |
| Get a specific error message by index. | |
| void | fdl_validation_result_free (fdl_validation_result_t *result) |
| Free a validation result. | |
| void | fdl_free (void *ptr) |
| Free memory allocated by fdl_core functions. | |
| int | fdl_doc_set_custom_attr_string (fdl_doc_t *h, const char *name, const char *value) |
| Set a string custom attribute. | |
| int | fdl_doc_set_custom_attr_int (fdl_doc_t *h, const char *name, int64_t value) |
| Set an integer custom attribute. | |
| int | fdl_doc_set_custom_attr_float (fdl_doc_t *h, const char *name, double value) |
| Set a float custom attribute. | |
| int | fdl_doc_set_custom_attr_bool (fdl_doc_t *h, const char *name, int value) |
| Set a boolean custom attribute. | |
| const char * | fdl_doc_get_custom_attr_string (const fdl_doc_t *h, const char *name) |
| Get a string custom attribute. | |
| int | fdl_doc_get_custom_attr_int (const fdl_doc_t *h, const char *name, int64_t *out) |
| Get an integer custom attribute. | |
| int | fdl_doc_get_custom_attr_float (const fdl_doc_t *h, const char *name, double *out) |
| Get a float custom attribute. | |
| int | fdl_doc_get_custom_attr_bool (const fdl_doc_t *h, const char *name, int *out) |
| Get a boolean custom attribute. | |
| int | fdl_doc_has_custom_attr (const fdl_doc_t *h, const char *name) |
| Check if a custom attribute exists. | |
| fdl_custom_attr_type_t | fdl_doc_get_custom_attr_type (const fdl_doc_t *h, const char *name) |
| Get the type of a custom attribute. | |
| int | fdl_doc_remove_custom_attr (fdl_doc_t *h, const char *name) |
| Remove a custom attribute. | |
| uint32_t | fdl_doc_custom_attrs_count (const fdl_doc_t *h) |
| Count custom attributes on this object. | |
| const char * | fdl_doc_custom_attr_name_at (const fdl_doc_t *h, uint32_t index) |
| Get name of custom attribute at index (without '_' prefix). | |
| int | fdl_doc_set_custom_attr_point_f64 (fdl_doc_t *h, const char *name, fdl_point_f64_t value) |
| Set a point_f64 custom attribute. | |
| int | fdl_doc_get_custom_attr_point_f64 (const fdl_doc_t *h, const char *name, fdl_point_f64_t *out) |
| Get a point_f64 custom attribute. | |
| int | fdl_doc_set_custom_attr_dims_f64 (fdl_doc_t *h, const char *name, fdl_dimensions_f64_t value) |
| Set a dims_f64 custom attribute. | |
| int | fdl_doc_get_custom_attr_dims_f64 (const fdl_doc_t *h, const char *name, fdl_dimensions_f64_t *out) |
| Get a dims_f64 custom attribute. | |
| int | fdl_doc_set_custom_attr_dims_i64 (fdl_doc_t *h, const char *name, fdl_dimensions_i64_t value) |
| Set a dims_i64 custom attribute. | |
| int | fdl_doc_get_custom_attr_dims_i64 (const fdl_doc_t *h, const char *name, fdl_dimensions_i64_t *out) |
| Get a dims_i64 custom attribute. | |
| int | fdl_context_set_custom_attr_string (fdl_context_t *h, const char *name, const char *value) |
| Set a string custom attribute. | |
| int | fdl_context_set_custom_attr_int (fdl_context_t *h, const char *name, int64_t value) |
| Set an integer custom attribute. | |
| int | fdl_context_set_custom_attr_float (fdl_context_t *h, const char *name, double value) |
| Set a float custom attribute. | |
| int | fdl_context_set_custom_attr_bool (fdl_context_t *h, const char *name, int value) |
| Set a boolean custom attribute. | |
| const char * | fdl_context_get_custom_attr_string (const fdl_context_t *h, const char *name) |
| Get a string custom attribute. | |
| int | fdl_context_get_custom_attr_int (const fdl_context_t *h, const char *name, int64_t *out) |
| Get an integer custom attribute. | |
| int | fdl_context_get_custom_attr_float (const fdl_context_t *h, const char *name, double *out) |
| Get a float custom attribute. | |
| int | fdl_context_get_custom_attr_bool (const fdl_context_t *h, const char *name, int *out) |
| Get a boolean custom attribute. | |
| int | fdl_context_has_custom_attr (const fdl_context_t *h, const char *name) |
| Check if a custom attribute exists. | |
| fdl_custom_attr_type_t | fdl_context_get_custom_attr_type (const fdl_context_t *h, const char *name) |
| Get the type of a custom attribute. | |
| int | fdl_context_remove_custom_attr (fdl_context_t *h, const char *name) |
| Remove a custom attribute. | |
| uint32_t | fdl_context_custom_attrs_count (const fdl_context_t *h) |
| Count custom attributes on this object. | |
| const char * | fdl_context_custom_attr_name_at (const fdl_context_t *h, uint32_t index) |
| Get name of custom attribute at index (without '_' prefix). | |
| int | fdl_context_set_custom_attr_point_f64 (fdl_context_t *h, const char *name, fdl_point_f64_t value) |
| Set a point_f64 custom attribute. | |
| int | fdl_context_get_custom_attr_point_f64 (const fdl_context_t *h, const char *name, fdl_point_f64_t *out) |
| Get a point_f64 custom attribute. | |
| int | fdl_context_set_custom_attr_dims_f64 (fdl_context_t *h, const char *name, fdl_dimensions_f64_t value) |
| Set a dims_f64 custom attribute. | |
| int | fdl_context_get_custom_attr_dims_f64 (const fdl_context_t *h, const char *name, fdl_dimensions_f64_t *out) |
| Get a dims_f64 custom attribute. | |
| int | fdl_context_set_custom_attr_dims_i64 (fdl_context_t *h, const char *name, fdl_dimensions_i64_t value) |
| Set a dims_i64 custom attribute. | |
| int | fdl_context_get_custom_attr_dims_i64 (const fdl_context_t *h, const char *name, fdl_dimensions_i64_t *out) |
| Get a dims_i64 custom attribute. | |
| int | fdl_canvas_set_custom_attr_string (fdl_canvas_t *h, const char *name, const char *value) |
| Set a string custom attribute. | |
| int | fdl_canvas_set_custom_attr_int (fdl_canvas_t *h, const char *name, int64_t value) |
| Set an integer custom attribute. | |
| int | fdl_canvas_set_custom_attr_float (fdl_canvas_t *h, const char *name, double value) |
| Set a float custom attribute. | |
| int | fdl_canvas_set_custom_attr_bool (fdl_canvas_t *h, const char *name, int value) |
| Set a boolean custom attribute. | |
| const char * | fdl_canvas_get_custom_attr_string (const fdl_canvas_t *h, const char *name) |
| Get a string custom attribute. | |
| int | fdl_canvas_get_custom_attr_int (const fdl_canvas_t *h, const char *name, int64_t *out) |
| Get an integer custom attribute. | |
| int | fdl_canvas_get_custom_attr_float (const fdl_canvas_t *h, const char *name, double *out) |
| Get a float custom attribute. | |
| int | fdl_canvas_get_custom_attr_bool (const fdl_canvas_t *h, const char *name, int *out) |
| Get a boolean custom attribute. | |
| int | fdl_canvas_has_custom_attr (const fdl_canvas_t *h, const char *name) |
| Check if a custom attribute exists. | |
| fdl_custom_attr_type_t | fdl_canvas_get_custom_attr_type (const fdl_canvas_t *h, const char *name) |
| Get the type of a custom attribute. | |
| int | fdl_canvas_remove_custom_attr (fdl_canvas_t *h, const char *name) |
| Remove a custom attribute. | |
| uint32_t | fdl_canvas_custom_attrs_count (const fdl_canvas_t *h) |
| Count custom attributes on this object. | |
| const char * | fdl_canvas_custom_attr_name_at (const fdl_canvas_t *h, uint32_t index) |
| Get name of custom attribute at index (without '_' prefix). | |
| int | fdl_canvas_set_custom_attr_point_f64 (fdl_canvas_t *h, const char *name, fdl_point_f64_t value) |
| Set a point_f64 custom attribute. | |
| int | fdl_canvas_get_custom_attr_point_f64 (const fdl_canvas_t *h, const char *name, fdl_point_f64_t *out) |
| Get a point_f64 custom attribute. | |
| int | fdl_canvas_set_custom_attr_dims_f64 (fdl_canvas_t *h, const char *name, fdl_dimensions_f64_t value) |
| Set a dims_f64 custom attribute. | |
| int | fdl_canvas_get_custom_attr_dims_f64 (const fdl_canvas_t *h, const char *name, fdl_dimensions_f64_t *out) |
| Get a dims_f64 custom attribute. | |
| int | fdl_canvas_set_custom_attr_dims_i64 (fdl_canvas_t *h, const char *name, fdl_dimensions_i64_t value) |
| Set a dims_i64 custom attribute. | |
| int | fdl_canvas_get_custom_attr_dims_i64 (const fdl_canvas_t *h, const char *name, fdl_dimensions_i64_t *out) |
| Get a dims_i64 custom attribute. | |
| int | fdl_framing_decision_set_custom_attr_string (fdl_framing_decision_t *h, const char *name, const char *value) |
| Set a string custom attribute. | |
| int | fdl_framing_decision_set_custom_attr_int (fdl_framing_decision_t *h, const char *name, int64_t value) |
| Set an integer custom attribute. | |
| int | fdl_framing_decision_set_custom_attr_float (fdl_framing_decision_t *h, const char *name, double value) |
| Set a float custom attribute. | |
| int | fdl_framing_decision_set_custom_attr_bool (fdl_framing_decision_t *h, const char *name, int value) |
| Set a boolean custom attribute. | |
| const char * | fdl_framing_decision_get_custom_attr_string (const fdl_framing_decision_t *h, const char *name) |
| Get a string custom attribute. | |
| int | fdl_framing_decision_get_custom_attr_int (const fdl_framing_decision_t *h, const char *name, int64_t *out) |
| Get an integer custom attribute. | |
| int | fdl_framing_decision_get_custom_attr_float (const fdl_framing_decision_t *h, const char *name, double *out) |
| Get a float custom attribute. | |
| int | fdl_framing_decision_get_custom_attr_bool (const fdl_framing_decision_t *h, const char *name, int *out) |
| Get a boolean custom attribute. | |
| int | fdl_framing_decision_has_custom_attr (const fdl_framing_decision_t *h, const char *name) |
| Check if a custom attribute exists. | |
| fdl_custom_attr_type_t | fdl_framing_decision_get_custom_attr_type (const fdl_framing_decision_t *h, const char *name) |
| Get the type of a custom attribute. | |
| int | fdl_framing_decision_remove_custom_attr (fdl_framing_decision_t *h, const char *name) |
| Remove a custom attribute. | |
| uint32_t | fdl_framing_decision_custom_attrs_count (const fdl_framing_decision_t *h) |
| Count custom attributes on this object. | |
| const char * | fdl_framing_decision_custom_attr_name_at (const fdl_framing_decision_t *h, uint32_t index) |
| Get name of custom attribute at index (without '_' prefix). | |
| int | fdl_framing_decision_set_custom_attr_point_f64 (fdl_framing_decision_t *h, const char *name, fdl_point_f64_t value) |
| Set a point_f64 custom attribute. | |
| int | fdl_framing_decision_get_custom_attr_point_f64 (const fdl_framing_decision_t *h, const char *name, fdl_point_f64_t *out) |
| Get a point_f64 custom attribute. | |
| int | fdl_framing_decision_set_custom_attr_dims_f64 (fdl_framing_decision_t *h, const char *name, fdl_dimensions_f64_t value) |
| Set a dims_f64 custom attribute. | |
| int | fdl_framing_decision_get_custom_attr_dims_f64 (const fdl_framing_decision_t *h, const char *name, fdl_dimensions_f64_t *out) |
| Get a dims_f64 custom attribute. | |
| int | fdl_framing_decision_set_custom_attr_dims_i64 (fdl_framing_decision_t *h, const char *name, fdl_dimensions_i64_t value) |
| Set a dims_i64 custom attribute. | |
| int | fdl_framing_decision_get_custom_attr_dims_i64 (const fdl_framing_decision_t *h, const char *name, fdl_dimensions_i64_t *out) |
| Get a dims_i64 custom attribute. | |
| int | fdl_framing_intent_set_custom_attr_string (fdl_framing_intent_t *h, const char *name, const char *value) |
| Set a string custom attribute. | |
| int | fdl_framing_intent_set_custom_attr_int (fdl_framing_intent_t *h, const char *name, int64_t value) |
| Set an integer custom attribute. | |
| int | fdl_framing_intent_set_custom_attr_float (fdl_framing_intent_t *h, const char *name, double value) |
| Set a float custom attribute. | |
| int | fdl_framing_intent_set_custom_attr_bool (fdl_framing_intent_t *h, const char *name, int value) |
| Set a boolean custom attribute. | |
| const char * | fdl_framing_intent_get_custom_attr_string (const fdl_framing_intent_t *h, const char *name) |
| Get a string custom attribute. | |
| int | fdl_framing_intent_get_custom_attr_int (const fdl_framing_intent_t *h, const char *name, int64_t *out) |
| Get an integer custom attribute. | |
| int | fdl_framing_intent_get_custom_attr_float (const fdl_framing_intent_t *h, const char *name, double *out) |
| Get a float custom attribute. | |
| int | fdl_framing_intent_get_custom_attr_bool (const fdl_framing_intent_t *h, const char *name, int *out) |
| Get a boolean custom attribute. | |
| int | fdl_framing_intent_has_custom_attr (const fdl_framing_intent_t *h, const char *name) |
| Check if a custom attribute exists. | |
| fdl_custom_attr_type_t | fdl_framing_intent_get_custom_attr_type (const fdl_framing_intent_t *h, const char *name) |
| Get the type of a custom attribute. | |
| int | fdl_framing_intent_remove_custom_attr (fdl_framing_intent_t *h, const char *name) |
| Remove a custom attribute. | |
| uint32_t | fdl_framing_intent_custom_attrs_count (const fdl_framing_intent_t *h) |
| Count custom attributes on this object. | |
| const char * | fdl_framing_intent_custom_attr_name_at (const fdl_framing_intent_t *h, uint32_t index) |
| Get name of custom attribute at index (without '_' prefix). | |
| int | fdl_framing_intent_set_custom_attr_point_f64 (fdl_framing_intent_t *h, const char *name, fdl_point_f64_t value) |
| Set a point_f64 custom attribute. | |
| int | fdl_framing_intent_get_custom_attr_point_f64 (const fdl_framing_intent_t *h, const char *name, fdl_point_f64_t *out) |
| Get a point_f64 custom attribute. | |
| int | fdl_framing_intent_set_custom_attr_dims_f64 (fdl_framing_intent_t *h, const char *name, fdl_dimensions_f64_t value) |
| Set a dims_f64 custom attribute. | |
| int | fdl_framing_intent_get_custom_attr_dims_f64 (const fdl_framing_intent_t *h, const char *name, fdl_dimensions_f64_t *out) |
| Get a dims_f64 custom attribute. | |
| int | fdl_framing_intent_set_custom_attr_dims_i64 (fdl_framing_intent_t *h, const char *name, fdl_dimensions_i64_t value) |
| Set a dims_i64 custom attribute. | |
| int | fdl_framing_intent_get_custom_attr_dims_i64 (const fdl_framing_intent_t *h, const char *name, fdl_dimensions_i64_t *out) |
| Get a dims_i64 custom attribute. | |
| int | fdl_canvas_template_set_custom_attr_string (fdl_canvas_template_t *h, const char *name, const char *value) |
| Set a string custom attribute. | |
| int | fdl_canvas_template_set_custom_attr_int (fdl_canvas_template_t *h, const char *name, int64_t value) |
| Set an integer custom attribute. | |
| int | fdl_canvas_template_set_custom_attr_float (fdl_canvas_template_t *h, const char *name, double value) |
| Set a float custom attribute. | |
| int | fdl_canvas_template_set_custom_attr_bool (fdl_canvas_template_t *h, const char *name, int value) |
| Set a boolean custom attribute. | |
| const char * | fdl_canvas_template_get_custom_attr_string (const fdl_canvas_template_t *h, const char *name) |
| Get a string custom attribute. | |
| int | fdl_canvas_template_get_custom_attr_int (const fdl_canvas_template_t *h, const char *name, int64_t *out) |
| Get an integer custom attribute. | |
| int | fdl_canvas_template_get_custom_attr_float (const fdl_canvas_template_t *h, const char *name, double *out) |
| Get a float custom attribute. | |
| int | fdl_canvas_template_get_custom_attr_bool (const fdl_canvas_template_t *h, const char *name, int *out) |
| Get a boolean custom attribute. | |
| int | fdl_canvas_template_has_custom_attr (const fdl_canvas_template_t *h, const char *name) |
| Check if a custom attribute exists. | |
| fdl_custom_attr_type_t | fdl_canvas_template_get_custom_attr_type (const fdl_canvas_template_t *h, const char *name) |
| Get the type of a custom attribute. | |
| int | fdl_canvas_template_remove_custom_attr (fdl_canvas_template_t *h, const char *name) |
| Remove a custom attribute. | |
| uint32_t | fdl_canvas_template_custom_attrs_count (const fdl_canvas_template_t *h) |
| Count custom attributes on this object. | |
| const char * | fdl_canvas_template_custom_attr_name_at (const fdl_canvas_template_t *h, uint32_t index) |
| Get name of custom attribute at index (without '_' prefix). | |
| int | fdl_canvas_template_set_custom_attr_point_f64 (fdl_canvas_template_t *h, const char *name, fdl_point_f64_t value) |
| Set a point_f64 custom attribute. | |
| int | fdl_canvas_template_get_custom_attr_point_f64 (const fdl_canvas_template_t *h, const char *name, fdl_point_f64_t *out) |
| Get a point_f64 custom attribute. | |
| int | fdl_canvas_template_set_custom_attr_dims_f64 (fdl_canvas_template_t *h, const char *name, fdl_dimensions_f64_t value) |
| Set a dims_f64 custom attribute. | |
| int | fdl_canvas_template_get_custom_attr_dims_f64 (const fdl_canvas_template_t *h, const char *name, fdl_dimensions_f64_t *out) |
| Get a dims_f64 custom attribute. | |
| int | fdl_canvas_template_set_custom_attr_dims_i64 (fdl_canvas_template_t *h, const char *name, fdl_dimensions_i64_t value) |
| Set a dims_i64 custom attribute. | |
| int | fdl_canvas_template_get_custom_attr_dims_i64 (const fdl_canvas_template_t *h, const char *name, fdl_dimensions_i64_t *out) |
| Get a dims_i64 custom attribute. | |
| int | fdl_clip_id_set_custom_attr_string (fdl_clip_id_t *h, const char *name, const char *value) |
| Set a string custom attribute. | |
| int | fdl_clip_id_set_custom_attr_int (fdl_clip_id_t *h, const char *name, int64_t value) |
| Set an integer custom attribute. | |
| int | fdl_clip_id_set_custom_attr_float (fdl_clip_id_t *h, const char *name, double value) |
| Set a float custom attribute. | |
| int | fdl_clip_id_set_custom_attr_bool (fdl_clip_id_t *h, const char *name, int value) |
| Set a boolean custom attribute. | |
| const char * | fdl_clip_id_get_custom_attr_string (const fdl_clip_id_t *h, const char *name) |
| Get a string custom attribute. | |
| int | fdl_clip_id_get_custom_attr_int (const fdl_clip_id_t *h, const char *name, int64_t *out) |
| Get an integer custom attribute. | |
| int | fdl_clip_id_get_custom_attr_float (const fdl_clip_id_t *h, const char *name, double *out) |
| Get a float custom attribute. | |
| int | fdl_clip_id_get_custom_attr_bool (const fdl_clip_id_t *h, const char *name, int *out) |
| Get a boolean custom attribute. | |
| int | fdl_clip_id_has_custom_attr (const fdl_clip_id_t *h, const char *name) |
| Check if a custom attribute exists. | |
| fdl_custom_attr_type_t | fdl_clip_id_get_custom_attr_type (const fdl_clip_id_t *h, const char *name) |
| Get the type of a custom attribute. | |
| int | fdl_clip_id_remove_custom_attr (fdl_clip_id_t *h, const char *name) |
| Remove a custom attribute. | |
| uint32_t | fdl_clip_id_custom_attrs_count (const fdl_clip_id_t *h) |
| Count custom attributes on this object. | |
| const char * | fdl_clip_id_custom_attr_name_at (const fdl_clip_id_t *h, uint32_t index) |
| Get name of custom attribute at index (without '_' prefix). | |
| int | fdl_clip_id_set_custom_attr_point_f64 (fdl_clip_id_t *h, const char *name, fdl_point_f64_t value) |
| Set a point_f64 custom attribute. | |
| int | fdl_clip_id_get_custom_attr_point_f64 (const fdl_clip_id_t *h, const char *name, fdl_point_f64_t *out) |
| Get a point_f64 custom attribute. | |
| int | fdl_clip_id_set_custom_attr_dims_f64 (fdl_clip_id_t *h, const char *name, fdl_dimensions_f64_t value) |
| Set a dims_f64 custom attribute. | |
| int | fdl_clip_id_get_custom_attr_dims_f64 (const fdl_clip_id_t *h, const char *name, fdl_dimensions_f64_t *out) |
| Get a dims_f64 custom attribute. | |
| int | fdl_clip_id_set_custom_attr_dims_i64 (fdl_clip_id_t *h, const char *name, fdl_dimensions_i64_t value) |
| Set a dims_i64 custom attribute. | |
| int | fdl_clip_id_get_custom_attr_dims_i64 (const fdl_clip_id_t *h, const char *name, fdl_dimensions_i64_t *out) |
| Get a dims_i64 custom attribute. | |
| int | fdl_file_sequence_set_custom_attr_string (fdl_file_sequence_t *h, const char *name, const char *value) |
| Set a string custom attribute. | |
| int | fdl_file_sequence_set_custom_attr_int (fdl_file_sequence_t *h, const char *name, int64_t value) |
| Set an integer custom attribute. | |
| int | fdl_file_sequence_set_custom_attr_float (fdl_file_sequence_t *h, const char *name, double value) |
| Set a float custom attribute. | |
| int | fdl_file_sequence_set_custom_attr_bool (fdl_file_sequence_t *h, const char *name, int value) |
| Set a boolean custom attribute. | |
| const char * | fdl_file_sequence_get_custom_attr_string (const fdl_file_sequence_t *h, const char *name) |
| Get a string custom attribute. | |
| int | fdl_file_sequence_get_custom_attr_int (const fdl_file_sequence_t *h, const char *name, int64_t *out) |
| Get an integer custom attribute. | |
| int | fdl_file_sequence_get_custom_attr_float (const fdl_file_sequence_t *h, const char *name, double *out) |
| Get a float custom attribute. | |
| int | fdl_file_sequence_get_custom_attr_bool (const fdl_file_sequence_t *h, const char *name, int *out) |
| Get a boolean custom attribute. | |
| int | fdl_file_sequence_has_custom_attr (const fdl_file_sequence_t *h, const char *name) |
| Check if a custom attribute exists. | |
| fdl_custom_attr_type_t | fdl_file_sequence_get_custom_attr_type (const fdl_file_sequence_t *h, const char *name) |
| Get the type of a custom attribute. | |
| int | fdl_file_sequence_remove_custom_attr (fdl_file_sequence_t *h, const char *name) |
| Remove a custom attribute. | |
| uint32_t | fdl_file_sequence_custom_attrs_count (const fdl_file_sequence_t *h) |
| Count custom attributes on this object. | |
| const char * | fdl_file_sequence_custom_attr_name_at (const fdl_file_sequence_t *h, uint32_t index) |
| Get name of custom attribute at index (without '_' prefix). | |
| int | fdl_file_sequence_set_custom_attr_point_f64 (fdl_file_sequence_t *h, const char *name, fdl_point_f64_t value) |
| Set a point_f64 custom attribute. | |
| int | fdl_file_sequence_get_custom_attr_point_f64 (const fdl_file_sequence_t *h, const char *name, fdl_point_f64_t *out) |
| Get a point_f64 custom attribute. | |
| int | fdl_file_sequence_set_custom_attr_dims_f64 (fdl_file_sequence_t *h, const char *name, fdl_dimensions_f64_t value) |
| Set a dims_f64 custom attribute. | |
| int | fdl_file_sequence_get_custom_attr_dims_f64 (const fdl_file_sequence_t *h, const char *name, fdl_dimensions_f64_t *out) |
| Get a dims_f64 custom attribute. | |
| int | fdl_file_sequence_set_custom_attr_dims_i64 (fdl_file_sequence_t *h, const char *name, fdl_dimensions_i64_t value) |
| Set a dims_i64 custom attribute. | |
| int | fdl_file_sequence_get_custom_attr_dims_i64 (const fdl_file_sequence_t *h, const char *name, fdl_dimensions_i64_t *out) |
| Get a dims_i64 custom attribute. | |
Framing Intents — root-level collection | |
| uint32_t | fdl_doc_framing_intents_count (fdl_doc_t *doc) |
| Get the number of framing intents in the document. | |
| fdl_framing_intent_t * | fdl_doc_framing_intent_at (fdl_doc_t *doc, uint32_t index) |
| Get a framing intent by index. | |
| fdl_framing_intent_t * | fdl_doc_framing_intent_find_by_id (fdl_doc_t *doc, const char *id) |
| Find a framing intent by its ID string. | |
Contexts — root-level collection | |
| uint32_t | fdl_doc_contexts_count (fdl_doc_t *doc) |
| Get the number of contexts in the document. | |
| fdl_context_t * | fdl_doc_context_at (fdl_doc_t *doc, uint32_t index) |
| Get a context by index. | |
| fdl_context_t * | fdl_doc_context_find_by_label (fdl_doc_t *doc, const char *label) |
| Find a context by its label string. | |
Canvas Templates — root-level collection | |
| uint32_t | fdl_doc_canvas_templates_count (fdl_doc_t *doc) |
| Get the number of canvas templates in the document. | |
| fdl_canvas_template_t * | fdl_doc_canvas_template_at (fdl_doc_t *doc, uint32_t index) |
| Get a canvas template by index. | |
| fdl_canvas_template_t * | fdl_doc_canvas_template_find_by_id (fdl_doc_t *doc, const char *id) |
| Find a canvas template by its ID string. | |
Canvases — child collection of context | |
| uint32_t | fdl_context_canvases_count (const fdl_context_t *ctx) |
| Get the number of canvases in a context. | |
| fdl_canvas_t * | fdl_context_canvas_at (fdl_context_t *ctx, uint32_t index) |
| Get a canvas by index within a context. | |
| fdl_canvas_t * | fdl_context_find_canvas_by_id (fdl_context_t *ctx, const char *id) |
| Find a canvas by its ID within a context. | |
Framing Decisions — child collection of canvas | |
| uint32_t | fdl_canvas_framing_decisions_count (const fdl_canvas_t *canvas) |
| Get the number of framing decisions in a canvas. | |
| fdl_framing_decision_t * | fdl_canvas_framing_decision_at (fdl_canvas_t *canvas, uint32_t index) |
| Get a framing decision by index within a canvas. | |
| fdl_framing_decision_t * | fdl_canvas_find_framing_decision_by_id (fdl_canvas_t *canvas, const char *id) |
| Find a framing decision by its ID within a canvas. | |
Public C ABI for the FDL (Framing Decision List) core library.
Provides document parsing, serialization, validation, geometry operations, template application, and a builder API for creating FDL documents. All public symbols use the FDL_API export macro for shared-library visibility.
Thread safety: per-document mutex locking. See THREAD_SAFETY for details.
| #define FDL_TRUE 1 |
Boolean constants for C ABI int fields and return values.
Boolean true.
| #define FDL_DEFAULT_JSON_INDENT 2 |
Default JSON serialization indent.
Spaces per indent level.
| #define FDL_CUSTOM_ATTR_DECL | ( | PREFIX, | |
| HANDLE_TYPE | |||
| ) |
Macro to declare all 19 custom attribute functions for a handle type.
| PREFIX | Function name prefix (e.g., fdl_doc_). |
| HANDLE_TYPE | C handle type (e.g., fdl_doc_t). |
| typedef struct fdl_abi_version_t fdl_abi_version_t |
ABI version triple for runtime compatibility checks.
Fields are uint64_t (not uint32_t) so the struct avoids sub-register packing on ARM64, which causes field-swap bugs in CFFI ABI mode. See the Enums section comment for the full rationale.
| typedef struct fdl_geometry_t fdl_geometry_t |
Geometry container for FDL template transformation processing.
Holds 4 dimension layers + 3 anchor points through the pipeline.
libfdl_core provides per-document mutex locking:
String accessors return thread-local pointers keyed by field name. Valid until the next call for the SAME field on the SAME thread.
Handles use index-based resolution and remain valid after collection mutations (push_back). Repeated access for the same index returns the same handle (deduplication). A handle is valid until:
| fdl_abi_version_t fdl_abi_version | ( | void | ) |
Return the ABI version of the loaded library.
| int64_t fdl_round | ( | double | value, |
| fdl_rounding_even_t | even, | ||
| fdl_rounding_mode_t | mode | ||
| ) |
Round a single value according to FDL rounding rules.
| value | The floating-point value to round. |
| even | Even constraint (FDL_ROUNDING_EVEN_WHOLE or _EVEN). |
| mode | Rounding direction (FDL_ROUNDING_MODE_UP, _DOWN, or _ROUND). |
| fdl_dimensions_f64_t fdl_round_dimensions | ( | fdl_dimensions_f64_t | dims, |
| fdl_rounding_even_t | even, | ||
| fdl_rounding_mode_t | mode | ||
| ) |
Round dimensions according to FDL rounding rules.
| dims | Dimensions to round. |
| even | Even constraint. |
| mode | Rounding direction. |
| fdl_point_f64_t fdl_round_point | ( | fdl_point_f64_t | point, |
| fdl_rounding_even_t | even, | ||
| fdl_rounding_mode_t | mode | ||
| ) |
Round a point according to FDL rounding rules.
| point | Point to round. |
| even | Even constraint. |
| mode | Rounding direction. |
| fdl_dimensions_f64_t fdl_dimensions_normalize | ( | fdl_dimensions_f64_t | dims, |
| double | squeeze | ||
| ) |
Normalize dimensions by applying anamorphic squeeze to width.
Converts from squeezed (sensor) coordinates to unsqueezed (display) coordinates. width *= squeeze; height unchanged.
| dims | Dimensions to normalize. |
| squeeze | Anamorphic squeeze factor (e.g. 2.0 for 2x anamorphic). |
| fdl_dimensions_f64_t fdl_dimensions_scale | ( | fdl_dimensions_f64_t | dims, |
| double | scale_factor, | ||
| double | target_squeeze | ||
| ) |
Scale normalized dimensions and apply target squeeze.
width = (width * scale_factor) / target_squeeze; height = height * scale_factor.
| dims | Normalized dimensions to scale. |
| scale_factor | Scale multiplier. |
| target_squeeze | Target anamorphic squeeze to apply. |
| fdl_dimensions_f64_t fdl_dimensions_normalize_and_scale | ( | fdl_dimensions_f64_t | dims, |
| double | input_squeeze, | ||
| double | scale_factor, | ||
| double | target_squeeze | ||
| ) |
Normalize and scale in one step.
Equivalent to fdl_dimensions_scale(fdl_dimensions_normalize(dims, input_squeeze), ...).
| dims | Dimensions to transform. |
| input_squeeze | Source anamorphic squeeze factor. |
| scale_factor | Scale multiplier. |
| target_squeeze | Target anamorphic squeeze factor. |
| fdl_dimensions_f64_t fdl_dimensions_sub | ( | fdl_dimensions_f64_t | a, |
| fdl_dimensions_f64_t | b | ||
| ) |
Subtract two dimensions: result = a - b.
| a | Minuend dimensions. |
| b | Subtrahend dimensions. |
| int fdl_dimensions_equal | ( | fdl_dimensions_f64_t | a, |
| fdl_dimensions_f64_t | b | ||
| ) |
Check if dimensions are approximately equal within FDL tolerance.
Uses relative tolerance of 1e-9 and absolute tolerance of 1e-6.
| a | First dimensions. |
| b | Second dimensions. |
| int fdl_dimensions_f64_gt | ( | fdl_dimensions_f64_t | a, |
| fdl_dimensions_f64_t | b | ||
| ) |
Check if a > b using OR logic (either width or height is greater).
| a | First dimensions. |
| b | Second dimensions. |
| int fdl_dimensions_f64_lt | ( | fdl_dimensions_f64_t | a, |
| fdl_dimensions_f64_t | b | ||
| ) |
Check if a < b using OR logic (either width or height is less).
| a | First dimensions. |
| b | Second dimensions. |
| int fdl_dimensions_is_zero | ( | fdl_dimensions_f64_t | dims | ) |
Check if both width and height are zero.
| dims | Dimensions to test. |
| int fdl_dimensions_i64_is_zero | ( | fdl_dimensions_i64_t | dims | ) |
Check if both width and height are zero (int64 variant).
| dims | Integer dimensions to test. |
| fdl_dimensions_f64_t fdl_dimensions_i64_normalize | ( | fdl_dimensions_i64_t | dims, |
| double | squeeze | ||
| ) |
Normalize int64 dimensions by applying anamorphic squeeze to width.
| dims | Integer dimensions to normalize. |
| squeeze | Anamorphic squeeze factor. |
| fdl_dimensions_i64_t fdl_dimensions_f64_to_i64 | ( | fdl_dimensions_f64_t | dims | ) |
Convert float dimensions to int64 by truncation.
| dims | Float dimensions to convert. |
| int fdl_dimensions_i64_gt | ( | fdl_dimensions_i64_t | a, |
| fdl_dimensions_i64_t | b | ||
| ) |
Check if a > b using OR logic (either width or height is greater).
| a | First dimensions. |
| b | Second dimensions. |
| int fdl_dimensions_i64_lt | ( | fdl_dimensions_i64_t | a, |
| fdl_dimensions_i64_t | b | ||
| ) |
Check if a < b using OR logic (either width or height is less).
| a | First dimensions. |
| b | Second dimensions. |
| fdl_point_f64_t fdl_point_normalize | ( | fdl_point_f64_t | point, |
| double | squeeze | ||
| ) |
Normalize a point by applying anamorphic squeeze to x.
| point | Point to normalize. |
| squeeze | Anamorphic squeeze factor. |
| fdl_point_f64_t fdl_point_scale | ( | fdl_point_f64_t | point, |
| double | scale_factor, | ||
| double | target_squeeze | ||
| ) |
Scale a normalized point and apply target squeeze.
x = (x * scale_factor) / target_squeeze; y = y * scale_factor.
| point | Normalized point to scale. |
| scale_factor | Scale multiplier. |
| target_squeeze | Target anamorphic squeeze. |
| fdl_point_f64_t fdl_point_add | ( | fdl_point_f64_t | a, |
| fdl_point_f64_t | b | ||
| ) |
Add two points: result = a + b.
| a | First point. |
| b | Second point. |
| fdl_point_f64_t fdl_point_sub | ( | fdl_point_f64_t | a, |
| fdl_point_f64_t | b | ||
| ) |
Subtract two points: result = a - b.
| a | Minuend point. |
| b | Subtrahend point. |
| fdl_point_f64_t fdl_point_mul_scalar | ( | fdl_point_f64_t | a, |
| double | scalar | ||
| ) |
Multiply point by scalar.
| a | Point to scale. |
| scalar | Scalar multiplier applied to both x and y. |
| fdl_point_f64_t fdl_point_clamp | ( | fdl_point_f64_t | point, |
| double | min_val, | ||
| double | max_val, | ||
| int | has_min, | ||
| int | has_max | ||
| ) |
Clamp point values to [min_val, max_val].
Each bound is optional — set the corresponding has_* flag to enable it.
| point | Point to clamp. |
| min_val | Minimum bound (applied to both x and y). |
| max_val | Maximum bound (applied to both x and y). |
| has_min | FDL_TRUE to apply min_val, FDL_FALSE to skip. |
| has_max | FDL_TRUE to apply max_val, FDL_FALSE to skip. |
| int fdl_point_is_zero | ( | fdl_point_f64_t | point | ) |
Check if both x and y are zero.
| point | Point to test. |
| fdl_point_f64_t fdl_point_normalize_and_scale | ( | fdl_point_f64_t | point, |
| double | input_squeeze, | ||
| double | scale_factor, | ||
| double | target_squeeze | ||
| ) |
Normalize and scale a point in one step.
| point | Point to transform. |
| input_squeeze | Source anamorphic squeeze factor. |
| scale_factor | Scale multiplier. |
| target_squeeze | Target anamorphic squeeze factor. |
| int fdl_point_equal | ( | fdl_point_f64_t | a, |
| fdl_point_f64_t | b | ||
| ) |
Check approximate equality within FDL tolerances.
| a | First point. |
| b | Second point. |
| int fdl_point_f64_lt | ( | fdl_point_f64_t | a, |
| fdl_point_f64_t | b | ||
| ) |
Check if a < b using OR logic (either x or y is less).
| a | First point. |
| b | Second point. |
| int fdl_point_f64_gt | ( | fdl_point_f64_t | a, |
| fdl_point_f64_t | b | ||
| ) |
Check if a > b using OR logic (either x or y is greater).
| a | First point. |
| b | Second point. |
| double fdl_fp_rel_tol | ( | void | ) |
Relative tolerance for floating-point comparison.
| double fdl_fp_abs_tol | ( | void | ) |
Absolute tolerance for floating-point comparison.
| fdl_geometry_t fdl_geometry_fill_hierarchy_gaps | ( | fdl_geometry_t | geo, |
| fdl_point_f64_t | anchor_offset | ||
| ) |
Fill gaps in the geometry hierarchy by propagating populated dimensions upward.
If a higher-level dimension is zero but a lower level is set, the gap is filled by copying from the populated layer. Protection is NEVER filled from framing. Anchor points are offset by anchor_offset and clamped to >= 0.
| geo | Geometry with potentially sparse dimension layers. |
| anchor_offset | Offset applied to anchors during gap-filling. |
| fdl_geometry_t fdl_geometry_normalize_and_scale | ( | fdl_geometry_t | geo, |
| double | source_squeeze, | ||
| double | scale_factor, | ||
| double | target_squeeze | ||
| ) |
Normalize and scale all 7 fields of the geometry.
Applies anamorphic normalization and scaling to all dimension and anchor fields.
| geo | Geometry to transform. |
| source_squeeze | Source anamorphic squeeze factor. |
| scale_factor | Scale multiplier. |
| target_squeeze | Target anamorphic squeeze factor. |
| fdl_geometry_t fdl_geometry_round | ( | fdl_geometry_t | geo, |
| fdl_round_strategy_t | strategy | ||
| ) |
Round all 7 fields of the geometry.
| geo | Geometry to round. |
| strategy | Rounding strategy (even + mode). |
| fdl_geometry_t fdl_geometry_apply_offset | ( | fdl_geometry_t | geo, |
| fdl_point_f64_t | offset, | ||
| fdl_point_f64_t * | theo_eff, | ||
| fdl_point_f64_t * | theo_prot, | ||
| fdl_point_f64_t * | theo_fram | ||
| ) |
Apply offset to all anchors, clamping to canvas bounds.
The theoretical (unclamped) anchor values are written to the output pointers for use in subsequent cropping.
| geo | Geometry to offset. |
| offset | Translation to apply to all anchor points. |
| theo_eff | [out] Unclamped effective anchor (may be NULL). |
| theo_prot | [out] Unclamped protection anchor (may be NULL). |
| theo_fram | [out] Unclamped framing anchor (may be NULL). |
| fdl_geometry_t fdl_geometry_crop | ( | fdl_geometry_t | geo, |
| fdl_point_f64_t | theo_eff, | ||
| fdl_point_f64_t | theo_prot, | ||
| fdl_point_f64_t | theo_fram | ||
| ) |
Crop all dimensions to visible portion within canvas.
Enforces the hierarchy invariant: canvas >= effective >= protection >= framing. Uses theoretical (unclamped) anchors to compute visible extents.
| geo | Geometry to crop. |
| theo_eff | Theoretical effective anchor (from fdl_geometry_apply_offset). |
| theo_prot | Theoretical protection anchor. |
| theo_fram | Theoretical framing anchor. |
| int fdl_geometry_get_dims_anchor_from_path | ( | const fdl_geometry_t * | geo, |
| fdl_geometry_path_t | path, | ||
| fdl_dimensions_f64_t * | out_dims, | ||
| fdl_point_f64_t * | out_anchor | ||
| ) |
Extract dimensions and anchor from geometry by path.
| geo | Geometry to query. |
| path | Which dimension layer to extract (canvas, effective, protection, or framing). |
| out_dims | [out] Extracted dimensions. |
| out_anchor | [out] Extracted anchor point ({0,0} for canvas path). |
| double fdl_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.
Computes the ratio needed to scale source (fit_norm) into target (target_norm) using the specified fit method.
| fit_norm | Normalized source dimensions. |
| target_norm | Normalized target dimensions. |
| fit_method | Fit method (WIDTH, HEIGHT, FIT_ALL, or FILL). |
| double fdl_output_size_for_axis | ( | double | canvas_size, |
| double | max_size, | ||
| int | has_max, | ||
| int | pad_to_max | ||
| ) |
Determine output canvas size for a single axis.
Handles three regimes: PAD (pad_to_max -> max_size), CROP (canvas > max -> max_size), FIT (canvas_size unchanged).
| canvas_size | Computed canvas size for this axis. |
| max_size | Maximum allowed size for this axis. |
| has_max | FDL_TRUE if max_size constraint is active, FDL_FALSE if unconstrained. |
| pad_to_max | FDL_TRUE to pad output to max_size, FDL_FALSE otherwise. |
| double fdl_alignment_shift | ( | double | fit_size, |
| double | fit_anchor, | ||
| double | output_size, | ||
| double | canvas_size, | ||
| double | target_size, | ||
| int | is_center, | ||
| double | align_factor, | ||
| int | pad_to_max | ||
| ) |
Calculate content translation shift for a single axis.
Handles three regimes: FIT (no shift), PAD (center/align content in padded area), CROP (clip/align content that exceeds canvas).
| fit_size | Size of the content in this axis. |
| fit_anchor | Anchor position of the content. |
| output_size | Final output canvas size. |
| canvas_size | Computed canvas size before clamping. |
| target_size | Target template size. |
| is_center | FDL_TRUE if alignment is center, FDL_FALSE for edge alignment. |
| align_factor | Alignment factor (0.0 = left/top, 1.0 = right/bottom). |
| pad_to_max | FDL_TRUE if padding to maximum, FDL_FALSE otherwise. |
| fdl_dimensions_f64_t fdl_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.
| dims | Dimensions to clamp. |
| clamp_dims | Maximum allowed dimensions. |
| out_delta | [out] Amount clamped per axis (dims - result), as a point. |
| fdl_from_intent_result_t fdl_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.
Fits the intent's aspect ratio within the working dimensions, centers the result within the canvas, and optionally computes a protection area.
| canvas_dims | Full canvas dimensions (used for anchor centering). |
| working_dims | Effective dimensions if available, else canvas dims (used for aspect ratio fitting). |
| squeeze | Anamorphic squeeze factor of the canvas. |
| aspect_ratio | Target aspect ratio as integer width:height (e.g. {16, 9}). |
| protection | Protection factor (0.0 for no protection, > 0.0 to enable). |
| rounding | Rounding strategy for the computed dimensions. |
| fdl_doc_t * fdl_doc_create | ( | void | ) |
Create an empty FDL document.
| void fdl_doc_free | ( | fdl_doc_t * | doc | ) |
Free an FDL document and all associated handles.
After this call, all handles (contexts, canvases, framing decisions, etc.) obtained from this document are invalid. Safe to call with NULL.
| doc | Document to free, or NULL (no-op). |
| fdl_parse_result_t fdl_doc_parse_json | ( | const char * | json_str, |
| size_t | json_len | ||
| ) |
Parse a JSON string into an FDL document.
| json_str | JSON string to parse (need not be null-terminated). |
| json_len | Length of json_str in bytes. |
< POSIX strdup.
< POSIX strdup.
< POSIX strdup.
| const char * fdl_doc_get_uuid | ( | const fdl_doc_t * | doc | ) |
Get the UUID from a parsed FDL document.
| doc | Document to query. |
| const char * fdl_doc_get_fdl_creator | ( | const fdl_doc_t * | doc | ) |
Get the fdl_creator from a parsed FDL document.
| doc | Document to query. |
| const char * fdl_doc_get_default_framing_intent | ( | const fdl_doc_t * | doc | ) |
Get the default_framing_intent from a parsed FDL document.
| doc | Document to query. |
| int fdl_doc_get_version_major | ( | const fdl_doc_t * | doc | ) |
Get the FDL version major number.
| doc | Document to query. |
| int fdl_doc_get_version_minor | ( | const fdl_doc_t * | doc | ) |
Get the FDL version minor number.
| doc | Document to query. |
| char * fdl_doc_to_json | ( | const fdl_doc_t * | doc, |
| int | indent | ||
| ) |
Serialize document to canonical JSON string.
Keys are ordered per the FDL specification; null values are excluded.
| doc | Document to serialize. |
| indent | Number of spaces per indent level (0 for compact JSON). |
< POSIX strdup.
| char * fdl_context_to_json | ( | const fdl_context_t * | ctx, |
| int | indent | ||
| ) |
Serialize a context sub-object to canonical JSON.
| ctx | Context handle. |
| indent | Number of spaces per indent level (0 for compact). |
| char * fdl_canvas_to_json | ( | const fdl_canvas_t * | canvas, |
| int | indent | ||
| ) |
Serialize a canvas sub-object to canonical JSON.
| canvas | Canvas handle. |
| indent | Number of spaces per indent level (0 for compact). |
| char * fdl_framing_decision_to_json | ( | const fdl_framing_decision_t * | fd, |
| int | indent | ||
| ) |
Serialize a framing decision to canonical JSON.
| fd | Framing decision handle. |
| indent | Number of spaces per indent level (0 for compact). |
| char * fdl_framing_intent_to_json | ( | const fdl_framing_intent_t * | fi, |
| int | indent | ||
| ) |
Serialize a framing intent to canonical JSON.
| fi | Framing intent handle. |
| indent | Number of spaces per indent level (0 for compact). |
| char * fdl_canvas_template_to_json | ( | const fdl_canvas_template_t * | ct, |
| int | indent | ||
| ) |
Serialize a canvas template to canonical JSON.
| ct | Canvas template handle. |
| indent | Number of spaces per indent level (0 for compact). |
| uint32_t fdl_doc_framing_intents_count | ( | fdl_doc_t * | doc | ) |
Get the number of framing intents in the document.
| doc | Document handle. |
| fdl_framing_intent_t * fdl_doc_framing_intent_at | ( | fdl_doc_t * | doc, |
| uint32_t | index | ||
| ) |
Get a framing intent by index.
| doc | Document handle. |
| index | Zero-based index. |
| fdl_framing_intent_t * fdl_doc_framing_intent_find_by_id | ( | fdl_doc_t * | doc, |
| const char * | id | ||
| ) |
Find a framing intent by its ID string.
| doc | Document handle. |
| id | Framing intent ID to search for. |
| uint32_t fdl_doc_contexts_count | ( | fdl_doc_t * | doc | ) |
Get the number of contexts in the document.
| doc | Document handle. |
| fdl_context_t * fdl_doc_context_at | ( | fdl_doc_t * | doc, |
| uint32_t | index | ||
| ) |
Get a context by index.
| doc | Document handle. |
| index | Zero-based index. |
| fdl_context_t * fdl_doc_context_find_by_label | ( | fdl_doc_t * | doc, |
| const char * | label | ||
| ) |
Find a context by its label string.
| doc | Document handle. |
| label | Context label to search for. |
| uint32_t fdl_doc_canvas_templates_count | ( | fdl_doc_t * | doc | ) |
Get the number of canvas templates in the document.
| doc | Document handle. |
| fdl_canvas_template_t * fdl_doc_canvas_template_at | ( | fdl_doc_t * | doc, |
| uint32_t | index | ||
| ) |
Get a canvas template by index.
| doc | Document handle. |
| index | Zero-based index. |
| fdl_canvas_template_t * fdl_doc_canvas_template_find_by_id | ( | fdl_doc_t * | doc, |
| const char * | id | ||
| ) |
Find a canvas template by its ID string.
| doc | Document handle. |
| id | Canvas template ID to search for. |
| uint32_t fdl_context_canvases_count | ( | const fdl_context_t * | ctx | ) |
Get the number of canvases in a context.
| ctx | Context handle. |
| fdl_canvas_t * fdl_context_canvas_at | ( | fdl_context_t * | ctx, |
| uint32_t | index | ||
| ) |
Get a canvas by index within a context.
| ctx | Context handle. |
| index | Zero-based index. |
| fdl_canvas_t * fdl_context_find_canvas_by_id | ( | fdl_context_t * | ctx, |
| const char * | id | ||
| ) |
Find a canvas by its ID within a context.
| ctx | Context handle. |
| id | Canvas ID to search for. |
| uint32_t fdl_canvas_framing_decisions_count | ( | const fdl_canvas_t * | canvas | ) |
Get the number of framing decisions in a canvas.
| canvas | Canvas handle. |
| fdl_framing_decision_t * fdl_canvas_framing_decision_at | ( | fdl_canvas_t * | canvas, |
| uint32_t | index | ||
| ) |
Get a framing decision by index within a canvas.
| canvas | Canvas handle. |
| index | Zero-based index. |
| fdl_framing_decision_t * fdl_canvas_find_framing_decision_by_id | ( | fdl_canvas_t * | canvas, |
| const char * | id | ||
| ) |
Find a framing decision by its ID within a canvas.
| canvas | Canvas handle. |
| id | Framing decision ID to search for. |
| const char * fdl_context_get_label | ( | const fdl_context_t * | ctx | ) |
Get the label of a context.
| ctx | Context handle. |
| const char * fdl_context_get_context_creator | ( | const fdl_context_t * | ctx | ) |
Get the context_creator of a context.
| ctx | Context handle. |
| int fdl_context_has_clip_id | ( | const fdl_context_t * | ctx | ) |
Check if a context has a clip_id.
| ctx | Context handle. |
| const char * fdl_context_get_clip_id | ( | const fdl_context_t * | ctx | ) |
Get clip_id as a JSON string.
| ctx | Context handle. |
< POSIX strdup.
| fdl_clip_id_t * fdl_context_clip_id | ( | fdl_context_t * | ctx | ) |
Get the clip_id handle from a context.
| ctx | Context handle. |
| const char * fdl_clip_id_get_clip_name | ( | const fdl_clip_id_t * | cid | ) |
Get the clip_name from a clip_id.
| cid | Clip ID handle. |
| int fdl_clip_id_has_file | ( | const fdl_clip_id_t * | cid | ) |
Check if a clip_id has a file path.
| cid | Clip ID handle. |
| const char * fdl_clip_id_get_file | ( | const fdl_clip_id_t * | cid | ) |
Get the file path from a clip_id.
| cid | Clip ID handle. |
| int fdl_clip_id_has_sequence | ( | const fdl_clip_id_t * | cid | ) |
Check if a clip_id has a file sequence.
| cid | Clip ID handle. |
| fdl_file_sequence_t * fdl_clip_id_sequence | ( | fdl_clip_id_t * | cid | ) |
Get the file sequence handle from a clip_id.
| cid | Clip ID handle. |
| char * fdl_clip_id_to_json | ( | const fdl_clip_id_t * | cid, |
| int | indent | ||
| ) |
Serialize a clip_id to canonical JSON.
| cid | Clip ID handle. |
| indent | Number of spaces per indent level (0 for compact). |
| const char * fdl_file_sequence_get_value | ( | const fdl_file_sequence_t * | seq | ) |
Get the sequence pattern value string.
| seq | File sequence handle. |
| const char * fdl_file_sequence_get_idx | ( | const fdl_file_sequence_t * | seq | ) |
Get the index variable name.
| seq | File sequence handle. |
| int64_t fdl_file_sequence_get_min | ( | const fdl_file_sequence_t * | seq | ) |
Get the minimum (first) frame number.
| seq | File sequence handle. |
| int64_t fdl_file_sequence_get_max | ( | const fdl_file_sequence_t * | seq | ) |
Get the maximum (last) frame number.
| seq | File sequence handle. |
| const char * fdl_canvas_get_label | ( | const fdl_canvas_t * | canvas | ) |
Get the label of a canvas.
| canvas | Canvas handle. |
| const char * fdl_canvas_get_id | ( | const fdl_canvas_t * | canvas | ) |
Get the ID of a canvas.
| canvas | Canvas handle. |
| const char * fdl_canvas_get_source_canvas_id | ( | const fdl_canvas_t * | canvas | ) |
Get the source_canvas_id of a canvas (the canvas this was derived from).
| canvas | Canvas handle. |
| fdl_dimensions_i64_t fdl_canvas_get_dimensions | ( | const fdl_canvas_t * | canvas | ) |
Get the canvas dimensions in pixels.
| canvas | Canvas handle. |
| int fdl_canvas_has_effective_dimensions | ( | const fdl_canvas_t * | canvas | ) |
Check if the canvas has effective dimensions set.
| canvas | Canvas handle. |
| fdl_dimensions_i64_t fdl_canvas_get_effective_dimensions | ( | const fdl_canvas_t * | canvas | ) |
Get effective (active image area) dimensions.
| canvas | Canvas handle. |
| fdl_point_f64_t fdl_canvas_get_effective_anchor_point | ( | const fdl_canvas_t * | canvas | ) |
Get the effective anchor point (offset from canvas origin).
| canvas | Canvas handle. |
| double fdl_canvas_get_anamorphic_squeeze | ( | const fdl_canvas_t * | canvas | ) |
Get the anamorphic squeeze factor.
| canvas | Canvas handle. |
| int fdl_canvas_has_photosite_dimensions | ( | const fdl_canvas_t * | canvas | ) |
Check if the canvas has photosite dimensions set.
| canvas | Canvas handle. |
| fdl_dimensions_i64_t fdl_canvas_get_photosite_dimensions | ( | const fdl_canvas_t * | canvas | ) |
Get photosite (sensor) dimensions.
| canvas | Canvas handle. |
| int fdl_canvas_has_physical_dimensions | ( | const fdl_canvas_t * | canvas | ) |
Check if the canvas has physical dimensions set.
| canvas | Canvas handle. |
| fdl_dimensions_f64_t fdl_canvas_get_physical_dimensions | ( | const fdl_canvas_t * | canvas | ) |
Get physical dimensions (e.g.
millimeters on sensor).
| canvas | Canvas handle. |
| const char * fdl_framing_decision_get_label | ( | const fdl_framing_decision_t * | fd | ) |
Get the label of a framing decision.
| fd | Framing decision handle. |
| const char * fdl_framing_decision_get_id | ( | const fdl_framing_decision_t * | fd | ) |
Get the ID of a framing decision.
| fd | Framing decision handle. |
| const char * fdl_framing_decision_get_framing_intent_id | ( | const fdl_framing_decision_t * | fd | ) |
Get the framing_intent_id that this framing decision references.
| fd | Framing decision handle. |
| fdl_dimensions_f64_t fdl_framing_decision_get_dimensions | ( | const fdl_framing_decision_t * | fd | ) |
Get the framing decision dimensions (floating-point sub-pixel).
| fd | Framing decision handle. |
| fdl_point_f64_t fdl_framing_decision_get_anchor_point | ( | const fdl_framing_decision_t * | fd | ) |
Get the anchor point of a framing decision.
| fd | Framing decision handle. |
| int fdl_framing_decision_has_protection | ( | const fdl_framing_decision_t * | fd | ) |
Check if a framing decision has protection area set.
| fd | Framing decision handle. |
| fdl_dimensions_f64_t fdl_framing_decision_get_protection_dimensions | ( | const fdl_framing_decision_t * | fd | ) |
Get the protection area dimensions.
| fd | Framing decision handle. |
| fdl_point_f64_t fdl_framing_decision_get_protection_anchor_point | ( | const fdl_framing_decision_t * | fd | ) |
Get the protection anchor point.
| fd | Framing decision handle. |
| const char * fdl_framing_intent_get_label | ( | const fdl_framing_intent_t * | fi | ) |
Get the label of a framing intent.
| fi | Framing intent handle. |
| const char * fdl_framing_intent_get_id | ( | const fdl_framing_intent_t * | fi | ) |
Get the ID of a framing intent.
| fi | Framing intent handle. |
| fdl_dimensions_i64_t fdl_framing_intent_get_aspect_ratio | ( | const fdl_framing_intent_t * | fi | ) |
Get the target aspect ratio of a framing intent.
| fi | Framing intent handle. |
| double fdl_framing_intent_get_protection | ( | const fdl_framing_intent_t * | fi | ) |
Get the protection factor of a framing intent.
| fi | Framing intent handle. |
| const char * fdl_canvas_template_get_label | ( | const fdl_canvas_template_t * | ct | ) |
Get the label of a canvas template.
| ct | Canvas template handle. |
| const char * fdl_canvas_template_get_id | ( | const fdl_canvas_template_t * | ct | ) |
Get the ID of a canvas template.
| ct | Canvas template handle. |
| fdl_dimensions_i64_t fdl_canvas_template_get_target_dimensions | ( | const fdl_canvas_template_t * | ct | ) |
Get the target dimensions of a canvas template.
| ct | Canvas template handle. |
| double fdl_canvas_template_get_target_anamorphic_squeeze | ( | const fdl_canvas_template_t * | ct | ) |
Get the target anamorphic squeeze factor.
| ct | Canvas template handle. |
| fdl_geometry_path_t fdl_canvas_template_get_fit_source | ( | const fdl_canvas_template_t * | ct | ) |
Get the fit source — which dimension layer to scale from.
| ct | Canvas template handle. |
| fdl_fit_method_t fdl_canvas_template_get_fit_method | ( | const fdl_canvas_template_t * | ct | ) |
Get the fit method — how source is scaled into target.
| ct | Canvas template handle. |
| fdl_halign_t fdl_canvas_template_get_alignment_method_horizontal | ( | const fdl_canvas_template_t * | ct | ) |
Get the horizontal alignment method.
| ct | Canvas template handle. |
| fdl_valign_t fdl_canvas_template_get_alignment_method_vertical | ( | const fdl_canvas_template_t * | ct | ) |
Get the vertical alignment method.
| ct | Canvas template handle. |
| int fdl_canvas_template_has_preserve_from_source_canvas | ( | const fdl_canvas_template_t * | ct | ) |
Check if preserve_from_source_canvas is set.
| ct | Canvas template handle. |
| fdl_geometry_path_t fdl_canvas_template_get_preserve_from_source_canvas | ( | const fdl_canvas_template_t * | ct | ) |
Get the preserve_from_source_canvas geometry path.
| ct | Canvas template handle. |
| int fdl_canvas_template_has_maximum_dimensions | ( | const fdl_canvas_template_t * | ct | ) |
Check if maximum_dimensions constraint is set.
| ct | Canvas template handle. |
| fdl_dimensions_i64_t fdl_canvas_template_get_maximum_dimensions | ( | const fdl_canvas_template_t * | ct | ) |
Get the maximum_dimensions constraint.
| ct | Canvas template handle. |
| int fdl_canvas_template_get_pad_to_maximum | ( | const fdl_canvas_template_t * | ct | ) |
Get the pad_to_maximum flag.
| ct | Canvas template handle. |
| fdl_round_strategy_t fdl_canvas_template_get_round | ( | const fdl_canvas_template_t * | ct | ) |
Get the rounding strategy.
| ct | Canvas template handle. |
| int fdl_resolve_geometry_layer | ( | const fdl_canvas_t * | canvas, |
| const fdl_framing_decision_t * | framing, | ||
| fdl_geometry_path_t | path, | ||
| fdl_dimensions_f64_t * | out_dims, | ||
| fdl_point_f64_t * | out_anchor | ||
| ) |
Resolve dimensions and anchor directly from canvas/framing handles for a path.
| canvas | Canvas handle. |
| framing | Framing decision handle. |
| path | Geometry path to resolve. |
| out_dims | [out] Resolved dimensions. |
| out_anchor | [out] Resolved anchor point. |
| fdl_rect_t fdl_make_rect | ( | double | x, |
| double | y, | ||
| double | width, | ||
| double | height | ||
| ) |
Construct a rect from raw coordinates.
| x | Left edge x-coordinate. |
| y | Top edge y-coordinate. |
| width | Rectangle width. |
| height | Rectangle height. |
| fdl_rect_t fdl_canvas_get_rect | ( | const fdl_canvas_t * | canvas | ) |
Get the full canvas rect: (0, 0, dims.width, dims.height).
| canvas | Canvas handle. |
| int fdl_canvas_get_effective_rect | ( | const fdl_canvas_t * | canvas, |
| fdl_rect_t * | out_rect | ||
| ) |
Get the effective (active image) rect of a canvas.
| canvas | Canvas handle. |
| out_rect | [out] Effective rect if present. |
| fdl_rect_t fdl_framing_decision_get_rect | ( | const fdl_framing_decision_t * | fd | ) |
Get the framing decision rect: (anchor.x, anchor.y, dims.width, dims.height).
| fd | Framing decision handle. |
| int fdl_framing_decision_get_protection_rect | ( | const fdl_framing_decision_t * | fd, |
| fdl_rect_t * | out_rect | ||
| ) |
Get the framing decision protection rect.
| fd | Framing decision handle. |
| out_rect | [out] Protection rect if present. |
| fdl_template_result_t fdl_apply_canvas_template | ( | const fdl_canvas_template_t * | tmpl, |
| const fdl_canvas_t * | source_canvas, | ||
| const fdl_framing_decision_t * | source_framing, | ||
| const char * | new_canvas_id, | ||
| const char * | new_fd_name, | ||
| const char * | source_context_label, | ||
| const char * | context_creator | ||
| ) |
Apply a canvas template to a source canvas/framing.
Runs the full template pipeline: normalize, scale, round, offset, crop. Produces a new FDL document with the transformed canvas and framing decision.
| tmpl | Canvas template to apply. |
| source_canvas | Source canvas to transform. |
| source_framing | Source framing decision to transform. |
| new_canvas_id | ID for the output canvas (caller provides). |
| new_fd_name | Name/label for the output framing decision. |
| source_context_label | Label from source context (for label generation, may be NULL). |
| context_creator | Creator string for the output context. |
| void fdl_template_result_free | ( | fdl_template_result_t * | result | ) |
Free a template result (doc + all allocated strings).
Safe to call with NULL.
| result | Template result to free. |
| fdl_resolve_canvas_result_t fdl_context_resolve_canvas_for_dimensions | ( | fdl_context_t * | ctx, |
| fdl_dimensions_f64_t | input_dims, | ||
| fdl_canvas_t * | canvas, | ||
| fdl_framing_decision_t * | framing | ||
| ) |
Resolve canvas for given input dimensions.
If input_dims match the canvas dimensions, returns the original canvas/framing with was_resolved=0. If they don't match and the canvas is derived (id != source_canvas_id), searches sibling canvases for one with matching dimensions and a framing decision with the same label.
| ctx | Context containing the canvases to search. |
| input_dims | Input dimensions to match against. |
| canvas | Starting canvas (may be returned if dimensions match). |
| framing | Starting framing decision (label used for matching). |
< POSIX strdup.
< POSIX strdup.
< POSIX strdup.
| fdl_doc_t * fdl_doc_create_with_header | ( | const char * | uuid, |
| int | version_major, | ||
| int | version_minor, | ||
| const char * | fdl_creator, | ||
| const char * | default_framing_intent | ||
| ) |
Create a new FDL document with header fields and empty collections.
| uuid | Document UUID. |
| version_major | FDL version major number. |
| version_minor | FDL version minor number. |
| fdl_creator | Creator identifier string. |
| default_framing_intent | Default framing intent ID, or NULL. |
| void fdl_doc_set_uuid | ( | fdl_doc_t * | doc, |
| const char * | uuid | ||
| ) |
Set the UUID on a document.
| doc | Document handle. |
| uuid | New UUID string. |
| void fdl_doc_set_fdl_creator | ( | fdl_doc_t * | doc, |
| const char * | creator | ||
| ) |
Set the fdl_creator on a document.
| doc | Document handle. |
| creator | New creator string. |
| void fdl_doc_set_default_framing_intent | ( | fdl_doc_t * | doc, |
| const char * | fi_id | ||
| ) |
Set the default_framing_intent on a document.
| doc | Document handle. |
| fi_id | Framing intent ID, or NULL to clear. |
| void fdl_doc_set_version | ( | fdl_doc_t * | doc, |
| int | major, | ||
| int | minor | ||
| ) |
Set the FDL version on a document.
| doc | Document handle. |
| major | Version major number. |
| minor | Version minor number. |
| fdl_framing_intent_t * fdl_doc_add_framing_intent | ( | fdl_doc_t * | doc, |
| const char * | id, | ||
| const char * | label, | ||
| int64_t | aspect_w, | ||
| int64_t | aspect_h, | ||
| double | protection | ||
| ) |
Add a framing intent to the document.
| doc | Document handle. |
| id | Framing intent ID. |
| label | Display label. |
| aspect_w | Aspect ratio width component. |
| aspect_h | Aspect ratio height component. |
| protection | Protection factor (0.0 for no protection). |
| fdl_context_t * fdl_doc_add_context | ( | fdl_doc_t * | doc, |
| const char * | label, | ||
| const char * | context_creator | ||
| ) |
Add a context to the document.
| doc | Document handle. |
| label | Context label. |
| context_creator | Creator identifier string. |
| fdl_canvas_t * fdl_context_add_canvas | ( | fdl_context_t * | ctx, |
| const char * | id, | ||
| const char * | label, | ||
| const char * | source_canvas_id, | ||
| int64_t | dim_w, | ||
| int64_t | dim_h, | ||
| double | squeeze | ||
| ) |
Add a canvas to a context.
| ctx | Context handle. |
| id | Canvas ID. |
| label | Display label. |
| source_canvas_id | Source canvas ID (for derived canvases; equals id for originals). |
| dim_w | Canvas width in pixels. |
| dim_h | Canvas height in pixels. |
| squeeze | Anamorphic squeeze factor (1.0 for non-anamorphic). |
| void fdl_canvas_set_effective_dimensions | ( | fdl_canvas_t * | canvas, |
| fdl_dimensions_i64_t | dims, | ||
| fdl_point_f64_t | anchor | ||
| ) |
Set effective dimensions and anchor on a canvas.
| canvas | Canvas handle. |
| dims | Effective dimensions. |
| anchor | Effective anchor point. |
| void fdl_canvas_set_photosite_dimensions | ( | fdl_canvas_t * | canvas, |
| fdl_dimensions_i64_t | dims | ||
| ) |
Set photosite dimensions on a canvas.
| canvas | Canvas handle. |
| dims | Photosite (sensor) dimensions. |
| void fdl_canvas_set_physical_dimensions | ( | fdl_canvas_t * | canvas, |
| fdl_dimensions_f64_t | dims | ||
| ) |
Set physical dimensions on a canvas.
| canvas | Canvas handle. |
| dims | Physical dimensions (e.g. millimeters on sensor). |
| fdl_framing_decision_t * fdl_canvas_add_framing_decision | ( | fdl_canvas_t * | canvas, |
| const char * | id, | ||
| const char * | label, | ||
| const char * | framing_intent_id, | ||
| double | dim_w, | ||
| double | dim_h, | ||
| double | anchor_x, | ||
| double | anchor_y | ||
| ) |
Add a framing decision to a canvas.
| canvas | Canvas handle. |
| id | Framing decision ID. |
| label | Display label. |
| framing_intent_id | ID of the framing intent this decision implements. |
| dim_w | Framing width. |
| dim_h | Framing height. |
| anchor_x | Anchor x-coordinate. |
| anchor_y | Anchor y-coordinate. |
| fdl_canvas_template_t * fdl_doc_add_canvas_template | ( | fdl_doc_t * | doc, |
| const char * | id, | ||
| const char * | label, | ||
| int64_t | target_w, | ||
| int64_t | target_h, | ||
| double | target_squeeze, | ||
| fdl_geometry_path_t | fit_source, | ||
| fdl_fit_method_t | fit_method, | ||
| fdl_halign_t | halign, | ||
| fdl_valign_t | valign, | ||
| fdl_round_strategy_t | rounding | ||
| ) |
Add a canvas template to the document.
| doc | Document handle. |
| id | Canvas template ID. |
| label | Display label. |
| target_w | Target width in pixels. |
| target_h | Target height in pixels. |
| target_squeeze | Target anamorphic squeeze factor. |
| fit_source | Geometry path to scale from. |
| fit_method | How source is scaled into target. |
| halign | Horizontal alignment. |
| valign | Vertical alignment. |
| rounding | Rounding strategy. |
| void fdl_canvas_template_set_preserve_from_source_canvas | ( | fdl_canvas_template_t * | ct, |
| fdl_geometry_path_t | path | ||
| ) |
Set preserve_from_source_canvas on a canvas template.
| ct | Canvas template handle. |
| path | Geometry path to preserve from the source canvas. |
| void fdl_canvas_template_set_maximum_dimensions | ( | fdl_canvas_template_t * | ct, |
| fdl_dimensions_i64_t | dims | ||
| ) |
Set maximum_dimensions on a canvas template.
| ct | Canvas template handle. |
| dims | Maximum allowed output dimensions. |
| void fdl_canvas_template_set_pad_to_maximum | ( | fdl_canvas_template_t * | ct, |
| int | pad | ||
| ) |
Set pad_to_maximum flag on a canvas template.
| ct | Canvas template handle. |
| pad | FDL_TRUE to pad output to maximum dimensions, FDL_FALSE otherwise. |
| void fdl_framing_decision_set_protection | ( | fdl_framing_decision_t * | fd, |
| fdl_dimensions_f64_t | dims, | ||
| fdl_point_f64_t | anchor | ||
| ) |
Set protection dimensions and anchor on a framing decision.
| fd | Framing decision handle. |
| dims | Protection dimensions. |
| anchor | Protection anchor point. |
| void fdl_framing_intent_set_aspect_ratio | ( | fdl_framing_intent_t * | fi, |
| fdl_dimensions_i64_t | dims | ||
| ) |
Set aspect ratio on a framing intent.
| fi | Framing intent handle. |
| dims | Aspect ratio as integer width:height (e.g. {16, 9}). |
| void fdl_framing_intent_set_protection | ( | fdl_framing_intent_t * | fi, |
| double | protection | ||
| ) |
Set protection factor on a framing intent.
| fi | Framing intent handle. |
| protection | Protection factor (0.0 for no protection). |
| void fdl_canvas_set_dimensions | ( | fdl_canvas_t * | canvas, |
| fdl_dimensions_i64_t | dims | ||
| ) |
Set dimensions on a canvas.
| canvas | Canvas handle. |
| dims | New canvas dimensions. |
| void fdl_canvas_set_anamorphic_squeeze | ( | fdl_canvas_t * | canvas, |
| double | squeeze | ||
| ) |
Set anamorphic squeeze on a canvas.
| canvas | Canvas handle. |
| squeeze | New anamorphic squeeze factor. |
| void fdl_canvas_set_effective_dims_only | ( | fdl_canvas_t * | canvas, |
| fdl_dimensions_i64_t | dims | ||
| ) |
Set effective dimensions on a canvas.
Creates anchor at {0, 0} if effective anchor is not already set.
| canvas | Canvas handle. |
| dims | Effective dimensions. |
| void fdl_canvas_remove_effective | ( | fdl_canvas_t * | canvas | ) |
Remove effective dimensions and anchor from a canvas.
| canvas | Canvas handle. |
| void fdl_framing_decision_set_dimensions | ( | fdl_framing_decision_t * | fd, |
| fdl_dimensions_f64_t | dims | ||
| ) |
Set dimensions on a framing decision.
| fd | Framing decision handle. |
| dims | New framing dimensions. |
| void fdl_framing_decision_set_anchor_point | ( | fdl_framing_decision_t * | fd, |
| fdl_point_f64_t | point | ||
| ) |
Set anchor point on a framing decision.
| fd | Framing decision handle. |
| point | New anchor point. |
| void fdl_framing_decision_set_protection_dimensions | ( | fdl_framing_decision_t * | fd, |
| fdl_dimensions_f64_t | dims | ||
| ) |
Set protection dimensions on a framing decision (without changing anchor).
| fd | Framing decision handle. |
| dims | New protection dimensions. |
| void fdl_framing_decision_set_protection_anchor_point | ( | fdl_framing_decision_t * | fd, |
| fdl_point_f64_t | point | ||
| ) |
Set protection anchor point on a framing decision (without changing dimensions).
| fd | Framing decision handle. |
| point | New protection anchor point. |
| void fdl_framing_decision_remove_protection | ( | fdl_framing_decision_t * | fd | ) |
Remove protection dimensions and anchor from a framing decision.
| fd | Framing decision handle. |
| void fdl_framing_decision_adjust_anchor | ( | fdl_framing_decision_t * | fd, |
| const fdl_canvas_t * | canvas, | ||
| fdl_halign_t | h_align, | ||
| fdl_valign_t | v_align | ||
| ) |
Adjust anchor_point on a framing decision based on alignment within canvas.
Reads canvas dimensions and framing dimensions, then computes the aligned anchor position according to the specified alignment.
| fd | Framing decision to modify. |
| canvas | Canvas providing the bounding dimensions. |
| h_align | Horizontal alignment (LEFT, CENTER, or RIGHT). |
| v_align | Vertical alignment (TOP, CENTER, or BOTTOM). |
| void fdl_framing_decision_adjust_protection_anchor | ( | fdl_framing_decision_t * | fd, |
| const fdl_canvas_t * | canvas, | ||
| fdl_halign_t | h_align, | ||
| fdl_valign_t | v_align | ||
| ) |
Adjust protection_anchor_point on a framing decision based on alignment within canvas.
Reads canvas dimensions and protection_dimensions, then computes the aligned protection anchor position.
| fd | Framing decision to modify. |
| canvas | Canvas providing the bounding dimensions. |
| h_align | Horizontal alignment. |
| v_align | Vertical alignment. |
| void fdl_framing_decision_populate_from_intent | ( | fdl_framing_decision_t * | fd, |
| const fdl_canvas_t * | canvas, | ||
| const fdl_framing_intent_t * | intent, | ||
| fdl_round_strategy_t | rounding | ||
| ) |
Populate a framing decision from a canvas and framing intent.
Extracts values from canvas/intent handles, calls the framing computation, and writes dimensions, anchor_point, and optionally protection to the framing decision.
| fd | Framing decision to populate. |
| canvas | Source canvas (provides dimensions and squeeze). |
| intent | Framing intent (provides aspect ratio and protection). |
| rounding | Rounding strategy for the computed values. |
| const char * fdl_context_set_clip_id_json | ( | fdl_context_t * | ctx, |
| const char * | json_str, | ||
| size_t | json_len | ||
| ) |
Set clip_id on a context from a JSON string.
Validates mutual exclusion (file vs sequence) before setting.
| ctx | Context handle. |
| json_str | JSON string representing the clip_id object. |
| json_len | Length of json_str in bytes. |
< POSIX strdup.
< POSIX strdup.
< POSIX strdup.
| void fdl_context_remove_clip_id | ( | fdl_context_t * | ctx | ) |
Remove clip_id from a context.
Safe to call if not present.
| ctx | Context handle. |
| const char * fdl_clip_id_validate_json | ( | const char * | json_str, |
| size_t | json_len | ||
| ) |
Validate clip_id JSON for mutual exclusion (file vs sequence).
| json_str | JSON string to validate. |
| json_len | Length of json_str in bytes. |
< POSIX strdup.
< POSIX strdup.
< POSIX strdup.
< POSIX strdup.
| fdl_validation_result_t * fdl_doc_validate | ( | const fdl_doc_t * | doc | ) |
Run schema and semantic validators on the document.
Schema validation (JSON Schema Draft 2020-12) runs first; semantic validators (referential integrity, value range checks) run only if the document is structurally valid.
| doc | Document to validate. |
| uint32_t fdl_validation_result_error_count | ( | const fdl_validation_result_t * | result | ) |
Get the number of validation errors.
| result | Validation result handle. |
| const char * fdl_validation_result_error_at | ( | const fdl_validation_result_t * | result, |
| uint32_t | index | ||
| ) |
Get a specific error message by index.
| result | Validation result handle. |
| index | Zero-based error index. |
| void fdl_validation_result_free | ( | fdl_validation_result_t * | result | ) |
Free a validation result.
Safe to call with NULL.
| result | Validation result to free, or NULL (no-op). |
| void fdl_free | ( | void * | ptr | ) |
Free memory allocated by fdl_core functions.
Use this for strings returned by serialization, error messages, and other heap-allocated values. Safe to call with NULL.
| ptr | Pointer to free, or NULL (no-op). |
| int fdl_doc_set_custom_attr_string | ( | fdl_doc_t * | h, |
| const char * | name, | ||
| const char * | value | ||
| ) |
Set a string custom attribute.
| int fdl_doc_set_custom_attr_int | ( | fdl_doc_t * | h, |
| const char * | name, | ||
| int64_t | value | ||
| ) |
Set an integer custom attribute.
| int fdl_doc_set_custom_attr_float | ( | fdl_doc_t * | h, |
| const char * | name, | ||
| double | value | ||
| ) |
Set a float custom attribute.
| int fdl_doc_set_custom_attr_bool | ( | fdl_doc_t * | h, |
| const char * | name, | ||
| int | value | ||
| ) |
Set a boolean custom attribute.
| const char * fdl_doc_get_custom_attr_string | ( | const fdl_doc_t * | h, |
| const char * | name | ||
| ) |
Get a string custom attribute.
| int fdl_doc_get_custom_attr_int | ( | const fdl_doc_t * | h, |
| const char * | name, | ||
| int64_t * | out | ||
| ) |
Get an integer custom attribute.
| int fdl_doc_get_custom_attr_float | ( | const fdl_doc_t * | h, |
| const char * | name, | ||
| double * | out | ||
| ) |
Get a float custom attribute.
| int fdl_doc_get_custom_attr_bool | ( | const fdl_doc_t * | h, |
| const char * | name, | ||
| int * | out | ||
| ) |
Get a boolean custom attribute.
| int fdl_doc_has_custom_attr | ( | const fdl_doc_t * | h, |
| const char * | name | ||
| ) |
Check if a custom attribute exists.
| fdl_custom_attr_type_t fdl_doc_get_custom_attr_type | ( | const fdl_doc_t * | h, |
| const char * | name | ||
| ) |
Get the type of a custom attribute.
| int fdl_doc_remove_custom_attr | ( | fdl_doc_t * | h, |
| const char * | name | ||
| ) |
Remove a custom attribute.
| const char * fdl_doc_custom_attr_name_at | ( | const fdl_doc_t * | h, |
| uint32_t | index | ||
| ) |
Get name of custom attribute at index (without '_' prefix).
| int fdl_doc_set_custom_attr_point_f64 | ( | fdl_doc_t * | h, |
| const char * | name, | ||
| fdl_point_f64_t | value | ||
| ) |
Set a point_f64 custom attribute.
| int fdl_doc_get_custom_attr_point_f64 | ( | const fdl_doc_t * | h, |
| const char * | name, | ||
| fdl_point_f64_t * | out | ||
| ) |
Get a point_f64 custom attribute.
| int fdl_doc_set_custom_attr_dims_f64 | ( | fdl_doc_t * | h, |
| const char * | name, | ||
| fdl_dimensions_f64_t | value | ||
| ) |
Set a dims_f64 custom attribute.
| int fdl_doc_get_custom_attr_dims_f64 | ( | const fdl_doc_t * | h, |
| const char * | name, | ||
| fdl_dimensions_f64_t * | out | ||
| ) |
Get a dims_f64 custom attribute.
| int fdl_doc_set_custom_attr_dims_i64 | ( | fdl_doc_t * | h, |
| const char * | name, | ||
| fdl_dimensions_i64_t | value | ||
| ) |
Set a dims_i64 custom attribute.
| int fdl_doc_get_custom_attr_dims_i64 | ( | const fdl_doc_t * | h, |
| const char * | name, | ||
| fdl_dimensions_i64_t * | out | ||
| ) |
Get a dims_i64 custom attribute.
| int fdl_context_set_custom_attr_string | ( | fdl_context_t * | h, |
| const char * | name, | ||
| const char * | value | ||
| ) |
Set a string custom attribute.
| int fdl_context_set_custom_attr_int | ( | fdl_context_t * | h, |
| const char * | name, | ||
| int64_t | value | ||
| ) |
Set an integer custom attribute.
| int fdl_context_set_custom_attr_float | ( | fdl_context_t * | h, |
| const char * | name, | ||
| double | value | ||
| ) |
Set a float custom attribute.
| int fdl_context_set_custom_attr_bool | ( | fdl_context_t * | h, |
| const char * | name, | ||
| int | value | ||
| ) |
Set a boolean custom attribute.
| const char * fdl_context_get_custom_attr_string | ( | const fdl_context_t * | h, |
| const char * | name | ||
| ) |
Get a string custom attribute.
| int fdl_context_get_custom_attr_int | ( | const fdl_context_t * | h, |
| const char * | name, | ||
| int64_t * | out | ||
| ) |
Get an integer custom attribute.
| int fdl_context_get_custom_attr_float | ( | const fdl_context_t * | h, |
| const char * | name, | ||
| double * | out | ||
| ) |
Get a float custom attribute.
| int fdl_context_get_custom_attr_bool | ( | const fdl_context_t * | h, |
| const char * | name, | ||
| int * | out | ||
| ) |
Get a boolean custom attribute.
| int fdl_context_has_custom_attr | ( | const fdl_context_t * | h, |
| const char * | name | ||
| ) |
Check if a custom attribute exists.
| fdl_custom_attr_type_t fdl_context_get_custom_attr_type | ( | const fdl_context_t * | h, |
| const char * | name | ||
| ) |
Get the type of a custom attribute.
| int fdl_context_remove_custom_attr | ( | fdl_context_t * | h, |
| const char * | name | ||
| ) |
Remove a custom attribute.
| const char * fdl_context_custom_attr_name_at | ( | const fdl_context_t * | h, |
| uint32_t | index | ||
| ) |
Get name of custom attribute at index (without '_' prefix).
| int fdl_context_set_custom_attr_point_f64 | ( | fdl_context_t * | h, |
| const char * | name, | ||
| fdl_point_f64_t | value | ||
| ) |
Set a point_f64 custom attribute.
| int fdl_context_get_custom_attr_point_f64 | ( | const fdl_context_t * | h, |
| const char * | name, | ||
| fdl_point_f64_t * | out | ||
| ) |
Get a point_f64 custom attribute.
| int fdl_context_set_custom_attr_dims_f64 | ( | fdl_context_t * | h, |
| const char * | name, | ||
| fdl_dimensions_f64_t | value | ||
| ) |
Set a dims_f64 custom attribute.
| int fdl_context_get_custom_attr_dims_f64 | ( | const fdl_context_t * | h, |
| const char * | name, | ||
| fdl_dimensions_f64_t * | out | ||
| ) |
Get a dims_f64 custom attribute.
| int fdl_context_set_custom_attr_dims_i64 | ( | fdl_context_t * | h, |
| const char * | name, | ||
| fdl_dimensions_i64_t | value | ||
| ) |
Set a dims_i64 custom attribute.
| int fdl_context_get_custom_attr_dims_i64 | ( | const fdl_context_t * | h, |
| const char * | name, | ||
| fdl_dimensions_i64_t * | out | ||
| ) |
Get a dims_i64 custom attribute.
| int fdl_canvas_set_custom_attr_string | ( | fdl_canvas_t * | h, |
| const char * | name, | ||
| const char * | value | ||
| ) |
Set a string custom attribute.
| int fdl_canvas_set_custom_attr_int | ( | fdl_canvas_t * | h, |
| const char * | name, | ||
| int64_t | value | ||
| ) |
Set an integer custom attribute.
| int fdl_canvas_set_custom_attr_float | ( | fdl_canvas_t * | h, |
| const char * | name, | ||
| double | value | ||
| ) |
Set a float custom attribute.
| int fdl_canvas_set_custom_attr_bool | ( | fdl_canvas_t * | h, |
| const char * | name, | ||
| int | value | ||
| ) |
Set a boolean custom attribute.
| const char * fdl_canvas_get_custom_attr_string | ( | const fdl_canvas_t * | h, |
| const char * | name | ||
| ) |
Get a string custom attribute.
| int fdl_canvas_get_custom_attr_int | ( | const fdl_canvas_t * | h, |
| const char * | name, | ||
| int64_t * | out | ||
| ) |
Get an integer custom attribute.
| int fdl_canvas_get_custom_attr_float | ( | const fdl_canvas_t * | h, |
| const char * | name, | ||
| double * | out | ||
| ) |
Get a float custom attribute.
| int fdl_canvas_get_custom_attr_bool | ( | const fdl_canvas_t * | h, |
| const char * | name, | ||
| int * | out | ||
| ) |
Get a boolean custom attribute.
| int fdl_canvas_has_custom_attr | ( | const fdl_canvas_t * | h, |
| const char * | name | ||
| ) |
Check if a custom attribute exists.
| fdl_custom_attr_type_t fdl_canvas_get_custom_attr_type | ( | const fdl_canvas_t * | h, |
| const char * | name | ||
| ) |
Get the type of a custom attribute.
| int fdl_canvas_remove_custom_attr | ( | fdl_canvas_t * | h, |
| const char * | name | ||
| ) |
Remove a custom attribute.
| const char * fdl_canvas_custom_attr_name_at | ( | const fdl_canvas_t * | h, |
| uint32_t | index | ||
| ) |
Get name of custom attribute at index (without '_' prefix).
| int fdl_canvas_set_custom_attr_point_f64 | ( | fdl_canvas_t * | h, |
| const char * | name, | ||
| fdl_point_f64_t | value | ||
| ) |
Set a point_f64 custom attribute.
| int fdl_canvas_get_custom_attr_point_f64 | ( | const fdl_canvas_t * | h, |
| const char * | name, | ||
| fdl_point_f64_t * | out | ||
| ) |
Get a point_f64 custom attribute.
| int fdl_canvas_set_custom_attr_dims_f64 | ( | fdl_canvas_t * | h, |
| const char * | name, | ||
| fdl_dimensions_f64_t | value | ||
| ) |
Set a dims_f64 custom attribute.
| int fdl_canvas_get_custom_attr_dims_f64 | ( | const fdl_canvas_t * | h, |
| const char * | name, | ||
| fdl_dimensions_f64_t * | out | ||
| ) |
Get a dims_f64 custom attribute.
| int fdl_canvas_set_custom_attr_dims_i64 | ( | fdl_canvas_t * | h, |
| const char * | name, | ||
| fdl_dimensions_i64_t | value | ||
| ) |
Set a dims_i64 custom attribute.
| int fdl_canvas_get_custom_attr_dims_i64 | ( | const fdl_canvas_t * | h, |
| const char * | name, | ||
| fdl_dimensions_i64_t * | out | ||
| ) |
Get a dims_i64 custom attribute.
| int fdl_framing_decision_set_custom_attr_string | ( | fdl_framing_decision_t * | h, |
| const char * | name, | ||
| const char * | value | ||
| ) |
Set a string custom attribute.
| int fdl_framing_decision_set_custom_attr_int | ( | fdl_framing_decision_t * | h, |
| const char * | name, | ||
| int64_t | value | ||
| ) |
Set an integer custom attribute.
| int fdl_framing_decision_set_custom_attr_float | ( | fdl_framing_decision_t * | h, |
| const char * | name, | ||
| double | value | ||
| ) |
Set a float custom attribute.
| int fdl_framing_decision_set_custom_attr_bool | ( | fdl_framing_decision_t * | h, |
| const char * | name, | ||
| int | value | ||
| ) |
Set a boolean custom attribute.
| const char * fdl_framing_decision_get_custom_attr_string | ( | const fdl_framing_decision_t * | h, |
| const char * | name | ||
| ) |
Get a string custom attribute.
| int fdl_framing_decision_get_custom_attr_int | ( | const fdl_framing_decision_t * | h, |
| const char * | name, | ||
| int64_t * | out | ||
| ) |
Get an integer custom attribute.
| int fdl_framing_decision_get_custom_attr_float | ( | const fdl_framing_decision_t * | h, |
| const char * | name, | ||
| double * | out | ||
| ) |
Get a float custom attribute.
| int fdl_framing_decision_get_custom_attr_bool | ( | const fdl_framing_decision_t * | h, |
| const char * | name, | ||
| int * | out | ||
| ) |
Get a boolean custom attribute.
| int fdl_framing_decision_has_custom_attr | ( | const fdl_framing_decision_t * | h, |
| const char * | name | ||
| ) |
Check if a custom attribute exists.
| fdl_custom_attr_type_t fdl_framing_decision_get_custom_attr_type | ( | const fdl_framing_decision_t * | h, |
| const char * | name | ||
| ) |
Get the type of a custom attribute.
| int fdl_framing_decision_remove_custom_attr | ( | fdl_framing_decision_t * | h, |
| const char * | name | ||
| ) |
Remove a custom attribute.
| const char * fdl_framing_decision_custom_attr_name_at | ( | const fdl_framing_decision_t * | h, |
| uint32_t | index | ||
| ) |
Get name of custom attribute at index (without '_' prefix).
| int fdl_framing_decision_set_custom_attr_point_f64 | ( | fdl_framing_decision_t * | h, |
| const char * | name, | ||
| fdl_point_f64_t | value | ||
| ) |
Set a point_f64 custom attribute.
| int fdl_framing_decision_get_custom_attr_point_f64 | ( | const fdl_framing_decision_t * | h, |
| const char * | name, | ||
| fdl_point_f64_t * | out | ||
| ) |
Get a point_f64 custom attribute.
| int fdl_framing_decision_set_custom_attr_dims_f64 | ( | fdl_framing_decision_t * | h, |
| const char * | name, | ||
| fdl_dimensions_f64_t | value | ||
| ) |
Set a dims_f64 custom attribute.
| int fdl_framing_decision_get_custom_attr_dims_f64 | ( | const fdl_framing_decision_t * | h, |
| const char * | name, | ||
| fdl_dimensions_f64_t * | out | ||
| ) |
Get a dims_f64 custom attribute.
| int fdl_framing_decision_set_custom_attr_dims_i64 | ( | fdl_framing_decision_t * | h, |
| const char * | name, | ||
| fdl_dimensions_i64_t | value | ||
| ) |
Set a dims_i64 custom attribute.
| int fdl_framing_decision_get_custom_attr_dims_i64 | ( | const fdl_framing_decision_t * | h, |
| const char * | name, | ||
| fdl_dimensions_i64_t * | out | ||
| ) |
Get a dims_i64 custom attribute.
| int fdl_framing_intent_set_custom_attr_string | ( | fdl_framing_intent_t * | h, |
| const char * | name, | ||
| const char * | value | ||
| ) |
Set a string custom attribute.
| int fdl_framing_intent_set_custom_attr_int | ( | fdl_framing_intent_t * | h, |
| const char * | name, | ||
| int64_t | value | ||
| ) |
Set an integer custom attribute.
| int fdl_framing_intent_set_custom_attr_float | ( | fdl_framing_intent_t * | h, |
| const char * | name, | ||
| double | value | ||
| ) |
Set a float custom attribute.
| int fdl_framing_intent_set_custom_attr_bool | ( | fdl_framing_intent_t * | h, |
| const char * | name, | ||
| int | value | ||
| ) |
Set a boolean custom attribute.
| const char * fdl_framing_intent_get_custom_attr_string | ( | const fdl_framing_intent_t * | h, |
| const char * | name | ||
| ) |
Get a string custom attribute.
| int fdl_framing_intent_get_custom_attr_int | ( | const fdl_framing_intent_t * | h, |
| const char * | name, | ||
| int64_t * | out | ||
| ) |
Get an integer custom attribute.
| int fdl_framing_intent_get_custom_attr_float | ( | const fdl_framing_intent_t * | h, |
| const char * | name, | ||
| double * | out | ||
| ) |
Get a float custom attribute.
| int fdl_framing_intent_get_custom_attr_bool | ( | const fdl_framing_intent_t * | h, |
| const char * | name, | ||
| int * | out | ||
| ) |
Get a boolean custom attribute.
| int fdl_framing_intent_has_custom_attr | ( | const fdl_framing_intent_t * | h, |
| const char * | name | ||
| ) |
Check if a custom attribute exists.
| fdl_custom_attr_type_t fdl_framing_intent_get_custom_attr_type | ( | const fdl_framing_intent_t * | h, |
| const char * | name | ||
| ) |
Get the type of a custom attribute.
| int fdl_framing_intent_remove_custom_attr | ( | fdl_framing_intent_t * | h, |
| const char * | name | ||
| ) |
Remove a custom attribute.
| const char * fdl_framing_intent_custom_attr_name_at | ( | const fdl_framing_intent_t * | h, |
| uint32_t | index | ||
| ) |
Get name of custom attribute at index (without '_' prefix).
| int fdl_framing_intent_set_custom_attr_point_f64 | ( | fdl_framing_intent_t * | h, |
| const char * | name, | ||
| fdl_point_f64_t | value | ||
| ) |
Set a point_f64 custom attribute.
| int fdl_framing_intent_get_custom_attr_point_f64 | ( | const fdl_framing_intent_t * | h, |
| const char * | name, | ||
| fdl_point_f64_t * | out | ||
| ) |
Get a point_f64 custom attribute.
| int fdl_framing_intent_set_custom_attr_dims_f64 | ( | fdl_framing_intent_t * | h, |
| const char * | name, | ||
| fdl_dimensions_f64_t | value | ||
| ) |
Set a dims_f64 custom attribute.
| int fdl_framing_intent_get_custom_attr_dims_f64 | ( | const fdl_framing_intent_t * | h, |
| const char * | name, | ||
| fdl_dimensions_f64_t * | out | ||
| ) |
Get a dims_f64 custom attribute.
| int fdl_framing_intent_set_custom_attr_dims_i64 | ( | fdl_framing_intent_t * | h, |
| const char * | name, | ||
| fdl_dimensions_i64_t | value | ||
| ) |
Set a dims_i64 custom attribute.
| int fdl_framing_intent_get_custom_attr_dims_i64 | ( | const fdl_framing_intent_t * | h, |
| const char * | name, | ||
| fdl_dimensions_i64_t * | out | ||
| ) |
Get a dims_i64 custom attribute.
| int fdl_canvas_template_set_custom_attr_string | ( | fdl_canvas_template_t * | h, |
| const char * | name, | ||
| const char * | value | ||
| ) |
Set a string custom attribute.
| int fdl_canvas_template_set_custom_attr_int | ( | fdl_canvas_template_t * | h, |
| const char * | name, | ||
| int64_t | value | ||
| ) |
Set an integer custom attribute.
| int fdl_canvas_template_set_custom_attr_float | ( | fdl_canvas_template_t * | h, |
| const char * | name, | ||
| double | value | ||
| ) |
Set a float custom attribute.
| int fdl_canvas_template_set_custom_attr_bool | ( | fdl_canvas_template_t * | h, |
| const char * | name, | ||
| int | value | ||
| ) |
Set a boolean custom attribute.
| const char * fdl_canvas_template_get_custom_attr_string | ( | const fdl_canvas_template_t * | h, |
| const char * | name | ||
| ) |
Get a string custom attribute.
| int fdl_canvas_template_get_custom_attr_int | ( | const fdl_canvas_template_t * | h, |
| const char * | name, | ||
| int64_t * | out | ||
| ) |
Get an integer custom attribute.
| int fdl_canvas_template_get_custom_attr_float | ( | const fdl_canvas_template_t * | h, |
| const char * | name, | ||
| double * | out | ||
| ) |
Get a float custom attribute.
| int fdl_canvas_template_get_custom_attr_bool | ( | const fdl_canvas_template_t * | h, |
| const char * | name, | ||
| int * | out | ||
| ) |
Get a boolean custom attribute.
| int fdl_canvas_template_has_custom_attr | ( | const fdl_canvas_template_t * | h, |
| const char * | name | ||
| ) |
Check if a custom attribute exists.
| fdl_custom_attr_type_t fdl_canvas_template_get_custom_attr_type | ( | const fdl_canvas_template_t * | h, |
| const char * | name | ||
| ) |
Get the type of a custom attribute.
| int fdl_canvas_template_remove_custom_attr | ( | fdl_canvas_template_t * | h, |
| const char * | name | ||
| ) |
Remove a custom attribute.
| const char * fdl_canvas_template_custom_attr_name_at | ( | const fdl_canvas_template_t * | h, |
| uint32_t | index | ||
| ) |
Get name of custom attribute at index (without '_' prefix).
| int fdl_canvas_template_set_custom_attr_point_f64 | ( | fdl_canvas_template_t * | h, |
| const char * | name, | ||
| fdl_point_f64_t | value | ||
| ) |
Set a point_f64 custom attribute.
| int fdl_canvas_template_get_custom_attr_point_f64 | ( | const fdl_canvas_template_t * | h, |
| const char * | name, | ||
| fdl_point_f64_t * | out | ||
| ) |
Get a point_f64 custom attribute.
| int fdl_canvas_template_set_custom_attr_dims_f64 | ( | fdl_canvas_template_t * | h, |
| const char * | name, | ||
| fdl_dimensions_f64_t | value | ||
| ) |
Set a dims_f64 custom attribute.
| int fdl_canvas_template_get_custom_attr_dims_f64 | ( | const fdl_canvas_template_t * | h, |
| const char * | name, | ||
| fdl_dimensions_f64_t * | out | ||
| ) |
Get a dims_f64 custom attribute.
| int fdl_canvas_template_set_custom_attr_dims_i64 | ( | fdl_canvas_template_t * | h, |
| const char * | name, | ||
| fdl_dimensions_i64_t | value | ||
| ) |
Set a dims_i64 custom attribute.
| int fdl_canvas_template_get_custom_attr_dims_i64 | ( | const fdl_canvas_template_t * | h, |
| const char * | name, | ||
| fdl_dimensions_i64_t * | out | ||
| ) |
Get a dims_i64 custom attribute.
| int fdl_clip_id_set_custom_attr_string | ( | fdl_clip_id_t * | h, |
| const char * | name, | ||
| const char * | value | ||
| ) |
Set a string custom attribute.
| int fdl_clip_id_set_custom_attr_int | ( | fdl_clip_id_t * | h, |
| const char * | name, | ||
| int64_t | value | ||
| ) |
Set an integer custom attribute.
| int fdl_clip_id_set_custom_attr_float | ( | fdl_clip_id_t * | h, |
| const char * | name, | ||
| double | value | ||
| ) |
Set a float custom attribute.
| int fdl_clip_id_set_custom_attr_bool | ( | fdl_clip_id_t * | h, |
| const char * | name, | ||
| int | value | ||
| ) |
Set a boolean custom attribute.
| const char * fdl_clip_id_get_custom_attr_string | ( | const fdl_clip_id_t * | h, |
| const char * | name | ||
| ) |
Get a string custom attribute.
| int fdl_clip_id_get_custom_attr_int | ( | const fdl_clip_id_t * | h, |
| const char * | name, | ||
| int64_t * | out | ||
| ) |
Get an integer custom attribute.
| int fdl_clip_id_get_custom_attr_float | ( | const fdl_clip_id_t * | h, |
| const char * | name, | ||
| double * | out | ||
| ) |
Get a float custom attribute.
| int fdl_clip_id_get_custom_attr_bool | ( | const fdl_clip_id_t * | h, |
| const char * | name, | ||
| int * | out | ||
| ) |
Get a boolean custom attribute.
| int fdl_clip_id_has_custom_attr | ( | const fdl_clip_id_t * | h, |
| const char * | name | ||
| ) |
Check if a custom attribute exists.
| fdl_custom_attr_type_t fdl_clip_id_get_custom_attr_type | ( | const fdl_clip_id_t * | h, |
| const char * | name | ||
| ) |
Get the type of a custom attribute.
| int fdl_clip_id_remove_custom_attr | ( | fdl_clip_id_t * | h, |
| const char * | name | ||
| ) |
Remove a custom attribute.
| const char * fdl_clip_id_custom_attr_name_at | ( | const fdl_clip_id_t * | h, |
| uint32_t | index | ||
| ) |
Get name of custom attribute at index (without '_' prefix).
| int fdl_clip_id_set_custom_attr_point_f64 | ( | fdl_clip_id_t * | h, |
| const char * | name, | ||
| fdl_point_f64_t | value | ||
| ) |
Set a point_f64 custom attribute.
| int fdl_clip_id_get_custom_attr_point_f64 | ( | const fdl_clip_id_t * | h, |
| const char * | name, | ||
| fdl_point_f64_t * | out | ||
| ) |
Get a point_f64 custom attribute.
| int fdl_clip_id_set_custom_attr_dims_f64 | ( | fdl_clip_id_t * | h, |
| const char * | name, | ||
| fdl_dimensions_f64_t | value | ||
| ) |
Set a dims_f64 custom attribute.
| int fdl_clip_id_get_custom_attr_dims_f64 | ( | const fdl_clip_id_t * | h, |
| const char * | name, | ||
| fdl_dimensions_f64_t * | out | ||
| ) |
Get a dims_f64 custom attribute.
| int fdl_clip_id_set_custom_attr_dims_i64 | ( | fdl_clip_id_t * | h, |
| const char * | name, | ||
| fdl_dimensions_i64_t | value | ||
| ) |
Set a dims_i64 custom attribute.
| int fdl_clip_id_get_custom_attr_dims_i64 | ( | const fdl_clip_id_t * | h, |
| const char * | name, | ||
| fdl_dimensions_i64_t * | out | ||
| ) |
Get a dims_i64 custom attribute.
| int fdl_file_sequence_set_custom_attr_string | ( | fdl_file_sequence_t * | h, |
| const char * | name, | ||
| const char * | value | ||
| ) |
Set a string custom attribute.
| int fdl_file_sequence_set_custom_attr_int | ( | fdl_file_sequence_t * | h, |
| const char * | name, | ||
| int64_t | value | ||
| ) |
Set an integer custom attribute.
| int fdl_file_sequence_set_custom_attr_float | ( | fdl_file_sequence_t * | h, |
| const char * | name, | ||
| double | value | ||
| ) |
Set a float custom attribute.
| int fdl_file_sequence_set_custom_attr_bool | ( | fdl_file_sequence_t * | h, |
| const char * | name, | ||
| int | value | ||
| ) |
Set a boolean custom attribute.
| const char * fdl_file_sequence_get_custom_attr_string | ( | const fdl_file_sequence_t * | h, |
| const char * | name | ||
| ) |
Get a string custom attribute.
| int fdl_file_sequence_get_custom_attr_int | ( | const fdl_file_sequence_t * | h, |
| const char * | name, | ||
| int64_t * | out | ||
| ) |
Get an integer custom attribute.
| int fdl_file_sequence_get_custom_attr_float | ( | const fdl_file_sequence_t * | h, |
| const char * | name, | ||
| double * | out | ||
| ) |
Get a float custom attribute.
| int fdl_file_sequence_get_custom_attr_bool | ( | const fdl_file_sequence_t * | h, |
| const char * | name, | ||
| int * | out | ||
| ) |
Get a boolean custom attribute.
| int fdl_file_sequence_has_custom_attr | ( | const fdl_file_sequence_t * | h, |
| const char * | name | ||
| ) |
Check if a custom attribute exists.
| fdl_custom_attr_type_t fdl_file_sequence_get_custom_attr_type | ( | const fdl_file_sequence_t * | h, |
| const char * | name | ||
| ) |
Get the type of a custom attribute.
| int fdl_file_sequence_remove_custom_attr | ( | fdl_file_sequence_t * | h, |
| const char * | name | ||
| ) |
Remove a custom attribute.
| const char * fdl_file_sequence_custom_attr_name_at | ( | const fdl_file_sequence_t * | h, |
| uint32_t | index | ||
| ) |
Get name of custom attribute at index (without '_' prefix).
| int fdl_file_sequence_set_custom_attr_point_f64 | ( | fdl_file_sequence_t * | h, |
| const char * | name, | ||
| fdl_point_f64_t | value | ||
| ) |
Set a point_f64 custom attribute.
| int fdl_file_sequence_get_custom_attr_point_f64 | ( | const fdl_file_sequence_t * | h, |
| const char * | name, | ||
| fdl_point_f64_t * | out | ||
| ) |
Get a point_f64 custom attribute.
| int fdl_file_sequence_set_custom_attr_dims_f64 | ( | fdl_file_sequence_t * | h, |
| const char * | name, | ||
| fdl_dimensions_f64_t | value | ||
| ) |
Set a dims_f64 custom attribute.
| int fdl_file_sequence_get_custom_attr_dims_f64 | ( | const fdl_file_sequence_t * | h, |
| const char * | name, | ||
| fdl_dimensions_f64_t * | out | ||
| ) |
Get a dims_f64 custom attribute.
| int fdl_file_sequence_set_custom_attr_dims_i64 | ( | fdl_file_sequence_t * | h, |
| const char * | name, | ||
| fdl_dimensions_i64_t | value | ||
| ) |
Set a dims_i64 custom attribute.
| int fdl_file_sequence_get_custom_attr_dims_i64 | ( | const fdl_file_sequence_t * | h, |
| const char * | name, | ||
| fdl_dimensions_i64_t * | out | ||
| ) |
Get a dims_i64 custom attribute.