Blender V4.3
ED_util.hh File Reference
#include "BLI_compiler_attrs.h"
#include "WM_types.hh"

Go to the source code of this file.

Namespaces

namespace  blender
 
namespace  blender::bke
 
namespace  blender::bke::id
 

Enumerations

enum  SliderMode { SLIDER_MODE_PERCENT = 0 , SLIDER_MODE_FLOAT = 1 }
 

Functions

void ED_editors_init_for_undo (Main *bmain)
 
void ED_editors_init (bContext *C)
 
void ED_editors_exit (Main *bmain, bool do_undo_system)
 
bool ED_editors_flush_edits_for_object_ex (Main *bmain, Object *ob, bool for_render, bool check_needs_flush)
 
bool ED_editors_flush_edits_for_object (Main *bmain, Object *ob)
 
bool ED_editors_flush_edits_ex (Main *bmain, bool for_render, bool check_needs_flush)
 
bool ED_editors_flush_edits (Main *bmain)
 
void ED_spacedata_id_remap_single (ScrArea *area, SpaceLink *sl, ID *old_id, ID *new_id)
 
void ED_spacedata_id_remap (ScrArea *area, SpaceLink *sl, const blender::bke::id::IDRemapper &mappings)
 
void ED_operatortypes_edutils ()
 
void ED_region_draw_mouse_line_cb (const bContext *C, ARegion *region, void *arg_info)
 
void ED_region_image_metadata_draw (int x, int y, ImBuf *ibuf, const rctf *frame, float zoomx, float zoomy)
 
tSliderED_slider_create (bContext *C)
 
void ED_slider_init (tSlider *slider, const wmEvent *event)
 
bool ED_slider_modal (tSlider *slider, const wmEvent *event)
 
void ED_slider_destroy (bContext *C, tSlider *slider)
 
void ED_slider_status_string_get (const tSlider *slider, char *status_string, size_t size_of_status_string)
 
float ED_slider_factor_get (const tSlider *slider)
 
void ED_slider_factor_set (tSlider *slider, float factor)
 
void ED_slider_allow_overshoot_set (tSlider *slider, bool lower, bool upper)
 
void ED_slider_factor_bounds_set (tSlider *slider, float factor_bound_lower, float factor_bound_upper)
 
bool ED_slider_allow_increments_get (const tSlider *slider)
 
void ED_slider_allow_increments_set (tSlider *slider, bool value)
 
void ED_slider_mode_set (tSlider *slider, SliderMode mode)
 
SliderMode ED_slider_mode_get (const tSlider *slider)
 
void ED_slider_unit_set (tSlider *slider, const char *unit)
 
void ED_slider_property_label_set (tSlider *slider, const char *property_label)
 
void apply_keyb_grid (bool shift, bool ctrl, float *val, float fac1, float fac2, float fac3, int invert)
 
void unpack_menu (bContext *C, const char *opname, const char *id_name, const char *abs_name, const char *folder, PackedFile *pf)
 

Enumeration Type Documentation

◆ SliderMode

enum SliderMode
Enumerator
SLIDER_MODE_PERCENT 
SLIDER_MODE_FLOAT 

Definition at line 70 of file ED_util.hh.

Function Documentation

◆ apply_keyb_grid()

void apply_keyb_grid ( bool shift,
bool ctrl,
float * val,
float fac1,
float fac2,
float fac3,
int invert )

Now only used in 2D spaces, like time, f-curve, NLA, image, etc.

Note
Shift/Control are not configurable key-bindings.

Definition at line 338 of file ed_util.cc.

References floorf, and invert().

Referenced by ed_marker_move_modal().

◆ ED_editors_exit()

◆ ED_editors_flush_edits()

bool ED_editors_flush_edits ( Main * bmain)

◆ ED_editors_flush_edits_ex()

bool ED_editors_flush_edits_ex ( Main * bmain,
bool for_render,
bool check_needs_flush )

Flush any temp data from object editing to DNA before writing files, rendering, copying, etc.

Definition at line 315 of file ed_util.cc.

References ED_editors_flush_edits_for_object_ex(), Main::is_memfile_undo_flush_needed, LISTBASE_FOREACH, and Main::objects.

Referenced by ED_editors_flush_edits(), memfile_undosys_step_encode(), and screen_render_invoke().

