[Bf-blender-cvs] [391c464] wiggly-widgets: Refactor widget code into isolated window manager submodule files (merges temp_widgets_files_refactor)
Julian Eisel
noreply at git.blender.org
Tue Feb 9 17:14:48 CET 2016
Commit: 391c464c4780be95e78d15621c33f0aae5a8c1e2
Author: Julian Eisel
Date: Tue Feb 9 16:10:48 2016 +0100
Branches: wiggly-widgets
https://developer.blender.org/rB391c464c4780be95e78d15621c33f0aae5a8c1e2
Refactor widget code into isolated window manager submodule files (merges temp_widgets_files_refactor)
Widgets core code is now located in own folder, source/blender/windowmanager/widgets/. It is now more centralized, better structured and mixing with regular WM code was greatly minimized.
wm_widgets.c was split up into multiple files in windowmanager/widgets/intern/, wm_generic_widgets.c was split up into multiple files in windowmanager/widgets/intern/widget_library/. Both initial files are gone.
The geometry files for widget types that were previously located under windowmanager/3d_widgets are now also in windowmanager/widgets/intern/widget_library/, with a geom_ prefix.
Header files:
Widgets got own .h files, which are included into window manager .h files if needed.
API and defines for external access are in WM_widget_api.h, WM_widget_types.h and WM_widget_library.h. Also, wm_widget_wmapi.h was added as header for window manager usage only (could add #error printing for usage outside of window manager later).
Also did some minor cleanups here and there.
===================================================================
M release/datafiles/locale
M release/scripts/addons
M release/scripts/addons_contrib
M source/blender/editors/object/object_edit.c
M source/blender/editors/space_graph/graph_edit.c
M source/blender/editors/space_node/space_node.c
M source/blender/editors/space_sequencer/sequencer_view.c
M source/blender/editors/space_view3d/space_view3d.c
M source/blender/makesdna/DNA_widget_types.h
M source/blender/makesrna/intern/rna_wm.c
D source/blender/windowmanager/3d_widgets/arrow_widget.c
D source/blender/windowmanager/3d_widgets/cube_widget.c
D source/blender/windowmanager/3d_widgets/dial_widget.c
D source/blender/windowmanager/3d_widgets/ui_widget_library.h
M source/blender/windowmanager/CMakeLists.txt
M source/blender/windowmanager/WM_api.h
M source/blender/windowmanager/WM_types.h
M source/blender/windowmanager/intern/wm_event_system.c
D source/blender/windowmanager/intern/wm_generic_widgets.c
D source/blender/windowmanager/intern/wm_widgets.c
A source/blender/windowmanager/widgets/WM_widget_api.h
A source/blender/windowmanager/widgets/WM_widget_library.h
A source/blender/windowmanager/widgets/WM_widget_types.h
A source/blender/windowmanager/widgets/intern/widget_library/arrow_widget.c
A source/blender/windowmanager/widgets/intern/widget_library/cage_widget.c
A source/blender/windowmanager/widgets/intern/widget_library/dial_widget.c
A source/blender/windowmanager/widgets/intern/widget_library/facemap_widget.c
A source/blender/windowmanager/widgets/intern/widget_library/geom_arrow_widget.c
A source/blender/windowmanager/widgets/intern/widget_library/geom_cube_widget.c
A source/blender/windowmanager/widgets/intern/widget_library/geom_dial_widget.c
A source/blender/windowmanager/widgets/intern/widget_library/plane_widget.c
A source/blender/windowmanager/widgets/intern/widget_library/widget_geometry.h
A source/blender/windowmanager/widgets/intern/wm_widget.c
A source/blender/windowmanager/widgets/intern/wm_widget_intern.h
A source/blender/windowmanager/widgets/intern/wm_widgetgroup.c
A source/blender/windowmanager/widgets/intern/wm_widgetmap.c
A source/blender/windowmanager/widgets/wm_widget_wmapi.h
M source/blender/windowmanager/wm.h
M source/blender/windowmanager/wm_event_system.h
===================================================================
diff --git a/release/datafiles/locale b/release/datafiles/locale
index 9628dc1..48e6ed5 160000
--- a/release/datafiles/locale
+++ b/release/datafiles/locale
@@ -1 +1 @@
-Subproject commit 9628dc1922be2fb6281bc66f5f7512c2a57c294a
+Subproject commit 48e6ed58b44b9bac6c1aa8671a07ea4a7c72ee3a
diff --git a/release/scripts/addons b/release/scripts/addons
index 407d0ea..b7a4aa5 160000
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@ -1 +1 @@
-Subproject commit 407d0ea752b3af73d3f13ba072671bd09eefecb1
+Subproject commit b7a4aa544884c9a2a1223657875f060ad53b7b1e
diff --git a/release/scripts/addons_contrib b/release/scripts/addons_contrib
index 9f29e18..6668384 160000
--- a/release/scripts/addons_contrib
+++ b/release/scripts/addons_contrib
@@ -1 +1 @@
-Subproject commit 9f29e18707917ec5be262431d2e09dbb85332f41
+Subproject commit 66683843bb43bb9e732fcb3f632116ca977c9bb3
diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c
index 77b993f..4b15d91 100644
--- a/source/blender/editors/object/object_edit.c
+++ b/source/blender/editors/object/object_edit.c
@@ -2139,7 +2139,7 @@ static int object_widget_add_exec(bContext *C, wmOperator *UNUSED(op))
Object *ob = ED_object_active_context((bContext *)C);
wmWidgetGroupType *wgrouptype = WM_widgetgrouptype_register(
CTX_data_main(C),
- &(const struct wmWidgetMapType_Params) {"View3D", SPACE_VIEW3D, RGN_TYPE_WINDOW, WM_WIDGET_TYPE_3D},
+ &(const struct wmWidgetMapType_Params) {"View3D", SPACE_VIEW3D, RGN_TYPE_WINDOW, WM_WIDGETMAPTYPE_3D},
WIDGETGROUP_object_manipulator_poll,
WIDGETGROUP_object_manipulator_create,
WM_widgetgroup_keymap_common,
diff --git a/source/blender/editors/space_graph/graph_edit.c b/source/blender/editors/space_graph/graph_edit.c
index 66b5c02..cec7e0f 100644
--- a/source/blender/editors/space_graph/graph_edit.c
+++ b/source/blender/editors/space_graph/graph_edit.c
@@ -2648,7 +2648,7 @@ static int graph_widget_backdrop_transform_invoke(bContext *C, wmOperator *op, c
"Backdrop Transform Widgets");
struct wmEventHandler *handler = WM_event_add_modal_handler(C, op);
BackDropTransformData *data = MEM_mallocN(sizeof(BackDropTransformData), "overdrop transform data");
- WM_modal_handler_attach_widgetgroup(C, handler, cagetype, op);
+ WM_widgetgroup_attach_to_modal_handler(C, handler, cagetype, op);
RNA_float_set_array(op->ptr, "offset", sipo->backdrop_offset);
RNA_float_set(op->ptr, "scale", sipo->backdrop_zoom);
diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c
index 13d865c..8e0cd42 100644
--- a/source/blender/editors/space_node/space_node.c
+++ b/source/blender/editors/space_node/space_node.c
@@ -654,7 +654,7 @@ static void node_main_region_init(wmWindowManager *wm, ARegion *ar)
BLI_addhead(&ar->widgetmaps, wmap);
}
- WM_event_add_area_widgetmap_handlers(ar);
+ WM_widgetmaps_add_handlers(ar);
/* own keymaps */
keymap = WM_keymap_find(wm->defaultconf, "Node Generic", SPACE_NODE, 0);
diff --git a/source/blender/editors/space_sequencer/sequencer_view.c b/source/blender/editors/space_sequencer/sequencer_view.c
index 44857a1..00184a7 100644
--- a/source/blender/editors/space_sequencer/sequencer_view.c
+++ b/source/blender/editors/space_sequencer/sequencer_view.c
@@ -301,7 +301,7 @@ static int sequencer_overdrop_transform_invoke(bContext *C, wmOperator *op, cons
"Backdrop Transform Widgets");
struct wmEventHandler *handler = WM_event_add_modal_handler(C, op);
OverDropTransformData *data = MEM_mallocN(sizeof(OverDropTransformData), "overdrop transform data");
- WM_modal_handler_attach_widgetgroup(C, handler, cagetype, op);
+ WM_widgetgroup_attach_to_modal_handler(C, handler, cagetype, op);
RNA_float_set_array(op->ptr, "offset", sseq->overdrop_offset);
RNA_float_set(op->ptr, "scale", sseq->overdrop_zoom);
@@ -475,7 +475,7 @@ static int sequencer_image_transform_widget_invoke(bContext *C, wmOperator *op,
return OPERATOR_CANCELLED;
}
- WM_modal_handler_attach_widgetgroup(C, handler, cagetype, op);
+ WM_widgetgroup_attach_to_modal_handler(C, handler, cagetype, op);
copy_v2_v2_int(data->init_size, &ibuf->x);
data->cagetype = cagetype;
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c
index 5aabb3c..dfc8e41 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -502,11 +502,11 @@ static void view3d_main_region_init(wmWindowManager *wm, ARegion *ar)
if (BLI_listbase_is_empty(&ar->widgetmaps)) {
wmWidgetMap *wmap = WM_widgetmap_from_type(&(const struct wmWidgetMapType_Params) {
- "View3D", SPACE_VIEW3D, RGN_TYPE_WINDOW, WM_WIDGET_TYPE_3D});
+ "View3D", SPACE_VIEW3D, RGN_TYPE_WINDOW, WM_WIDGETMAPTYPE_3D});
BLI_addhead(&ar->widgetmaps, wmap);
}
- WM_event_add_area_widgetmap_handlers(ar);
+ WM_widgetmaps_add_handlers(ar);
/* object ops. */
@@ -738,7 +738,7 @@ static void view3d_widgets(void)
const struct wmWidgetMapType_Params wmap_params = {
.idname = "View3D",
.spaceid = SPACE_VIEW3D, .regionid = RGN_TYPE_WINDOW,
- .flag = WM_WIDGET_TYPE_3D,
+ .flag = WM_WIDGETMAPTYPE_3D,
};
wmWidgetMapType *wmaptype = WM_widgetmaptype_ensure(&wmap_params);
diff --git a/source/blender/makesdna/DNA_widget_types.h b/source/blender/makesdna/DNA_widget_types.h
index 5fa2cd8..72017f2 100644
--- a/source/blender/makesdna/DNA_widget_types.h
+++ b/source/blender/makesdna/DNA_widget_types.h
@@ -44,7 +44,7 @@ typedef enum WidgetType {
WT_CUSTOM = 3,
} WidgetType;
-struct wmWidgetGroup {
+typedef struct wmWidgetGroup {
struct wmWidgetGroup *next, *prev;
struct wmWidgetGroupType *type;
@@ -55,6 +55,6 @@ struct wmWidgetGroup {
int flag;
int pad;
-};
+} wmWidgetGroup;
#endif
diff --git a/source/blender/makesrna/intern/rna_wm.c b/source/blender/makesrna/intern/rna_wm.c
index 11f5366..83bf9ea 100644
--- a/source/blender/makesrna/intern/rna_wm.c
+++ b/source/blender/makesrna/intern/rna_wm.c
@@ -442,7 +442,7 @@ EnumPropertyItem rna_enum_operator_return_items[] = {
#ifndef RNA_RUNTIME
static EnumPropertyItem widget_flag_items[] = {
- {WM_WIDGET_TYPE_3D, "3D", 0, "3D", "Use the 3d viewport"},
+ {WM_WIDGETMAPTYPE_3D, "3D", 0, "3D", "Use the 3d viewport"},
{0, NULL, 0, NULL, NULL}
};
#endif
diff --git a/source/blender/windowmanager/3d_widgets/cube_widget.c b/source/blender/windowmanager/3d_widgets/cube_widget.c
deleted file mode 100644
index 3673994..0000000
--- a/source/blender/windowmanager/3d_widgets/cube_widget.c
+++ /dev/null
@@ -1,39 +0,0 @@
-int _WIDGET_nverts_cube = 8;
-int _WIDGET_ntris_cube = 12;
-
-float _WIDGET_verts_cube[][3] = {
- {1.000000, 1.000000, -1.000000},
- {1.000000, -1.000000, -1.000000},
- {-1.000000, -1.000000, -1.000000},
- {-1.000000, 1.000000, -1.000000},
- {1.000000, 1.000000, 1.000000},
- {0.999999, -1.000001, 1.000000},
- {-1.000000, -1.000000, 1.000000},
- {-1.000000, 1.000000, 1.000000},
-};
-
-float _WIDGET_normals_cube[][3] = {
- {0.577349, 0.577349, -0.577349},
- {0.577349, -0.577349, -0.577349},
- {-0.577349, -0.577349, -0.577349},
- {-0.577349, 0.577349, -0.577349},
- {0.577349, 0.577349, 0.577349},
- {0.577349, -0.577349, 0.577349},
- {-0.577349, -0.577349, 0.577349},
- {-0.577349, 0.577349, 0.577349},
-};
-
-unsigned short _WIDGET_indices_cube[] = {
- 1, 2, 3,
- 7, 6, 5,
- 4, 5, 1,
- 5, 6, 2,
- 2, 6, 7,
- 0, 3, 7,
- 0, 1, 3,
- 4, 7, 5,
- 0, 4, 1,
- 1, 5, 2,
- 3, 2, 7,
- 4, 0, 7,
-};
diff --git a/source/blender/windowmanager/3d_widgets/ui_widget_library.h b/source/blender/windowmanager/3d_widgets/ui_widget_library.h
deleted file mode 100644
index 24dc8c9..0000000
--- a/source/blender/windowmanager/3d_widgets/ui_widget_library.h
+++ /dev/null
@@ -1,24 +0,0 @@
-
-/* arrow widget */
-extern int _WIDGET_nverts_arrow;
-extern int _WIDGET_ntris_arrow;
-
-extern float _WIDGET_verts_arrow[][3];
-extern float _WIDGET_normals_arrow[][3];
-extern unsigned short _WIDGET_indices_arrow[];
-
-/* cube widget */
-extern int _WIDGET_nverts_cube;
-extern int _WIDGET_ntris_cube;
-
-extern float _WIDGET_verts_cube[][3];
-extern float _WIDGET_normals_cube[][3];
-extern unsigned short _WIDGET_indices_cube[];
-
-/* dial widget */
-extern int _WIDGET_nverts_dial;
-extern int _WIDGET_ntris_dial;
-
-extern float _WIDGET_verts_dial[][3];
-extern float _WIDGET_normals_dial[][3];
-extern unsigned short _WIDGET_indices_dial[];
diff --git a/source/blender/windowmanager/CMakeLists.txt b/source/blender/windowmanager/CMakeLists.txt
index f1a551d..2575d05 100644
--- a/source/blender/windowmanager/CMakeLists.txt
+++ b/source/blender/windowmanager/CMakeLists.txt
@@ -67,11 +67,17 @@ set(SRC
intern/wm_subwindow.c
intern/wm_window.c
intern/wm_stereo.c
- intern/wm_widgets.c
- intern/wm_generic_widgets.c
- 3d_widgets/arrow_widget.c
- 3d_widgets/cube_widget.c
- 3d_widgets/dial_widget.c
+ widgets/intern/wm_widget.c
+ widgets/intern/wm_widgetgroup.c
+ widgets/intern/wm_widgetmap.c
+ widgets/intern/widget_library/arrow_widget.c
+ widgets/intern/widget_library/cage_widget.c
+ widgets/intern/widget_library/dial_widget.c
+ widgets/intern/widget_library/facemap_widget.c
+ widgets/intern/widget_library/plane_widget.c
+ widgets/intern/widget_library/geom_arrow_widget.c
+ widgets/intern/widget_library/geom_cube_widget
+ widgets/intern/widget_library/geom_dial_widget.c
WM_api.h
WM_keymap.h
@@ -84,7 +90,12 @@ set(SRC
wm_files.h
wm_subwindow.h
wm_window.h
- 3d_widgets/ui_widget_library.h
+ widgets/WM_widget_api.h
+ widgets/WM_widget_types.h
+ widgets/WM_widget_library.h
+ widgets/wm_widget_wmapi.h
+ widgets/intern/wm_widget_intern.h
+ widgets/intern/widget_library/widget_geometry.h
)
if(WITH_AUDASPACE)
diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h
index da0369a..cd44af7 100644
--- a/source/blender/windowmanager/WM_api.h
+++ b/source/blender/windowmanager/WM_api.h
@@ -43,6 +43,9 @@
#include "WM_keymap.h"
#include "BLI_compiler_attrs.h"
+#include "widgets/WM_wi
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list