Blender  V3.3
Functions
rct.c File Reference
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <float.h>
#include <limits.h>
#include "BLI_math_base.h"
#include "BLI_rect.h"
#include "BLI_utildefines.h"
#include "DNA_vec_types.h"

Go to the source code of this file.

Functions

static void unit_m4 (float m[4][4])
 
bool BLI_rcti_is_empty (const rcti *rect)
 
bool BLI_rctf_is_empty (const rctf *rect)
 
bool BLI_rcti_isect_x (const rcti *rect, const int x)
 
bool BLI_rcti_isect_y (const rcti *rect, const int y)
 
bool BLI_rcti_isect_pt (const rcti *rect, const int x, const int y)
 
bool BLI_rcti_isect_pt_v (const rcti *rect, const int xy[2])
 
bool BLI_rctf_isect_x (const rctf *rect, const float x)
 
bool BLI_rctf_isect_y (const rctf *rect, const float y)
 
bool BLI_rctf_isect_pt (const rctf *rect, const float x, const float y)
 
bool BLI_rctf_isect_pt_v (const rctf *rect, const float xy[2])
 
int BLI_rcti_length_x (const rcti *rect, const int x)
 
int BLI_rcti_length_y (const rcti *rect, const int y)
 
float BLI_rctf_length_x (const rctf *rect, const float x)
 
float BLI_rctf_length_y (const rctf *rect, const float y)
 
bool BLI_rctf_inside_rctf (const rctf *rct_a, const rctf *rct_b)
 
bool BLI_rcti_inside_rcti (const rcti *rct_a, const rcti *rct_b)
 
static int isect_segments_i (const int v1[2], const int v2[2], const int v3[2], const int v4[2])
 
static int isect_segments_fl (const float v1[2], const float v2[2], const float v3[2], const float v4[2])
 
bool BLI_rcti_isect_segment (const rcti *rect, const int s1[2], const int s2[2])
 
bool BLI_rctf_isect_segment (const rctf *rect, const float s1[2], const float s2[2])
 
bool BLI_rcti_isect_circle (const rcti *rect, const float xy[2], const float radius)
 
bool BLI_rctf_isect_circle (const rctf *rect, const float xy[2], const float radius)
 
void BLI_rctf_union (rctf *rct_a, const rctf *rct_b)
 
void BLI_rcti_union (rcti *rct_a, const rcti *rct_b)
 
void BLI_rctf_init (rctf *rect, float xmin, float xmax, float ymin, float ymax)
 
void BLI_rcti_init (rcti *rect, int xmin, int xmax, int ymin, int ymax)
 
bool BLI_rctf_is_valid (const rctf *rect)
 
bool BLI_rcti_is_valid (const rcti *rect)
 
void BLI_rctf_sanitize (rctf *rect)
 
void BLI_rcti_sanitize (rcti *rect)
 
void BLI_rctf_init_pt_radius (rctf *rect, const float xy[2], float size)
 
void BLI_rcti_init_pt_radius (rcti *rect, const int xy[2], int size)
 
void BLI_rcti_init_minmax (rcti *rect)
 
void BLI_rctf_init_minmax (rctf *rect)
 
void BLI_rcti_do_minmax_v (rcti *rect, const int xy[2])
 
void BLI_rcti_do_minmax_rcti (rcti *rect, const rcti *other)
 
void BLI_rctf_do_minmax_v (rctf *rect, const float xy[2])
 
void BLI_rctf_transform_pt_v (const rctf *dst, const rctf *src, float xy_dst[2], const float xy_src[2])
 
void BLI_rctf_transform_calc_m4_pivot_min_ex (const rctf *dst, const rctf *src, float matrix[4][4], uint x, uint y)
 
void BLI_rctf_transform_calc_m4_pivot_min (const rctf *dst, const rctf *src, float matrix[4][4])
 
void BLI_rcti_translate (rcti *rect, int x, int y)
 
void BLI_rctf_translate (rctf *rect, float x, float y)
 
