[Bf-blender-cvs] [2038250c62f] temp-interface-cpp: WIP changes to compiling interface directory as C++ code
Hans Goudey
noreply at git.blender.org
Thu Apr 29 06:33:02 CEST 2021
Commit: 2038250c62fa3753fcc31129f8dd5f4fdf08e2e7
Author: Hans Goudey
Date: Wed Apr 28 23:32:55 2021 -0500
Branches: temp-interface-cpp
https://developer.blender.org/rB2038250c62fa3753fcc31129f8dd5f4fdf08e2e7
WIP changes to compiling interface directory as C++ code
===================================================================
M source/blender/editors/interface/CMakeLists.txt
R097 source/blender/editors/interface/interface.c source/blender/editors/interface/interface.cc
R085 source/blender/editors/interface/interface_button_group.c source/blender/editors/interface/interface_button_group.cc
R097 source/blender/editors/interface/interface_context_menu.c source/blender/editors/interface/interface_context_menu.cc
R093 source/blender/editors/interface/interface_draw.c source/blender/editors/interface/interface_draw.cc
R097 source/blender/editors/interface/interface_handlers.c source/blender/editors/interface/interface_handlers.cc
R097 source/blender/editors/interface/interface_icons_event.c source/blender/editors/interface/interface_icons_event.cc
M source/blender/editors/interface/interface_intern.h
R094 source/blender/editors/interface/interface_layout.c source/blender/editors/interface/interface_layout.cc
R096 source/blender/editors/interface/interface_panel.c source/blender/editors/interface/interface_panel.cc
R098 source/blender/editors/interface/interface_query.c source/blender/editors/interface/interface_query.cc
R097 source/blender/editors/interface/interface_region_color_picker.c source/blender/editors/interface/interface_region_color_picker.cc
R093 source/blender/editors/interface/interface_region_hud.c source/blender/editors/interface/interface_region_hud.cc
R098 source/blender/editors/interface/interface_region_popup.c source/blender/editors/interface/interface_region_popup.cc
R094 source/blender/editors/interface/interface_region_search.c source/blender/editors/interface/interface_region_search.cc
R096 source/blender/editors/interface/interface_regions.c source/blender/editors/interface/interface_regions.cc
R097 source/blender/editors/interface/interface_style.c source/blender/editors/interface/interface_style.cc
R089 source/blender/editors/interface/interface_template_search_menu.c source/blender/editors/interface/interface_template_search_menu.cc
R097 source/blender/editors/interface/interface_template_search_operator.c source/blender/editors/interface/interface_template_search_operator.cc
R100 source/blender/editors/interface/interface_templates.c source/blender/editors/interface/interface_templates.cc
R093 source/blender/editors/interface/interface_undo.c source/blender/editors/interface/interface_undo.cc
R096 source/blender/editors/interface/interface_utils.c source/blender/editors/interface/interface_utils.cc
R099 source/blender/editors/interface/resources.c source/blender/editors/interface/resources.cc
===================================================================
diff --git a/source/blender/editors/interface/CMakeLists.txt b/source/blender/editors/interface/CMakeLists.txt
index 421019bebb8..d221dde4fae 100644
--- a/source/blender/editors/interface/CMakeLists.txt
+++ b/source/blender/editors/interface/CMakeLists.txt
@@ -36,12 +36,12 @@ set(INC
)
set(SRC
- interface.c
+ interface.cc
interface_align.c
interface_anim.c
- interface_button_group.c
- interface_context_menu.c
- interface_draw.c
+ interface_button_group.cc
+ interface_context_menu.cc
+ interface_draw.cc
interface_eyedropper.c
interface_eyedropper_color.c
interface_eyedropper_colorband.c
@@ -49,30 +49,30 @@ set(SRC
interface_eyedropper_depth.c
interface_eyedropper_driver.c
interface_eyedropper_gpencil_color.c
- interface_handlers.c
+ interface_handlers.cc
interface_icons.c
- interface_icons_event.c
- interface_layout.c
+ interface_icons_event.cc
+ interface_layout.cc
interface_ops.c
- interface_panel.c
- interface_query.c
- interface_region_color_picker.c
- interface_region_hud.c
+ interface_panel.cc
+ interface_query.cc
+ interface_region_color_picker.cc
+ interface_region_hud.cc
interface_region_menu_pie.c
interface_region_menu_popup.c
interface_region_popover.c
- interface_region_popup.c
- interface_region_search.c
+ interface_region_popup.cc
+ interface_region_search.cc
interface_region_tooltip.c
- interface_regions.c
- interface_style.c
- interface_template_search_menu.c
- interface_template_search_operator.c
- interface_templates.c
- interface_undo.c
- interface_utils.c
+ interface_regions.cc
+ interface_style.cc
+ interface_template_search_menu.cc
+ interface_template_search_operator.cc
+ interface_templates.cc
+ interface_undo.cc
+ interface_utils.cc
interface_widgets.c
- resources.c
+ resources.cc
view2d.c
view2d_draw.c
view2d_gizmo_navigate.c
diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.cc
similarity index 97%
rename from source/blender/editors/interface/interface.c
rename to source/blender/editors/interface/interface.cc
index 90d604b3190..4e06e1def27 100644
--- a/source/blender/editors/interface/interface.c
+++ b/source/blender/editors/interface/interface.cc
@@ -36,7 +36,7 @@
#include "DNA_userdef_types.h"
#include "DNA_workspace_types.h"
-#include "BLI_alloca.h"
+#include "BLI_array.hh"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_rect.h"
@@ -88,6 +88,8 @@
#include "interface_intern.h"
+using blender::Array;
+
/* prototypes. */
static void ui_but_to_pixelrect(struct rcti *rect,
const struct ARegion *region,
@@ -269,7 +271,7 @@ static void ui_update_flexible_spacing(const ARegion *region, uiBlock *block)
}
rcti rect;
- ui_but_to_pixelrect(&rect, region, block, block->buttons.last);
+ ui_but_to_pixelrect(&rect, region, block, (uiBut *)block->buttons.last);
const float buttons_width = (float)rect.xmax + UI_HEADER_OFFSET;
const float region_width = (float)region->sizex * U.dpi_fac;
@@ -278,7 +280,7 @@ static void ui_update_flexible_spacing(const ARegion *region, uiBlock *block)
}
/* We could get rid of this loop if we agree on a max number of spacer */
- int *spacers_pos = alloca(sizeof(*spacers_pos) * (size_t)sepr_flex_len);
+ Array<int, 64> spacers_pos(sepr_flex_len);
int i = 0;
LISTBASE_FOREACH (uiBut *, but, &block->buttons) {
if (but->type == UI_BTYPE_SEPR_SPACER) {
@@ -338,7 +340,7 @@ static void ui_update_window_matrix(const wmWindow *window, const ARegion *regio
*/
void ui_region_winrct_get_no_margin(const struct ARegion *region, struct rcti *r_rect)
{
- uiBlock *block = region->uiblocks.first;
+ uiBlock *block = (uiBlock *)region->uiblocks.first;
if (block && (block->flag & UI_BLOCK_LOOP) && (block->flag & UI_BLOCK_RADIAL) == 0) {
BLI_rcti_rctf_copy_floor(r_rect, &block->rect);
BLI_rcti_translate(r_rect, region->winrct.xmin, region->winrct.ymin);
@@ -373,7 +375,7 @@ static void ui_block_bounds_calc_text(uiBlock *block, float offset)
UI_fontstyle_set(&style->widget);
- uiBut *init_col_bt = block->buttons.first;
+ uiBut *init_col_bt = (uiBut *)block->buttons.first;
LISTBASE_FOREACH (uiBut *, bt, &block->buttons) {
if (!ELEM(bt->type, UI_BTYPE_SEPR, UI_BTYPE_SEPR_LINE, UI_BTYPE_SEPR_SPACER)) {
j = BLF_width(style->widget.uifont_id, bt->drawstr, sizeof(bt->drawstr));
@@ -465,7 +467,7 @@ void ui_block_bounds_calc(uiBlock *block)
block->rect.xmax = block->rect.xmin + max_ff(BLI_rctf_size_x(&block->rect), block->minbounds);
/* hardcoded exception... but that one is annoying with larger safety */
- uiBut *bt = block->buttons.first;
+ uiBut *bt = (uiBut *)block->buttons.first;
const int xof = ((bt && STRPREFIX(bt->str, "ERROR")) ? 10 : 40) * U.dpi_fac;
block->safety.xmin = block->rect.xmin - xof;
@@ -499,8 +501,8 @@ static void ui_block_bounds_calc_centered(wmWindow *window, uiBlock *block)
static void ui_block_bounds_calc_centered_pie(uiBlock *block)
{
const int xy[2] = {
- block->pie_data.pie_center_spawned[0],
- block->pie_data.pie_center_spawned[1],
+ (int)block->pie_data.pie_center_spawned[0],
+ (int)block->pie_data.pie_center_spawned[1],
};
UI_block_translate(block, xy[0], xy[1]);
@@ -1178,7 +1180,7 @@ static bool ui_but_event_operator_string_from_operator(const bContext *C,
{
BLI_assert(but->optype != NULL);
bool found = false;
- IDProperty *prop = (but->opptr) ? but->opptr->data : NULL;
+ IDProperty *prop = (but->opptr) ? (IDProperty *)but->opptr->data : NULL;
if (WM_key_event_operator_string(
C, but->optype->idname, but->opcontext, prop, true, buf, buf_len)) {
@@ -1226,27 +1228,20 @@ static bool ui_but_event_operator_string_from_panel(const bContext *C,
const IDPropertyTemplate val = {0};
IDProperty *prop_panel = IDP_New(IDP_GROUP, &val, __func__); /* dummy, name is unimportant */
IDP_AddToGroup(prop_panel, IDP_NewString(pt->idname, "name", sizeof(pt->idname)));
- IDP_AddToGroup(prop_panel,
- IDP_New(IDP_INT,
- &(IDPropertyTemplate){
- .i = pt->space_type,
- },
- "space_type"));
- IDP_AddToGroup(prop_panel,
- IDP_New(IDP_INT,
- &(IDPropertyTemplate){
- .i = pt->region_type,
- },
- "region_type"));
+
+ IDPropertyTemplate space_type{0};
+ space_type.i = pt->space_type;
+ IDP_AddToGroup(prop_panel, IDP_New(IDP_INT, &space_type, "space_type"));
+
+ IDPropertyTemplate region_type{0};
+ space_type.i = pt->region_type;
+ IDP_AddToGroup(prop_panel, IDP_New(IDP_INT, ®ion_type, "region_type"));
for (int i = 0; i < 2; i++) {
/* FIXME(campbell): We can't reasonably search all configurations - long term. */
- IDP_ReplaceInGroup(prop_panel,
- IDP_New(IDP_INT,
- &(IDPropertyTemplate){
- .i = i,
- },
- "keep_open"));
+ IDPropertyTemplate keep_open{0};
+ keep_open.i = i;
+ IDP_ReplaceInGroup(prop_panel, IDP_New(IDP_INT, &keep_open, "keep_open"));
if (WM_key_event_operator_string(
C, "WM_OT_call_panel", WM_OP_INVOKE_REGION_WIN, prop_panel, true, buf, buf_len)) {
found = true;
@@ -1441,11 +1436,9 @@ static bool ui_but_event_property_operator_string(const bContext *C,
IDProperty *prop_value;
if (prop_enum_value_is_int) {
const int value = item[index].value;
- prop_value = IDP_New(IDP_INT,
- &(IDPropertyTemplate){
- .i = value,
- },
- prop_enum_value_id);
+ IDPropertyTemplate idp_template{0};
+ idp_template.i = value;
+ prop_value = IDP_New(IDP_INT, &idp_template, prop_enum_value_id);
}
else {
const char *id = item[index].identifier;
@@ -1508,7 +1501,7 @@ static bool ui_but_event_property_operator_string(const bContext *C,
*
* --Matt 07/2006
*/
-const char ui_radial_dir_order[8] = {
+static const RadialDirection ui_radial_dir_order[8] = {
UI_RADIAL_W,
UI_RADIAL_E,
UI_RADIAL_S,
@@ -1613,14 +1606,15 @@ static PointerRNA *ui_but_extra_operator_icon_add_ptr(uiBut *but,
short opcontext,
int icon)
{
- uiButExtraOpIcon *extra_op_icon = MEM_mallocN(sizeof(*extra_op_icon), __func__);
+ uiButExtraOpIcon *extra_op_icon = (uiButExtraOpIcon *)MEM_mallocN(sizeof(*extra_op_icon),
+ __func__);
extra_op_icon->icon = (BIFIconID)icon;
- extra_op_icon->optype_params = MEM_callocN(sizeof(*extra_op_icon->optype_params),
- "uiButExtraOpIcon.optype_params");
+ extra_op_icon->optype_params = (wmOperatorCallParams *)MEM_callocN(
+ sizeof(*extra_op_icon->optype_params), "uiButExtraOpIcon.optype_params");
extra_op_icon->optype_params->optype = optype;
- extra_op_icon->optype_params->opptr = MEM_callocN(sizeof(*extra_op_icon->optype_params->opptr),
- "uiButExtraOpIcon.optype_params.opptr");
+ extra_op_icon->optype_params->opptr = (PointerRNA *)MEM_callocN(
+ sizeof(*extra_op_icon->optype_params->opptr), "uiButExtraOpIcon.optype_params.opptr");
WM_operator_properties_create_ptr(extra_op_icon->optype_params->opptr,
extra_op_icon->optype_params->optype);
extra_op_icon->optype_params->opcontext = opcontext;
@@ -1773,7 +1767,7 @@ void UI_block_update_from_old(const bContext *C, uiBlock *block)
return;
}
- uiBut *but_old = block->oldblock->buttons.first;
+ uiBut *but_old = (uiBut *)block->oldblock->buttons.first;
if (BLI_listbase_is_empty(&block->oldblock->butstore) == false) {
UI_buts
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list