36#define SEQ_EDGE_PAN_INSIDE_PAD 3.5
37#define SEQ_EDGE_PAN_OUTSIDE_PAD 0
38#define SEQ_EDGE_PAN_SPEED_RAMP 1
39#define SEQ_EDGE_PAN_MAX_SPEED 4
40#define SEQ_EDGE_PAN_DELAY 1.0f
41#define SEQ_EDGE_PAN_ZOOM_INFLUENCE 0.5f
90 int cfra = scene->
r.
cfra;
104 *r_count = *r_flag = 0;
106 else if (
left > cfra) {
114 *r_count = *r_flag = 0;
116 else if (right < cfra) {
178 td2d->
loc[0] = start_left;
183 td2d->
loc[0] = start_left;
192 td2d->
loc2d =
nullptr;
201 td->extra = (
void *)tdsq;
222 td->ival = td2d->
loc[0];
261 if ((custom_data->
data !=
nullptr) && custom_data->
use_free) {
265 custom_data->
data =
nullptr;
274 for (
Sequence *seq : transformed_strips) {
291 for (
Sequence *seq : transformed_strips) {
304 for (
int a = 0; a < tc->
data_len; a++, td++) {
323 for (
Sequence *seq : transformed_strips) {
371 input = effect->
seq2;
378 Sequence *input = effect, *seq_iter = effect;
379 while (seq_iter !=
nullptr) {
403 bool strip_added =
true;
405 while (strip_added) {
408 for (
Sequence *seq : strips_no_handles) {
409 if (time_dependent_strips.
contains(seq)) {
414 if (seq->seq1 && time_dependent_strips.
contains(seq->seq1)) {
415 if (seq->seq2 && !time_dependent_strips.
contains(seq->seq2)) {
419 time_dependent_strips.
add(seq);
430 for (
Sequence *seq : selected_strips) {
432 if (seq->seq1 ==
nullptr || seq->seq2 ==
nullptr) {
441 time_dependent_strips.
add(seq);
512 if ((seq->flag &
SELECT) != 0) {
561 int a, new_frame, offset;
581 float edge_pan_offset[2] = {0.0f, 0.0f};
585 for (a = 0, td = tc->
data, td2d = tc->
data_2d; a < tc->data_len; a++, td++, td2d++) {
596 if (
abs(offset) >
abs(max_offset)) {
611 int new_right_frame =
round_fl_to_int(td->loc[0] + edge_pan_offset[0]);
647 for (
Sequence *seq : transformed_strips) {
664 for (a = 0, td = tc->
data; a < tc->data_len; a++, td++) {
668 if (seq != seq_prev) {
736 if (min_channel_after_transform < 1) {
737 r_val[1] -= min_channel_after_transform - 1;
#define LISTBASE_FOREACH(type, var, list)
MINLINE int round_fl_to_int(float a)
MINLINE int min_ii(int a, int b)
MINLINE int max_ii(int a, int b)
void unit_m3(float m[3][3])
MINLINE void copy_v3_v3(float r[3], const float a[3])
void BLI_rctf_transform_pt_v(const rctf *dst, const rctf *src, float xy_dst[2], const float xy_src[2])
bool BLI_rctf_compare(const struct rctf *rect_a, const struct rctf *rect_b, float limit)
void DEG_id_tag_update(ID *id, unsigned int flags)
@ ID_RECALC_SEQUENCER_STRIPS
@ SEQ_IGNORE_CHANNEL_LOCK
@ SPACE_SEQ_DESELECT_STRIP_HANDLE
Read Guarded memory(de)allocation.
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Brightness Control the brightness and contrast of the input color Vector Map input vector components with curves Camera Retrieve information about the camera and how it relates to the current shading point s position Clamp a value between a minimum and a maximum Vector Perform vector math operation Invert Invert a producing a negative Combine Generate a color from its and blue channels(Deprecated)") DefNode(ShaderNode
constexpr int SEQ_MAX_CHANNELS
void UI_view2d_edge_pan_set_limits(View2DEdgePanData *vpd, float xmin, float xmax, float ymin, float ymax)
void UI_view2d_edge_pan_cancel(bContext *C, View2DEdgePanData *vpd)
void UI_view2d_edge_pan_init(bContext *C, View2DEdgePanData *vpd, float inside_pad, float outside_pad, float speed_ramp, float max_speed, float delay, float zoom_influence)
void UI_view2d_edge_pan_apply(bContext *C, View2DEdgePanData *vpd, const int xy[2]) ATTR_NONNULL(1
int ED_markers_post_apply_transform(ListBase *markers, Scene *scene, int mode, float value, char side)
void SEQ_offset_animdata(Scene *scene, Sequence *seq, int ofs)
ListBase * SEQ_channels_displayed_get(Editing *ed)
bool contains(const Key &key) const
void add_multiple(Span< Key > keys)
int64_t remove_if(Predicate &&predicate)
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
void SEQ_iterator_set_expand(const Scene *scene, ListBase *seqbase, VectorSet< Sequence * > &strips, void seq_query_func(const Scene *scene, Sequence *seq_reference, ListBase *seqbase, VectorSet< Sequence * > &strips))
void SEQ_query_strip_effect_chain(const Scene *scene, Sequence *reference_strip, ListBase *seqbase, VectorSet< Sequence * > &strips)
VectorSet< Sequence * > SEQ_query_selected_strips(ListBase *seqbase)
void MEM_freeN(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
ListBase * SEQ_active_seqbase_get(const Editing *ed)
Editing * SEQ_editing_get(const Scene *scene)
void SEQ_relations_invalidate_cache_composite(Scene *scene, Sequence *seq)
void SEQ_time_right_handle_frame_set(const Scene *scene, Sequence *seq, int timeline_frame)
void SEQ_time_left_handle_frame_set(const Scene *scene, Sequence *seq, int timeline_frame)
int SEQ_time_left_handle_frame_get(const Scene *, const Sequence *seq)
int SEQ_time_right_handle_frame_get(const Scene *scene, const Sequence *seq)
void(* free_cb)(TransInfo *, TransDataContainer *tc, TransCustomData *custom_data)
TransCustomDataContainer custom
View2DEdgePanData edge_pan
int selection_channel_range_max
int selection_channel_range_min
blender::VectorSet< Sequence * > time_dependent_strips
ccl_device_inline int abs(int x)