void BLI_rcti_recenter (rcti *rect, int x, int y)
 
void BLI_rctf_recenter (rctf *rect, float x, float y)
 
void BLI_rcti_resize_x (rcti *rect, int x)
 
void BLI_rcti_resize_y (rcti *rect, int y)
 
void BLI_rcti_resize (rcti *rect, int x, int y)
 
void BLI_rcti_pad (rcti *rect, int pad_x, int pad_y)
 
void BLI_rctf_pad (rctf *rect, float pad_x, float pad_y)
 
void BLI_rctf_resize_x (rctf *rect, float x)
 
void BLI_rctf_resize_y (rctf *rect, float y)
 
void BLI_rctf_resize (rctf *rect, float x, float y)
 
void BLI_rcti_scale (rcti *rect, const float scale)
 
void BLI_rctf_scale (rctf *rect, const float scale)
 
void BLI_rctf_pad_y (rctf *rect, const float boundary_size, const float pad_min, const float pad_max)
 
void BLI_rctf_interp (rctf *rect, const rctf *rect_a, const rctf *rect_b, const float fac)
 
bool BLI_rctf_clamp_pt_v (const rctf *rect, float xy[2])
 
bool BLI_rcti_clamp_pt_v (const rcti *rect, int xy[2])
 
bool BLI_rctf_clamp (rctf *rect, const rctf *rect_bounds, float r_xy[2])
 
bool BLI_rcti_clamp (rcti *rect, const rcti *rect_bounds, int r_xy[2])
 
bool BLI_rctf_compare (const rctf *rect_a, const rctf *rect_b, const float limit)
 
bool BLI_rcti_compare (const rcti *rect_a, const rcti *rect_b)
 
bool BLI_rctf_isect (const rctf *src1, const rctf *src2, rctf *dest)
 
bool BLI_rcti_isect (const rcti *src1, const rcti *src2, rcti *dest)
 
bool BLI_rctf_isect_rect_x (const rctf *src1, const rctf *src2, float range_x[2])
 
bool BLI_rctf_isect_rect_y (const rctf *src1, const rctf *src2, float range_y[2])
 
bool BLI_rcti_isect_rect_x (const rcti *src1, const rcti *src2, int range_x[2])
 
bool BLI_rcti_isect_rect_y (const rcti *src1, const rcti *src2, int range_y[2])
 
void BLI_rcti_rctf_copy (rcti *dst, const rctf *src)
 
void BLI_rcti_rctf_copy_floor (rcti *dst, const rctf *src)
 
void BLI_rcti_rctf_copy_round (rcti *dst, const rctf *src)
 
void BLI_rctf_rcti_copy (rctf *dst, const rcti *src)
 
void print_rctf (const char *str, const rctf *rect)
 
void print_rcti (const char *str, const rcti *rect)
 

Rect math functions

#define ROTATE_SINCOS(r_vec, mat2, vec)
 
void BLI_rctf_rotate_expand (rctf *dst, const rctf *src, const float angle)
 

Detailed Description

A minimalist lib for functions doing stuff with rectangle structs.

Definition in file rct.c.

Macro Definition Documentation

◆ ROTATE_SINCOS

#define ROTATE_SINCOS (   r_vec,
  mat2,
  vec 
)
Value:
{ \
(r_vec)[0] = (mat2)[1] * (vec)[0] + (+(mat2)[0]) * (vec)[1]; \
(r_vec)[1] = (mat2)[0] * (vec)[0] + (-(mat2)[1]) * (vec)[1]; \
} \
((void)0)
SyclQueue void void size_t num_bytes void

Definition at line 1055 of file rct.c.

Function Documentation

◆ BLI_rctf_clamp()

bool BLI_rctf_clamp ( rctf rect,
const rctf rect_bounds,
float  r_xy[2] 
)

Definition at line 741 of file rct.c.

References rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.

◆ BLI_rctf_clamp_pt_v()

bool BLI_rctf_clamp_pt_v ( const rctf rect,
float  xy[2] 
)

