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. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to