diff options
Diffstat (limited to 'source/blender/editors/include/UI_interface.h')
-rw-r--r-- | source/blender/editors/include/UI_interface.h | 76 |
1 files changed, 37 insertions, 39 deletions
diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h index 7bbb7225f14..bc053f60ca3 100644 --- a/source/blender/editors/include/UI_interface.h +++ b/source/blender/editors/include/UI_interface.h @@ -56,6 +56,7 @@ struct bNode; struct bNodeSocket; struct bNodeTree; struct bScreen; +struct rctf; struct rcti; struct uiButSearch; struct uiFontStyle; @@ -414,57 +415,38 @@ void UI_draw_anti_tria( void UI_draw_anti_fan(float tri_array[][2], unsigned int length, const float color[4]); void UI_draw_roundbox_corner_set(int type); -void UI_draw_roundbox_aa( - bool filled, float minx, float miny, float maxx, float maxy, float rad, const float color[4]); -void UI_draw_roundbox_4fv( - bool filled, float minx, float miny, float maxx, float maxy, float rad, const float col[4]); -void UI_draw_roundbox_3ub_alpha(bool filled, - float minx, - float miny, - float maxx, - float maxy, +void UI_draw_roundbox_aa(const struct rctf *rect, bool filled, float rad, const float color[4]); +void UI_draw_roundbox_4fv(const struct rctf *rect, bool filled, float rad, const float col[4]); +void UI_draw_roundbox_3ub_alpha(const struct rctf *rect, + bool filled, float rad, const unsigned char col[3], unsigned char alpha); -void UI_draw_roundbox_3fv_alpha(bool filled, - float minx, - float miny, - float maxx, - float maxy, - float rad, - const float col[3], - float alpha); -void UI_draw_roundbox_shade_x(bool filled, - float minx, - float miny, - float maxx, - float maxy, +void UI_draw_roundbox_3fv_alpha( + const struct rctf *rect, bool filled, float rad, const float col[3], float alpha); +void UI_draw_roundbox_shade_x(const struct rctf *rect, + bool filled, float rad, float shadetop, float shadedown, const float col[4]); +void UI_draw_roundbox_4fv_ex(const struct rctf *rect, + const float inner1[4], + const float inner2[4], + float shade_dir, + const float outline[4], + float outline_width, + float rad); #if 0 /* unused */ int UI_draw_roundbox_corner_get(void); -void UI_draw_roundbox_shade_y(bool filled, - float minx, - float miny, - float maxx, - float maxy, - float rad, - float shadeleft, - float shaderight, - const float col[4]); #endif -void UI_draw_box_shadow(unsigned char alpha, float minx, float miny, float maxx, float maxy); +void UI_draw_box_shadow(const struct rctf *rect, unsigned char alpha); void UI_draw_text_underline(int pos_x, int pos_y, int len, int height, const float color[4]); void UI_draw_safe_areas(uint pos, - float x1, - float x2, - float y1, - float y2, + const struct rctf *rect, const float title_aspect[2], const float action_aspect[2]); @@ -526,6 +508,7 @@ typedef bool (*uiButSearchContextMenuFn)(struct bContext *C, const struct wmEvent *event); typedef struct ARegion *(*uiButSearchTooltipFn)(struct bContext *C, struct ARegion *region, + const struct rcti *item_rect, void *arg, void *active); @@ -664,8 +647,7 @@ bool UI_popup_block_name_exists(const struct bScreen *screen, const char *name); * Begin/Define Buttons/End/Draw is the typical order in which these * function should be called, though for popup blocks Draw is left out. * Freeing blocks is done by the screen/ module automatically. - * - * */ + */ uiBlock *UI_block_begin(const struct bContext *C, struct ARegion *region, @@ -2499,11 +2481,12 @@ void UI_context_active_but_prop_get_templateID(struct bContext *C, struct PropertyRNA **r_prop); struct ID *UI_context_active_but_get_tab_ID(struct bContext *C); -uiBut *UI_region_active_but_get(struct ARegion *region); +uiBut *UI_region_active_but_get(const struct ARegion *region); uiBut *UI_region_but_find_rect_over(const struct ARegion *region, const struct rcti *rect_px); uiBlock *UI_region_block_find_mouse_over(const struct ARegion *region, const int xy[2], bool only_clip); +struct ARegion *UI_region_searchbox_region_get(const struct ARegion *button_region); /* uiFontStyle.align */ typedef enum eFontStyle_Align { @@ -2583,6 +2566,21 @@ struct ARegion *UI_tooltip_create_from_button(struct bContext *C, struct ARegion *UI_tooltip_create_from_gizmo(struct bContext *C, struct wmGizmo *gz); void UI_tooltip_free(struct bContext *C, struct bScreen *screen, struct ARegion *region); +typedef struct { + /** A description for the item, e.g. what happens when selecting it. */ + char description[UI_MAX_DRAW_STR]; + /* The full name of the item, without prefixes or suffixes (e.g. hint with UI_SEP_CHARP). */ + const char *name; + /** Additional info about the item (e.g. library name of a linked data-block). */ + char hint[UI_MAX_DRAW_STR]; +} uiSearchItemTooltipData; + +struct ARegion *UI_tooltip_create_from_search_item_generic( + struct bContext *C, + const struct ARegion *searchbox_region, + const struct rcti *item_rect, + const uiSearchItemTooltipData *item_tooltip_data); + /* How long before a tool-tip shows. */ #define UI_TOOLTIP_DELAY 0.5 #define UI_TOOLTIP_DELAY_LABEL 0.2 |