Definition at line 697 of file rct.c.

References rctf::xmax, rctf::xmin, xy, rctf::ymax, and rctf::ymin.

◆ BLI_rctf_compare()

bool BLI_rctf_compare ( const rctf rect_a,
const rctf rect_b,
const float  limit 
)

Definition at line 825 of file rct.c.

References fabsf, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.

◆ BLI_rctf_do_minmax_v()

void BLI_rctf_do_minmax_v ( rctf rect,
const float  xy[2] 
)

Definition at line 513 of file rct.c.

References rctf::xmax, rctf::xmin, xy, rctf::ymax, and rctf::ymin.

Referenced by BKE_maskrasterize_handle_init().

◆ BLI_rctf_init()

void BLI_rctf_init ( rctf rect,
float  xmin,
float  xmax,
float  ymin,
float  ymax 
)

◆ BLI_rctf_init_minmax()

void BLI_rctf_init_minmax ( rctf rect)

◆ BLI_rctf_init_pt_radius()

void BLI_rctf_init_pt_radius ( rctf rect,
const float  xy[2],
float  size 
)

◆ BLI_rctf_inside_rctf()

bool BLI_rctf_inside_rctf ( const rctf rct_a,
const rctf rct_b 
)

◆ BLI_rctf_interp()

void BLI_rctf_interp ( rctf rect,
const rctf rect_a,
const rctf rect_b,
const float  fac 
)

Definition at line 686 of file rct.c.

References rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.

◆ BLI_rctf_is_empty()

bool BLI_rctf_is_empty ( const rctf rect)

Definition at line 31 of file rct.c.

References rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.

◆ BLI_rctf_is_valid()

bool BLI_rctf_is_valid ( const rctf rect)

Definition at line 427 of file rct.c.

References rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.

Referenced by BLI_rctf_sanitize().

◆ BLI_rctf_isect()

bool BLI_rctf_isect ( const rctf src1,
const rctf src2,
rctf dest 
)

Definition at line 855 of file rct.c.

References dest, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.

◆ BLI_rctf_isect_circle()

bool BLI_rctf_isect_circle ( const rctf rect,
const float  xy[2],
const float  radius 
)

Definition at line 354 of file rct.c.

References rctf::xmax, rctf::xmin, xy, rctf::ymax, and rctf::ymin.

◆ BLI_rctf_isect_pt()

bool BLI_rctf_isect_pt ( const rctf rect,
const float  x,
const float  y 
)

Definition at line 114 of file rct.c.

References x, rctf::xmax, y, and rctf::ymax.

◆ BLI_rctf_isect_pt_v()

bool BLI_rctf_isect_pt_v ( const rctf rect,
const float  xy[2] 
)

Definition at line 131 of file rct.c.

References rctf::xmax, rctf::xmin, xy, rctf::ymax, and rctf::ymin.

Referenced by BLI_rctf_isect_segment().

◆ BLI_rctf_isect_rect_x()

bool BLI_rctf_isect_rect_x ( const rctf src1,
const rctf src2,
float  range_x[2] 
)

Definition at line 913 of file rct.c.

References rctf::xmax, and rctf::xmin.

◆ BLI_rctf_isect_rect_y()

bool BLI_rctf_isect_rect_y ( const rctf src1,
const rctf src2,
float  range_y[2] 
)

Definition at line 933 of file rct.c.

References rctf::ymax, and rctf::ymin.

◆ BLI_rctf_isect_segment()

bool BLI_rctf_isect_segment ( const rctf rect,
const float  s1[2],
const float  s2[2] 
)

◆ BLI_rctf_isect_x()

bool BLI_rctf_isect_x ( const rctf rect,
const float  x 
)

◆ BLI_rctf_isect_y()

bool BLI_rctf_isect_y ( const rctf rect,
const float  y 
)

Definition at line 103 of file rct.c.

References y, and rctf::ymax.

Referenced by ED_region_overlap_isect_y(), and blender::ed::space_node::node_link_insert_offset_ntree().

