Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorHans Goudey <h.goudey@me.com>2020-09-17 07:47:09 +0300
committerHans Goudey <h.goudey@me.com>2020-09-17 07:47:09 +0300
commit8dd5902e1e361b7aef795880d43a12adbb655190 (patch)
tree2a5b50ee0d6c8127760fc5f73e41248fc2f3b7d7 /source
parent4b20eebb85cc5b1e6417c37cdc3c536e4ae7edb9 (diff)
Cleanup: Use enum instead of defines for panel runtime flag
Discovered an unused panel runtime flag as well, which this commit removes.
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/interface/interface_panel.c99
1 files changed, 43 insertions, 56 deletions
diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c
index 7312c410bba..5aa413c172b 100644
--- a/source/blender/editors/interface/interface_panel.c
+++ b/source/blender/editors/interface/interface_panel.c
@@ -71,15 +71,16 @@
#define ANIMATION_TIME 0.30
#define ANIMATION_INTERVAL 0.02
-#define PNL_LAST_ADDED 1
-#define PNL_ACTIVE 2
-#define PNL_WAS_ACTIVE 4
-#define PNL_ANIM_ALIGN 8
-#define PNL_NEW_ADDED 16
-#define PNL_FIRST 32
-#define PNL_SEARCH_FILTER_MATCHES 64
-
-/* the state of the mouse position relative to the panel */
+typedef enum uiPanelRuntimeFlag {
+ PANEL_LAST_ADDED = (1 << 0),
+ PANEL_ACTIVE = (1 << 2),
+ PANEL_WAS_ACTIVE = (1 << 3),
+ PANEL_ANIM_ALIGN = (1 << 4),
+ PANEL_NEW_ADDED = (1 << 5),
+ PANEL_SEARCH_FILTER_MATCH = (1 << 7),
+} uiPanelRuntimeFlag;
+
+/* The state of the mouse position relative to the panel. */
typedef enum uiPanelMouseState {
PANEL_MOUSE_OUTSIDE, /** Mouse is not in the panel. */
PANEL_MOUSE_INSIDE_CONTENT, /** Mouse is in the actual panel content. */
@@ -97,11 +98,11 @@ typedef enum uiHandlePanelState {
typedef struct uiHandlePanelData {
uiHandlePanelState state;
- /* animation */
+ /* Animation. */
wmTimer *animtimer;
double starttime;
- /* dragging */
+ /* Dragging. */
bool is_drag_drop;
int startx, starty;
int startofsx, startofsy;
@@ -162,15 +163,15 @@ static bool panel_active_animation_changed(ListBase *lb,
LISTBASE_FOREACH (Panel *, panel, lb) {
/* Detect panel active flag changes. */
if (!(panel->type && panel->type->parent)) {
- if ((panel->runtime_flag & PNL_WAS_ACTIVE) && !(panel->runtime_flag & PNL_ACTIVE)) {
+ if ((panel->runtime_flag & PANEL_WAS_ACTIVE) && !(panel->runtime_flag & PANEL_ACTIVE)) {
return true;
}
- if (!(panel->runtime_flag & PNL_WAS_ACTIVE) && (panel->runtime_flag & PNL_ACTIVE)) {
+ if (!(panel->runtime_flag & PANEL_WAS_ACTIVE) && (panel->runtime_flag & PANEL_ACTIVE)) {
return true;
}
}
- if ((panel->runtime_flag & PNL_ACTIVE) && !(panel->flag & PNL_CLOSED)) {
+ if ((panel->runtime_flag & PANEL_ACTIVE) && !(panel->flag & PNL_CLOSED)) {
if (panel_active_animation_changed(&panel->children, r_panel_animation, r_no_animation)) {
return true;
}
@@ -187,7 +188,7 @@ static bool panel_active_animation_changed(ListBase *lb,
*r_no_animation = true;
}
}
- if ((panel->runtime_flag & PNL_ANIM_ALIGN) && !(*r_panel_animation)) {
+ if ((panel->runtime_flag & PANEL_ANIM_ALIGN) && !(*r_panel_animation)) {
*r_panel_animation = panel;
}
}
@@ -247,7 +248,7 @@ static Panel *UI_panel_add_instanced_ex(ARegion *region,
BLI_strncpy(panel->panelname, panel_type->idname, sizeof(panel->panelname));
panel->runtime.custom_data_ptr = custom_data;
- panel->runtime_flag |= PNL_NEW_ADDED;
+ panel->runtime_flag |= PANEL_NEW_ADDED;
/* Add the panel's children too. Although they aren't instanced panels, we can still use this
* function to create them, as UI_panel_begin does other things we don't need to do. */
@@ -564,8 +565,8 @@ static void set_panels_list_data_expand_flag(const bContext *C, const ARegion *r
continue;
}
- /* Check for #PNL_ACTIVE so we only set the expand flag for active panels. */
- if (panel_type->flag & PNL_INSTANCED && panel->runtime_flag & PNL_ACTIVE) {
+ /* Check for #PANEL_ACTIVE so we only set the expand flag for active panels. */
+ if (panel_type->flag & PNL_INSTANCED && panel->runtime_flag & PANEL_ACTIVE) {
short expand_flag;
short flag_index = 0;
get_panel_expand_flag(panel, &expand_flag, &flag_index);
@@ -676,7 +677,7 @@ Panel *UI_panel_begin(
panel->sizey = 0;
panel->blocksizex = 0;
panel->blocksizey = 0;
- panel->runtime_flag |= PNL_NEW_ADDED;
+ panel->runtime_flag |= PANEL_NEW_ADDED;
BLI_addtail(lb, panel);
}
@@ -698,9 +699,9 @@ Panel *UI_panel_begin(
BLI_strncpy(panel->drawname, drawname, sizeof(panel->drawname));
/* If a new panel is added, we insert it right after the panel that was last added.
- * This way new panels are inserted in the right place between versions */
+ * This way new panels are inserted in the right place between versions. */
for (panel_last = lb->first; panel_last; panel_last = panel_last->next) {
- if (panel_last->runtime_flag & PNL_LAST_ADDED) {
+ if (panel_last->runtime_flag & PANEL_LAST_ADDED) {
BLI_remlink(lb, panel);
BLI_insertlinkafter(lb, panel_last, panel);
break;
@@ -718,12 +719,12 @@ Panel *UI_panel_begin(
}
if (panel_last) {
- panel_last->runtime_flag &= ~PNL_LAST_ADDED;
+ panel_last->runtime_flag &= ~PANEL_LAST_ADDED;
}
/* Assign the new panel to the block. */
block->panel = panel;
- panel->runtime_flag |= PNL_ACTIVE | PNL_LAST_ADDED;
+ panel->runtime_flag |= PANEL_ACTIVE | PANEL_LAST_ADDED;
if (region->alignment == RGN_ALIGN_FLOAT) {
UI_block_theme_style_set(block, UI_BLOCK_THEME_STYLE_POPUP);
}
@@ -760,15 +761,15 @@ void UI_panel_end(const ARegion *region, uiBlock *block, int width, int height,
/* Compute total panel size including children. */
LISTBASE_FOREACH (Panel *, pachild, &panel->children) {
- if (pachild->runtime_flag & PNL_ACTIVE) {
+ if (pachild->runtime_flag & PANEL_ACTIVE) {
width = max_ii(width, pachild->sizex);
height += get_panel_real_size_y(pachild);
}
}
/* Update total panel size. */
- if (panel->runtime_flag & PNL_NEW_ADDED) {
- panel->runtime_flag &= ~PNL_NEW_ADDED;
+ if (panel->runtime_flag & PANEL_NEW_ADDED) {
+ panel->runtime_flag &= ~PANEL_NEW_ADDED;
panel->sizex = width;
panel->sizey = height;
}
@@ -786,13 +787,13 @@ void UI_panel_end(const ARegion *region, uiBlock *block, int width, int height,
/* Check if we need to do an animation. */
if (panel->sizex != old_sizex || panel->sizey != old_sizey) {
- panel->runtime_flag |= PNL_ANIM_ALIGN;
+ panel->runtime_flag |= PANEL_ANIM_ALIGN;
panel->ofsy += old_sizey - panel->sizey;
}
panel->runtime.region_ofsx = panel_region_offset_x_get(region);
if (old_region_ofsx != panel->runtime.region_ofsx) {
- panel->runtime_flag |= PNL_ANIM_ALIGN;
+ panel->runtime_flag |= PANEL_ANIM_ALIGN;
}
}
}
@@ -818,12 +819,12 @@ static void ui_offset_panel_block(uiBlock *block)
void ui_panel_set_search_filter_match(struct Panel *panel, const bool value)
{
- SET_FLAG_FROM_TEST(panel->runtime_flag, value, PNL_SEARCH_FILTER_MATCHES);
+ SET_FLAG_FROM_TEST(panel->runtime_flag, value, PANEL_SEARCH_FILTER_MATCH);
}
static void panel_matches_search_filter_recursive(const Panel *panel, bool *filter_matches)
{
- *filter_matches |= panel->runtime_flag & PNL_SEARCH_FILTER_MATCHES;
+ *filter_matches |= panel->runtime_flag & PANEL_SEARCH_FILTER_MATCH;
/* If the panel has no match we need to make sure that its children are too. */
if (!*filter_matches) {
@@ -884,7 +885,7 @@ void UI_panels_set_expansion_from_seach_filter(const bContext *C, ARegion *regio
/** \name Drawing
* \{ */
-/* triangle 'icon' for panel header */
+/* Triangle 'icon' for panel header. */
void UI_draw_icon_tri(float x, float y, char dir, const float color[4])
{
const float f3 = 0.05 * U.widget_unit;
@@ -931,7 +932,7 @@ static void ui_draw_aligned_panel_header(const uiStyle *style,
/* + 0.001f to avoid flirting with float inaccuracy .*/
const int pnl_icons = (panel->labelofs + (1.1f * PNL_ICON)) / block->aspect + 0.001f;
- /* Draw text label.s */
+ /* Draw text labels. */
uchar col_title[4];
panel_title_color_get(
panel, show_background, is_subpanel, region_search_filter_active, col_title);
@@ -950,7 +951,7 @@ static void ui_draw_aligned_panel_header(const uiStyle *style,
}
/**
- * Draw a panel integrated in buttons-window, tool/property lists etc
+ * Draw a panel integrated in buttons-window, tool/property lists etc.
*/
void ui_draw_aligned_panel(const uiStyle *style,
const uiBlock *block,
@@ -1713,7 +1714,7 @@ static void align_sub_panels(Panel *panel)
int ofsy = panel->ofsy + panel->sizey - panel->blocksizey;
LISTBASE_FOREACH (Panel *, pachild, &panel->children) {
- if (pachild->runtime_flag & PNL_ACTIVE) {
+ if (pachild->runtime_flag & PANEL_ACTIVE) {
pachild->ofsx = panel->ofsx;
pachild->ofsy = ofsy - get_panel_size_y(pachild);
ofsy -= get_panel_real_size_y(pachild);
@@ -1733,7 +1734,7 @@ static bool uiAlignPanelStep(ARegion *region, const float fac, const bool drag)
/* Count active panels. */
int tot = 0;
LISTBASE_FOREACH (Panel *, panel, &region->panels) {
- if (panel->runtime_flag & PNL_ACTIVE) {
+ if (panel->runtime_flag & PANEL_ACTIVE) {
tot++;
}
}
@@ -1747,7 +1748,7 @@ static bool uiAlignPanelStep(ARegion *region, const float fac, const bool drag)
PanelSort *ps = panelsort;
LISTBASE_FOREACH (Panel *, panel, &region->panels) {
- if (panel->runtime_flag & PNL_ACTIVE) {
+ if (panel->runtime_flag & PANEL_ACTIVE) {
ps->panel = MEM_dupallocN(panel);
ps->orig = panel;
ps++;
@@ -1811,7 +1812,7 @@ static bool uiAlignPanelStep(ARegion *region, const float fac, const bool drag)
/* Set locations for tabbed and sub panels. */
LISTBASE_FOREACH (Panel *, panel, &region->panels) {
- if (panel->runtime_flag & PNL_ACTIVE) {
+ if (panel->runtime_flag & PANEL_ACTIVE) {
if (panel->children.first) {
align_sub_panels(panel);
}
@@ -1835,7 +1836,7 @@ static void ui_panels_size(ARegion *region, int *r_x, int *r_y)
/* Compute size taken up by panels, for setting in view2d. */
LISTBASE_FOREACH (Panel *, panel, &region->panels) {
- if (panel->runtime_flag & PNL_ACTIVE) {
+ if (panel->runtime_flag & PANEL_ACTIVE) {
const int pa_sizex = panel->ofsx + panel->sizex;
const int pa_sizey = get_panel_real_ofsy(panel);
@@ -1888,8 +1889,8 @@ static void ui_do_animate(bContext *C, Panel *panel)
static void panel_list_clear_active(ListBase *lb)
{
LISTBASE_FOREACH (Panel *, panel, lb) {
- if (panel->runtime_flag & PNL_ACTIVE) {
- panel->runtime_flag = PNL_WAS_ACTIVE;
+ if (panel->runtime_flag & PANEL_ACTIVE) {
+ panel->runtime_flag = PANEL_WAS_ACTIVE;
}
else {
panel->runtime_flag = 0;
@@ -1920,7 +1921,7 @@ void UI_panels_end(const bContext *C, ARegion *region, int *r_x, int *r_y)
}
}
- /* Offset contents */
+ /* Offset contents. */
LISTBASE_FOREACH (uiBlock *, block, &region->uiblocks) {
if (block->active && block->panel) {
ui_offset_panel_block(block);
@@ -1938,21 +1939,7 @@ void UI_panels_end(const bContext *C, ARegion *region, int *r_x, int *r_y)
}
}
- /* Tag first panel. */
- Panel *panel_first = NULL;
- LISTBASE_FOREACH (uiBlock *, block, &region->uiblocks) {
- if (block->active && block->panel) {
- if (!panel_first || block->panel->sortorder < panel_first->sortorder) {
- panel_first = block->panel;
- }
- }
- }
-
- if (panel_first) {
- panel_first->runtime_flag |= PNL_FIRST;
- }
-
- /* Compute size taken up by panel. */
+ /* Compute size taken up by panels. */
ui_panels_size(region, r_x, r_y);
}