diff options
author | YimingWu <xp8110@outlook.com> | 2019-10-24 15:36:28 +0300 |
---|---|---|
committer | YimingWu <xp8110@outlook.com> | 2019-10-24 15:36:28 +0300 |
commit | e910924b37a3fdffeb38ac14c656c16f107a9c0d (patch) | |
tree | ab626478bbb650837fd54140cfbb30a04edb6a26 /source/blender/editors/include | |
parent | f60406ff257c3309418413b5af76373010fb2a6f (diff) | |
parent | 42eef8f81a6aea27094985347ab802dc6bb91a61 (diff) |
Merge remote-tracking branch 'origin/master' into soc-2019-npr
Diffstat (limited to 'source/blender/editors/include')
-rw-r--r-- | source/blender/editors/include/ED_anim_api.h | 20 | ||||
-rw-r--r-- | source/blender/editors/include/ED_armature.h | 10 | ||||
-rw-r--r-- | source/blender/editors/include/ED_fileselect.h | 2 | ||||
-rw-r--r-- | source/blender/editors/include/ED_gpencil.h | 7 | ||||
-rw-r--r-- | source/blender/editors/include/ED_image.h | 2 | ||||
-rw-r--r-- | source/blender/editors/include/ED_keyframing.h | 13 | ||||
-rw-r--r-- | source/blender/editors/include/ED_mesh.h | 14 | ||||
-rw-r--r-- | source/blender/editors/include/ED_object.h | 10 | ||||
-rw-r--r-- | source/blender/editors/include/ED_paint.h | 33 | ||||
-rw-r--r-- | source/blender/editors/include/ED_particle.h | 10 | ||||
-rw-r--r-- | source/blender/editors/include/ED_screen.h | 10 | ||||
-rw-r--r-- | source/blender/editors/include/ED_view3d.h | 4 | ||||
-rw-r--r-- | source/blender/editors/include/UI_icons.h | 6 | ||||
-rw-r--r-- | source/blender/editors/include/UI_interface.h | 5 | ||||
-rw-r--r-- | source/blender/editors/include/UI_resources.h | 3 |
15 files changed, 129 insertions, 20 deletions
diff --git a/source/blender/editors/include/ED_anim_api.h b/source/blender/editors/include/ED_anim_api.h index cb6c66ed795..bf9b69f12e1 100644 --- a/source/blender/editors/include/ED_anim_api.h +++ b/source/blender/editors/include/ED_anim_api.h @@ -834,12 +834,28 @@ void ED_drivers_editor_init(struct bContext *C, struct ScrArea *sa); /* ************************************************ */ +typedef enum eAnimvizCalcRange { + /* Update motion paths at the current frame only. */ + ANIMVIZ_CALC_RANGE_CURRENT_FRAME, + + /* Try to limit updates to a close neighborhood of the current frame. */ + ANIMVIZ_CALC_RANGE_CHANGED, + + /* Update an entire range of the motion paths. */ + ANIMVIZ_CALC_RANGE_FULL, +} eAnimvizCalcRange; + +struct Depsgraph *animviz_depsgraph_build(struct Main *bmain, + struct Scene *scene, + struct ViewLayer *view_layer, + struct ListBase *targets); + void animviz_calc_motionpaths(struct Depsgraph *depsgraph, struct Main *bmain, struct Scene *scene, ListBase *targets, - bool restore, - bool current_frame_only); + eAnimvizCalcRange range, + bool restore); void animviz_get_object_motionpaths(struct Object *ob, ListBase *targets); diff --git a/source/blender/editors/include/ED_armature.h b/source/blender/editors/include/ED_armature.h index 173ba65fc47..7ac42967dda 100644 --- a/source/blender/editors/include/ED_armature.h +++ b/source/blender/editors/include/ED_armature.h @@ -284,10 +284,18 @@ bool ED_pose_deselect_all_multi(struct bContext *C, int select_mode, const bool bool ED_pose_deselect_all(struct Object *ob, int select_mode, const bool ignore_visibility); void ED_pose_bone_select_tag_update(struct Object *ob); void ED_pose_bone_select(struct Object *ob, struct bPoseChannel *pchan, bool select); + +/* Corresponds to eAnimvizCalcRange. */ +typedef enum ePosePathCalcRange { + POSE_PATH_CALC_RANGE_CURRENT_FRAME, + POSE_PATH_CALC_RANGE_CHANGED, + POSE_PATH_CALC_RANGE_FULL, +} ePosePathCalcRange; void ED_pose_recalculate_paths(struct bContext *C, struct Scene *scene, struct Object *ob, - bool current_frame_only); + ePosePathCalcRange range); + struct Object *ED_pose_object_from_context(struct bContext *C); /* meshlaplacian.c */ diff --git a/source/blender/editors/include/ED_fileselect.h b/source/blender/editors/include/ED_fileselect.h index 37090ce3421..83890c1621c 100644 --- a/source/blender/editors/include/ED_fileselect.h +++ b/source/blender/editors/include/ED_fileselect.h @@ -98,6 +98,8 @@ struct rcti; struct FileSelectParams *ED_fileselect_get_params(struct SpaceFile *sfile); short ED_fileselect_set_params(struct SpaceFile *sfile); +void ED_fileselect_set_params_from_userdef(struct SpaceFile *sfile); +void ED_fileselect_params_to_userdef(struct SpaceFile *sfile, int temp_win_size[]); void ED_fileselect_reset_params(struct SpaceFile *sfile); diff --git a/source/blender/editors/include/ED_gpencil.h b/source/blender/editors/include/ED_gpencil.h index 63ddc669ab2..0ff1b8bb40b 100644 --- a/source/blender/editors/include/ED_gpencil.h +++ b/source/blender/editors/include/ED_gpencil.h @@ -71,8 +71,15 @@ typedef struct tGPspoint { float uv_rot; /* uv rotation for dor mode */ float rnd[3]; /* rnd value */ bool rnd_dirty; /* rnd flag */ + short tflag; /* Internal flag */ } tGPspoint; +/* tGPspoint->flag */ +typedef enum etGPspoint_tFlag { + /* Created by Fake event (used when mouse/pen move very fast while drawing). */ + GP_TPOINT_FAKE = (1 << 0), +} etGPspoint_tFlag; + /* used to sort by zdepth gpencil objects in viewport */ /* TODO: this could be a system parameter in userprefs screen */ #define GP_CACHE_BLOCK_SIZE 16 diff --git a/source/blender/editors/include/ED_image.h b/source/blender/editors/include/ED_image.h index 7d69f86dbf8..69742af9f50 100644 --- a/source/blender/editors/include/ED_image.h +++ b/source/blender/editors/include/ED_image.h @@ -77,6 +77,7 @@ void ED_image_mouse_pos(struct SpaceImage *sima, struct ARegion *ar, const int mval[2], float co[2]); +void ED_image_view_center_to_point(struct SpaceImage *sima, float x, float y); void ED_image_point_pos( struct SpaceImage *sima, struct ARegion *ar, float x, float y, float *xr, float *yr); void ED_image_point_pos__reverse(struct SpaceImage *sima, @@ -94,6 +95,7 @@ bool ED_space_image_paint_curve(const struct bContext *C); bool ED_space_image_check_show_maskedit(struct SpaceImage *sima, struct ViewLayer *view_layer); bool ED_space_image_maskedit_poll(struct bContext *C); bool ED_space_image_maskedit_mask_poll(struct bContext *C); +bool ED_space_image_cursor_poll(struct bContext *C); void ED_image_draw_info(struct Scene *scene, struct ARegion *ar, diff --git a/source/blender/editors/include/ED_keyframing.h b/source/blender/editors/include/ED_keyframing.h index 42e5add2ef0..16b3c9c240a 100644 --- a/source/blender/editors/include/ED_keyframing.h +++ b/source/blender/editors/include/ED_keyframing.h @@ -310,15 +310,24 @@ extern EnumPropertyItem prop_driver_create_mapping_types[]; /* -------- */ +typedef enum eDriverFCurveCreationMode { + DRIVER_FCURVE_LOOKUP_ONLY = 0, /* Don't add anything if not found. */ + DRIVER_FCURVE_KEYFRAMES = 1, /* Add with keyframes, for visual tweaking. */ + DRIVER_FCURVE_GENERATOR = 2, /* Add with generator, for script backwards compatibility. */ + DRIVER_FCURVE_EMPTY = 3 /* Add without data, for pasting. */ +} eDriverFCurveCreationMode; + /* Low-level call to add a new driver F-Curve. This shouldn't be used directly for most tools, * although there are special cases where this approach is preferable. */ struct FCurve *verify_driver_fcurve(struct ID *id, const char rna_path[], const int array_index, - short add); + eDriverFCurveCreationMode creation_mode); -struct FCurve *alloc_driver_fcurve(const char rna_path[], const int array_index, short add); +struct FCurve *alloc_driver_fcurve(const char rna_path[], + const int array_index, + eDriverFCurveCreationMode creation_mode); /* -------- */ diff --git a/source/blender/editors/include/ED_mesh.h b/source/blender/editors/include/ED_mesh.h index d8d62ad6f08..fc7b0d8be8f 100644 --- a/source/blender/editors/include/ED_mesh.h +++ b/source/blender/editors/include/ED_mesh.h @@ -380,17 +380,17 @@ float ED_vgroup_vert_weight(struct Object *ob, struct bDeformGroup *dg, int vert void ED_vgroup_vert_active_mirror(struct Object *ob, int def_nr); /* mesh_data.c */ -#if 0 -void ED_mesh_geometry_add( - struct Mesh *mesh, struct ReportList *reports, int verts, int edges, int faces); -#endif -void ED_mesh_polys_add(struct Mesh *mesh, struct ReportList *reports, int count); +void ED_mesh_verts_add(struct Mesh *mesh, struct ReportList *reports, int count); void ED_mesh_edges_add(struct Mesh *mesh, struct ReportList *reports, int count); void ED_mesh_loops_add(struct Mesh *mesh, struct ReportList *reports, int count); -void ED_mesh_vertices_add(struct Mesh *mesh, struct ReportList *reports, int count); +void ED_mesh_polys_add(struct Mesh *mesh, struct ReportList *reports, int count); +void ED_mesh_verts_remove(struct Mesh *mesh, struct ReportList *reports, int count); void ED_mesh_edges_remove(struct Mesh *mesh, struct ReportList *reports, int count); -void ED_mesh_vertices_remove(struct Mesh *mesh, struct ReportList *reports, int count); +void ED_mesh_loops_remove(struct Mesh *mesh, struct ReportList *reports, int count); +void ED_mesh_polys_remove(struct Mesh *mesh, struct ReportList *reports, int count); + +void ED_mesh_geometry_clear(struct Mesh *mesh); void ED_mesh_update(struct Mesh *mesh, struct bContext *C, bool calc_edges, bool calc_edges_loose); diff --git a/source/blender/editors/include/ED_object.h b/source/blender/editors/include/ED_object.h index c481c19a552..38d75aa57e9 100644 --- a/source/blender/editors/include/ED_object.h +++ b/source/blender/editors/include/ED_object.h @@ -238,9 +238,17 @@ void ED_object_single_user(struct Main *bmain, struct Scene *scene, struct Objec /* object motion paths */ void ED_objects_clear_paths(struct bContext *C, bool only_selected); + +/* Corresponds to eAnimvizCalcRange. */ +typedef enum eObjectPathCalcRange { + OBJECT_PATH_CALC_RANGE_CURRENT_FRAME, + OBJECT_PATH_CALC_RANGE_CHANGED, + OBJECT_PATH_CALC_RANGE_FULL, +} eObjectPathCalcRange; + void ED_objects_recalculate_paths(struct bContext *C, struct Scene *scene, - bool current_frame_only); + eObjectPathCalcRange range); /* constraints */ struct ListBase *get_active_constraints(struct Object *ob); diff --git a/source/blender/editors/include/ED_paint.h b/source/blender/editors/include/ED_paint.h index 88cc8a85897..fec4beea809 100644 --- a/source/blender/editors/include/ED_paint.h +++ b/source/blender/editors/include/ED_paint.h @@ -40,13 +40,44 @@ void ED_imapaint_dirty_region( struct Image *ima, struct ImBuf *ibuf, int x, int y, int w, int h, bool find_old); void ED_imapaint_bucket_fill(struct bContext *C, float color[3], struct wmOperator *op); -/* paint_image_undo.c */ +/* image_undo.c */ void ED_image_undo_push_begin(const char *name, int paint_mode); +void ED_image_undo_push_begin_with_image(const char *name, + struct Image *image, + struct ImBuf *ibuf); + void ED_image_undo_push_end(void); void ED_image_undo_restore(struct UndoStep *us); void ED_image_undosys_type(struct UndoType *ut); +void *ED_image_paint_tile_find(struct ListBase *undo_tiles, + struct Image *ima, + struct ImBuf *ibuf, + int x_tile, + int y_tile, + unsigned short **r_mask, + bool validate); +void *ED_image_paint_tile_push(struct ListBase *undo_tiles, + struct Image *ima, + struct ImBuf *ibuf, + struct ImBuf **tmpibuf, + int x_tile, + int y_tile, + unsigned short **r_mask, + bool **r_valid, + bool use_thread_lock, + bool find_prev); +void ED_image_paint_tile_lock_init(void); +void ED_image_paint_tile_lock_end(void); + +struct ListBase *ED_image_paint_tile_list_get(void); + +#define ED_IMAGE_UNDO_TILE_BITS 6 +#define ED_IMAGE_UNDO_TILE_SIZE (1 << ED_IMAGE_UNDO_TILE_BITS) +#define ED_IMAGE_UNDO_TILE_NUMBER(size) \ + (((size) + ED_IMAGE_UNDO_TILE_SIZE - 1) >> ED_IMAGE_UNDO_TILE_BITS) + /* paint_curve_undo.c */ void ED_paintcurve_undo_push_begin(const char *name); void ED_paintcurve_undo_push_end(void); diff --git a/source/blender/editors/include/ED_particle.h b/source/blender/editors/include/ED_particle.h index 3ef3c0ba937..0c973f4ca88 100644 --- a/source/blender/editors/include/ED_particle.h +++ b/source/blender/editors/include/ED_particle.h @@ -40,12 +40,18 @@ int PE_start_edit(struct PTCacheEdit *edit); /* access */ struct PTCacheEdit *PE_get_current_from_psys(struct ParticleSystem *psys); -struct PTCacheEdit *PE_get_current(struct Scene *scene, struct Object *ob); +struct PTCacheEdit *PE_get_current(struct Depsgraph *depsgraph, + struct Scene *scene, + struct Object *ob); struct PTCacheEdit *PE_create_current(struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob); void PE_current_changed(struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob); -int PE_minmax(struct Scene *scene, struct ViewLayer *view_layer, float min[3], float max[3]); +int PE_minmax(struct Depsgraph *depsgraph, + struct Scene *scene, + struct ViewLayer *view_layer, + float min[3], + float max[3]); struct ParticleEditSettings *PE_settings(struct Scene *scene); /* update calls */ diff --git a/source/blender/editors/include/ED_screen.h b/source/blender/editors/include/ED_screen.h index d0fab134dcc..c3e61f5f2b2 100644 --- a/source/blender/editors/include/ED_screen.h +++ b/source/blender/editors/include/ED_screen.h @@ -66,6 +66,7 @@ void ED_region_do_listen(struct wmWindow *win, void ED_region_do_layout(struct bContext *C, struct ARegion *ar); void ED_region_do_draw(struct bContext *C, struct ARegion *ar); void ED_region_exit(struct bContext *C, struct ARegion *ar); +void ED_region_remove(struct bContext *C, struct ScrArea *sa, struct ARegion *ar); void ED_region_pixelspace(struct ARegion *ar); void ED_region_update_rect(struct ARegion *ar); void ED_region_init(struct ARegion *ar); @@ -238,6 +239,15 @@ struct ScrArea *ED_screen_state_toggle(struct bContext *C, struct wmWindow *win, struct ScrArea *sa, const short state); +ScrArea *ED_screen_temp_space_open(struct bContext *C, + const char *title, + int x, + int y, + int sizex, + int sizey, + eSpace_Type space_type, + int display_type, + bool dialog); void ED_screens_header_tools_menu_create(struct bContext *C, struct uiLayout *layout, void *arg); void ED_screens_footer_tools_menu_create(struct bContext *C, struct uiLayout *layout, void *arg); void ED_screens_navigation_bar_tools_menu_create(struct bContext *C, diff --git a/source/blender/editors/include/ED_view3d.h b/source/blender/editors/include/ED_view3d.h index dc7b25392e8..28280fae3a8 100644 --- a/source/blender/editors/include/ED_view3d.h +++ b/source/blender/editors/include/ED_view3d.h @@ -521,7 +521,9 @@ int view3d_opengl_select(struct ViewContext *vc, /* view3d_select.c */ float ED_view3d_select_dist_px(void); -void ED_view3d_viewcontext_init(struct bContext *C, struct ViewContext *vc); +void ED_view3d_viewcontext_init(struct bContext *C, + struct ViewContext *vc, + struct Depsgraph *depsgraph); void ED_view3d_viewcontext_init_object(struct ViewContext *vc, struct Object *obact); void view3d_operator_needs_opengl(const struct bContext *C); void view3d_region_operator_needs_opengl(struct wmWindow *win, struct ARegion *ar); diff --git a/source/blender/editors/include/UI_icons.h b/source/blender/editors/include/UI_icons.h index ffabace48c0..4e4db46adf6 100644 --- a/source/blender/editors/include/UI_icons.h +++ b/source/blender/editors/include/UI_icons.h @@ -858,9 +858,9 @@ DEF_ICON_BLANK(855) DEF_ICON_BLANK(856) DEF_ICON_BLANK(857) DEF_ICON_BLANK(858) -DEF_ICON_BLANK(859) -DEF_ICON_BLANK(860) -DEF_ICON_BLANK(861) +DEF_ICON(DESKTOP) +DEF_ICON(EXTERNAL_DRIVE) +DEF_ICON(NETWORK_DRIVE) /* SEQUENCE / IMAGE EDITOR */ DEF_ICON(SEQ_SEQUENCER) diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h index 702d319817f..f5721c008b2 100644 --- a/source/blender/editors/include/UI_interface.h +++ b/source/blender/editors/include/UI_interface.h @@ -524,6 +524,7 @@ bool UI_but_is_tool(const uiBut *but); bool UI_but_is_utf8(const uiBut *but); #define UI_but_is_decorator(but) ((but)->func == ui_but_anim_decorate_cb) +bool UI_block_is_empty_ex(const uiBlock *block, const bool skip_title); bool UI_block_is_empty(const uiBlock *block); bool UI_block_can_add_separator(const uiBlock *block); @@ -1810,6 +1811,7 @@ void uiLayoutSetActivateInit(uiLayout *layout, bool active); void uiLayoutSetEnabled(uiLayout *layout, bool enabled); void uiLayoutSetRedAlert(uiLayout *layout, bool redalert); void uiLayoutSetAlignment(uiLayout *layout, char alignment); +void uiLayoutSetFixedSize(uiLayout *layout, bool fixed_size); void uiLayoutSetKeepAspect(uiLayout *layout, bool keepaspect); void uiLayoutSetScaleX(uiLayout *layout, float scale); void uiLayoutSetScaleY(uiLayout *layout, float scale); @@ -1827,6 +1829,7 @@ bool uiLayoutGetActivateInit(uiLayout *layout); bool uiLayoutGetEnabled(uiLayout *layout); bool uiLayoutGetRedAlert(uiLayout *layout); int uiLayoutGetAlignment(uiLayout *layout); +bool uiLayoutGetFixedSize(uiLayout *layout); bool uiLayoutGetKeepAspect(uiLayout *layout); int uiLayoutGetWidth(uiLayout *layout); float uiLayoutGetScaleX(uiLayout *layout); @@ -2451,6 +2454,8 @@ void UI_widgetbase_draw_cache_end(void); void UI_theme_init_default(void); void UI_style_init_default(void); +void UI_interface_tag_script_reload(void); + /* Special drawing for toolbar, mainly workarounds for inflexible icon sizing. */ #define USE_UI_TOOLBAR_HACK diff --git a/source/blender/editors/include/UI_resources.h b/source/blender/editors/include/UI_resources.h index efa35c84b9e..8e04db8127e 100644 --- a/source/blender/editors/include/UI_resources.h +++ b/source/blender/editors/include/UI_resources.h @@ -234,6 +234,8 @@ typedef enum ThemeColorID { TH_DIS_MARKER, TH_PATH_BEFORE, TH_PATH_AFTER, + TH_PATH_KEYFRAME_BEFORE, + TH_PATH_KEYFRAME_AFTER, TH_CAMERA_PATH, TH_LOCK_MARKER, @@ -281,6 +283,7 @@ typedef enum ThemeColorID { TH_NLA_TWEAK, /* 'tweaking' track in NLA */ TH_NLA_TWEAK_DUPLI, /* error/warning flag for other strips referencing dupli strip */ + TH_NLA_TRACK, TH_NLA_TRANSITION, TH_NLA_TRANSITION_SEL, TH_NLA_META, |