◆ BLI_rctf_length_x()

float BLI_rctf_length_x ( const rctf rect,
const float  x 
)

Definition at line 170 of file rct.c.

References x, rctf::xmax, and rctf::xmin.

Referenced by blender::ed::space_node::node_link_dim_factor().

◆ BLI_rctf_length_y()

float BLI_rctf_length_y ( const rctf rect,
const float  y 
)

Definition at line 181 of file rct.c.

References y, rctf::ymax, and rctf::ymin.

Referenced by blender::ed::space_node::node_link_dim_factor().

◆ BLI_rctf_pad()

void BLI_rctf_pad ( rctf rect,
float  pad_x,
float  pad_y 
)

◆ BLI_rctf_pad_y()

void BLI_rctf_pad_y ( rctf rect,
const float  boundary_size,
const float  pad_min,
const float  pad_max 
)

Definition at line 667 of file rct.c.

References BLI_assert, BLI_rctf_size_y(), rctf::ymax, and rctf::ymin.

Referenced by graphkeys_viewall().

◆ BLI_rctf_rcti_copy()

void BLI_rctf_rcti_copy ( rctf dst,
const rcti src 
)

Definition at line 1017 of file rct.c.

References src, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.

◆ BLI_rctf_recenter()

void BLI_rctf_recenter ( rctf rect,
float  x,
float  y 
)

◆ BLI_rctf_resize()

void BLI_rctf_resize ( rctf rect,
float  x,
float  y 
)

◆ BLI_rctf_resize_x()

void BLI_rctf_resize_x ( rctf rect,
float  x 
)

Definition at line 623 of file rct.c.

References BLI_rctf_cent_x(), x, rctf::xmax, and rctf::xmin.

◆ BLI_rctf_resize_y()

void BLI_rctf_resize_y ( rctf rect,
float  y 
)

Definition at line 629 of file rct.c.

References BLI_rctf_cent_y(), y, rctf::ymax, and rctf::ymin.

◆ BLI_rctf_rotate_expand()

void BLI_rctf_rotate_expand ( rctf dst,
const rctf src,
float  angle 
)

Expand the rectangle to fit a rotated src.

Definition at line 1062 of file rct.c.

References angle(), BLI_rctf_cent_x(), BLI_rctf_cent_y(), cosf, fabsf, MAX2, ROTATE_SINCOS, sinf, src, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.

◆ BLI_rctf_sanitize()

void BLI_rctf_sanitize ( struct rctf rect)

Ensure X-min and Y-min are less than or equal to X-max and Y-max, respectively.

Definition at line 437 of file rct.c.

References BLI_assert, BLI_rctf_is_valid(), SWAP, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.

Referenced by BLI_rctf_init().

◆ BLI_rctf_scale()

void BLI_rctf_scale ( rctf rect,
const float  scale 
)

◆ BLI_rctf_transform_calc_m4_pivot_min()

void BLI_rctf_transform_calc_m4_pivot_min ( const rctf dst,
const rctf src,
float  matrix[4][4] 
)

◆ BLI_rctf_transform_calc_m4_pivot_min_ex()

void BLI_rctf_transform_calc_m4_pivot_min_ex ( const rctf dst,
const rctf src,
float  matrix[4][4],
uint  x,
uint  y 
)

Calculate a 4x4 matrix representing the transformation between two rectangles.

Note
Multiplying a vector by this matrix does not give the same value as BLI_rctf_transform_pt_v.

Definition at line 541 of file rct.c.

References BLI_assert, BLI_rctf_size_x(), BLI_rctf_size_y(), src, unit_m4(), x, rctf::xmin, y, and rctf::ymin.

Referenced by BLI_rctf_transform_calc_m4_pivot_min().

◆ BLI_rctf_transform_pt_v()

void BLI_rctf_transform_pt_v ( const rctf dst,
const rctf src,
float  xy_dst[2],
const float  xy_src[2] 
)

◆ BLI_rctf_translate()

