[Bf-blender-cvs] [de0a52d] temp_widgets_c++_experiment: Port over functions for finding, setting and getting highlighted widget

Julian Eisel noreply at git.blender.org
Sat Dec 19 23:19:47 CET 2015


Commit: de0a52dbd970741ebf9b84ec4be8e8072e207269
Author: Julian Eisel
Date:   Sat Dec 19 23:11:25 2015 +0100
Branches: temp_widgets_c++_experiment
https://developer.blender.org/rBde0a52dbd970741ebf9b84ec4be8e8072e207269

Port over functions for finding, setting and getting highlighted widget

===================================================================

M	source/blender/blenkernel/intern/screen.c
M	source/blender/editors/armature/pose_select.c
M	source/blender/editors/include/ED_view3d.h
M	source/blender/editors/space_graph/graph_edit.c
M	source/blender/editors/space_sequencer/sequencer_view.c
M	source/blender/editors/space_view3d/view3d_draw.c
M	source/blender/editors/space_view3d/view3d_intern.h
M	source/blender/editors/space_view3d/view3d_view.c
M	source/blender/gpu/GPU_select.h
M	source/blender/makesdna/DNA_screen_types.h
M	source/blender/makesdna/DNA_view3d_types.h
M	source/blender/windowmanager/WM_api.h
M	source/blender/windowmanager/WM_types.h
M	source/blender/windowmanager/intern/widgets/wm_widget.cc
M	source/blender/windowmanager/intern/widgets/wm_widget.h
M	source/blender/windowmanager/intern/widgets/wm_widgetgroup.cc
M	source/blender/windowmanager/intern/widgets/wm_widgetgrouptype.cc
M	source/blender/windowmanager/intern/widgets/wm_widgetmap.cc
M	source/blender/windowmanager/intern/widgets/wm_widgetmap.h
M	source/blender/windowmanager/intern/widgets/wm_widgets_c_api.cc
M	source/blender/windowmanager/intern/widgets/wm_widgets_c_api.h
M	source/blender/windowmanager/intern/wm_event_system.c
M	source/blender/windowmanager/intern/wm_widgets.c
M	source/blender/windowmanager/wm.h
M	source/blender/windowmanager/wm_event_system.h
M	source/blenderplayer/bad_level_call_stubs/stubs.c

===================================================================

