跳转至

Advanced Rectangle Operations

Module: Rectangle Operations / Rectangle Normalization

Complex rectangle manipulation and analysis functions.

Functions

Name
CFBDGraphicRect rect_intersection(const CFBDGraphicRect * a, const CFBDGraphicRect * b)
CFBDGraphicRect rect_union(const CFBDGraphicRect * a, const CFBDGraphicRect * b)
CFBDGraphicRect rect_offset(const CFBDGraphicRect * r, int32_t dx, int32_t dy)
CFBDGraphicRect rect_inset(const CFBDGraphicRect * r, int32_t left, int32_t top, int32_t right, int32_t bottom)
CFBDGraphicRect rect_scale_about_center(const CFBDGraphicRect * r, float sx, float sy)
CFBDGraphicRect rect_align_in_parent(const CFBDGraphicRect * parent, const CFBDGraphicRect * child, uint8_t anchor)
CFBDGraphic_Point rect_closest_point(const CFBDGraphicRect * r, CFBDGraphic_Point p)
uint32_t rect_distance_to_point(const CFBDGraphicRect * r, CFBDGraphic_Point p)
CFBDGraphicRect rect_expand_to_include_point(const CFBDGraphicRect * r, CFBDGraphic_Point p)
CFBD_Bool rect_clip_line(CFBDGraphicRect * r, CFBDGraphic_Point * p0, CFBDGraphic_Point * p1)
CFBDGraphicRect rect_clamp_to_screen(const CFBDGraphicRect * r, uint16_t screen_w, uint16_t screen_h)
uint32_t rect_area(const CFBDGraphicRect * r)
CFBDGraphicSize rect_size(const CFBDGraphicRect * r)
uint32_t rect_overlap_area(const CFBDGraphicRect * a, const CFBDGraphicRect * b)

Functions Documentation

function rect_intersection

CFBDGraphicRect rect_intersection(
    const CFBDGraphicRect * a,
    const CFBDGraphicRect * b
)

function rect_union

CFBDGraphicRect rect_union(
    const CFBDGraphicRect * a,
    const CFBDGraphicRect * b
)

function rect_offset

CFBDGraphicRect rect_offset(
    const CFBDGraphicRect * r,
    int32_t dx,
    int32_t dy
)

function rect_inset

CFBDGraphicRect rect_inset(
    const CFBDGraphicRect * r,
    int32_t left,
    int32_t top,
    int32_t right,
    int32_t bottom
)

function rect_scale_about_center

CFBDGraphicRect rect_scale_about_center(
    const CFBDGraphicRect * r,
    float sx,
    float sy
)

function rect_align_in_parent

CFBDGraphicRect rect_align_in_parent(
    const CFBDGraphicRect * parent,
    const CFBDGraphicRect * child,
    uint8_t anchor
)

function rect_closest_point

CFBDGraphic_Point rect_closest_point(
    const CFBDGraphicRect * r,
    CFBDGraphic_Point p
)

function rect_distance_to_point

uint32_t rect_distance_to_point(
    const CFBDGraphicRect * r,
    CFBDGraphic_Point p
)

function rect_expand_to_include_point

CFBDGraphicRect rect_expand_to_include_point(
    const CFBDGraphicRect * r,
    CFBDGraphic_Point p
)

function rect_clip_line

CFBD_Bool rect_clip_line(
    CFBDGraphicRect * r,
    CFBDGraphic_Point * p0,
    CFBDGraphic_Point * p1
)

function rect_clamp_to_screen

CFBDGraphicRect rect_clamp_to_screen(
    const CFBDGraphicRect * r,
    uint16_t screen_w,
    uint16_t screen_h
)

function rect_area

static inline uint32_t rect_area(
    const CFBDGraphicRect * r
)

function rect_size

static inline CFBDGraphicSize rect_size(
    const CFBDGraphicRect * r
)

function rect_overlap_area

static inline uint32_t rect_overlap_area(
    const CFBDGraphicRect * a,
    const CFBDGraphicRect * b
)

Updated on 2026-02-03 at 13:21:55 +0000