[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