diff --git a/source/blender/blenkernel/intern/screen.c b/source/blender/blenkernel/intern/screen.c
index a9fe7db..b0a3edc 100644
--- a/source/blender/blenkernel/intern/screen.c
+++ b/source/blender/blenkernel/intern/screen.c
@@ -295,7 +295,7 @@ void BKE_spacedata_id_unref(struct SpaceLink *sl, const struct ID *id)
 void BKE_area_region_free(SpaceType *st, ARegion *ar)
 {
 	uiList *uilst;
-	struct wmWidgetMap *wmap, *wmap_tmp;
+	struct wmWidgetMapC *wmap, *wmap_tmp;
 
 	if (st) {
 		ARegionType *art = BKE_regiontype_from_id(st, ar->regiontype);
diff --git a/source/blender/editors/armature/pose_select.c b/source/blender/editors/armature/pose_select.c
index e12fb3a..1331d77 100644
--- a/source/blender/editors/armature/pose_select.c
+++ b/source/blender/editors/armature/pose_select.c
@@ -370,7 +370,7 @@ static int pose_de_select_all_exec(bContext *C, wmOperator *op)
 	CTX_DATA_END;
 
 	/* handle widget selection */
-	WM_widgetmap_select_all(C, (wmWidgetMap *)ar->widgetmaps.first, action);
+	WM_widgetmap_select_all(C, (wmWidgetMapC *)ar->widgetmaps.first, action);
 
 	WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, NULL);
 	
diff --git a/source/blender/editors/include/ED_view3d.h b/source/blender/editors/include/ED_view3d.h
index 67cd090..ea0fafe 100644
--- a/source/blender/editors/include/ED_view3d.h
+++ b/source/blender/editors/include/ED_view3d.h
@@ -31,6 +31,10 @@
 #ifndef __ED_VIEW3D_H__
 #define __ED_VIEW3D_H__
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* ********* exports for space_view3d/ module ********** */
 struct ARegion;
 struct BMEdge;
@@ -239,6 +243,8 @@ bool ED_view3d_viewplane_get(
         const struct View3D *v3d, const struct RegionView3D *rv3d, int winxi, int winyi,
         struct rctf *r_viewplane, float *r_clipsta, float *r_clipend, float *r_pixsize);
 
+void ED_view3d_winmatrix_set(struct ARegion *ar, const struct View3D *v3d, const rctf *rect);
+
 void ED_view3d_polygon_offset(const struct RegionView3D *rv3d, const float dist);
 
 void ED_view3d_calc_camera_border(
@@ -422,4 +428,9 @@ void ED_view3d_shade_update(struct Main *bmain, struct Scene *scene, struct View
 #define V3D_IS_ZBUF(v3d) \
 	(((v3d)->flag & V3D_ZBUF_SELECT) && ((v3d)->drawtype > OB_WIRE))
 
+
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* __ED_VIEW3D_H__ */
diff --git a/source/blender/editors/space_graph/graph_edit.c b/source/blender/editors/space_graph/graph_edit.c
index 109b47e..56310ee 100644
--- a/source/blender/editors/space_graph/graph_edit.c
+++ b/source/blender/editors/space_graph/graph_edit.c
@@ -2713,7 +2713,7 @@ static int graph_widget_backdrop_transform_modal(bContext *C, wmOperator *op, co
 		case RIGHTMOUSE:
 		{
 			ARegion *ar = CTX_wm_region(C);
-			wmWidgetMap *wmap = ar->widgetmaps.first;
+			wmWidgetMapC *wmap = ar->widgetmaps.first;
 			SpaceIpo *sipo = CTX_wm_space_graph(C);
 
 			/* only end modal if we're not dragging a widget */
diff --git a/source/blender/editors/space_sequencer/sequencer_view.c b/source/blender/editors/space_sequencer/sequencer_view.c
index 9e27937..21a1d8b 100644
--- a/source/blender/editors/space_sequencer/sequencer_view.c
+++ b/source/blender/editors/space_sequencer/sequencer_view.c
@@ -373,7 +373,7 @@ static int sequencer_overdrop_transform_modal(bContext *C, wmOperator *op, const
 		case RIGHTMOUSE:
 		{
 			ARegion *ar = CTX_wm_region(C);
-			wmWidgetMap *wmap = ar->widgetmaps.first;
+			wmWidgetMapC *wmap = ar->widgetmaps.first;
 			SpaceSeq *sseq = CTX_wm_space_seq(C);
 
 			/* only end modal if we're not dragging a widget */
@@ -513,7 +513,7 @@ static int sequencer_image_transform_widget_modal(bContext *C, wmOperator *op, c
 		{
 			ARegion *ar = CTX_wm_region(C);
 			Scene *scene = CTX_data_scene(C);
-			wmWidgetMap *wmap = ar->widgetmaps.first;
+			wmWidgetMapC *wmap = ar->widgetmaps.first;
 			float scale_fac = RNA_float_get(op->ptr, "scale");
 			float new_size[2];
 			float offset[2];
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c
index 604c6bf..6a2aa7e 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -2336,7 +2336,7 @@ void ED_view3d_draw_depth_gpencil(Scene *scene, ARegion *ar, View3D *v3d)
 	short zbuf = v3d->zbuf;
 	RegionView3D *rv3d = ar->regiondata;
 
-	view3d_winmatrix_set(ar, v3d, NULL);
+	ED_view3d_winmatrix_set(ar, v3d, NULL);
 	view3d_viewmatrix_set(scene, v3d, rv3d);  /* note: calls BKE_object_where_is_calc for camera... */
 
 	mul_m4_m4m4(rv3d->persmat, rv3d->winmat, rv3d->viewmat);
@@ -2375,7 +2375,7 @@ void ED_view3d_draw_depth(Scene *scene, ARegion *ar, View3D *v3d, bool alphaover
 	U.glalphaclip = alphaoverride ? 0.5f : glalphaclip; /* not that nice but means we wont zoom into billboards */
 	U.obcenter_dia = 0;
 	
-	view3d_winmatrix_set(ar, v3d, NULL);
+	ED_view3d_winmatrix_set(ar, v3d, NULL);
 	view3d_viewmatrix_set(scene, v3d, rv3d);  /* note: calls BKE_object_where_is_calc for camera... */
 	
 	mul_m4_m4m4(rv3d->persmat, rv3d->winmat, rv3d->viewmat);
@@ -2653,7 +2653,7 @@ void ED_view3d_update_viewmat(Scene *scene, View3D *v3d, ARegion *ar, float view
 	if (winmat)
 		copy_m4_m4(rv3d->winmat, winmat);
 	else
-		view3d_winmatrix_set(ar, v3d, NULL);
+		ED_view3d_winmatrix_set(ar, v3d, NULL);
 
 	/* setup view matrix */
 	if (viewmat)
diff --git a/source/blender/editors/space_view3d/view3d_intern.h b/source/blender/editors/space_view3d/view3d_intern.h
index afba08f..2d5a0c8 100644
--- a/source/blender/editors/space_view3d/view3d_intern.h
+++ b/source/blender/editors/space_view3d/view3d_intern.h
@@ -221,7 +221,6 @@ void ED_view3d_smooth_view(
         const float *ofs, const float *quat, const float *dist, const float *lens,
         const int smooth_viewtx);
 
-void view3d_winmatrix_set(ARegion *ar, const View3D *v3d, const rctf *rect);
 void view3d_viewmatrix_set(Scene *scene, const View3D *v3d, RegionView3D *rv3d);
 
 void fly_modal_keymap(struct wmKeyConfig *keyconf);
diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c
index 2e9dcdc..96b3492 100644
--- a/source/blender/editors/space_view3d/view3d_view.c
+++ b/source/blender/editors/space_view3d/view3d_view.c
@@ -810,7 +810,7 @@ void ED_view3d_polygon_offset(const RegionView3D *rv3d, const float dist)
 /**
  * \param rect optional for picking (can be NULL).
  */
-void view3d_winmatrix_set(ARegion *ar, const View3D *v3d, const rctf *rect)
+void ED_view3d_winmatrix_set(ARegion *ar, const View3D *v3d, const rctf *rect)
 {
 	RegionView3D *rv3d = ar->regiondata;
 	rctf viewplane;
@@ -1095,7 +1095,7 @@ short view3d_opengl_select(ViewContext *vc, unsigned int *buffer, unsigned int b
 		BLI_rctf_rcti_copy(&rect, input);
 	}
 	
-	view3d_winmatrix_set(ar, v3d, &rect);
+	ED_view3d_winmatrix_set(ar, v3d, &rect);
 	mul_m4_m4m4(vc->rv3d->persmat, vc->rv3d->winmat, vc->rv3d->viewmat);
 	
 	if (v3d->drawtype > OB_WIRE) {
@@ -1125,7 +1125,7 @@ short view3d_opengl_select(ViewContext *vc, unsigned int *buffer, unsigned int b
 	}
 
 	G.f &= ~G_PICKSEL;
-	view3d_winmatrix_set(ar, v3d, NULL);
+	ED_view3d_winmatrix_set(ar, v3d, NULL);
 	mul_m4_m4m4(vc->rv3d->persmat, vc->rv3d->winmat, vc->rv3d->viewmat);
 	
 	if (v3d->drawtype > OB_WIRE) {
diff --git a/source/blender/gpu/GPU_select.h b/source/blender/gpu/GPU_select.h
index 5dff711..62dec9e 100644
--- a/source/blender/gpu/GPU_select.h
+++ b/source/blender/gpu/GPU_select.h
@@ -30,6 +30,10 @@
 #ifndef __GPU_SELECT_H__
 #define __GPU_SELECT_H__
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include "DNA_vec_types.h"  /* rcft */
 #include "BLI_sys_types.h"
 
@@ -55,4 +59,9 @@ unsigned int GPU_select_end(void);
 /* has user activated? */
 bool GPU_select_query_check_active(void);
 
+
+#ifdef __cplusplus
+}
+#endif
+
 #endif
diff --git a/source/blender/makesdna/DNA_screen_types.h b/source/blender/makesdna/DNA_screen_types.h
index 5c93708..6852faa 100644
--- a/source/blender/makesdna/DNA_screen_types.h
+++ b/source/blender/makesdna/DNA_screen_types.h
@@ -44,7 +44,7 @@ struct PanelType;
 struct Scene;
 struct uiLayout;
 struct wmTimer;
-struct wmWidgetMap;
+struct wmWidgetMapC;
 
 typedef struct bScreen {
 	ID id;
diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h
index 13a9297..f58bcdc 100644
--- a/source/blender/makesdna/DNA_view3d_types.h
+++ b/source/blender/makesdna/DNA_view3d_types.h
@@ -122,7 +122,7 @@ typedef struct RegionView3D {
 								 * also matches -viewinv[3][0:3] in ortho mode.*/
 	float camzoom;				/* viewport zoom on the camera frame, see BKE_screen_view3d_zoom_to_fac */
 	char is_persp;				/* check if persp/ortho view, since 'persp' cant be used for this since
-								 * it can have cameras assigned as well. (only set in view3d_winmatrix_set) */
+								 * it can have cameras assigned as well. (only set in ED_view3d_winmatrix_set) */
 	char persp;
 	char view;
 	char viewlock;
diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h
index 98fb0c5..04a6760 100644
--- a/source/blender/windowmanager/WM_api.h
+++ b/source/blender/windowmanager/WM_api.h
@@ -60,7 +60,7 @@ struct wmOperatorType;
 struct wmOperator;
 struct wmWidget;
 struct wmWidgetGroup;
-struct wmWidgetMap;
+struct wmWidgetMapC;
 struct wmWidgetGroupTypeC;
 struct wmWidgetMapType;
 struct rcti;
@@ -512,8 +512,8 @@ struct wmWidget *WM_widget_new(void (*draw)(const struct bContext *, struct wmWi
                                int  (*intersect)(struct bContext *, const struct wmEvent *, struct wmWidget *),
                                int  (*handler)(struct bContext *, const struct wmEvent *, struct wmWidget *, const int));
 
-void  WM_widgetmap_widgets_update(const struct bContext *C, struct wmWidgetMap *wmap);
-void  WM_widgetmap_widgets_draw(const struct bContext *C, const struct wmWidgetMap *wmap,
+void  WM_widgetmap_widgets_update(const struct bContext *C, struct wmWidgetMapC *wmap);
+void  WM_widgetmap_widgets_draw(const struct bContext *C, const struct wmWidgetMapC *wmap,
                       const bool in_scene, const bool free_drawwidgets);
 void  WM_event_add_area_widgetmap_handlers(struct ARegion *ar);
 void  WM_modal_han

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list