void BLI_rctf_translate ( rctf rect,
float  x,
float  y 
)

◆ BLI_rctf_union()

void BLI_rctf_union ( rctf rct_a,
const rctf rct_b 
)

Definition at line 375 of file rct.c.

References rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.

◆ BLI_rcti_clamp()

bool BLI_rcti_clamp ( rcti rect,
const rcti rect_bounds,
int  r_xy[2] 
)

Definition at line 783 of file rct.c.

References rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

◆ BLI_rcti_clamp_pt_v()

bool BLI_rcti_clamp_pt_v ( const rcti rect,
int  xy[2] 
)

Definition at line 719 of file rct.c.

References rcti::xmax, rcti::xmin, xy, rcti::ymax, and rcti::ymin.

◆ BLI_rcti_compare()

bool BLI_rcti_compare ( const rcti rect_a,
const rcti rect_b 
)

Definition at line 840 of file rct.c.

References rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

◆ BLI_rcti_do_minmax_rcti()

void BLI_rcti_do_minmax_rcti ( rcti rect,
const rcti other 
)

Definition at line 505 of file rct.c.

References max_ii(), min_ii(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

◆ BLI_rcti_do_minmax_v()

void BLI_rcti_do_minmax_v ( rcti rect,
const int  xy[2] 
)

◆ BLI_rcti_init()

void BLI_rcti_init ( rcti rect,
int  xmin,
int  xmax,
int  ymin,
int  ymax 
)

Definition at line 417 of file rct.c.

References BLI_rcti_sanitize(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

Referenced by blender::compositor::BuffersIteratorBuilder< T >::add_input(), area_azone_init(), blender::bke::image::partial_update::BKE_image_partial_update_collect_changes(), BKE_image_update_gputexture_delayed(), blender::compositor::BufferArea< T >::BufferArea(), blender::compositor::ViewerOperation::clear_display_buffer(), blender::compositor::ConstantFolder::ConstantFolder(), blender::compositor::DenoisePrefilterOperation::create_memory_buffer(), blender::compositor::create_rect(), blender::compositor::tests::create_rect(), blender::compositor::BokehImageOperation::determine_canvas(), blender::compositor::CompositorOperation::determine_canvas(), blender::compositor::BaseImageOperation::determine_canvas(), blender::compositor::MovieClipBaseOperation::determine_canvas(), blender::compositor::PreviewOperation::determine_canvas(), blender::compositor::RenderLayersProg::determine_canvas(), blender::compositor::NodeOperation::determine_depending_area_of_interest(), blender::compositor::ProjectorLensDistortionOperation::determine_depending_area_of_interest(), blender::compositor::ReadBufferOperation::determine_depending_area_of_interest(), blender::compositor::ExecutionGroup::determine_resolution(), blender::ed::space_node::draw_nodespace_back_pix(), draw_seq_strip_thumbnail(), blender::ed::spreadsheet::draw_spreadsheet_in_region(), DRW_render_gpencil(), DRW_render_to_image(), ED_image_draw_info(), ED_imapaint_dirty_region(), eevee_engine_init(), blender::compositor::ExecutionSystem::execute_work(), blender::compositor::ExecutionGroup::ExecutionGroup(), file_tile_boundbox(), find_file_mouse_rect(), fullscreen_azone_init(), fullscreen_click_rcti_init(), blender::compositor::GlareFogGlowOperation::generate_glare(), graph_main_region_draw_overlay(), graph_region_draw(), hud_region_hide(), image_gpu_texture_partial_update_changes_available(), image_paint_partial_redraw_expand(), IMB_display_buffer_acquire(), IMB_float_from_rect(), IMB_partial_display_buffer_update_delayed(), blender::eevee::Film::init(), RE_engine_tile_highlight_set(), RE_GetViewPlane(), region_azone_edge(), region_azone_scrollbar_init(), region_azone_tab_plus(), region_draw_azones(), region_rect_recursive(), region_update_rect(), screen_global_statusbar_area_refresh(), screen_global_topbar_area_refresh(), blender::compositor::ExecutionGroup::set_render_border(), blender::compositor::ExecutionGroup::set_viewer_border(), blender::compositor::tests::BuffersIteratorTest::SetUpTestCase(), blender::compositor::step_update_memory_buffer(), blender::bke::image::partial_update::TEST_F(), blender::compositor::PreviewOperation::update_memory_buffer_partial(), blender::compositor::ViewerOperation::update_memory_buffer_partial(), and WM_window_rect_calc().

◆ BLI_rcti_init_minmax()

void BLI_rcti_init_minmax ( rcti rect)

◆ BLI_rcti_init_pt_radius()

void BLI_rcti_init_pt_radius ( rcti rect,
const int  xy[2],
int  size 
)

◆ BLI_rcti_inside_rcti()

bool BLI_rcti_inside_rcti ( const rcti rct_a,
const rcti rct_b 
)

◆ BLI_rcti_is_empty()

bool BLI_rcti_is_empty ( const rcti rect)

Definition at line 26 of file rct.c.

References rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

◆ BLI_rcti_is_valid()

bool BLI_rcti_is_valid ( const rcti rect)

Definition at line 432 of file rct.c.

References rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

Referenced by BLI_rcti_sanitize().

◆ BLI_rcti_isect()

bool BLI_rcti_isect ( const rcti src1,
const rcti src2,
rcti dest 
)

Definition at line 884 of file rct.c.

References dest, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

◆ BLI_rcti_isect_circle()

bool BLI_rcti_isect_circle ( const rcti rect,
const float  xy[2],
const float  radius 
)

Definition at line 333 of file rct.c.

References rcti::xmax, rcti::xmin, xy, rcti::ymax, and rcti::ymin.

◆ BLI_rcti_isect_pt()

bool BLI_rcti_isect_pt ( const rcti rect,
const int  x,
const int  y 
)

Definition at line 58 of file rct.c.

References x, rcti::xmax, y, and rcti::ymax.

◆ BLI_rcti_isect_pt_v()

bool BLI_rcti_isect_pt_v ( const rcti rect,
const int  xy[2] 
)

Definition at line 75 of file rct.c.

References rcti::xmax, rcti::xmin, xy, rcti::ymax, and rcti::ymin.

Referenced by BLI_rcti_isect_segment().

◆ BLI_rcti_isect_rect_x()

bool BLI_rcti_isect_rect_x ( const rcti src1,
const rcti src2,
int  range_x[2] 
)

Definition at line 953 of file rct.c.

References rcti::xmax, and rcti::xmin.

◆ BLI_rcti_isect_rect_y()

bool BLI_rcti_isect_rect_y ( const rcti src1,
const rcti src2,
int  range_y[2] 
)

Definition at line 973 of file rct.c.

References rcti::ymax, and rcti::ymin.

◆ BLI_rcti_isect_segment()

bool BLI_rcti_isect_segment ( const rcti rect,
const int  s1[2],
const int  s2[2] 
)

Definition at line 241 of file rct.c.

References BLI_rcti_isect_pt_v(), isect_segments_i(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

◆ BLI_rcti_isect_x()

bool BLI_rcti_isect_x ( const rcti rect,
const int  x 
)

Definition at line 36 of file rct.c.

References x, and rcti::xmax.

◆ BLI_rcti_isect_y()

bool BLI_rcti_isect_y ( const rcti rect,
const int  y 
)

Definition at line 47 of file rct.c.

References y, and rcti::ymax.

◆ BLI_rcti_length_x()

int BLI_rcti_length_x ( const rcti rect,
int  x 
)
Returns
shortest distance from rect to x (0 if inside)

Definition at line 148 of file rct.c.

References x, rcti::xmax, and rcti::xmin.

Referenced by area_actionzone_refresh_xy(), and file_box_select_find_last_selected().

◆ BLI_rcti_length_y()

int BLI_rcti_length_y ( const rcti rect,
int  y 
)
Returns
shortest distance from rect to y (0 if inside)

Definition at line 159 of file rct.c.

References y, rcti::ymax, and rcti::ymin.

Referenced by area_actionzone_refresh_xy(), and file_box_select_find_last_selected().

◆ BLI_rcti_pad()

void BLI_rcti_pad ( rcti rect,
int  pad_x,
int  pad_y 
)

Definition at line 607 of file rct.c.

References rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

Referenced by file_draw_preview(), and UI_view2d_edge_pan_apply().

◆ BLI_rcti_rctf_copy()

void BLI_rcti_rctf_copy ( rcti dst,
const rctf src 
)

Definition at line 993 of file rct.c.

References BLI_rctf_size_x(), BLI_rctf_size_y(), floorf, src, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

◆ BLI_rcti_rctf_copy_floor()

void BLI_rcti_rctf_copy_floor ( rcti dst,
const rctf src 
)

Definition at line 1001 of file rct.c.

References floorf, src, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

◆ BLI_rcti_rctf_copy_round()

void BLI_rcti_rctf_copy_round ( rcti dst,
const rctf src 
)

Definition at line 1009 of file rct.c.

References floorf, src, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

◆ BLI_rcti_recenter()

void BLI_rcti_recenter ( rcti rect,
int  x,
int  y 
)

Definition at line 574 of file rct.c.

References BLI_rcti_cent_x(), BLI_rcti_cent_y(), BLI_rcti_translate(), x, and y.

◆ BLI_rcti_resize()

void BLI_rcti_resize ( rcti rect,
int  x,
int  y 
)

◆ BLI_rcti_resize_x()

void BLI_rcti_resize_x ( struct rcti rect,
int  x 
)

Change width & height around the central X location.

Definition at line 587 of file rct.c.

References BLI_rcti_cent_x(), x, rcti::xmax, and rcti::xmin.

Referenced by view3d_zoom_border_exec(), and wm_window_check_size().

◆ BLI_rcti_resize_y()

void BLI_rcti_resize_y ( struct rcti rect,
int  y 
)

Change width & height around the central Y location.

Definition at line 593 of file rct.c.

References BLI_rcti_cent_y(), y, rcti::ymax, and rcti::ymin.

Referenced by view3d_zoom_border_exec(), and wm_window_check_size().

◆ BLI_rcti_sanitize()

void BLI_rcti_sanitize ( rcti rect)

◆ BLI_rcti_scale()

void BLI_rcti_scale ( rcti rect,
const float  scale 
)

◆ BLI_rcti_translate()

void BLI_rcti_translate ( rcti rect,
int  x,
int  y 
)

◆ BLI_rcti_union()

void BLI_rcti_union ( rcti rct_a,
const rcti rct_b 
)

Definition at line 391 of file rct.c.

References rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

◆ isect_segments_fl()

static int isect_segments_fl ( const float  v1[2],
const float  v2[2],
const float  v3[2],
const float  v4[2] 
)
static

Definition at line 221 of file rct.c.

References double(), v1, and v2.

Referenced by BLI_rctf_isect_segment().

◆ isect_segments_i()

static int isect_segments_i ( const int  v1[2],
const int  v2[2],
const int  v3[2],
const int  v4[2] 
)
static

Definition at line 205 of file rct.c.

References double(), v1, and v2.

Referenced by BLI_rcti_isect_segment().

◆ print_rctf()

void print_rctf ( const char *  str,
const rctf rect 
)

Definition at line 1025 of file rct.c.

References BLI_rctf_size_x(), BLI_rctf_size_y(), str, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.

◆ print_rcti()

void print_rcti ( const char *  str,
const rcti rect 
)

Definition at line 1037 of file rct.c.

References BLI_rcti_size_x(), BLI_rcti_size_y(), str, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

◆ unit_m4()

static void unit_m4 ( float  m[4][4])
static

Definition at line 1090 of file rct.c.

Referenced by BLI_rctf_transform_calc_m4_pivot_min_ex().