Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Bishop <nicholasbishop@gmail.com>2009-08-14 19:47:32 +0400
committerNicholas Bishop <nicholasbishop@gmail.com>2009-08-14 19:47:32 +0400
commit0ba5cf245023e8c2310cdcbfe03d9da21d9330a5 (patch)
tree34c2683f278df52b48df334126690fd7e744672f /source/blender/editors/space_view3d
parentc32fce07051572460070fb36ce85519565899c92 (diff)
2.5/Paint modes:
* Fixed one of the items from Brecht's TODO mail. Exiting edit mode now restores any paint mode you might have been in, rather than going to object mode.
Diffstat (limited to 'source/blender/editors/space_view3d')
-rw-r--r--source/blender/editors/space_view3d/view3d_header.c29
1 files changed, 19 insertions, 10 deletions
diff --git a/source/blender/editors/space_view3d/view3d_header.c b/source/blender/editors/space_view3d/view3d_header.c
index 2e0172f4238..d40b3ad4600 100644
--- a/source/blender/editors/space_view3d/view3d_header.c
+++ b/source/blender/editors/space_view3d/view3d_header.c
@@ -134,28 +134,37 @@ static int retopo_mesh_paint_check() {return 0;}
/* end XXX ************* */
-
-/* well... in this file a lot of view mode manipulation happens, so let's have it defined here */
-void ED_view3d_exit_paint_modes(bContext *C)
+static int ED_toggle_paint_modes(bContext *C, int mode)
{
- if(G.f & G_TEXTUREPAINT)
+ if(mode & G_TEXTUREPAINT)
WM_operator_name_call(C, "PAINT_OT_texture_paint_toggle", WM_OP_EXEC_REGION_WIN, NULL);
- if(G.f & G_VERTEXPAINT)
+ if(mode & G_VERTEXPAINT)
WM_operator_name_call(C, "PAINT_OT_vertex_paint_toggle", WM_OP_EXEC_REGION_WIN, NULL);
- else if(G.f & G_WEIGHTPAINT)
+ else if(mode & G_WEIGHTPAINT)
WM_operator_name_call(C, "PAINT_OT_weight_paint_toggle", WM_OP_EXEC_REGION_WIN, NULL);
- if(G.f & G_SCULPTMODE)
+ if(mode & G_SCULPTMODE)
WM_operator_name_call(C, "SCULPT_OT_sculptmode_toggle", WM_OP_EXEC_REGION_WIN, NULL);
- if(G.f & G_PARTICLEEDIT)
+ if(mode & G_PARTICLEEDIT)
WM_operator_name_call(C, "PARTICLE_OT_particle_edit_toggle", WM_OP_EXEC_REGION_WIN, NULL);
-
- G.f &= ~(G_VERTEXPAINT+G_TEXTUREPAINT+G_WEIGHTPAINT+G_SCULPTMODE+G_PARTICLEEDIT);
}
+/* well... in this file a lot of view mode manipulation happens, so let's have it defined here */
+int ED_view3d_exit_paint_modes(bContext *C)
+{
+ int restore = G.f;
+ ED_toggle_paint_modes(C, G.f);
+
+ G.f &= ~(G_VERTEXPAINT+G_TEXTUREPAINT+G_WEIGHTPAINT+G_SCULPTMODE+G_PARTICLEEDIT);
+ return restore;
+}
+void ED_view3d_restore_paint_modes(struct bContext *C, int mode)
+{
+ ED_toggle_paint_modes(C, mode);
+}
static void do_view3d_header_buttons(bContext *C, void *arg, int event);