code cleanup: use BLI rect functions for interface button and block code.
This commit is contained in:
@@ -456,19 +456,19 @@ uiBut *uiDefBut(uiBlock *block,
|
||||
void *poin,
|
||||
float min, float max,
|
||||
float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButF(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, float *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButBitF(uiBlock *block, int type, int bit, int retval, const char *str, int x1, int y1, short x2, short y2, float *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButI(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, int *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButBitI(uiBlock *block, int type, int bit, int retval, const char *str, int x1, int y1, short x2, short y2, int *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButS(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, short *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButBitS(uiBlock *block, int type, int bit, int retval, const char *str, int x1, int y1, short x2, short y2, short *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButC(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButBitC(uiBlock *block, int type, int bit, int retval, const char *str, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButR(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, struct PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButR_prop(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButO(uiBlock *block, int type, const char *opname, int opcontext, const char *str, int x1, int y1, short x2, short y2, const char *tip);
|
||||
uiBut *uiDefButO_ptr(uiBlock *block, int type, struct wmOperatorType *ot, int opcontext, const char *str, int x1, int y1, short x2, short y2, const char *tip);
|
||||
uiBut *uiDefButTextO(uiBlock *block, int type, const char *opname, int opcontext, const char *str, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButF(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, float *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButBitF(uiBlock *block, int type, int bit, int retval, const char *str, int x, int y, short width, short height, float *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButI(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, int *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButBitI(uiBlock *block, int type, int bit, int retval, const char *str, int x, int y, short width, short height, int *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButS(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, short *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButBitS(uiBlock *block, int type, int bit, int retval, const char *str, int x, int y, short width, short height, short *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButC(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, char *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButBitC(uiBlock *block, int type, int bit, int retval, const char *str, int x, int y, short width, short height, char *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButR(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, struct PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButR_prop(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefButO(uiBlock *block, int type, const char *opname, int opcontext, const char *str, int x, int y, short width, short height, const char *tip);
|
||||
uiBut *uiDefButO_ptr(uiBlock *block, int type, struct wmOperatorType *ot, int opcontext, const char *str, int x, int y, short width, short height, const char *tip);
|
||||
uiBut *uiDefButTextO(uiBlock *block, int type, const char *opname, int opcontext, const char *str, int x, int y, short width, short height, void *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
|
||||
uiBut *uiDefIconBut(uiBlock *block,
|
||||
int type, int retval, int icon,
|
||||
@@ -477,18 +477,18 @@ uiBut *uiDefIconBut(uiBlock *block,
|
||||
void *poin,
|
||||
float min, float max,
|
||||
float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconButF(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, float *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconButBitF(uiBlock *block, int type, int bit, int retval, int icon, int x1, int y1, short x2, short y2, float *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconButI(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, int *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconButBitI(uiBlock *block, int type, int bit, int retval, int icon, int x1, int y1, short x2, short y2, int *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconButS(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, short *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconButBitS(uiBlock *block, int type, int bit, int retval, int icon, int x1, int y1, short x2, short y2, short *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconButC(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconButBitC(uiBlock *block, int type, int bit, int retval, int icon, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconButR(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, struct PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconButR_prop(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, struct PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconButO(uiBlock *block, int type, const char *opname, int opcontext, int icon, int x1, int y1, short x2, short y2, const char *tip);
|
||||
uiBut *uiDefIconButO_ptr(uiBlock *block, int type, struct wmOperatorType *ot, int opcontext, int icon, int x1, int y1, short x2, short y2, const char *tip);
|
||||
uiBut *uiDefIconButF(uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, float *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconButBitF(uiBlock *block, int type, int bit, int retval, int icon, int x, int y, short width, short height, float *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconButI(uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, int *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconButBitI(uiBlock *block, int type, int bit, int retval, int icon, int x, int y, short width, short height, int *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconButS(uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, short *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconButBitS(uiBlock *block, int type, int bit, int retval, int icon, int x, int y, short width, short height, short *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconButC(uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, char *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconButBitC(uiBlock *block, int type, int bit, int retval, int icon, int x, int y, short width, short height, char *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconButR(uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, struct PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconButR_prop(uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, struct PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconButO(uiBlock *block, int type, const char *opname, int opcontext, int icon, int x, int y, short width, short height, const char *tip);
|
||||
uiBut *uiDefIconButO_ptr(uiBlock *block, int type, struct wmOperatorType *ot, int opcontext, int icon, int x, int y, short width, short height, const char *tip);
|
||||
|
||||
uiBut *uiDefIconTextBut(uiBlock *block,
|
||||
int type, int retval, int icon, const char *str,
|
||||
@@ -497,18 +497,18 @@ uiBut *uiDefIconTextBut(uiBlock *block,
|
||||
void *poin,
|
||||
float min, float max,
|
||||
float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconTextButF(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, float *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconTextButBitF(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, float *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconTextButI(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, int *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconTextButBitI(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, int *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconTextButS(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, short *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconTextButBitS(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, short *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconTextButC(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconTextButBitC(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconTextButR(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, struct PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconTextButR_prop(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconTextButO(uiBlock *block, int type, const char *opname, int opcontext, int icon, const char *str, int x1, int y1, short x2, short y2, const char *tip);
|
||||
uiBut *uiDefIconTextButO_ptr(uiBlock *block, int type, struct wmOperatorType *ot, int opcontext, int icon, const char *str, int x1, int y1, short x2, short y2, const char *tip);
|
||||
uiBut *uiDefIconTextButF(uiBlock *block, int type, int retval, int icon, const char *str, int x, int y, short width, short height, float *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconTextButBitF(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x, int y, short width, short height, float *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconTextButI(uiBlock *block, int type, int retval, int icon, const char *str, int x, int y, short width, short height, int *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconTextButBitI(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x, int y, short width, short height, int *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconTextButS(uiBlock *block, int type, int retval, int icon, const char *str, int x, int y, short width, short height, short *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconTextButBitS(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x, int y, short width, short height, short *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconTextButC(uiBlock *block, int type, int retval, int icon, const char *str, int x, int y, short width, short height, char *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconTextButBitC(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x, int y, short width, short height, char *poin, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconTextButR(uiBlock *block, int type, int retval, int icon, const char *str, int x, int y, short width, short height, struct PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconTextButR_prop(uiBlock *block, int type, int retval, int icon, const char *str, int x, int y, short width, short height, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefIconTextButO(uiBlock *block, int type, const char *opname, int opcontext, int icon, const char *str, int x, int y, short width, short height, const char *tip);
|
||||
uiBut *uiDefIconTextButO_ptr(uiBlock *block, int type, struct wmOperatorType *ot, int opcontext, int icon, const char *str, int x, int y, short width, short height, const char *tip);
|
||||
|
||||
/* for passing inputs to ButO buttons */
|
||||
struct PointerRNA *uiButGetOperatorPtrRNA(uiBut *but);
|
||||
@@ -573,25 +573,25 @@ typedef void (*uiIDPoinFuncFP)(struct bContext *C, const char *str, struct ID **
|
||||
typedef void (*uiIDPoinFunc)(struct bContext *C, struct ID *id, int event);
|
||||
|
||||
uiBut *uiDefIDPoinBut(uiBlock *block, uiIDPoinFuncFP func, short blocktype, int retval, const char *str,
|
||||
int x1, int y1, short x2, short y2, void *idpp, const char *tip);
|
||||
int x, int y, short width, short height, void *idpp, const char *tip);
|
||||
|
||||
int uiIconFromID(struct ID *id);
|
||||
|
||||
uiBut *uiDefPulldownBut(uiBlock *block, uiBlockCreateFunc func, void *arg, const char *str, int x1, int y1, short x2, short y2, const char *tip);
|
||||
uiBut *uiDefMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, const char *str, int x1, int y1, short x2, short y2, const char *tip);
|
||||
uiBut *uiDefIconTextMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, int icon, const char *str, int x1, int y1, short x2, short y2, const char *tip);
|
||||
uiBut *uiDefIconMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, int icon, int x1, int y1, short x2, short y2, const char *tip);
|
||||
uiBut *uiDefPulldownBut(uiBlock *block, uiBlockCreateFunc func, void *arg, const char *str, int x, int y, short width, short height, const char *tip);
|
||||
uiBut *uiDefMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, const char *str, int x, int y, short width, short height, const char *tip);
|
||||
uiBut *uiDefIconTextMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, int icon, const char *str, int x, int y, short width, short height, const char *tip);
|
||||
uiBut *uiDefIconMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, int icon, int x, int y, short width, short height, const char *tip);
|
||||
|
||||
uiBut *uiDefBlockBut(uiBlock *block, uiBlockCreateFunc func, void *func_arg1, const char *str, int x1, int y1, short x2, short y2, const char *tip);
|
||||
uiBut *uiDefBlockButN(uiBlock *block, uiBlockCreateFunc func, void *argN, const char *str, int x1, int y1, short x2, short y2, const char *tip);
|
||||
uiBut *uiDefBlockBut(uiBlock *block, uiBlockCreateFunc func, void *func_arg1, const char *str, int x, int y, short width, short height, const char *tip);
|
||||
uiBut *uiDefBlockButN(uiBlock *block, uiBlockCreateFunc func, void *argN, const char *str, int x, int y, short width, short height, const char *tip);
|
||||
|
||||
uiBut *uiDefIconBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg, int retval, int icon, int x1, int y1, short x2, short y2, const char *tip);
|
||||
uiBut *uiDefIconTextBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg, int icon, const char *str, int x1, int y1, short x2, short y2, const char *tip);
|
||||
uiBut *uiDefIconBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg, int retval, int icon, int x, int y, short width, short height, const char *tip);
|
||||
uiBut *uiDefIconTextBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg, int icon, const char *str, int x, int y, short width, short height, const char *tip);
|
||||
|
||||
uiBut *uiDefKeyevtButS(uiBlock *block, int retval, const char *str, int x1, int y1, short x2, short y2, short *spoin, const char *tip);
|
||||
uiBut *uiDefHotKeyevtButS(uiBlock *block, int retval, const char *str, int x1, int y1, short x2, short y2, short *keypoin, short *modkeypoin, const char *tip);
|
||||
uiBut *uiDefKeyevtButS(uiBlock *block, int retval, const char *str, int x, int y, short width, short height, short *spoin, const char *tip);
|
||||
uiBut *uiDefHotKeyevtButS(uiBlock *block, int retval, const char *str, int x, int y, short width, short height, short *keypoin, short *modkeypoin, const char *tip);
|
||||
|
||||
uiBut *uiDefSearchBut(uiBlock *block, void *arg, int retval, int icon, int maxlen, int x1, int y1, short x2, short y2, float a1, float a2, const char *tip);
|
||||
uiBut *uiDefSearchBut(uiBlock *block, void *arg, int retval, int icon, int maxlen, int x, int y, short width, short height, float a1, float a2, const char *tip);
|
||||
|
||||
uiBut *uiDefAutoButR(uiBlock *block, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, const char *name, int icon, int x1, int y1, int x2, int y2);
|
||||
int uiDefAutoButsRNA(uiLayout *layout, struct PointerRNA *ptr, int (*check_prop)(struct PointerRNA *, struct PropertyRNA *), const char label_align);
|
||||
|
||||
@@ -237,8 +237,9 @@ static void ui_text_bounds_block(uiBlock *block, float offset)
|
||||
bt->rect.xmin = x1addval;
|
||||
bt->rect.xmax = bt->rect.xmin + i + block->bounds;
|
||||
|
||||
if (col == lastcol)
|
||||
bt->rect.xmax = MAX2(bt->rect.xmax, offset + block->minbounds);
|
||||
if (col == lastcol) {
|
||||
bt->rect.xmax = maxf(bt->rect.xmax, offset + block->minbounds);
|
||||
}
|
||||
|
||||
ui_check_but(bt); // clips text again
|
||||
|
||||
@@ -262,18 +263,10 @@ void ui_bounds_block(uiBlock *block)
|
||||
}
|
||||
else {
|
||||
|
||||
block->rect.xmin = block->rect.ymin = 10000;
|
||||
block->rect.xmax = block->rect.ymax = -10000;
|
||||
BLI_rctf_init_minmax(&block->rect);
|
||||
|
||||
bt = block->buttons.first;
|
||||
while (bt) {
|
||||
if (bt->rect.xmin < block->rect.xmin) block->rect.xmin = bt->rect.xmin;
|
||||
if (bt->rect.ymin < block->rect.ymin) block->rect.ymin = bt->rect.ymin;
|
||||
|
||||
if (bt->rect.xmax > block->rect.xmax) block->rect.xmax = bt->rect.xmax;
|
||||
if (bt->rect.ymax > block->rect.ymax) block->rect.ymax = bt->rect.ymax;
|
||||
|
||||
bt = bt->next;
|
||||
for (bt = block->buttons.first; bt; bt = bt->next) {
|
||||
BLI_rctf_union(&block->rect, &bt->rect);
|
||||
}
|
||||
|
||||
block->rect.xmin -= block->bounds;
|
||||
@@ -282,7 +275,7 @@ void ui_bounds_block(uiBlock *block)
|
||||
block->rect.ymax += block->bounds;
|
||||
}
|
||||
|
||||
block->rect.xmax = block->rect.xmin + MAX2(block->rect.xmax - block->rect.xmin, block->minbounds);
|
||||
block->rect.xmax = block->rect.xmin + maxf(block->rect.xmax - block->rect.xmin, block->minbounds);
|
||||
|
||||
/* hardcoded exception... but that one is annoying with larger safety */
|
||||
bt = block->buttons.first;
|
||||
@@ -647,8 +640,7 @@ static int ui_but_update_from_old_block(const bContext *C, uiBlock *block, uiBut
|
||||
*butpp = oldbut;
|
||||
|
||||
/* still stuff needs to be copied */
|
||||
oldbut->rect.xmin = but->rect.xmin; oldbut->rect.ymin = but->rect.ymin;
|
||||
oldbut->rect.xmax = but->rect.xmax; oldbut->rect.ymax = but->rect.ymax;
|
||||
oldbut->rect = but->rect;
|
||||
oldbut->context = but->context; /* set by Layout */
|
||||
|
||||
/* typically the same pointers, but not on undo/redo */
|
||||
@@ -2543,13 +2535,16 @@ void ui_block_do_align(uiBlock *block)
|
||||
/**
|
||||
* \brief ui_def_but is the function that draws many button types
|
||||
*
|
||||
* \param x,y The lower left hand corner of the button (X axis)
|
||||
* \param width,height The size of the button.
|
||||
*
|
||||
* for float buttons:
|
||||
* - \a a1 Click Step (how much to change the value each click)
|
||||
* - \a a2 Number of decimal point values to display. 0 defaults to 3 (0.000)
|
||||
* 1,2,3, and a maximum of 4, all greater values will be clamped to 4.
|
||||
*/
|
||||
static uiBut *ui_def_but(uiBlock *block, int type, int retval, const char *str,
|
||||
int x1, int y1, short x2, short y2,
|
||||
int x, int y, short width, short height,
|
||||
void *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
uiBut *but;
|
||||
@@ -2580,10 +2575,10 @@ static uiBut *ui_def_but(uiBlock *block, int type, int retval, const char *str,
|
||||
}
|
||||
memcpy(but->str, str, slen + 1);
|
||||
|
||||
but->rect.xmin = x1;
|
||||
but->rect.ymin = y1;
|
||||
but->rect.xmax = (x1 + x2);
|
||||
but->rect.ymax = (y1 + y2);
|
||||
but->rect.xmin = x;
|
||||
but->rect.ymin = y;
|
||||
but->rect.xmax = but->rect.xmin + width;
|
||||
but->rect.ymax = but->rect.ymin + height;
|
||||
|
||||
but->poin = poin;
|
||||
but->hardmin = but->softmin = min;
|
||||
@@ -2676,7 +2671,7 @@ static uiBut *ui_def_but(uiBlock *block, int type, int retval, const char *str,
|
||||
|
||||
|
||||
static uiBut *ui_def_but_rna(uiBlock *block, int type, int retval, const char *str,
|
||||
int x1, int y1, short x2, short y2,
|
||||
int x, int y, short width, short height,
|
||||
PointerRNA *ptr, PropertyRNA *prop, int index,
|
||||
float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
@@ -2788,7 +2783,7 @@ static uiBut *ui_def_but_rna(uiBlock *block, int type, int retval, const char *s
|
||||
}
|
||||
|
||||
/* now create button */
|
||||
but = ui_def_but(block, type, retval, str, x1, y1, x2, y2, NULL, min, max, a1, a2, tip);
|
||||
but = ui_def_but(block, type, retval, str, x, y, width, height, NULL, min, max, a1, a2, tip);
|
||||
|
||||
but->rnapoin = *ptr;
|
||||
but->rnaprop = prop;
|
||||
@@ -2824,16 +2819,16 @@ static uiBut *ui_def_but_rna(uiBlock *block, int type, int retval, const char *s
|
||||
return but;
|
||||
}
|
||||
|
||||
static uiBut *ui_def_but_rna_propname(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip)
|
||||
static uiBut *ui_def_but_rna_propname(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
PropertyRNA *prop = RNA_struct_find_property(ptr, propname);
|
||||
uiBut *but;
|
||||
|
||||
if (prop) {
|
||||
but = ui_def_but_rna(block, type, retval, str, x1, y1, x2, y2, ptr, prop, index, min, max, a1, a2, tip);
|
||||
but = ui_def_but_rna(block, type, retval, str, x, y, width, height, ptr, prop, index, min, max, a1, a2, tip);
|
||||
}
|
||||
else {
|
||||
but = ui_def_but(block, type, retval, propname, x1, y1, x2, y2, NULL, min, max, a1, a2, tip);
|
||||
but = ui_def_but(block, type, retval, propname, x, y, width, height, NULL, min, max, a1, a2, tip);
|
||||
|
||||
UI_DEF_BUT_RNA_DISABLE(but);
|
||||
}
|
||||
@@ -2841,7 +2836,7 @@ static uiBut *ui_def_but_rna_propname(uiBlock *block, int type, int retval, cons
|
||||
return but;
|
||||
}
|
||||
|
||||
static uiBut *ui_def_but_operator_ptr(uiBlock *block, int type, wmOperatorType *ot, int opcontext, const char *str, int x1, int y1, short x2, short y2, const char *tip)
|
||||
static uiBut *ui_def_but_operator_ptr(uiBlock *block, int type, wmOperatorType *ot, int opcontext, const char *str, int x, int y, short width, short height, const char *tip)
|
||||
{
|
||||
uiBut *but;
|
||||
|
||||
@@ -2856,7 +2851,7 @@ static uiBut *ui_def_but_operator_ptr(uiBlock *block, int type, wmOperatorType *
|
||||
tip = RNA_struct_ui_description(ot->srna);
|
||||
}
|
||||
|
||||
but = ui_def_but(block, type, -1, str, x1, y1, x2, y2, NULL, 0, 0, 0, 0, tip);
|
||||
but = ui_def_but(block, type, -1, str, x, y, width, height, NULL, 0, 0, 0, 0, tip);
|
||||
but->optype = ot;
|
||||
but->opcontext = opcontext;
|
||||
but->flag &= ~UI_BUT_UNDO; /* no need for ui_but_is_undo(), we never need undo here */
|
||||
@@ -2871,15 +2866,15 @@ static uiBut *ui_def_but_operator_ptr(uiBlock *block, int type, wmOperatorType *
|
||||
}
|
||||
|
||||
#if 0 /* UNUSED */
|
||||
static uiBut *UNUSED_FUNCTION(ui_def_but_operator) (uiBlock * block, int type, const char *opname, int opcontext, const char *str, int x1, int y1, short x2, short y2, const char *tip)
|
||||
static uiBut *UNUSED_FUNCTION(ui_def_but_operator) (uiBlock * block, int type, const char *opname, int opcontext, const char *str, int x, int y, short width, short height, const char *tip)
|
||||
{
|
||||
wmOperatorType *ot = WM_operatortype_find(opname, 0);
|
||||
if (str == NULL && ot == NULL) str = opname;
|
||||
return ui_def_but_operator_ptr(block, type, ot, opcontext, str, x1, y1, x2, y2, tip);
|
||||
return ui_def_but_operator_ptr(block, type, ot, opcontext, str, x, y, width, height, tip);
|
||||
}
|
||||
#endif
|
||||
|
||||
static uiBut *ui_def_but_operator_text(uiBlock *block, int type, const char *opname, int opcontext, const char *str, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
static uiBut *ui_def_but_operator_text(uiBlock *block, int type, const char *opname, int opcontext, const char *str, int x, int y, short width, short height, void *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
uiBut *but;
|
||||
wmOperatorType *ot;
|
||||
@@ -2895,7 +2890,7 @@ static uiBut *ui_def_but_operator_text(uiBlock *block, int type, const char *opn
|
||||
tip = ot->description;
|
||||
}
|
||||
|
||||
but = ui_def_but(block, type, -1, str, x1, y1, x2, y2, poin, min, max, a1, a2, tip);
|
||||
but = ui_def_but(block, type, -1, str, x, y, width, height, poin, min, max, a1, a2, tip);
|
||||
but->optype = ot;
|
||||
but->opcontext = opcontext;
|
||||
but->flag &= ~UI_BUT_UNDO; /* no need for ui_but_is_undo(), we never need undo here */
|
||||
@@ -2909,9 +2904,9 @@ static uiBut *ui_def_but_operator_text(uiBlock *block, int type, const char *opn
|
||||
return but;
|
||||
}
|
||||
|
||||
uiBut *uiDefBut(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefBut(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, void *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
uiBut *but = ui_def_but(block, type, retval, str, x1, y1, x2, y2, poin, min, max, a1, a2, tip);
|
||||
uiBut *but = ui_def_but(block, type, retval, str, x, y, width, height, poin, min, max, a1, a2, tip);
|
||||
|
||||
ui_check_but(but);
|
||||
|
||||
@@ -3030,241 +3025,241 @@ static void ui_check_but_and_iconize(uiBut *but, int icon)
|
||||
ui_check_but(but);
|
||||
}
|
||||
|
||||
static uiBut *uiDefButBit(uiBlock *block, int type, int bit, int retval, const char *str, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
static uiBut *uiDefButBit(uiBlock *block, int type, int bit, int retval, const char *str, int x, int y, short width, short height, void *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
int bitIdx = findBitIndex(bit);
|
||||
if (bitIdx == -1) {
|
||||
return NULL;
|
||||
}
|
||||
else {
|
||||
return uiDefBut(block, type | BIT | bitIdx, retval, str, x1, y1, x2, y2, poin, min, max, a1, a2, tip);
|
||||
return uiDefBut(block, type | BIT | bitIdx, retval, str, x, y, width, height, poin, min, max, a1, a2, tip);
|
||||
}
|
||||
}
|
||||
uiBut *uiDefButF(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, float *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefButF(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, float *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefBut(block, type | FLO, retval, str, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefBut(block, type | FLO, retval, str, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefButBitF(uiBlock *block, int type, int bit, int retval, const char *str, int x1, int y1, short x2, short y2, float *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefButBitF(uiBlock *block, int type, int bit, int retval, const char *str, int x, int y, short width, short height, float *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefButBit(block, type | FLO, bit, retval, str, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefButBit(block, type | FLO, bit, retval, str, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefButI(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, int *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefButI(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, int *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefBut(block, type | INT, retval, str, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefBut(block, type | INT, retval, str, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefButBitI(uiBlock *block, int type, int bit, int retval, const char *str, int x1, int y1, short x2, short y2, int *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefButBitI(uiBlock *block, int type, int bit, int retval, const char *str, int x, int y, short width, short height, int *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefButBit(block, type | INT, bit, retval, str, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefButBit(block, type | INT, bit, retval, str, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefButS(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, short *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefButS(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, short *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefBut(block, type | SHO, retval, str, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefBut(block, type | SHO, retval, str, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefButBitS(uiBlock *block, int type, int bit, int retval, const char *str, int x1, int y1, short x2, short y2, short *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefButBitS(uiBlock *block, int type, int bit, int retval, const char *str, int x, int y, short width, short height, short *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefButBit(block, type | SHO, bit, retval, str, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefButBit(block, type | SHO, bit, retval, str, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefButC(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefButC(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, char *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefBut(block, type | CHA, retval, str, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefBut(block, type | CHA, retval, str, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefButBitC(uiBlock *block, int type, int bit, int retval, const char *str, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefButBitC(uiBlock *block, int type, int bit, int retval, const char *str, int x, int y, short width, short height, char *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefButBit(block, type | CHA, bit, retval, str, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefButBit(block, type | CHA, bit, retval, str, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefButR(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefButR(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
uiBut *but;
|
||||
but = ui_def_but_rna_propname(block, type, retval, str, x1, y1, x2, y2, ptr, propname, index, min, max, a1, a2, tip);
|
||||
but = ui_def_but_rna_propname(block, type, retval, str, x, y, width, height, ptr, propname, index, min, max, a1, a2, tip);
|
||||
ui_check_but(but);
|
||||
return but;
|
||||
}
|
||||
uiBut *uiDefButR_prop(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefButR_prop(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
uiBut *but;
|
||||
but = ui_def_but_rna(block, type, retval, str, x1, y1, x2, y2, ptr, prop, index, min, max, a1, a2, tip);
|
||||
but = ui_def_but_rna(block, type, retval, str, x, y, width, height, ptr, prop, index, min, max, a1, a2, tip);
|
||||
ui_check_but(but);
|
||||
return but;
|
||||
}
|
||||
|
||||
uiBut *uiDefButO_ptr(uiBlock *block, int type, wmOperatorType *ot, int opcontext, const char *str, int x1, int y1, short x2, short y2, const char *tip)
|
||||
uiBut *uiDefButO_ptr(uiBlock *block, int type, wmOperatorType *ot, int opcontext, const char *str, int x, int y, short width, short height, const char *tip)
|
||||
{
|
||||
uiBut *but;
|
||||
but = ui_def_but_operator_ptr(block, type, ot, opcontext, str, x1, y1, x2, y2, tip);
|
||||
but = ui_def_but_operator_ptr(block, type, ot, opcontext, str, x, y, width, height, tip);
|
||||
ui_check_but(but);
|
||||
return but;
|
||||
}
|
||||
uiBut *uiDefButO(uiBlock *block, int type, const char *opname, int opcontext, const char *str, int x1, int y1, short x2, short y2, const char *tip)
|
||||
uiBut *uiDefButO(uiBlock *block, int type, const char *opname, int opcontext, const char *str, int x, int y, short width, short height, const char *tip)
|
||||
{
|
||||
wmOperatorType *ot = WM_operatortype_find(opname, 0);
|
||||
if (str == NULL && ot == NULL) str = opname;
|
||||
return uiDefButO_ptr(block, type, ot, opcontext, str, x1, y1, x2, y2, tip);
|
||||
return uiDefButO_ptr(block, type, ot, opcontext, str, x, y, width, height, tip);
|
||||
}
|
||||
|
||||
uiBut *uiDefButTextO(uiBlock *block, int type, const char *opname, int opcontext, const char *str, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefButTextO(uiBlock *block, int type, const char *opname, int opcontext, const char *str, int x, int y, short width, short height, void *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
uiBut *but = ui_def_but_operator_text(block, type, opname, opcontext, str, x1, y1, x2, y2, poin, min, max, a1, a2, tip);
|
||||
uiBut *but = ui_def_but_operator_text(block, type, opname, opcontext, str, x, y, width, height, poin, min, max, a1, a2, tip);
|
||||
ui_check_but(but);
|
||||
return but;
|
||||
}
|
||||
|
||||
/* if a1==1.0 then a2 is an extra icon blending factor (alpha 0.0 - 1.0) */
|
||||
uiBut *uiDefIconBut(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconBut(uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, void *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
uiBut *but = ui_def_but(block, type, retval, "", x1, y1, x2, y2, poin, min, max, a1, a2, tip);
|
||||
uiBut *but = ui_def_but(block, type, retval, "", x, y, width, height, poin, min, max, a1, a2, tip);
|
||||
ui_check_but_and_iconize(but, icon);
|
||||
return but;
|
||||
}
|
||||
static uiBut *uiDefIconButBit(uiBlock *block, int type, int bit, int retval, int icon, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
static uiBut *uiDefIconButBit(uiBlock *block, int type, int bit, int retval, int icon, int x, int y, short width, short height, void *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
int bitIdx = findBitIndex(bit);
|
||||
if (bitIdx == -1) {
|
||||
return NULL;
|
||||
}
|
||||
else {
|
||||
return uiDefIconBut(block, type | BIT | bitIdx, retval, icon, x1, y1, x2, y2, poin, min, max, a1, a2, tip);
|
||||
return uiDefIconBut(block, type | BIT | bitIdx, retval, icon, x, y, width, height, poin, min, max, a1, a2, tip);
|
||||
}
|
||||
}
|
||||
|
||||
uiBut *uiDefIconButF(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, float *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconButF(uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, float *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefIconBut(block, type | FLO, retval, icon, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefIconBut(block, type | FLO, retval, icon, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefIconButBitF(uiBlock *block, int type, int bit, int retval, int icon, int x1, int y1, short x2, short y2, float *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconButBitF(uiBlock *block, int type, int bit, int retval, int icon, int x, int y, short width, short height, float *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefIconButBit(block, type | FLO, bit, retval, icon, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefIconButBit(block, type | FLO, bit, retval, icon, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefIconButI(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, int *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconButI(uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, int *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefIconBut(block, type | INT, retval, icon, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefIconBut(block, type | INT, retval, icon, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefIconButBitI(uiBlock *block, int type, int bit, int retval, int icon, int x1, int y1, short x2, short y2, int *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconButBitI(uiBlock *block, int type, int bit, int retval, int icon, int x, int y, short width, short height, int *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefIconButBit(block, type | INT, bit, retval, icon, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefIconButBit(block, type | INT, bit, retval, icon, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefIconButS(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, short *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconButS(uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, short *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefIconBut(block, type | SHO, retval, icon, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefIconBut(block, type | SHO, retval, icon, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefIconButBitS(uiBlock *block, int type, int bit, int retval, int icon, int x1, int y1, short x2, short y2, short *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconButBitS(uiBlock *block, int type, int bit, int retval, int icon, int x, int y, short width, short height, short *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefIconButBit(block, type | SHO, bit, retval, icon, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefIconButBit(block, type | SHO, bit, retval, icon, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefIconButC(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconButC(uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, char *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefIconBut(block, type | CHA, retval, icon, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefIconBut(block, type | CHA, retval, icon, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefIconButBitC(uiBlock *block, int type, int bit, int retval, int icon, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconButBitC(uiBlock *block, int type, int bit, int retval, int icon, int x, int y, short width, short height, char *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefIconButBit(block, type | CHA, bit, retval, icon, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefIconButBit(block, type | CHA, bit, retval, icon, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefIconButR(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconButR(uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
uiBut *but;
|
||||
but = ui_def_but_rna_propname(block, type, retval, "", x1, y1, x2, y2, ptr, propname, index, min, max, a1, a2, tip);
|
||||
but = ui_def_but_rna_propname(block, type, retval, "", x, y, width, height, ptr, propname, index, min, max, a1, a2, tip);
|
||||
ui_check_but_and_iconize(but, icon);
|
||||
return but;
|
||||
}
|
||||
uiBut *uiDefIconButR_prop(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconButR_prop(uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
uiBut *but;
|
||||
but = ui_def_but_rna(block, type, retval, "", x1, y1, x2, y2, ptr, prop, index, min, max, a1, a2, tip);
|
||||
but = ui_def_but_rna(block, type, retval, "", x, y, width, height, ptr, prop, index, min, max, a1, a2, tip);
|
||||
ui_check_but_and_iconize(but, icon);
|
||||
return but;
|
||||
}
|
||||
|
||||
uiBut *uiDefIconButO_ptr(uiBlock *block, int type, wmOperatorType *ot, int opcontext, int icon, int x1, int y1, short x2, short y2, const char *tip)
|
||||
uiBut *uiDefIconButO_ptr(uiBlock *block, int type, wmOperatorType *ot, int opcontext, int icon, int x, int y, short width, short height, const char *tip)
|
||||
{
|
||||
uiBut *but;
|
||||
but = ui_def_but_operator_ptr(block, type, ot, opcontext, "", x1, y1, x2, y2, tip);
|
||||
but = ui_def_but_operator_ptr(block, type, ot, opcontext, "", x, y, width, height, tip);
|
||||
ui_check_but_and_iconize(but, icon);
|
||||
return but;
|
||||
}
|
||||
uiBut *uiDefIconButO(uiBlock *block, int type, const char *opname, int opcontext, int icon, int x1, int y1, short x2, short y2, const char *tip)
|
||||
uiBut *uiDefIconButO(uiBlock *block, int type, const char *opname, int opcontext, int icon, int x, int y, short width, short height, const char *tip)
|
||||
{
|
||||
wmOperatorType *ot = WM_operatortype_find(opname, 0);
|
||||
return uiDefIconButO_ptr(block, type, ot, opcontext, icon, x1, y1, x2, y2, tip);
|
||||
return uiDefIconButO_ptr(block, type, ot, opcontext, icon, x, y, width, height, tip);
|
||||
}
|
||||
|
||||
/* Button containing both string label and icon */
|
||||
uiBut *uiDefIconTextBut(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconTextBut(uiBlock *block, int type, int retval, int icon, const char *str, int x, int y, short width, short height, void *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
uiBut *but = ui_def_but(block, type, retval, str, x1, y1, x2, y2, poin, min, max, a1, a2, tip);
|
||||
uiBut *but = ui_def_but(block, type, retval, str, x, y, width, height, poin, min, max, a1, a2, tip);
|
||||
ui_check_but_and_iconize(but, icon);
|
||||
but->flag |= UI_ICON_LEFT;
|
||||
return but;
|
||||
}
|
||||
static uiBut *uiDefIconTextButBit(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
static uiBut *uiDefIconTextButBit(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x, int y, short width, short height, void *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
int bitIdx = findBitIndex(bit);
|
||||
if (bitIdx == -1) {
|
||||
return NULL;
|
||||
}
|
||||
else {
|
||||
return uiDefIconTextBut(block, type | BIT | bitIdx, retval, icon, str, x1, y1, x2, y2, poin, min, max, a1, a2, tip);
|
||||
return uiDefIconTextBut(block, type | BIT | bitIdx, retval, icon, str, x, y, width, height, poin, min, max, a1, a2, tip);
|
||||
}
|
||||
}
|
||||
|
||||
uiBut *uiDefIconTextButF(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, float *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconTextButF(uiBlock *block, int type, int retval, int icon, const char *str, int x, int y, short width, short height, float *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefIconTextBut(block, type | FLO, retval, icon, str, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefIconTextBut(block, type | FLO, retval, icon, str, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefIconTextButBitF(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, float *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconTextButBitF(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x, int y, short width, short height, float *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefIconTextButBit(block, type | FLO, bit, retval, icon, str, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefIconTextButBit(block, type | FLO, bit, retval, icon, str, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefIconTextButI(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, int *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconTextButI(uiBlock *block, int type, int retval, int icon, const char *str, int x, int y, short width, short height, int *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefIconTextBut(block, type | INT, retval, icon, str, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefIconTextBut(block, type | INT, retval, icon, str, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefIconTextButBitI(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, int *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconTextButBitI(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x, int y, short width, short height, int *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefIconTextButBit(block, type | INT, bit, retval, icon, str, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefIconTextButBit(block, type | INT, bit, retval, icon, str, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefIconTextButS(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, short *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconTextButS(uiBlock *block, int type, int retval, int icon, const char *str, int x, int y, short width, short height, short *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefIconTextBut(block, type | SHO, retval, icon, str, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefIconTextBut(block, type | SHO, retval, icon, str, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefIconTextButBitS(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, short *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconTextButBitS(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x, int y, short width, short height, short *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefIconTextButBit(block, type | SHO, bit, retval, icon, str, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefIconTextButBit(block, type | SHO, bit, retval, icon, str, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefIconTextButC(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconTextButC(uiBlock *block, int type, int retval, int icon, const char *str, int x, int y, short width, short height, char *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefIconTextBut(block, type | CHA, retval, icon, str, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefIconTextBut(block, type | CHA, retval, icon, str, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefIconTextButBitC(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconTextButBitC(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x, int y, short width, short height, char *poin, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
return uiDefIconTextButBit(block, type | CHA, bit, retval, icon, str, x1, y1, x2, y2, (void *) poin, min, max, a1, a2, tip);
|
||||
return uiDefIconTextButBit(block, type | CHA, bit, retval, icon, str, x, y, width, height, (void *) poin, min, max, a1, a2, tip);
|
||||
}
|
||||
uiBut *uiDefIconTextButR(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconTextButR(uiBlock *block, int type, int retval, int icon, const char *str, int x, int y, short width, short height, PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
uiBut *but;
|
||||
but = ui_def_but_rna_propname(block, type, retval, str, x1, y1, x2, y2, ptr, propname, index, min, max, a1, a2, tip);
|
||||
but = ui_def_but_rna_propname(block, type, retval, str, x, y, width, height, ptr, propname, index, min, max, a1, a2, tip);
|
||||
ui_check_but_and_iconize(but, icon);
|
||||
but->flag |= UI_ICON_LEFT;
|
||||
return but;
|
||||
}
|
||||
uiBut *uiDefIconTextButR_prop(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefIconTextButR_prop(uiBlock *block, int type, int retval, int icon, const char *str, int x, int y, short width, short height, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip)
|
||||
{
|
||||
uiBut *but;
|
||||
but = ui_def_but_rna(block, type, retval, str, x1, y1, x2, y2, ptr, prop, index, min, max, a1, a2, tip);
|
||||
but = ui_def_but_rna(block, type, retval, str, x, y, width, height, ptr, prop, index, min, max, a1, a2, tip);
|
||||
ui_check_but_and_iconize(but, icon);
|
||||
but->flag |= UI_ICON_LEFT;
|
||||
return but;
|
||||
}
|
||||
uiBut *uiDefIconTextButO_ptr(uiBlock *block, int type, wmOperatorType *ot, int opcontext, int icon, const char *str, int x1, int y1, short x2, short y2, const char *tip)
|
||||
uiBut *uiDefIconTextButO_ptr(uiBlock *block, int type, wmOperatorType *ot, int opcontext, int icon, const char *str, int x, int y, short width, short height, const char *tip)
|
||||
{
|
||||
uiBut *but;
|
||||
but = ui_def_but_operator_ptr(block, type, ot, opcontext, str, x1, y1, x2, y2, tip);
|
||||
but = ui_def_but_operator_ptr(block, type, ot, opcontext, str, x, y, width, height, tip);
|
||||
ui_check_but_and_iconize(but, icon);
|
||||
but->flag |= UI_ICON_LEFT;
|
||||
return but;
|
||||
}
|
||||
uiBut *uiDefIconTextButO(uiBlock *block, int type, const char *opname, int opcontext, int icon, const char *str, int x1, int y1, short x2, short y2, const char *tip)
|
||||
uiBut *uiDefIconTextButO(uiBlock *block, int type, const char *opname, int opcontext, int icon, const char *str, int x, int y, short width, short height, const char *tip)
|
||||
{
|
||||
wmOperatorType *ot = WM_operatortype_find(opname, 0);
|
||||
return uiDefIconTextButO_ptr(block, type, ot, opcontext, icon, str, x1, y1, x2, y2, tip);
|
||||
return uiDefIconTextButO_ptr(block, type, ot, opcontext, icon, str, x, y, width, height, tip);
|
||||
}
|
||||
|
||||
/* END Button containing both string label and icon */
|
||||
@@ -3516,9 +3511,9 @@ void uiButSetCompleteFunc(uiBut *but, uiButCompleteFunc func, void *arg)
|
||||
but->autofunc_arg = arg;
|
||||
}
|
||||
|
||||
uiBut *uiDefIDPoinBut(uiBlock *block, uiIDPoinFuncFP func, short blocktype, int retval, const char *str, int x1, int y1, short x2, short y2, void *idpp, const char *tip)
|
||||
uiBut *uiDefIDPoinBut(uiBlock *block, uiIDPoinFuncFP func, short blocktype, int retval, const char *str, int x, int y, short width, short height, void *idpp, const char *tip)
|
||||
{
|
||||
uiBut *but = ui_def_but(block, IDPOIN, retval, str, x1, y1, x2, y2, NULL, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
uiBut *but = ui_def_but(block, IDPOIN, retval, str, x, y, width, height, NULL, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
but->idpoin_func = func;
|
||||
but->idpoin_idpp = (ID **) idpp;
|
||||
ui_check_but(but);
|
||||
@@ -3529,17 +3524,17 @@ uiBut *uiDefIDPoinBut(uiBlock *block, uiIDPoinFuncFP func, short blocktype, int
|
||||
return but;
|
||||
}
|
||||
|
||||
uiBut *uiDefBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg, const char *str, int x1, int y1, short x2, short y2, const char *tip)
|
||||
uiBut *uiDefBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg, const char *str, int x, int y, short width, short height, const char *tip)
|
||||
{
|
||||
uiBut *but = ui_def_but(block, BLOCK, 0, str, x1, y1, x2, y2, arg, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
uiBut *but = ui_def_but(block, BLOCK, 0, str, x, y, width, height, arg, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
but->block_create_func = func;
|
||||
ui_check_but(but);
|
||||
return but;
|
||||
}
|
||||
|
||||
uiBut *uiDefBlockButN(uiBlock *block, uiBlockCreateFunc func, void *argN, const char *str, int x1, int y1, short x2, short y2, const char *tip)
|
||||
uiBut *uiDefBlockButN(uiBlock *block, uiBlockCreateFunc func, void *argN, const char *str, int x, int y, short width, short height, const char *tip)
|
||||
{
|
||||
uiBut *but = ui_def_but(block, BLOCK, 0, str, x1, y1, x2, y2, NULL, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
uiBut *but = ui_def_but(block, BLOCK, 0, str, x, y, width, height, NULL, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
but->block_create_func = func;
|
||||
if (but->func_argN) {
|
||||
MEM_freeN(but->func_argN);
|
||||
@@ -3550,25 +3545,25 @@ uiBut *uiDefBlockButN(uiBlock *block, uiBlockCreateFunc func, void *argN, const
|
||||
}
|
||||
|
||||
|
||||
uiBut *uiDefPulldownBut(uiBlock *block, uiBlockCreateFunc func, void *arg, const char *str, int x1, int y1, short x2, short y2, const char *tip)
|
||||
uiBut *uiDefPulldownBut(uiBlock *block, uiBlockCreateFunc func, void *arg, const char *str, int x, int y, short width, short height, const char *tip)
|
||||
{
|
||||
uiBut *but = ui_def_but(block, PULLDOWN, 0, str, x1, y1, x2, y2, arg, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
uiBut *but = ui_def_but(block, PULLDOWN, 0, str, x, y, width, height, arg, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
but->block_create_func = func;
|
||||
ui_check_but(but);
|
||||
return but;
|
||||
}
|
||||
|
||||
uiBut *uiDefMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, const char *str, int x1, int y1, short x2, short y2, const char *tip)
|
||||
uiBut *uiDefMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, const char *str, int x, int y, short width, short height, const char *tip)
|
||||
{
|
||||
uiBut *but = ui_def_but(block, PULLDOWN, 0, str, x1, y1, x2, y2, arg, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
uiBut *but = ui_def_but(block, PULLDOWN, 0, str, x, y, width, height, arg, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
but->menu_create_func = func;
|
||||
ui_check_but(but);
|
||||
return but;
|
||||
}
|
||||
|
||||
uiBut *uiDefIconTextMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, int icon, const char *str, int x1, int y1, short x2, short y2, const char *tip)
|
||||
uiBut *uiDefIconTextMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, int icon, const char *str, int x, int y, short width, short height, const char *tip)
|
||||
{
|
||||
uiBut *but = ui_def_but(block, PULLDOWN, 0, str, x1, y1, x2, y2, arg, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
uiBut *but = ui_def_but(block, PULLDOWN, 0, str, x, y, width, height, arg, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
|
||||
but->icon = (BIFIconID) icon;
|
||||
but->flag |= UI_HAS_ICON;
|
||||
@@ -3582,9 +3577,9 @@ uiBut *uiDefIconTextMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, in
|
||||
return but;
|
||||
}
|
||||
|
||||
uiBut *uiDefIconMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, int icon, int x1, int y1, short x2, short y2, const char *tip)
|
||||
uiBut *uiDefIconMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, int icon, int x, int y, short width, short height, const char *tip)
|
||||
{
|
||||
uiBut *but = ui_def_but(block, PULLDOWN, 0, "", x1, y1, x2, y2, arg, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
uiBut *but = ui_def_but(block, PULLDOWN, 0, "", x, y, width, height, arg, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
|
||||
but->icon = (BIFIconID) icon;
|
||||
but->flag |= UI_HAS_ICON;
|
||||
@@ -3597,9 +3592,9 @@ uiBut *uiDefIconMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, int ic
|
||||
}
|
||||
|
||||
/* Block button containing both string label and icon */
|
||||
uiBut *uiDefIconTextBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg, int icon, const char *str, int x1, int y1, short x2, short y2, const char *tip)
|
||||
uiBut *uiDefIconTextBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg, int icon, const char *str, int x, int y, short width, short height, const char *tip)
|
||||
{
|
||||
uiBut *but = ui_def_but(block, BLOCK, 0, str, x1, y1, x2, y2, arg, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
uiBut *but = ui_def_but(block, BLOCK, 0, str, x, y, width, height, arg, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
|
||||
/* XXX temp, old menu calls pass on icon arrow, which is now UI_ICON_SUBMENU flag */
|
||||
if (icon != ICON_RIGHTARROW_THIN) {
|
||||
@@ -3616,9 +3611,9 @@ uiBut *uiDefIconTextBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg,
|
||||
}
|
||||
|
||||
/* Block button containing icon */
|
||||
uiBut *uiDefIconBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg, int retval, int icon, int x1, int y1, short x2, short y2, const char *tip)
|
||||
uiBut *uiDefIconBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg, int retval, int icon, int x, int y, short width, short height, const char *tip)
|
||||
{
|
||||
uiBut *but = ui_def_but(block, BLOCK, retval, "", x1, y1, x2, y2, arg, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
uiBut *but = ui_def_but(block, BLOCK, retval, "", x, y, width, height, arg, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
|
||||
but->icon = (BIFIconID) icon;
|
||||
but->flag |= UI_HAS_ICON;
|
||||
@@ -3631,18 +3626,18 @@ uiBut *uiDefIconBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg, int
|
||||
return but;
|
||||
}
|
||||
|
||||
uiBut *uiDefKeyevtButS(uiBlock *block, int retval, const char *str, int x1, int y1, short x2, short y2, short *spoin, const char *tip)
|
||||
uiBut *uiDefKeyevtButS(uiBlock *block, int retval, const char *str, int x, int y, short width, short height, short *spoin, const char *tip)
|
||||
{
|
||||
uiBut *but = ui_def_but(block, KEYEVT | SHO, retval, str, x1, y1, x2, y2, spoin, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
uiBut *but = ui_def_but(block, KEYEVT | SHO, retval, str, x, y, width, height, spoin, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
ui_check_but(but);
|
||||
return but;
|
||||
}
|
||||
|
||||
/* short pointers hardcoded */
|
||||
/* modkeypoin will be set to KM_SHIFT, KM_ALT, KM_CTRL, KM_OSKEY bits */
|
||||
uiBut *uiDefHotKeyevtButS(uiBlock *block, int retval, const char *str, int x1, int y1, short x2, short y2, short *keypoin, short *modkeypoin, const char *tip)
|
||||
uiBut *uiDefHotKeyevtButS(uiBlock *block, int retval, const char *str, int x, int y, short width, short height, short *keypoin, short *modkeypoin, const char *tip)
|
||||
{
|
||||
uiBut *but = ui_def_but(block, HOTKEYEVT | SHO, retval, str, x1, y1, x2, y2, keypoin, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
uiBut *but = ui_def_but(block, HOTKEYEVT | SHO, retval, str, x, y, width, height, keypoin, 0.0, 0.0, 0.0, 0.0, tip);
|
||||
but->modifier_key = *modkeypoin;
|
||||
ui_check_but(but);
|
||||
return but;
|
||||
@@ -3651,9 +3646,9 @@ uiBut *uiDefHotKeyevtButS(uiBlock *block, int retval, const char *str, int x1, i
|
||||
|
||||
/* arg is pointer to string/name, use uiButSetSearchFunc() below to make this work */
|
||||
/* here a1 and a2, if set, control thumbnail preview rows/cols */
|
||||
uiBut *uiDefSearchBut(uiBlock *block, void *arg, int retval, int icon, int maxlen, int x1, int y1, short x2, short y2, float a1, float a2, const char *tip)
|
||||
uiBut *uiDefSearchBut(uiBlock *block, void *arg, int retval, int icon, int maxlen, int x, int y, short width, short height, float a1, float a2, const char *tip)
|
||||
{
|
||||
uiBut *but = ui_def_but(block, SEARCH_MENU, retval, "", x1, y1, x2, y2, arg, 0.0, maxlen, a1, a2, tip);
|
||||
uiBut *but = ui_def_but(block, SEARCH_MENU, retval, "", x, y, width, height, arg, 0.0, maxlen, a1, a2, tip);
|
||||
|
||||
but->icon = (BIFIconID) icon;
|
||||
but->flag |= UI_HAS_ICON;
|
||||
|
||||
@@ -686,8 +686,7 @@ static int ui_but_mouse_inside_icon(uiBut *but, ARegion *ar, wmEvent *event)
|
||||
|
||||
ui_window_to_block(ar, but->block, &x, &y);
|
||||
|
||||
rect.xmin = but->rect.xmin; rect.xmax = but->rect.xmax;
|
||||
rect.ymin = but->rect.ymin; rect.ymax = but->rect.ymax;
|
||||
BLI_rcti_rctf_copy(&rect, &but->rect);
|
||||
|
||||
if (but->imb) ; /* use button size itself */
|
||||
else if (but->flag & UI_ICON_LEFT) {
|
||||
@@ -4921,7 +4920,7 @@ static int ui_do_button(bContext *C, uiBlock *block, uiBut *but, wmEvent *event)
|
||||
|
||||
static int ui_but_contains_pt(uiBut *but, int mx, int my)
|
||||
{
|
||||
return ((but->rect.xmin < mx && but->rect.xmax >= mx) && (but->rect.ymin < my && but->rect.ymax >= my));
|
||||
return BLI_in_rctf(&but->rect, mx, my);
|
||||
}
|
||||
|
||||
static uiBut *ui_but_find_activated(ARegion *ar)
|
||||
@@ -5092,9 +5091,7 @@ static uiBut *ui_but_find_mouse_over(ARegion *ar, int x, int y)
|
||||
/* CLIP_EVENTS prevents the event from reaching other blocks */
|
||||
if (block->flag & UI_BLOCK_CLIP_EVENTS) {
|
||||
/* check if mouse is inside block */
|
||||
if (block->rect.xmin <= mx && block->rect.xmax >= mx &&
|
||||
block->rect.ymin <= my && block->rect.ymax >= my)
|
||||
{
|
||||
if (BLI_in_rctf(&block->rect, mx, my)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -6103,10 +6100,7 @@ static int ui_handle_menu_event(bContext *C, wmEvent *event, uiPopupBlockHandle
|
||||
ui_window_to_block(ar, block, &mx, &my);
|
||||
|
||||
/* check if mouse is inside block */
|
||||
inside = 0;
|
||||
if (block->rect.xmin <= mx && block->rect.xmax >= mx)
|
||||
if (block->rect.ymin <= my && block->rect.ymax >= my)
|
||||
inside = 1;
|
||||
inside = BLI_in_rctf(&block->rect, mx, my);
|
||||
|
||||
/* if there's an active modal button, don't check events or outside, except for search menu */
|
||||
but = ui_but_find_activated(ar);
|
||||
|
||||
@@ -729,10 +729,7 @@ static int ui_editsource_uibut_match(uiBut *but_a, uiBut *but_b)
|
||||
/* this just needs to be a 'good-enough' comparison so we can know beyond
|
||||
* reasonable doubt that these buttons are the same between redraws.
|
||||
* if this fails it only means edit-source fails - campbell */
|
||||
if ((but_a->rect.xmin == but_b->rect.xmin) &&
|
||||
(but_a->rect.xmax == but_b->rect.xmax) &&
|
||||
(but_a->rect.ymin == but_b->rect.ymin) &&
|
||||
(but_a->rect.ymax == but_b->rect.ymax) &&
|
||||
if (BLI_rctf_compare(&but_a->rect, &but_b->rect, FLT_EPSILON) &&
|
||||
(but_a->type == but_b->type) &&
|
||||
(but_a->rnaprop == but_b->rnaprop) &&
|
||||
(but_a->optype == but_b->optype) &&
|
||||
|
||||
@@ -420,8 +420,9 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
|
||||
/* IDProperty *prop;*/
|
||||
char buf[512];
|
||||
float fonth, fontw, aspect = but->block->aspect;
|
||||
float x1f, x2f, y1f, y2f;
|
||||
int x1, x2, y1, y2, winx, winy, ofsx, ofsy, w, h, a;
|
||||
int winx, winy, ofsx, ofsy, w, h, a;
|
||||
rctf rect_fl;
|
||||
rcti rect_i;
|
||||
|
||||
const int nbr_info = 6;
|
||||
uiStringInfo but_tip = {BUT_GET_TIP, NULL};
|
||||
@@ -685,62 +686,59 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
|
||||
ofsx = (but->block->panel) ? but->block->panel->ofsx : 0;
|
||||
ofsy = (but->block->panel) ? but->block->panel->ofsy : 0;
|
||||
|
||||
x1f = (but->rect.xmin + but->rect.xmax) * 0.5f + ofsx - (TIP_BORDER_X * aspect);
|
||||
x2f = x1f + fontw + (TIP_BORDER_X * aspect);
|
||||
y2f = but->rect.ymin + ofsy - (TIP_BORDER_Y * aspect);
|
||||
y1f = y2f - fonth * aspect - (TIP_BORDER_Y * aspect);
|
||||
rect_fl.xmin = (but->rect.xmin + but->rect.xmax) * 0.5f + ofsx - (TIP_BORDER_X * aspect);
|
||||
rect_fl.xmax = rect_fl.xmin + fontw + (TIP_BORDER_X * aspect);
|
||||
rect_fl.ymax = but->rect.ymin + ofsy - (TIP_BORDER_Y * aspect);
|
||||
rect_fl.ymin = rect_fl.ymax - fonth * aspect - (TIP_BORDER_Y * aspect);
|
||||
|
||||
#undef TIP_MARGIN_Y
|
||||
#undef TIP_BORDER_X
|
||||
#undef TIP_BORDER_Y
|
||||
|
||||
/* copy to int, gets projected if possible too */
|
||||
x1 = x1f; y1 = y1f; x2 = x2f; y2 = y2f;
|
||||
BLI_rcti_rctf_copy(&rect_i, &rect_fl);
|
||||
|
||||
if (butregion) {
|
||||
/* XXX temp, region v2ds can be empty still */
|
||||
if (butregion->v2d.cur.xmin != butregion->v2d.cur.xmax) {
|
||||
UI_view2d_to_region_no_clip(&butregion->v2d, x1f, y1f, &x1, &y1);
|
||||
UI_view2d_to_region_no_clip(&butregion->v2d, x2f, y2f, &x2, &y2);
|
||||
UI_view2d_to_region_no_clip(&butregion->v2d, rect_fl.xmin, rect_fl.ymin, &rect_i.xmin, &rect_i.ymin);
|
||||
UI_view2d_to_region_no_clip(&butregion->v2d, rect_fl.xmax, rect_fl.ymax, &rect_i.xmax, &rect_i.ymax);
|
||||
}
|
||||
|
||||
x1 += butregion->winrct.xmin;
|
||||
x2 += butregion->winrct.xmin;
|
||||
y1 += butregion->winrct.ymin;
|
||||
y2 += butregion->winrct.ymin;
|
||||
BLI_rcti_translate(&rect_i, butregion->winrct.xmin, butregion->winrct.ymin);
|
||||
}
|
||||
|
||||
wm_window_get_size(CTX_wm_window(C), &winx, &winy);
|
||||
|
||||
if (x2 > winx) {
|
||||
if (rect_i.xmax > winx) {
|
||||
/* super size */
|
||||
if (x2 > winx + x1) {
|
||||
x2 = winx;
|
||||
x1 = 0;
|
||||
if (rect_i.xmax > winx + rect_i.xmin) {
|
||||
rect_i.xmax = winx;
|
||||
rect_i.xmin = 0;
|
||||
}
|
||||
else {
|
||||
x1 -= x2 - winx;
|
||||
x2 = winx;
|
||||
rect_i.xmin -= rect_i.xmax - winx;
|
||||
rect_i.xmax = winx;
|
||||
}
|
||||
}
|
||||
/* ensure at least 5 px above screen bounds
|
||||
* 25 is just a guess to be above the menu item */
|
||||
if (y1 < 5) {
|
||||
y2 += (-y1) + 30;
|
||||
y1 = 30;
|
||||
if (rect_i.ymin < 5) {
|
||||
rect_i.ymax += (-rect_i.ymin) + 30;
|
||||
rect_i.ymin = 30;
|
||||
}
|
||||
|
||||
/* widget rect, in region coords */
|
||||
data->bbox.xmin = MENU_SHADOW_SIDE;
|
||||
data->bbox.xmax = x2 - x1 + MENU_SHADOW_SIDE;
|
||||
data->bbox.xmax = rect_i.xmax - rect_i.xmin + MENU_SHADOW_SIDE;
|
||||
data->bbox.ymin = MENU_SHADOW_BOTTOM;
|
||||
data->bbox.ymax = y2 - y1 + MENU_SHADOW_BOTTOM;
|
||||
data->bbox.ymax = rect_i.ymax - rect_i.ymin + MENU_SHADOW_BOTTOM;
|
||||
|
||||
/* region bigger for shadow */
|
||||
ar->winrct.xmin = x1 - MENU_SHADOW_SIDE;
|
||||
ar->winrct.xmax = x2 + MENU_SHADOW_SIDE;
|
||||
ar->winrct.ymin = y1 - MENU_SHADOW_BOTTOM;
|
||||
ar->winrct.ymax = y2 + MENU_TOP;
|
||||
ar->winrct.xmin = rect_i.xmin - MENU_SHADOW_SIDE;
|
||||
ar->winrct.xmax = rect_i.xmax + MENU_SHADOW_SIDE;
|
||||
ar->winrct.ymin = rect_i.ymin - MENU_SHADOW_BOTTOM;
|
||||
ar->winrct.ymax = rect_i.ymax + MENU_TOP;
|
||||
|
||||
/* adds subwindow */
|
||||
ED_region_init(C, ar);
|
||||
@@ -1134,8 +1132,10 @@ ARegion *ui_searchbox_create(bContext *C, ARegion *butregion, uiBut *but)
|
||||
ARegion *ar;
|
||||
uiSearchboxData *data;
|
||||
float aspect = but->block->aspect;
|
||||
float x1f, x2f, y1f, y2f;
|
||||
int x1, x2, y1, y2, winx, winy, ofsx, ofsy;
|
||||
rctf rect_fl;
|
||||
rcti rect_i;
|
||||
int winx, winy, ofsx, ofsy;
|
||||
int i;
|
||||
|
||||
/* create area region */
|
||||
ar = ui_add_temporary_region(CTX_wm_screen(C));
|
||||
@@ -1189,69 +1189,65 @@ ARegion *ui_searchbox_create(bContext *C, ARegion *butregion, uiBut *but)
|
||||
}
|
||||
}
|
||||
else {
|
||||
x1f = but->rect.xmin - 5; /* align text with button */
|
||||
x2f = but->rect.xmax + 5; /* symmetrical */
|
||||
y2f = but->rect.ymin;
|
||||
y1f = y2f - uiSearchBoxhHeight();
|
||||
rect_fl.xmin = but->rect.xmin - 5; /* align text with button */
|
||||
rect_fl.xmax = but->rect.xmax + 5; /* symmetrical */
|
||||
rect_fl.ymax = but->rect.ymin;
|
||||
rect_fl.ymin = rect_fl.ymax - uiSearchBoxhHeight();
|
||||
|
||||
ofsx = (but->block->panel) ? but->block->panel->ofsx : 0;
|
||||
ofsy = (but->block->panel) ? but->block->panel->ofsy : 0;
|
||||
|
||||
x1f += ofsx;
|
||||
x2f += ofsx;
|
||||
y1f += ofsy;
|
||||
y2f += ofsy;
|
||||
BLI_rctf_translate(&rect_fl, ofsx, ofsy);
|
||||
|
||||
/* minimal width */
|
||||
if (x2f - x1f < 150) x2f = x1f + 150; // XXX arbitrary
|
||||
if (rect_fl.xmax - rect_fl.xmin < 150) {
|
||||
rect_fl.xmax = rect_fl.xmin + 150; /* XXX arbitrary */
|
||||
}
|
||||
|
||||
/* copy to int, gets projected if possible too */
|
||||
x1 = x1f; y1 = y1f; x2 = x2f; y2 = y2f;
|
||||
BLI_rcti_rctf_copy(&rect_i, &rect_fl);
|
||||
|
||||
if (butregion->v2d.cur.xmin != butregion->v2d.cur.xmax) {
|
||||
UI_view2d_to_region_no_clip(&butregion->v2d, x1f, y1f, &x1, &y1);
|
||||
UI_view2d_to_region_no_clip(&butregion->v2d, x2f, y2f, &x2, &y2);
|
||||
UI_view2d_to_region_no_clip(&butregion->v2d, rect_fl.xmin, rect_fl.ymin, &rect_i.xmin, &rect_i.ymin);
|
||||
UI_view2d_to_region_no_clip(&butregion->v2d, rect_fl.xmax, rect_fl.ymax, &rect_i.xmax, &rect_i.ymax);
|
||||
}
|
||||
|
||||
x1 += butregion->winrct.xmin;
|
||||
x2 += butregion->winrct.xmin;
|
||||
y1 += butregion->winrct.ymin;
|
||||
y2 += butregion->winrct.ymin;
|
||||
BLI_rcti_translate(&rect_i, butregion->winrct.xmin, butregion->winrct.ymin);
|
||||
|
||||
wm_window_get_size(CTX_wm_window(C), &winx, &winy);
|
||||
|
||||
if (x2 > winx) {
|
||||
if (rect_i.xmax > winx) {
|
||||
/* super size */
|
||||
if (x2 > winx + x1) {
|
||||
x2 = winx;
|
||||
x1 = 0;
|
||||
if (rect_i.xmax > winx + rect_i.xmin) {
|
||||
rect_i.xmax = winx;
|
||||
rect_i.xmin = 0;
|
||||
}
|
||||
else {
|
||||
x1 -= x2 - winx;
|
||||
x2 = winx;
|
||||
rect_i.xmin -= rect_i.xmax - winx;
|
||||
rect_i.xmax = winx;
|
||||
}
|
||||
}
|
||||
|
||||
if (y1 < 0) {
|
||||
if (rect_i.ymin < 0) {
|
||||
int newy1;
|
||||
UI_view2d_to_region_no_clip(&butregion->v2d, 0, but->rect.ymax + ofsy, NULL, &newy1);
|
||||
newy1 += butregion->winrct.ymin;
|
||||
|
||||
y2 = y2 - y1 + newy1;
|
||||
y1 = newy1;
|
||||
rect_i.ymax = rect_i.ymax - rect_i.ymin + newy1;
|
||||
rect_i.ymin = newy1;
|
||||
}
|
||||
|
||||
/* widget rect, in region coords */
|
||||
data->bbox.xmin = MENU_SHADOW_SIDE;
|
||||
data->bbox.xmax = x2 - x1 + MENU_SHADOW_SIDE;
|
||||
data->bbox.xmax = rect_i.xmax - rect_i.xmin + MENU_SHADOW_SIDE;
|
||||
data->bbox.ymin = MENU_SHADOW_BOTTOM;
|
||||
data->bbox.ymax = y2 - y1 + MENU_SHADOW_BOTTOM;
|
||||
data->bbox.ymax = rect_i.ymax - rect_i.ymin + MENU_SHADOW_BOTTOM;
|
||||
|
||||
/* region bigger for shadow */
|
||||
ar->winrct.xmin = x1 - MENU_SHADOW_SIDE;
|
||||
ar->winrct.xmax = x2 + MENU_SHADOW_SIDE;
|
||||
ar->winrct.ymin = y1 - MENU_SHADOW_BOTTOM;
|
||||
ar->winrct.ymax = y2;
|
||||
ar->winrct.xmin = rect_i.xmin - MENU_SHADOW_SIDE;
|
||||
ar->winrct.xmax = rect_i.xmax + MENU_SHADOW_SIDE;
|
||||
ar->winrct.ymin = rect_i.ymin - MENU_SHADOW_BOTTOM;
|
||||
ar->winrct.ymax = rect_i.ymax;
|
||||
}
|
||||
|
||||
/* adds subwindow */
|
||||
@@ -1272,8 +1268,8 @@ ARegion *ui_searchbox_create(bContext *C, ARegion *butregion, uiBut *but)
|
||||
data->items.names = MEM_callocN(data->items.maxitem * sizeof(void *), "search names");
|
||||
data->items.pointers = MEM_callocN(data->items.maxitem * sizeof(void *), "search pointers");
|
||||
data->items.icons = MEM_callocN(data->items.maxitem * sizeof(int), "search icons");
|
||||
for (x1 = 0; x1 < data->items.maxitem; x1++)
|
||||
data->items.names[x1] = MEM_callocN(but->hardmax + 1, "search pointers");
|
||||
for (i = 0; i < data->items.maxitem; i++)
|
||||
data->items.names[i] = MEM_callocN(but->hardmax + 1, "search pointers");
|
||||
|
||||
return ar;
|
||||
}
|
||||
@@ -1347,18 +1343,10 @@ static void ui_block_position(wmWindow *window, ARegion *butregion, uiBut *but,
|
||||
/* calc block rect */
|
||||
if (block->rect.xmin == 0.0f && block->rect.xmax == 0.0f) {
|
||||
if (block->buttons.first) {
|
||||
block->rect.xmin = block->rect.ymin = 10000;
|
||||
block->rect.xmax = block->rect.ymax = -10000;
|
||||
|
||||
bt = block->buttons.first;
|
||||
while (bt) {
|
||||
if (bt->rect.xmin < block->rect.xmin) block->rect.xmin = bt->rect.xmin;
|
||||
if (bt->rect.ymin < block->rect.ymin) block->rect.ymin = bt->rect.ymin;
|
||||
BLI_rctf_init_minmax(&block->rect);
|
||||
|
||||
if (bt->rect.xmax > block->rect.xmax) block->rect.xmax = bt->rect.xmax;
|
||||
if (bt->rect.ymax > block->rect.ymax) block->rect.ymax = bt->rect.ymax;
|
||||
|
||||
bt = bt->next;
|
||||
for (bt = block->buttons.first; bt; bt = bt->next) {
|
||||
BLI_rctf_union(&block->rect, &bt->rect);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -1375,7 +1363,7 @@ static void ui_block_position(wmWindow *window, ARegion *butregion, uiBut *but,
|
||||
//block->rect.xmin -= 2.0; block->rect.ymin -= 2.0;
|
||||
//block->rect.xmax += 2.0; block->rect.ymax += 2.0;
|
||||
|
||||
xsize = block->rect.xmax - block->rect.xmin + 4; // 4 for shadow
|
||||
xsize = block->rect.xmax - block->rect.xmin + 4; /* 4 for shadow */
|
||||
ysize = block->rect.ymax - block->rect.ymin + 4;
|
||||
/* aspect /= (float)xsize;*/ /*UNUSED*/
|
||||
|
||||
@@ -1496,20 +1484,14 @@ static void ui_block_position(wmWindow *window, ARegion *butregion, uiBut *but,
|
||||
ui_block_to_window_fl(butregion, but->block, &bt->rect.xmin, &bt->rect.ymin);
|
||||
ui_block_to_window_fl(butregion, but->block, &bt->rect.xmax, &bt->rect.ymax);
|
||||
|
||||
bt->rect.xmin += xof;
|
||||
bt->rect.xmax += xof;
|
||||
bt->rect.ymin += yof;
|
||||
bt->rect.ymax += yof;
|
||||
BLI_rctf_translate(&bt->rect, xof, yof);
|
||||
|
||||
bt->aspect = 1.0;
|
||||
// ui_check_but recalculates drawstring size in pixels
|
||||
bt->aspect = 1.0f;
|
||||
/* ui_check_but recalculates drawstring size in pixels */
|
||||
ui_check_but(bt);
|
||||
}
|
||||
|
||||
block->rect.xmin += xof;
|
||||
block->rect.ymin += yof;
|
||||
block->rect.xmax += xof;
|
||||
block->rect.ymax += yof;
|
||||
BLI_rctf_translate(&block->rect, xof, yof);
|
||||
|
||||
/* safety calculus */
|
||||
if (but) {
|
||||
@@ -1630,7 +1612,6 @@ uiPopupBlockHandle *ui_popup_block_create(bContext *C, ARegion *butregion, uiBut
|
||||
static ARegionType type;
|
||||
ARegion *ar;
|
||||
uiBlock *block;
|
||||
uiBut *bt;
|
||||
uiPopupBlockHandle *handle;
|
||||
uiSafetyRct *saferct;
|
||||
|
||||
@@ -1698,17 +1679,7 @@ uiPopupBlockHandle *ui_popup_block_create(bContext *C, ARegion *butregion, uiBut
|
||||
ar->winrct.ymin = block->rect.ymin - MENU_SHADOW_BOTTOM;
|
||||
ar->winrct.ymax = block->rect.ymax + MENU_TOP;
|
||||
|
||||
block->rect.xmin -= ar->winrct.xmin;
|
||||
block->rect.xmax -= ar->winrct.xmin;
|
||||
block->rect.ymin -= ar->winrct.ymin;
|
||||
block->rect.ymax -= ar->winrct.ymin;
|
||||
|
||||
for (bt = block->buttons.first; bt; bt = bt->next) {
|
||||
bt->rect.xmin -= ar->winrct.xmin;
|
||||
bt->rect.xmax -= ar->winrct.xmin;
|
||||
bt->rect.ymin -= ar->winrct.ymin;
|
||||
bt->rect.ymax -= ar->winrct.ymin;
|
||||
}
|
||||
ui_block_translate(block, -ar->winrct.xmin, -ar->winrct.ymin);
|
||||
|
||||
block->flag |= UI_BLOCK_LOOP;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user