[Bf-blender-cvs] [4537eb0c3b1] master: Cleanup: Remove interface region files to C++
Hans Goudey
noreply at git.blender.org
Sat Apr 2 23:17:58 CEST 2022
Commit: 4537eb0c3b1678a623510570fb7528bf53174b2f
Author: Hans Goudey
Date: Sat Apr 2 16:17:48 2022 -0500
Branches: master
https://developer.blender.org/rB4537eb0c3b1678a623510570fb7528bf53174b2f
Cleanup: Remove interface region files to C++
Moves all `interface_region*` files to C++ except for the tooptip region
which is slightly more complicated. Also move a few other files as well.
This helps to simplify and speed up code, especially through the use
of better C++ data structures. This change builds on all platforms on
the buildbot.
===================================================================
M source/blender/editors/include/UI_interface.h
M source/blender/editors/interface/CMakeLists.txt
M source/blender/editors/interface/interface_intern.h
R091 source/blender/editors/interface/interface_query.c source/blender/editors/interface/interface_query.cc
R093 source/blender/editors/interface/interface_region_color_picker.c source/blender/editors/interface/interface_region_color_picker.cc
R088 source/blender/editors/interface/interface_region_hud.c source/blender/editors/interface/interface_region_hud.cc
R093 source/blender/editors/interface/interface_region_menu_pie.c source/blender/editors/interface/interface_region_menu_pie.cc
R088 source/blender/editors/interface/interface_region_menu_popup.c source/blender/editors/interface/interface_region_menu_popup.cc
R088 source/blender/editors/interface/interface_region_popover.c source/blender/editors/interface/interface_region_popover.cc
R096 source/blender/editors/interface/interface_region_popup.c source/blender/editors/interface/interface_region_popup.cc
R089 source/blender/editors/interface/interface_regions.c source/blender/editors/interface/interface_regions.cc
R093 source/blender/editors/interface/interface_style.c source/blender/editors/interface/interface_style.cc
R089 source/blender/editors/interface/interface_utils.c source/blender/editors/interface/interface_utils.cc
===================================================================
diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h
index 74797f91046..a4508cb5b6d 100644
--- a/source/blender/editors/include/UI_interface.h
+++ b/source/blender/editors/include/UI_interface.h
@@ -634,7 +634,7 @@ uiPopupMenu *UI_popup_menu_begin_ex(struct bContext *C,
* Set the whole structure to work.
*/
void UI_popup_menu_end(struct bContext *C, struct uiPopupMenu *pup);
-bool UI_popup_menu_end_or_cancel(struct bContext *C, struct uiPopupMenu *head);
+bool UI_popup_menu_end_or_cancel(struct bContext *C, struct uiPopupMenu *pup);
struct uiLayout *UI_popup_menu_layout(uiPopupMenu *pup);
void UI_popup_menu_reports(struct bContext *C, struct ReportList *reports) ATTR_NONNULL();
@@ -1595,13 +1595,15 @@ typedef enum {
} eButLabelAlign;
/* Return info for uiDefAutoButsRNA */
-typedef enum {
+typedef enum eAutoPropButsReturn {
/* Returns when no buttons were added */
UI_PROP_BUTS_NONE_ADDED = 1 << 0,
/* Returned when any property failed the custom check callback (check_prop) */
UI_PROP_BUTS_ANY_FAILED_CHECK = 1 << 1,
} eAutoPropButsReturn;
+ENUM_OPERATORS(eAutoPropButsReturn, UI_PROP_BUTS_ANY_FAILED_CHECK);
+
uiBut *uiDefAutoButR(uiBlock *block,
struct PointerRNA *ptr,
struct PropertyRNA *prop,
diff --git a/source/blender/editors/interface/CMakeLists.txt b/source/blender/editors/interface/CMakeLists.txt
index 100be2c10c9..a1ee5c38838 100644
--- a/source/blender/editors/interface/CMakeLists.txt
+++ b/source/blender/editors/interface/CMakeLists.txt
@@ -46,17 +46,17 @@ set(SRC
interface_layout.c
interface_ops.c
interface_panel.c
- interface_query.c
- interface_region_color_picker.c
- interface_region_hud.c
- interface_region_menu_pie.c
- interface_region_menu_popup.c
- interface_region_popover.c
- interface_region_popup.c
+ interface_query.cc
+ interface_region_color_picker.cc
+ interface_region_hud.cc
+ interface_region_menu_pie.cc
+ interface_region_menu_popup.cc
+ interface_region_popover.cc
+ interface_region_popup.cc
interface_region_search.cc
interface_region_tooltip.c
- interface_regions.c
- interface_style.c
+ interface_regions.cc
+ interface_style.cc
interface_template_asset_view.cc
interface_template_attribute_search.cc
interface_template_list.cc
@@ -64,7 +64,7 @@ set(SRC
interface_template_search_operator.c
interface_templates.c
interface_undo.c
- interface_utils.c
+ interface_utils.cc
interface_view.cc
interface_widgets.c
resources.c
diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h
index a7a2409ef17..e619b14fb69 100644
--- a/source/blender/editors/interface/interface_intern.h
+++ b/source/blender/editors/interface/interface_intern.h
@@ -214,8 +214,8 @@ struct uiBut {
BIFIconID icon;
/** Copied from the #uiBlock.emboss */
eUIEmbossType emboss;
- /** direction in a pie menu, used for collision detection (RadialDirection) */
- signed char pie_dir;
+ /** direction in a pie menu, used for collision detection. */
+ RadialDirection pie_dir;
/** could be made into a single flag */
bool changed;
/** so buttons can support unit systems which are not RNA */
@@ -954,7 +954,7 @@ void ui_pie_menu_level_create(uiBlock *block,
const EnumPropertyItem *items,
int totitem,
wmOperatorCallContext context,
- int flag);
+ wmOperatorCallContext flag);
/* interface_region_popup.c */
diff --git a/source/blender/editors/interface/interface_query.c b/source/blender/editors/interface/interface_query.cc
similarity index 91%
rename from source/blender/editors/interface/interface_query.c
rename to source/blender/editors/interface/interface_query.cc
index 4703367671d..2767a184619 100644
--- a/source/blender/editors/interface/interface_query.c
+++ b/source/blender/editors/interface/interface_query.cc
@@ -61,7 +61,7 @@ bool ui_but_is_toggle(const uiBut *but)
bool ui_but_is_interactive(const uiBut *but, const bool labeledit)
{
/* NOTE: #UI_BTYPE_LABEL is included for highlights, this allows drags. */
- if ((but->type == UI_BTYPE_LABEL) && but->dragpoin == NULL) {
+ if ((but->type == UI_BTYPE_LABEL) && but->dragpoin == nullptr) {
return false;
}
if (ELEM(but->type, UI_BTYPE_ROUNDBOX, UI_BTYPE_SEPR, UI_BTYPE_SEPR_LINE, UI_BTYPE_LISTBOX)) {
@@ -119,12 +119,12 @@ bool ui_but_has_array_value(const uiBut *but)
PROP_COORDS));
}
-static wmOperatorType *g_ot_tool_set_by_id = NULL;
+static wmOperatorType *g_ot_tool_set_by_id = nullptr;
bool UI_but_is_tool(const uiBut *but)
{
/* very evil! */
- if (but->optype != NULL) {
- if (g_ot_tool_set_by_id == NULL) {
+ if (but->optype != nullptr) {
+ if (g_ot_tool_set_by_id == nullptr) {
g_ot_tool_set_by_id = WM_operatortype_find("WM_OT_tool_set_by_id", false);
}
if (but->optype == g_ot_tool_set_by_id) {
@@ -198,7 +198,7 @@ bool ui_but_contains_pt(const uiBut *but, float mx, float my)
bool ui_but_contains_rect(const uiBut *but, const rctf *rect)
{
- return BLI_rctf_isect(&but->rect, rect, NULL);
+ return BLI_rctf_isect(&but->rect, rect, nullptr);
}
bool ui_but_contains_point_px(const uiBut *but, const ARegion *region, const int xy[2])
@@ -260,7 +260,7 @@ static uiBut *ui_but_find(const ARegion *region,
}
}
- return NULL;
+ return nullptr;
}
uiBut *ui_but_find_mouse_over_ex(const ARegion *region,
@@ -269,10 +269,10 @@ uiBut *ui_but_find_mouse_over_ex(const ARegion *region,
const uiButFindPollFn find_poll,
const void *find_custom_data)
{
- uiBut *butover = NULL;
+ uiBut *butover = nullptr;
if (!ui_region_contains_point_px(region, xy)) {
- return NULL;
+ return nullptr;
}
LISTBASE_FOREACH (uiBlock *, block, ®ion->uiblocks) {
float mx = xy[0], my = xy[1];
@@ -310,20 +310,20 @@ uiBut *ui_but_find_mouse_over_ex(const ARegion *region,
uiBut *ui_but_find_mouse_over(const ARegion *region, const wmEvent *event)
{
- return ui_but_find_mouse_over_ex(region, event->xy, event->modifier & KM_CTRL, NULL, NULL);
+ return ui_but_find_mouse_over_ex(region, event->xy, event->modifier & KM_CTRL, nullptr, nullptr);
}
uiBut *ui_but_find_rect_over(const struct ARegion *region, const rcti *rect_px)
{
if (!ui_region_contains_rect_px(region, rect_px)) {
- return NULL;
+ return nullptr;
}
/* Currently no need to expose this at the moment. */
const bool labeledit = true;
rctf rect_px_fl;
BLI_rctf_rcti_copy(&rect_px_fl, rect_px);
- uiBut *butover = NULL;
+ uiBut *butover = nullptr;
LISTBASE_FOREACH (uiBlock *, block, ®ion->uiblocks) {
rctf rect_block;
@@ -343,7 +343,7 @@ uiBut *ui_but_find_rect_over(const struct ARegion *region, const rcti *rect_px)
/* CLIP_EVENTS prevents the event from reaching other blocks */
if (block->flag & UI_BLOCK_CLIP_EVENTS) {
/* check if mouse is inside block */
- if (BLI_rctf_isect(&block->rect, &rect_block, NULL)) {
+ if (BLI_rctf_isect(&block->rect, &rect_block, nullptr)) {
break;
}
}
@@ -354,7 +354,7 @@ uiBut *ui_but_find_rect_over(const struct ARegion *region, const rcti *rect_px)
uiBut *ui_list_find_mouse_over_ex(const ARegion *region, const int xy[2])
{
if (!ui_region_contains_point_px(region, xy)) {
- return NULL;
+ return nullptr;
}
LISTBASE_FOREACH (uiBlock *, block, ®ion->uiblocks) {
float mx = xy[0], my = xy[1];
@@ -366,14 +366,14 @@ uiBut *ui_list_find_mouse_over_ex(const ARegion *region, const int xy[2])
}
}
- return NULL;
+ return nullptr;
}
uiBut *ui_list_find_mouse_over(const ARegion *region, const wmEvent *event)
{
- if (event == NULL) {
+ if (event == nullptr) {
/* If there is no info about the mouse, just act as if there is nothing underneath it. */
- return NULL;
+ return nullptr;
}
return ui_list_find_mouse_over_ex(region, event->xy);
}
@@ -382,10 +382,10 @@ uiList *UI_list_find_mouse_over(const ARegion *region, const wmEvent *event)
{
uiBut *list_but = ui_list_find_mouse_over(region, event);
if (!list_but) {
- return NULL;
+ return nullptr;
}
- return list_but->custom_data;
+ return static_cast<uiList *>(list_but->custom_data);
}
static bool ui_list_contains_row(const uiBut *listbox_but, const uiBut *listrow_but)
@@ -398,7 +398,7 @@ static bool ui_list_contains_row(const uiBut *listbox_but, const uiBut *listrow_
static bool ui_but_is_listbox_with_row(const uiBut *but, const void *customdata)
{
- const uiBut *row_but = customdata;
+ const uiBut *row_but = static_cast<const uiBut *>(customdata);
return (but->type == UI_BTYPE_LISTBOX) && ui_list_contains_row(but, row_but);
}
@@ -414,7 +414,7 @@ static bool ui_but_is_listrow(const uiBut *but, const void *UNUSED(customdata))
uiBut *ui_list_row_find_mouse_over(const ARegion *region, const int xy[2])
{
- return ui_but_find_mouse_over_ex(region, xy, false, ui_but_is_listrow, NULL);
+ return ui_but_find_mouse_over_ex(region, xy, false, ui_but_is_listrow, nullptr);
}
struct ListRowFindIndexData {
@@ -424,19 +424,18 @@ struct ListRowFindIndexData {
static bool ui_but_is_listrow_at_index(const uiBut *but, const void *customdata)
{
- const struct ListRowFindIndexData *find_data = customdata;
+ const ListRowFindIndexData *find_data = static_cast<const ListRowFindIndexData *>(customdata);
- return ui_but_is_listrow(but, NULL) && ui_list_contains_row(find_data->listbox, but) &&
+ return ui_but_is_listrow(but, nullptr) && ui_list_contains_row(find_data->listbox, but) &&
(but->hardmax == find_data->index);
}
uiBut *ui_list_row_find_from_index(const ARegion *region, const int index, uiBut *listbox)
{
BLI_assert(listbox->type == UI_BTYPE_LISTBOX);
- struct ListRowFindIndexData data = {
- .index = index,
- .listbox = listbox,
- };
+ ListRowFindIndexData data = {};
+ data.index = index;
+ data.listbox = listbox;
return ui_but_find(re
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list