85 const int time_range = efra - sfra + 1;
91 if (invgpl ==
false) {
104 if (invpass ==
false) {
123 cfra = efra - cfra + sfra;
130 if (
abs(offset) > time_range) {
131 offset = offset - ((offset / time_range) * time_range);
136 if (cfra + offset < sfra) {
139 if (cfra + offset > efra) {
146 segments = ((cfra + sfra) / time_range);
147 cfra = cfra + (segments * time_range);
152 segments = ((cfra - sfra) / time_range);
153 cfra = cfra - (segments * time_range);
157 const int nfra = cfra + offset;
160 if (cfra + offset < sfra) {
161 const int delta =
abs(sfra - nfra);
162 return efra - delta + 1;
164 if (cfra + offset > efra) {
165 return nfra - efra + sfra - 1;
169 return cfra + offset;
211 uiItemR(layout,
ptr,
"use_custom_frame_range", 0,
NULL, ICON_NONE);
254 "TimeGpencilModifierData",
void BKE_gpencil_modifier_copydata_generic(const struct GpencilModifierData *md_src, struct GpencilModifierData *md_dst)
@ eGpencilModifierTypeFlag_NoApply
@ eGpencilModifierTypeType_Gpencil
#define MEMCMP_STRUCT_AFTER_IS_ZERO(struct_var, member)
#define MEMCPY_STRUCT_AFTER(struct_dst, struct_src, member)
struct Depsgraph Depsgraph
#define DNA_struct_default_get(struct_name)
@ GP_TIME_INVERT_LAYERPASS
@ eGpencilModifierType_Time
struct TimeGpencilModifierData TimeGpencilModifierData
PointerRNA * gpencil_modifier_panel_get_property_pointers(Panel *panel, PointerRNA *r_ob_ptr)
void gpencil_modifier_masking_panel_draw(Panel *panel, bool use_material, bool use_vertex)
void gpencil_modifier_panel_end(uiLayout *layout, PointerRNA *ptr)
PanelType * gpencil_modifier_subpanel_register(ARegionType *region_type, const char *name, const char *label, PanelDrawFn draw_header, PanelDrawFn draw, PanelType *parent)
PanelType * gpencil_modifier_panel_register(ARegionType *region_type, GpencilModifierType type, PanelDrawFn draw)
static int remapTime(struct GpencilModifierData *md, struct Depsgraph *UNUSED(depsgraph), struct Scene *scene, struct Object *UNUSED(ob), struct bGPDlayer *gpl, int cfra)
static void custom_range_header_draw(const bContext *UNUSED(C), Panel *panel)
static void mask_panel_draw(const bContext *UNUSED(C), Panel *panel)
static void copyData(const GpencilModifierData *md, GpencilModifierData *target)
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
GpencilModifierTypeInfo modifierType_Gpencil_Time
static void panelRegister(ARegionType *region_type)
static void custom_range_panel_draw(const bContext *UNUSED(C), Panel *panel)
static void initData(GpencilModifierData *md)
void uiLayoutSetActive(uiLayout *layout, bool active)
uiLayout * uiLayoutColumn(uiLayout *layout, bool align)
void uiLayoutSetPropSep(uiLayout *layout, bool is_sep)
uiLayout * uiLayoutRow(uiLayout *layout, bool align)
void uiItemR(uiLayout *layout, struct PointerRNA *ptr, const char *propname, int flag, const char *name, int icon)
const Depsgraph * depsgraph
bool RNA_boolean_get(PointerRNA *ptr, const char *name)
int RNA_enum_get(PointerRNA *ptr, const char *name)
__forceinline const avxi abs(const avxi &a)