◆ ED_editors_flush_edits_for_object()

bool ED_editors_flush_edits_for_object ( Main * bmain,
Object * ob )

Definition at line 310 of file ed_util.cc.

References ED_editors_flush_edits_for_object_ex().

◆ ED_editors_flush_edits_for_object_ex()

◆ ED_editors_init()

◆ ED_editors_init_for_undo()

◆ ED_operatortypes_edutils()

◆ ED_region_draw_mouse_line_cb()

◆ ED_region_image_metadata_draw()

◆ ED_slider_allow_increments_get()

bool ED_slider_allow_increments_get ( const tSlider * slider)

Definition at line 586 of file ed_draw.cc.

References tSlider::allow_increments.

◆ ED_slider_allow_increments_set()

void ED_slider_allow_increments_set ( tSlider * slider,
bool value )

Definition at line 591 of file ed_draw.cc.

References tSlider::allow_increments.

Referenced by poselib_blend_init_data().

◆ ED_slider_allow_overshoot_set()

void ED_slider_allow_overshoot_set ( tSlider * slider,
bool lower,
bool upper )

One bool value for each side of the slider. Allows to enable overshoot only on one side.

Definition at line 580 of file ed_draw.cc.

References tSlider::allow_overshoot_lower, and tSlider::allow_overshoot_upper.

Referenced by blend_to_ease_invoke(), btw_smooth_invoke(), decimate_invoke(), ease_invoke(), ease_modal(), gaussian_smooth_invoke(), match_slope_invoke(), and poselib_blend_init_data().

◆ ED_slider_create()

◆ ED_slider_destroy()

◆ ED_slider_factor_bounds_set()

void ED_slider_factor_bounds_set ( tSlider * slider,
float factor_bound_lower,
float factor_bound_upper )

◆ ED_slider_factor_get()

◆ ED_slider_factor_set()

◆ ED_slider_init()

void ED_slider_init ( tSlider * slider,
const wmEvent * event )

For modal operations so the percentage doesn't pop on the first mouse movement.

Definition at line 467 of file ed_draw.cc.

References copy_v2fl_v2i(), tSlider::last_cursor, and wmEvent::xy.

Referenced by graph_slider_invoke(), pose_slide_invoke_common(), and poselib_blend_init_data().

◆ ED_slider_modal()

◆ ED_slider_mode_get()

SliderMode ED_slider_mode_get ( const tSlider * slider)

Definition at line 609 of file ed_draw.cc.

References tSlider::slider_mode.

Referenced by graph_slider_modal().

◆ ED_slider_mode_set()

void ED_slider_mode_set ( tSlider * slider,
SliderMode mode )

Definition at line 604 of file ed_draw.cc.

References tSlider::slider_mode.

Referenced by btw_smooth_invoke(), ease_modal(), and time_offset_invoke().

◆ ED_slider_property_label_set()

void ED_slider_property_label_set ( tSlider * slider,
const char * property_label )

Definition at line 619 of file ed_draw.cc.

References tSlider::property_label.

Referenced by ease_invoke(), and ease_modal().

◆ ED_slider_status_string_get()

void ED_slider_status_string_get ( const tSlider * slider,
char * status_string,
size_t size_of_status_string )

◆ ED_slider_unit_set()

void ED_slider_unit_set ( tSlider * slider,
const char * unit )

Definition at line 614 of file ed_draw.cc.

References STRNCPY, and tSlider::unit_string.

Referenced by btw_smooth_invoke(), ease_modal(), and time_offset_invoke().

◆ ED_spacedata_id_remap()

void ED_spacedata_id_remap ( ScrArea * area,
SpaceLink * sl,
const blender::bke::id::IDRemapper & mappings )

◆ ED_spacedata_id_remap_single()

void ED_spacedata_id_remap_single ( ScrArea * area,
SpaceLink * sl,
ID * old_id,
ID * new_id )

Use to free ID references within runtime data (stored outside of DNA)

Parameters
new_idmay be NULL to unlink old_id.

Definition at line 482 of file ed_util.cc.

References blender::bke::id::IDRemapper::add(), BKE_spacetype_from_id(), SpaceType::id_remap, and SpaceLink::spacetype.

Referenced by WM_init().

◆ unpack_menu()