Cleanup: strip trailing space from interface files
authorCampbell Barton <ideasman42@gmail.com>
Wed, 23 May 2018 08:47:12 +0000 (10:47 +0200)
committerCampbell Barton <ideasman42@gmail.com>
Wed, 23 May 2018 08:48:50 +0000 (10:48 +0200)
18 files changed:
source/blender/editors/interface/interface.c
source/blender/editors/interface/interface_align.c
source/blender/editors/interface/interface_anim.c
source/blender/editors/interface/interface_draw.c
source/blender/editors/interface/interface_handlers.c
source/blender/editors/interface/interface_icons.c
source/blender/editors/interface/interface_intern.h
source/blender/editors/interface/interface_layout.c
source/blender/editors/interface/interface_ops.c
source/blender/editors/interface/interface_panel.c
source/blender/editors/interface/interface_regions.c
source/blender/editors/interface/interface_style.c
source/blender/editors/interface/interface_templates.c
source/blender/editors/interface/interface_utils.c
source/blender/editors/interface/interface_widgets.c
source/blender/editors/interface/resources.c
source/blender/editors/interface/view2d.c
source/blender/editors/interface/view2d_ops.c

index 5f36c5e21bf8c41b4c2c18d91abc6b7f332bcb5b..882d7de9af92e889b8dcb2f28c5507db7fb58e38 100644 (file)
@@ -85,7 +85,7 @@
 
 /**
  * a full doc with API notes can be found in 'blender/doc/guides/interface_API.txt'
- * 
+ *
  * `uiBlahBlah()`      external function.
  * `ui_blah_blah()`    internal function.
  */
@@ -290,7 +290,7 @@ void ui_block_bounds_calc(uiBlock *block)
 {
        uiBut *bt;
        int xof;
-       
+
        if (BLI_listbase_is_empty(&block->buttons)) {
                if (block->panel) {
                        block->rect.xmin = 0.0; block->rect.xmax = block->panel->sizex;
@@ -298,13 +298,13 @@ void ui_block_bounds_calc(uiBlock *block)
                }
        }
        else {
-       
+
                BLI_rctf_init_minmax(&block->rect);
 
                for (bt = block->buttons.first; bt; bt = bt->next) {
                        BLI_rctf_union(&block->rect, &bt->rect);
                }
-               
+
                block->rect.xmin -= block->bounds;
                block->rect.ymin -= block->bounds;
                block->rect.xmax += block->bounds;
@@ -313,7 +313,7 @@ void ui_block_bounds_calc(uiBlock *block)
 
        block->rect.xmax = block->rect.xmin + max_ff(BLI_rctf_size_x(&block->rect), block->minbounds);
 
-       /* hardcoded exception... but that one is annoying with larger safety */ 
+       /* hardcoded exception... but that one is annoying with larger safety */
        bt = block->buttons.first;
        if (bt && STREQLEN(bt->str, "ERROR", 5)) xof = 10;
        else xof = 40;
@@ -329,7 +329,7 @@ static void ui_block_bounds_calc_centered(wmWindow *window, uiBlock *block)
        int xmax, ymax;
        int startx, starty;
        int width, height;
-       
+
        /* note: this is used for the splash where window bounds event has not been
         * updated by ghost, get the window bounds from ghost directly */
 
@@ -337,18 +337,18 @@ static void ui_block_bounds_calc_centered(wmWindow *window, uiBlock *block)
        ymax = WM_window_pixels_y(window);
 
        ui_block_bounds_calc(block);
-       
+
        width  = BLI_rctf_size_x(&block->rect);
        height = BLI_rctf_size_y(&block->rect);
-       
+
        startx = (xmax * 0.5f) - (width * 0.5f);
        starty = (ymax * 0.5f) - (height * 0.5f);
-       
+
        ui_block_translate(block, startx - block->rect.xmin, starty - block->rect.ymin);
-       
+
        /* now recompute bounds and safety */
        ui_block_bounds_calc(block);
-       
+
 }
 
 static void ui_block_bounds_calc_centered_pie(uiBlock *block)
@@ -378,7 +378,7 @@ static void ui_block_bounds_calc_popup(
 
        /* compute mouse position with user defined offset */
        ui_block_bounds_calc(block);
-       
+
        xmax = WM_window_pixels_x(window);
        ymax = WM_window_pixels_y(window);
 
@@ -436,7 +436,7 @@ void UI_block_bounds_set_normal(uiBlock *block, int addval)
 {
        if (block == NULL)
                return;
-       
+
        block->bounds = addval;
        block->bounds_type = UI_BLOCK_BOUNDS;
 }
@@ -511,12 +511,12 @@ static void ui_draw_linkline(uiLinkLine *line, int highlightActiveLines, int das
        rcti rect;
 
        if (line->from == NULL || line->to == NULL) return;
-       
+
        rect.xmin = BLI_rctf_cent_x(&line->from->rect);
        rect.ymin = BLI_rctf_cent_y(&line->from->rect);
        rect.xmax = BLI_rctf_cent_x(&line->to->rect);
        rect.ymax = BLI_rctf_cent_y(&line->to->rect);
-       
+
        if (dashInactiveLines)
                UI_ThemeColor(TH_GRID);
        else if (line->flag & UI_SELECT)
@@ -629,12 +629,12 @@ static void ui_but_update_linklines(uiBlock *block, uiBut *oldbut, uiBut *newbut
 {
        uiLinkLine *line;
        uiBut *but;
-       
+
        /* if active button is UI_BTYPE_LINK */
        if (newbut->type == UI_BTYPE_LINK && newbut->link) {
-               
+
                SWAP(uiLink *, oldbut->link, newbut->link);
-               
+
                for (line = oldbut->link->lines.first; line; line = line->next) {
                        if (line->to == newbut)
                                line->to = oldbut;
@@ -642,7 +642,7 @@ static void ui_but_update_linklines(uiBlock *block, uiBut *oldbut, uiBut *newbut
                                line->from = oldbut;
                }
        }
-       
+
        /* check all other button links */
        for (but = block->buttons.first; but; but = but->next) {
                if (but != newbut && but->type == UI_BTYPE_LINK && but->link) {
@@ -811,7 +811,7 @@ bool UI_but_active_only(const bContext *C, ARegion *ar, uiBlock *block, uiBut *b
        uiBlock *oldblock;
        uiBut *oldbut;
        bool activate = false, found = false, isactive = false;
-       
+
        oldblock = block->oldblock;
        if (!oldblock) {
                activate = true;
@@ -834,7 +834,7 @@ bool UI_but_active_only(const bContext *C, ARegion *ar, uiBlock *block, uiBut *b
                ui_but_free(C, but);
                return false;
        }
-       
+
        return true;
 }
 
@@ -1038,27 +1038,27 @@ static bool ui_but_event_property_operator_string(
                "WM_OT_context_cycle_array",
                "WM_OT_context_menu_enum",
                NULL
-       };              
+       };
        const size_t num_ops = sizeof(ctx_toggle_opnames) / sizeof(const char *);
-       
+
        bool found = false;
-       
+
        /* this version is only for finding hotkeys for properties (which get set via context using operators) */
        if (but->rnaprop) {
-               /* to avoid massive slowdowns on property panels, for now, we only check the 
+               /* to avoid massive slowdowns on property panels, for now, we only check the
                 * hotkeys for Editor / Scene settings...
                 *
                 * TODO: userpref settings?
                 */
                // TODO: value (for enum stuff)?
                char *data_path = NULL;
-               
+
                if (but->rnapoin.id.data) {
                        ID *id = but->rnapoin.id.data;
-                       
+
                        if (GS(id->name) == ID_SCR) {
-                               /* screen/editor property 
-                                * NOTE: in most cases, there is actually no info for backwards tracing 
+                               /* screen/editor property
+                                * NOTE: in most cases, there is actually no info for backwards tracing
                                 * how to get back to ID from the editor data we may be dealing with
                                 */
                                if (RNA_struct_is_a(but->rnapoin.type, &RNA_Space)) {
@@ -1079,7 +1079,7 @@ static bool ui_but_event_property_operator_string(
                        }
                        else if (GS(id->name) == ID_SCE) {
                                if (RNA_struct_is_a(but->rnapoin.type, &RNA_ToolSettings)) {
-                                       /* toolsettings property 
+                                       /* toolsettings property
                                         * NOTE: toolsettings is usually accessed directly (i.e. not through scene)
                                         */
                                        data_path = RNA_path_from_ID_to_property(&but->rnapoin, but->rnaprop);
@@ -1087,7 +1087,7 @@ static bool ui_but_event_property_operator_string(
                                else {
                                        /* scene property */
                                        char *path = RNA_path_from_ID_to_property(&but->rnapoin, but->rnaprop);
-                                       
+
                                        if (path) {
                                                data_path = BLI_sprintfN("scene.%s", path);
                                                MEM_freeN(path);
@@ -1103,23 +1103,23 @@ static bool ui_but_event_property_operator_string(
                        else {
                                //puts("other id");
                        }
-                       
+
                        //printf("prop shortcut: '%s' (%s)\n", RNA_property_identifier(but->rnaprop), data_path);
                }
-               
+
                /* we have a datapath! */
                if (data_path) {
                        size_t i;
-                       
+
                        /* create a property to host the "datapath" property we're sending to the operators */
                        IDProperty *prop_path;
                        IDProperty *prop_path_value;
-                       
+
                        IDPropertyTemplate val = {0};
                        prop_path = IDP_New(IDP_GROUP, &val, __func__);
                        prop_path_value = IDP_NewString(data_path, "data_path", strlen(data_path) + 1);
                        IDP_AddToGroup(prop_path, prop_path_value);
-                       
+
                        /* check each until one works... */
                        for (i = 0; (i < num_ops) && (ctx_toggle_opnames[i]); i++) {
                                if (WM_key_event_operator_string(
@@ -1130,14 +1130,14 @@ static bool ui_but_event_property_operator_string(
                                        break;
                                }
                        }
-                       
+
                        /* cleanup */
                        IDP_FreeProperty(prop_path);
                        MEM_freeN(prop_path);
                        MEM_freeN(data_path);
                }
        }
-       
+
        return found;
 }
 
@@ -1294,7 +1294,7 @@ void UI_block_end_ex(const bContext *C, uiBlock *block, const int xy[2], int r_x
        if (block->flag & UI_BLOCK_LOOP) {
                ui_menu_block_set_keymaps(C, block);
        }
-       
+
        /* after keymaps! */
        switch (block->bounds_type) {
                case UI_BLOCK_BOUNDS_NONE:
@@ -1342,12 +1342,12 @@ void ui_fontscale(short *points, float aspect)
 {
        if (aspect < 0.9f || aspect > 1.1f) {
                float pointsf = *points;
-               
+
                /* for some reason scaling fonts goes too fast compared to widget size */
                /* XXX not true anymore? (ton) */
                //aspect = sqrt(aspect);
                pointsf /= aspect;
-               
+
                if (aspect > 1.0f)
                        *points = ceilf(pointsf);
                else
@@ -1373,7 +1373,7 @@ void UI_block_draw(const bContext *C, uiBlock *block)
        uiBut *but;
        rcti rect;
        int multisample_enabled;
-       
+
        /* get menu region or area region */
        ar = CTX_wm_menu(C);
        if (!ar)
@@ -1389,16 +1389,16 @@ void UI_block_draw(const bContext *C, uiBlock *block)
 
        /* we set this only once */
        glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-       
+
        /* scale fonts */
        ui_fontscale(&style.paneltitle.points, block->aspect);
        ui_fontscale(&style.grouplabel.points, block->aspect);
        ui_fontscale(&style.widgetlabel.points, block->aspect);
        ui_fontscale(&style.widget.points, block->aspect);
-       
+
        /* scale block min/max to rect */
        ui_but_to_pixelrect(&rect, ar, block, NULL);
-       
+
        /* pixel space for AA widgets */
        glMatrixMode(GL_PROJECTION);
        glPushMatrix();
@@ -1407,7 +1407,7 @@ void UI_block_draw(const bContext *C, uiBlock *block)
        glLoadIdentity();
 
        wmOrtho2_region_pixelspace(ar);
-       
+
        /* back */
        if (block->flag & UI_BLOCK_RADIAL)
                ui_draw_pie_center(block);
@@ -1420,14 +1420,14 @@ void UI_block_draw(const bContext *C, uiBlock *block)
        for (but = block->buttons.first; but; but = but->next) {
                if (!(but->flag & (UI_HIDDEN | UI_SCROLLED))) {
                        ui_but_to_pixelrect(&rect, ar, block, but);
-               
+
                        /* XXX: figure out why invalid coordinates happen when closing render window */
                        /* and material preview is redrawn in main window (temp fix for bug #23848) */
                        if (rect.xmin < rect.xmax && rect.ymin < rect.ymax)
                                ui_draw_but(C, ar, &style, but, &rect);
                }
        }
-       
+
        /* restore matrix */
        glMatrixMode(GL_PROJECTION);
        glPopMatrix();
@@ -1436,7 +1436,7 @@ void UI_block_draw(const bContext *C, uiBlock *block)
 
        if (multisample_enabled)
                glEnable(GL_MULTISAMPLE);
-       
+
        ui_draw_links(block);
 }
 
@@ -1524,7 +1524,7 @@ static void ui_but_update_select_flag(uiBut *but, double *value)
 static uiBut *ui_linkline_find_inlink(uiBlock *block, void *poin)
 {
        uiBut *but;
-       
+
        but = block->buttons.first;
        while (but) {
                if (but->type == UI_BTYPE_INLINK) {
@@ -1538,7 +1538,7 @@ static uiBut *ui_linkline_find_inlink(uiBlock *block, void *poin)
 static void ui_linkline_add(ListBase *listb, uiBut *but, uiBut *bt, short deactive)
 {
        uiLinkLine *line;
-       
+
        line = MEM_callocN(sizeof(uiLinkLine), "linkline");
        BLI_addtail(listb, line);
        line->from = but;
@@ -1557,12 +1557,12 @@ void UI_block_links_compose(uiBlock *block)
        uiLink *link;
        void ***ppoin;
        int a;
-       
+
        but = block->buttons.first;
        while (but) {
                if (but->type == UI_BTYPE_LINK) {
                        link = but->link;
-                       
+
                        /* for all pointers in the array */
                        if (link) {
                                if (link->ppoin) {
@@ -1620,14 +1620,14 @@ void ui_linkline_remove(uiLinkLine *line, uiBut *but)
 {
        uiLink *link;
        int a, b;
-       
+
        BLI_remlink(&but->link->lines, line);
 
        link = line->from->link;
 
        /* are there more pointers allowed? */
        if (link->ppoin) {
-               
+
                if (*(link->totlink) == 1) {
                        *(link->totlink) = 0;
                        MEM_freeN(*(link->ppoin));
@@ -1753,10 +1753,10 @@ bool ui_but_is_float(const uiBut *but)
 {
        if (but->pointype == UI_BUT_POIN_FLOAT && but->poin)
                return true;
-       
+
        if (but->rnaprop && RNA_property_type(but->rnaprop) == PROP_FLOAT)
                return true;
-       
+
        return false;
 }
 
@@ -1787,7 +1787,7 @@ bool ui_but_is_unit(const uiBut *but)
        if (ui_but_is_unit_radians_ex(unit, unit_type))
                return false;
 #endif
-       
+
        /* for now disable time unit conversion */
        if (unit_type == PROP_UNIT_TIME)
                return false;
@@ -1969,7 +1969,7 @@ void ui_but_value_set(uiBut *but, double value)
                        if (fval >= -0.00001f && fval <= 0.00001f) fval = 0.0f;  /* prevent negative zero */
                        value = fval;
                }
-               
+
                /* then set value with possible edit override */
                if (but->editval)
                        value = *but->editval = value;
@@ -2098,11 +2098,11 @@ void ui_but_convert_to_unit_alt_name(uiBut *but, char *str, size_t maxlen)
                UnitSettings *unit = but->block->unit;
                int unit_type = UI_but_unit_type_get(but);
                char *orig_str;
-               
+
                orig_str = BLI_strdup(str);
-               
+
                bUnit_ToUnitAltName(str, maxlen, orig_str, unit->system, RNA_SUBTYPE_UNIT_VALUE(unit_type));
-               
+
                MEM_freeN(orig_str);
        }
 }
@@ -2448,7 +2448,7 @@ bool ui_but_string_set(bContext *C, uiBut *but, const char *str)
                                else {
                                        ptr = but->rnasearchpoin;
                                        prop = but->rnasearchprop;
-                                       
+
                                        if (prop && RNA_property_collection_lookup_string(&ptr, prop, str, &rptr))
                                                RNA_property_pointer_set(&but->rnapoin, but->rnaprop, rptr);
 
@@ -2739,7 +2739,7 @@ void UI_block_free(const bContext *C, uiBlock *block)
 
        BLI_freelistN(&block->saferct);
        BLI_freelistN(&block->color_pickers.list);
-       
+
        MEM_freeN(block);
 }
 
@@ -2747,7 +2747,7 @@ void UI_block_free(const bContext *C, uiBlock *block)
 void UI_blocklist_free(const bContext *C, ListBase *lb)
 {
        uiBlock *block;
-       
+
        while ((block = BLI_pophead(lb))) {
                UI_block_free(C, block);
        }
@@ -2759,7 +2759,7 @@ void UI_blocklist_free_inactive(const bContext *C, ListBase *lb)
 
        for (block = lb->first; block; block = nextblock) {
                nextblock = block->next;
-       
+
                if (!block->handle) {
                        if (!block->active) {
                                BLI_remlink(lb, block);
@@ -2871,9 +2871,9 @@ void ui_but_update_ex(uiBut *but, const bool validate)
        /* if something changed in the button */
        double value = UI_BUT_VALUE_UNSET;
 //     float okwidth; // UNUSED
-       
+
        ui_but_update_select_flag(but, &value);
-       
+
        /* only update soft range while not editing */
        if (!(but->editval || but->editstr || but->editvec)) {
                if ((but->rnaprop != NULL) ||
@@ -2902,7 +2902,7 @@ void ui_but_update_ex(uiBut *but, const bool validate)
                                           but->hardmin <= but->hardmax);
                        }
                        break;
-                       
+
                case UI_BTYPE_ICON_TOGGLE:
                case UI_BTYPE_ICON_TOGGLE_N:
                        if (!but->rnaprop || (RNA_property_flag(but->rnaprop) & PROP_ICONS_CONSECUTIVE)) {
@@ -2910,16 +2910,16 @@ void ui_but_update_ex(uiBut *but, const bool validate)
                                else but->iconadd = 0;
                        }
                        break;
-                       
+
                        /* quiet warnings for unhandled types */
                default:
                        break;
        }
-       
-       
+
+
        /* safety is 4 to enable small number buttons (like 'users') */
        // okwidth = -4 + (BLI_rcti_size_x(&but->rect)); // UNUSED
-       
+
        /* name: */
        switch (but->type) {
 
@@ -3007,7 +3007,7 @@ void ui_but_update_ex(uiBut *but, const bool validate)
                        else {
                                BLI_strncpy(but->drawstr, but->str, UI_MAX_DRAW_STR);
                        }
-               
+
                        break;
 
                case UI_BTYPE_TEXT:
@@ -3019,7 +3019,7 @@ void ui_but_update_ex(uiBut *but, const bool validate)
                                BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%s%s", but->str, str);
                        }
                        break;
-       
+
                case UI_BTYPE_KEY_EVENT:
                {
                        const char *str;
@@ -3066,13 +3066,13 @@ void ui_but_update_ex(uiBut *but, const bool validate)
                default:
                        BLI_strncpy(but->drawstr, but->str, UI_MAX_DRAW_STR);
                        break;
-               
+
        }
 
        /* if we are doing text editing, this will override the drawstr */
        if (but->editstr)
                but->drawstr[0] = '\0';
-       
+
        /* text clipping moved to widget drawing code itself */
 }
 
@@ -3155,7 +3155,7 @@ static uiBut *ui_def_but(
        int slen;
 
        BLI_assert(width >= 0 && height >= 0);
-       
+
        /* we could do some more error checks here */
        if ((type & BUTTYPE) == UI_BTYPE_LABEL) {
                BLI_assert((poin != NULL || min != 0.0f || max != 0.0f || (a1 == 0.0f && a2 != 0.0f) || (a1 != 0.0f && a1 != 1.0f)) == false);
@@ -3210,7 +3210,7 @@ static uiBut *ui_def_but(
        but->funcN = block->funcN;
        if (block->func_argN)
                but->func_argN = MEM_dupallocN(block->func_argN);
-       
+
        but->pos = -1;   /* cursor invisible */
 
        if (ELEM(but->type, UI_BTYPE_NUM, UI_BTYPE_NUM_SLIDER)) {    /* add a space to name */
@@ -3263,7 +3263,7 @@ static uiBut *ui_def_but(
        }
 
        BLI_addtail(&block->buttons, but);
-       
+
        if (block->curlayout)
                ui_layout_add_but(block->curlayout, but);
 
@@ -3552,7 +3552,7 @@ static uiBut *ui_def_but_rna(
        if (icon) {
                ui_def_but_icon(but, icon, UI_HAS_ICON);
        }
-       
+
        if ((type == UI_BTYPE_MENU) && (but->dt == UI_EMBOSS_PULLDOWN)) {
                but->flag |= UI_BUT_ICON_SUBMENU;
        }
@@ -3629,7 +3629,7 @@ uiBut *uiDefBut(uiBlock *block, int type, int retval, const char *str, int x, in
        uiBut *but = ui_def_but(block, type, retval, str, x, y, width, height, poin, min, max, a1, a2, tip);
 
        ui_but_update(but);
-       
+
        return but;
 }
 
@@ -3671,7 +3671,7 @@ struct AutoComplete {
 AutoComplete *UI_autocomplete_begin(const char *startname, size_t maxlen)
 {
        AutoComplete *autocpl;
-       
+
        autocpl = MEM_callocN(sizeof(AutoComplete), "AutoComplete");
        autocpl->maxlen = maxlen;
        autocpl->matches = 0;
@@ -3712,7 +3712,7 @@ void UI_autocomplete_update_name(AutoComplete *autocpl, const char *name)
 }
 
 int UI_autocomplete_end(AutoComplete *autocpl, char *autoname)
-{      
+{
        int match = AUTOCOMPLETE_NO_MATCH;
        if (autocpl->truncate[0]) {
                if (autocpl->matches == 1) {
@@ -3970,7 +3970,7 @@ uiBut *uiDefIconTextButO_ptr(uiBlock *block, int type, wmOperatorType *ot, int o
 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);
-       if (str && str[0] == '\0') 
+       if (str && str[0] == '\0')
                return uiDefIconButO_ptr(block, type, ot, opcontext, icon, x, y, width, height, tip);
        return uiDefIconTextButO_ptr(block, type, ot, opcontext, icon, str, x, y, width, height, tip);
 }
@@ -3980,9 +3980,9 @@ uiBut *uiDefIconTextButO(uiBlock *block, int type, const char *opname, int opcon
 void UI_but_link_set(uiBut *but, void **poin, void ***ppoin, short *tot, int from, int to)
 {
        uiLink *link;
-       
+
        link = but->link = MEM_callocN(sizeof(uiLink), "new uilink");
-       
+
        link->poin = poin;
        link->ppoin = ppoin;
        link->totlink = tot;
@@ -3996,11 +3996,11 @@ int UI_blocklist_min_y_get(ListBase *lb)
 {
        uiBlock *block;
        int min = 0;
-       
+
        for (block = lb->first; block; block = block->next)
                if (block == lb->first || block->rect.ymin < min)
                        min = block->rect.ymin;
-                       
+
        return min;
 }
 
@@ -4019,7 +4019,7 @@ void UI_block_order_flip(uiBlock *block)
                return;
        else if (block->flag & UI_BLOCK_NO_FLIP)
                return;
-       
+
        for (but = block->buttons.first; but; but = but->next) {
                if (but->drawflag & UI_BUT_ALIGN) return;
                if (but->rect.ymin < miny) miny = but->rect.ymin;
@@ -4168,8 +4168,8 @@ void UI_but_unit_type_set(uiBut *but, const int unit_type)
 int UI_but_unit_type_get(const uiBut *but)
 {
        int ownUnit = (int)but->unit_type;
-       
-       /* own unit define always takes precedence over RNA provided, allowing for overriding 
+
+       /* own unit define always takes precedence over RNA provided, allowing for overriding
         * default value provided in RNA in a few special cases (i.e. Active Keyframe in Graph Edit)
         */
        /* XXX: this doesn't allow clearing unit completely, though the same could be said for icons */
@@ -4331,7 +4331,7 @@ uiBut *uiDefIconMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, int ic
 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, UI_BTYPE_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_BUT_ICON_SUBMENU flag */
        if (icon != ICON_RIGHTARROW_THIN) {
                ui_def_but_icon(but, icon, 0);
@@ -4342,7 +4342,7 @@ uiBut *uiDefIconTextBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg,
 
        but->block_create_func = func;
        ui_but_update(but);
-       
+
        return but;
 }
 
@@ -4350,14 +4350,14 @@ uiBut *uiDefIconTextBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg,
 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, UI_BTYPE_BLOCK, retval, "", x, y, width, height, arg, 0.0, 0.0, 0.0, 0.0, tip);
-       
+
        ui_def_but_icon(but, icon, UI_HAS_ICON);
 
        but->drawflag |= UI_BUT_ICON_LEFT;
-       
+
        but->block_create_func = func;
        ui_but_update(but);
-       
+
        return but;
 }
 
@@ -4384,13 +4384,13 @@ uiBut *uiDefHotKeyevtButS(uiBlock *block, int retval, const char *str, int x, in
 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, UI_BTYPE_SEARCH_MENU, retval, "", x, y, width, height, arg, 0.0, maxlen, a1, a2, tip);
-       
+
        ui_def_but_icon(but, icon, UI_HAS_ICON);
 
        but->drawflag |= UI_BUT_ICON_LEFT | UI_BUT_TEXT_LEFT;
-       
+
        ui_but_update(but);
-       
+
        return but;
 }
 
@@ -4414,7 +4414,7 @@ void UI_but_func_search_set(
        but->search_create_func = search_create_func;
        but->search_func = search_func;
        but->search_arg = arg;
-       
+
        if (bfunc) {
 #ifdef DEBUG
                if (but->func) {
@@ -4424,7 +4424,7 @@ void UI_but_func_search_set(
 #endif
                UI_but_func_set(but, bfunc, arg, active);
        }
-       
+
        /* search buttons show red-alert if item doesn't exist, not for menus */
        if (0 == (but->block->flag & UI_BLOCK_LOOP)) {
                /* skip empty buttons, not all buttons need input, we only show invalid */
@@ -4522,14 +4522,14 @@ uiBut *uiDefSearchButO_ptr(
 void UI_but_focus_on_enter_event(wmWindow *win, uiBut *but)
 {
        wmEvent event;
-       
+
        wm_event_init_from_window(win, &event);
 
        event.type = EVT_BUT_OPEN;
        event.val = KM_PRESS;
        event.customdata = but;
        event.customdatafree = false;
-       
+
        wm_event_add(win, &event);
 }
 
@@ -4653,7 +4653,7 @@ void UI_but_string_info_get(bContext *C, uiBut *but, ...)
                        PointerRNA *ptr = NULL;
                        PropertyRNA *prop = NULL;
                        int value = 0;
-                       
+
                        /* get the enum property... */
                        if (but->rnaprop && RNA_property_type(but->rnaprop) == PROP_ENUM) {
                                /* enum property */
@@ -4664,8 +4664,8 @@ void UI_but_string_info_get(bContext *C, uiBut *but, ...)
                        else if (but->optype) {
                                PointerRNA *opptr = UI_but_operator_ptr_get(but);
                                wmOperatorType *ot = but->optype;
-                               
-                               /* if the default property of the operator is enum and it is set, 
+
+                               /* if the default property of the operator is enum and it is set,
                                 * fetch the tooltip of the selected value so that "Snap" and "Mirror"
                                 * operator menus in the Anim Editors will show tooltips for the different
                                 * operations instead of the meaningless generic operator tooltip
@@ -4678,12 +4678,12 @@ void UI_but_string_info_get(bContext *C, uiBut *but, ...)
                                        }
                                }
                        }
-                       
+
                        /* get strings from matching enum item */
                        if (ptr && prop) {
                                if (!item) {
                                        int i;
-                                       
+
                                        RNA_property_enum_items_gettexted(C, ptr, prop, &items, &totitems, &free_items);
                                        for (i = 0, item = items; i < totitems; i++, item++) {
                                                if (item->identifier[0] && item->value == value)
index 500744c366d93d470d9f76bbec4ec227a97f8e2d..36b0b938b5abf900425a6dbaefd9b5bad786ed76 100644 (file)
@@ -487,7 +487,7 @@ static void ui_block_align_calc_but(uiBut *first, short nr)
 {
        uiBut *prev, *but = NULL, *next;
        int flag = 0, cols = 0, rows = 0;
-       
+
        /* auto align */
 
        for (but = first; but && but->alignnr == nr; but = but->next) {
@@ -498,7 +498,7 @@ static void ui_block_align_calc_but(uiBut *first, short nr)
        }
 
        /* rows == 0: 1 row, cols == 0: 1 column */
-       
+
        /* note;  how it uses 'flag' in loop below (either set it, or OR it) is confusing */
        for (but = first, prev = NULL; but && but->alignnr == nr; prev = but, but = but->next) {
                next = but->next;
@@ -507,13 +507,13 @@ static void ui_block_align_calc_but(uiBut *first, short nr)
 
                /* clear old flag */
                but->drawflag &= ~UI_BUT_ALIGN;
-                       
+
                if (flag == 0) {  /* first case */
                        if (next) {
                                if (buts_are_horiz(but, next)) {
                                        if (rows == 0)
                                                flag = UI_BUT_ALIGN_RIGHT;
-                                       else 
+                                       else
                                                flag = UI_BUT_ALIGN_DOWN | UI_BUT_ALIGN_RIGHT;
                                }
                                else {
@@ -560,14 +560,14 @@ static void ui_block_align_calc_but(uiBut *first, short nr)
                                flag |= UI_BUT_ALIGN_TOP;
                        }
                        else {  /* next button switches to new row */
-                               
+
                                if (prev && buts_are_horiz(prev, but))
                                        flag |= UI_BUT_ALIGN_LEFT;
                                else {
                                        flag &= ~UI_BUT_ALIGN_LEFT;
                                        flag |= UI_BUT_ALIGN_TOP;
                                }
-                               
+
                                if ((flag & UI_BUT_ALIGN_TOP) == 0) {  /* still top row */
                                        if (prev) {
                                                if (next && buts_are_horiz(but, next))
@@ -577,16 +577,16 @@ static void ui_block_align_calc_but(uiBut *first, short nr)
                                                        flag = UI_BUT_ALIGN_DOWN | UI_BUT_ALIGN_LEFT;
                                                }
                                        }
-                                       else 
+                                       else
                                                flag |= UI_BUT_ALIGN_DOWN;
                                }
-                               else 
+                               else
                                        flag |= UI_BUT_ALIGN_TOP;
                        }
                }
-               
+
                but->drawflag |= flag;
-               
+
                /* merge coordinates */
                if (prev) {
                        /* simple cases */
@@ -609,7 +609,7 @@ static void ui_block_align_calc_but(uiBut *first, short nr)
                                        /* the previous button is a single one in its row */
                                        but->rect.ymax = (prev->rect.ymin + but->rect.ymax) / 2.0f;
                                        prev->rect.ymin = but->rect.ymax;
-                                       
+
                                        but->rect.xmin = prev->rect.xmin;
                                        if (next && buts_are_horiz(but, next) == 0)
                                                but->rect.xmax = prev->rect.xmax;
index a04360b3395d0da93566193971dede440c03ab2c..5ed2713e5a7e4882712058f7c13105381ac8fb80 100644 (file)
@@ -71,26 +71,26 @@ void ui_but_anim_flag(uiBut *but, float cfra)
        FCurve *fcu;
        bool driven;
        bool special;
-       
+
        but->flag &= ~(UI_BUT_ANIMATED | UI_BUT_ANIMATED_KEY | UI_BUT_DRIVEN);
-       
+
        /* NOTE: "special" is reserved for special F-Curves stored on the animation data
         *        itself (which are used to animate properties of the animation data).
         *        We count those as "animated" too for now
         */
        fcu = ui_but_get_fcurve(but, &adt, &act, &driven, &special);
-       
+
        if (fcu) {
                if (!driven) {
                        but->flag |= UI_BUT_ANIMATED;
-                       
-                       /* T41525 - When the active action is a NLA strip being edited, 
+
+                       /* T41525 - When the active action is a NLA strip being edited,
                         * we need to correct the frame number to "look inside" the
                         * remapped action
                         */
                        if (adt)
                                cfra = BKE_nla_tweakedit_remap(adt, cfra, NLATIME_CONVERT_UNMAP);
-                       
+
                        if (fcurve_frame_has_keyframe(fcu, cfra, 0))
                                but->flag |= UI_BUT_ANIMATED_KEY;
                }
@@ -109,9 +109,9 @@ bool ui_but_anim_expression_get(uiBut *but, char *str, size_t maxlen)
        FCurve *fcu;
        ChannelDriver *driver;
        bool driven, special;
-       
+
        fcu = ui_but_get_fcurve(but, NULL, NULL, &driven, &special);
-       
+
        if (fcu && driven) {
                driver = fcu->driver;
 
@@ -136,20 +136,20 @@ bool ui_but_anim_expression_set(uiBut *but, const char *str)
 
        if (fcu && driven) {
                driver = fcu->driver;
-               
+
                if (driver && (driver->type == DRIVER_TYPE_PYTHON)) {
                        BLI_strncpy_utf8(driver->expression, str, sizeof(driver->expression));
-                       
+
                        /* tag driver as needing to be recompiled */
                        driver->flag |= DRIVER_FLAG_RECOMPILE;
-                       
+
                        /* clear invalid flags which may prevent this from working */
                        driver->flag &= ~DRIVER_FLAG_INVALID;
                        fcu->flag &= ~FCURVE_DISABLED;
-                       
+
                        /* this notifier should update the Graph Editor and trigger depsgraph refresh? */
                        WM_event_add_notifier(but->block->evil_C, NC_ANIMATION | ND_KEYFRAME, NULL);
-                       
+
                        return true;
                }
        }
@@ -165,14 +165,14 @@ bool ui_but_anim_expression_create(uiBut *but, const char *str)
        FCurve *fcu;
        char *path;
        bool ok = false;
-       
+
        /* button must have RNA-pointer to a numeric-capable property */
        if (ELEM(NULL, but->rnapoin.data, but->rnaprop)) {
                if (G.debug & G_DEBUG)
                        printf("ERROR: create expression failed - button has no RNA info attached\n");
                return false;
        }
-       
+
        if (RNA_property_array_check(but->rnaprop) != 0) {
                if (but->rnaindex == -1) {
                        if (G.debug & G_DEBUG)
@@ -180,7 +180,7 @@ bool ui_but_anim_expression_create(uiBut *but, const char *str)
                        return false;
                }
        }
-       
+
        /* make sure we have animdata for this */
        /* FIXME: until materials can be handled by depsgraph, don't allow drivers to be created for them */
        id = (ID *)but->rnapoin.id.data;
@@ -189,18 +189,18 @@ bool ui_but_anim_expression_create(uiBut *but, const char *str)
                        printf("ERROR: create expression failed - invalid data-block for adding drivers (%p)\n", id);
                return false;
        }
-       
+
        /* get path */
        path = RNA_path_from_ID_to_property(&but->rnapoin, but->rnaprop);
        if (path == NULL) {
                return false;
        }
-       
+
        /* create driver */
        fcu = verify_driver_fcurve(id, path, but->rnaindex, 1);
        if (fcu) {
                ChannelDriver *driver = fcu->driver;
-               
+
                if (driver) {
                        /* set type of driver */
                        driver->type = DRIVER_TYPE_PYTHON;
@@ -216,9 +216,9 @@ bool ui_but_anim_expression_create(uiBut *but, const char *str)
                        ok = true;
                }
        }
-       
+
        MEM_freeN(path);
-       
+
        return ok;
 }
 
@@ -231,16 +231,16 @@ void ui_but_anim_autokey(bContext *C, uiBut *but, Scene *scene, float cfra)
        bool special;
 
        fcu = ui_but_get_fcurve(but, NULL, &action, &driven, &special);
-       
+
        if (fcu == NULL)
                return;
-       
+
        if (special) {
                /* NLA Strip property */
                if (IS_AUTOKEY_ON(scene)) {
                        ReportList *reports = CTX_wm_reports(C);
                        ToolSettings *ts = scene->toolsettings;
-                       
+
                        insert_keyframe_direct(reports, but->rnapoin, but->rnaprop, fcu, cfra, ts->keyframe_type, 0);
                        WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_EDITED, NULL);
                }
@@ -252,29 +252,29 @@ void ui_but_anim_autokey(bContext *C, uiBut *but, Scene *scene, float cfra)
                if (IS_AUTOKEY_ON(scene)) {
                        ReportList *reports = CTX_wm_reports(C);
                        ToolSettings *ts = scene->toolsettings;
-                       
+
                        insert_keyframe_direct(reports, but->rnapoin, but->rnaprop, fcu, cfra, ts->keyframe_type, INSERTKEY_DRIVER);
                        WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_EDITED, NULL);
                }
        }
        else {
                id = but->rnapoin.id.data;
-               
+
                /* TODO: this should probably respect the keyingset only option for anim */
                if (autokeyframe_cfra_can_key(scene, id)) {
                        ReportList *reports = CTX_wm_reports(C);
                        ToolSettings *ts = scene->toolsettings;
                        short flag = ANIM_get_keyframing_flags(scene, 1);
-                       
+
                        fcu->flag &= ~FCURVE_SELECTED;
-                       
+
                        /* Note: We use but->rnaindex instead of fcu->array_index,
                         *       because a button may control all items of an array at once.
                         *       E.g., color wheels (see T42567). */
                        BLI_assert((fcu->array_index == but->rnaindex) || (but->rnaindex == -1));
                        insert_keyframe(reports, id, action, ((fcu->grp) ? (fcu->grp->name) : (NULL)),
                                        fcu->rna_path, but->rnaindex, cfra, ts->keyframe_type, flag);
-                       
+
                        WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_EDITED, NULL);
                }
        }
index 7583dc654bbe17db32961645798580f120ed99aa..17dc971075660614b912b96fb3c950dc182361bf 100644 (file)
@@ -71,7 +71,7 @@ void UI_draw_roundbox_corner_set(int type)
         * if this is undone, it's not that big a deal, only makes curves edges
         * square for the  */
        roundboxtype = type;
-       
+
 }
 
 int UI_draw_roundbox_corner_get(void)
@@ -84,7 +84,7 @@ void UI_draw_roundbox_gl_mode(int mode, float minx, float miny, float maxx, floa
        float vec[7][2] = {{0.195, 0.02}, {0.383, 0.067}, {0.55, 0.169}, {0.707, 0.293},
                           {0.831, 0.45}, {0.924, 0.617}, {0.98, 0.805}};
        int a;
-       
+
        /* mult */
        for (a = 0; a < 7; a++) {
                mul_v2_fl(vec[a], rad);
@@ -103,7 +103,7 @@ void UI_draw_roundbox_gl_mode(int mode, float minx, float miny, float maxx, floa
        else {
                glVertex2f(maxx, miny);
        }
-       
+
        /* corner right-top */
        if (roundboxtype & UI_CNR_TOP_RIGHT) {
                glVertex2f(maxx, maxy - rad);
@@ -115,7 +115,7 @@ void UI_draw_roundbox_gl_mode(int mode, float minx, float miny, float maxx, floa
        else {
                glVertex2f(maxx, maxy);
        }
-       
+
        /* corner left-top */
        if (roundboxtype & UI_CNR_TOP_LEFT) {
                glVertex2f(minx + rad, maxy);
@@ -127,7 +127,7 @@ void UI_draw_roundbox_gl_mode(int mode, float minx, float miny, float maxx, floa
        else {
                glVertex2f(minx, maxy);
        }
-       
+
        /* corner left-bottom */
        if (roundboxtype & UI_CNR_BOTTOM_LEFT) {
                glVertex2f(minx, miny + rad);
@@ -139,7 +139,7 @@ void UI_draw_roundbox_gl_mode(int mode, float minx, float miny, float maxx, floa
        else {
                glVertex2f(minx, miny);
        }
-       
+
        glEnd();
 }
 
@@ -165,7 +165,7 @@ void UI_draw_roundbox_shade_x(
        const float idiv = 1.0f / div;
        float coltop[3], coldown[3], color[4];
        int a;
-       
+
        /* mult */
        for (a = 0; a < 7; a++) {
                mul_v2_fl(vec[a], rad);
@@ -185,15 +185,15 @@ void UI_draw_roundbox_shade_x(
 
        /* start with corner right-bottom */
        if (roundboxtype & UI_CNR_BOTTOM_RIGHT) {
-               
+
                round_box_shade_col(coltop, coldown, 0.0);
                glVertex2f(maxx - rad, miny);
-               
+
                for (a = 0; a < 7; a++) {
                        round_box_shade_col(coltop, coldown, vec[a][1] * idiv);
                        glVertex2f(maxx - rad + vec[a][0], miny + vec[a][1]);
                }
-               
+
                round_box_shade_col(coltop, coldown, rad * idiv);
                glVertex2f(maxx, miny + rad);
        }
@@ -201,13 +201,13 @@ void UI_draw_roundbox_shade_x(
                round_box_shade_col(coltop, coldown, 0.0);
                glVertex2f(maxx, miny);
        }
-       
+
        /* corner right-top */
        if (roundboxtype & UI_CNR_TOP_RIGHT) {
-               
+
                round_box_shade_col(coltop, coldown, (div - rad) * idiv);
                glVertex2f(maxx, maxy - rad);
-               
+
                for (a = 0; a < 7; a++) {
                        round_box_shade_col(coltop, coldown, (div - rad + vec[a][1]) * idiv);
                        glVertex2f(maxx - vec[a][1], maxy - rad + vec[a][0]);
@@ -219,18 +219,18 @@ void UI_draw_roundbox_shade_x(
                round_box_shade_col(coltop, coldown, 1.0);
                glVertex2f(maxx, maxy);
        }
-       
+
        /* corner left-top */
        if (roundboxtype & UI_CNR_TOP_LEFT) {
-               
+
                round_box_shade_col(coltop, coldown, 1.0);
                glVertex2f(minx + rad, maxy);
-               
+
                for (a = 0; a < 7; a++) {
                        round_box_shade_col(coltop, coldown, (div - vec[a][1]) * idiv);
                        glVertex2f(minx + rad - vec[a][0], maxy - vec[a][1]);
                }
-               
+
                round_box_shade_col(coltop, coldown, (div - rad) * idiv);
                glVertex2f(minx, maxy - rad);
        }
@@ -238,18 +238,18 @@ void UI_draw_roundbox_shade_x(
                round_box_shade_col(coltop, coldown, 1.0);
                glVertex2f(minx, maxy);
        }
-       
+
        /* corner left-bottom */
        if (roundboxtype & UI_CNR_BOTTOM_LEFT) {
-               
+
                round_box_shade_col(coltop, coldown, rad * idiv);
                glVertex2f(minx, miny + rad);
-               
+
                for (a = 0; a < 7; a++) {
                        round_box_shade_col(coltop, coldown, (rad - vec[a][1]) * idiv);
                        glVertex2f(minx + vec[a][1], miny + rad - vec[a][0]);
                }
-               
+
                round_box_shade_col(coltop, coldown, 0.0);
                glVertex2f(minx + rad, miny);
        }
@@ -257,7 +257,7 @@ void UI_draw_roundbox_shade_x(
                round_box_shade_col(coltop, coldown, 0.0);
                glVertex2f(minx, miny);
        }
-       
+
        glEnd();
 }
 
@@ -273,7 +273,7 @@ void UI_draw_roundbox_shade_y(
        const float idiv = 1.0f / div;
        float colLeft[3], colRight[3], color[4];
        int a;
-       
+
        /* mult */
        for (a = 0; a < 7; a++) {
                mul_v2_fl(vec[a], rad);
@@ -295,12 +295,12 @@ void UI_draw_roundbox_shade_y(
        if (roundboxtype & UI_CNR_BOTTOM_RIGHT) {
                round_box_shade_col(colLeft, colRight, 0.0);
                glVertex2f(maxx - rad, miny);
-               
+
                for (a = 0; a < 7; a++) {
                        round_box_shade_col(colLeft, colRight, vec[a][0] * idiv);
                        glVertex2f(maxx - rad + vec[a][0], miny + vec[a][1]);
                }
-               
+
                round_box_shade_col(colLeft, colRight, rad * idiv);
                glVertex2f(maxx, miny + rad);
        }
@@ -308,14 +308,14 @@ void UI_draw_roundbox_shade_y(
                round_box_shade_col(colLeft, colRight, 0.0);
                glVertex2f(maxx, miny);
        }
-       
+
        /* corner right-top */
        if (roundboxtype & UI_CNR_TOP_RIGHT) {
                round_box_shade_col(colLeft, colRight, 0.0);
                glVertex2f(maxx, maxy - rad);
-               
+
                for (a = 0; a < 7; a++) {
-                       
+
                        round_box_shade_col(colLeft, colRight, (div - rad - vec[a][0]) * idiv);
                        glVertex2f(maxx - vec[a][1], maxy - rad + vec[a][0]);
                }
@@ -326,17 +326,17 @@ void UI_draw_roundbox_shade_y(
                round_box_shade_col(colLeft, colRight, 0.0);
                glVertex2f(maxx, maxy);
        }
-       
+
        /* corner left-top */
        if (roundboxtype & UI_CNR_TOP_LEFT) {
                round_box_shade_col(colLeft, colRight, (div - rad) * idiv);
                glVertex2f(minx + rad, maxy);
-               
+
                for (a = 0; a < 7; a++) {
                        round_box_shade_col(colLeft, colRight, (div - rad + vec[a][0]) * idiv);
                        glVertex2f(minx + rad - vec[a][0], maxy - vec[a][1]);
                }
-               
+
                round_box_shade_col(colLeft, colRight, 1.0);
                glVertex2f(minx, maxy - rad);
        }
@@ -344,17 +344,17 @@ void UI_draw_roundbox_shade_y(
                round_box_shade_col(colLeft, colRight, 1.0);
                glVertex2f(minx, maxy);
        }
-       
+
        /* corner left-bottom */
        if (roundboxtype & UI_CNR_BOTTOM_LEFT) {
                round_box_shade_col(colLeft, colRight, 1.0);
                glVertex2f(minx, miny + rad);
-               
+
                for (a = 0; a < 7; a++) {
                        round_box_shade_col(colLeft, colRight, (vec[a][0]) * idiv);
                        glVertex2f(minx + vec[a][1], miny + rad - vec[a][0]);
                }
-               
+
                round_box_shade_col(colLeft, colRight, 1.0);
                glVertex2f(minx + rad, miny);
        }
@@ -362,7 +362,7 @@ void UI_draw_roundbox_shade_y(
                round_box_shade_col(colLeft, colRight, 1.0);
                glVertex2f(minx, miny);
        }
-       
+
        glEnd();
 }
 
@@ -370,14 +370,14 @@ void UI_draw_roundbox_shade_y(
 void UI_draw_roundbox_unfilled(float minx, float miny, float maxx, float maxy, float rad)
 {
        float color[4];
-       
+
        if (roundboxtype & UI_RB_ALPHA) {
                glGetFloatv(GL_CURRENT_COLOR, color);
                color[3] = 0.5;
                glColor4fv(color);
                glEnable(GL_BLEND);
        }
-       
+
        /* set antialias line */
        glEnable(GL_LINE_SMOOTH);
        glEnable(GL_BLEND);
@@ -411,10 +411,10 @@ void ui_draw_but_IMAGE(ARegion *UNUSED(ar), uiBut *but, uiWidgetColors *UNUSED(w
        ImBuf *ibuf = (ImBuf *)but->poin;
 
        if (!ibuf) return;
-       
+
        int w = BLI_rcti_size_x(rect);
        int h = BLI_rcti_size_y(rect);
-       
+
        /* scissor doesn't seem to be doing the right thing...? */
 #if 0
        //glColor4f(1.0, 0.f, 0.f, 1.f);
@@ -425,26 +425,26 @@ void ui_draw_but_IMAGE(ARegion *UNUSED(ar), uiBut *but, uiWidgetColors *UNUSED(w
        glGetIntegerv(GL_SCISSOR_BOX, scissor);
        glScissor(ar->winrct.xmin + rect->xmin, ar->winrct.ymin + rect->ymin, w, h);
 #endif
-       
+
        glEnable(GL_BLEND);
        glColor4f(0.0, 0.0, 0.0, 0.0);
-       
+
        if (w != ibuf->x || h != ibuf->y) {
                float facx = (float)w / (float)ibuf->x;
                float facy = (float)h / (float)ibuf->y;
                glPixelZoom(facx, facy);
        }
        glaDrawPixelsAuto((float)rect->xmin, (float)rect->ymin, ibuf->x, ibuf->y, GL_RGBA, GL_UNSIGNED_BYTE, GL_NEAREST, ibuf->rect);
-       
+
        glPixelZoom(1.0f, 1.0f);
-       
+
        glDisable(GL_BLEND);
-       
+
 #if 0
        // restore scissortest
        glScissor(scissor[0], scissor[1], scissor[2], scissor[3]);
 #endif
-       
+
 #endif
 }
 
@@ -559,17 +559,17 @@ void ui_draw_but_HISTOGRAM(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol)
        Histogram *hist = (Histogram *)but->poin;
        int res = hist->x_resolution;
        const bool is_line = (hist->flag & HISTO_FLAG_LINE) != 0;
-       
+
        rctf rect = {
                .xmin = (float)recti->xmin + 1,
                .xmax = (float)recti->xmax - 1,
                .ymin = (float)recti->ymin + 1,
                .ymax = (float)recti->ymax - 1
        };
-       
+
        float w = BLI_rctf_size_x(&rect);
        float h = BLI_rctf_size_y(&rect) * hist->ymax;
-       
+
        glEnable(GL_BLEND);
        glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
 
@@ -598,7 +598,7 @@ void ui_draw_but_HISTOGRAM(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol)
                fdrawline(rect.xmin, rect.ymin + fac * h, rect.xmax, rect.ymin + fac * h);
                fdrawline(rect.xmin + fac * w, rect.ymin, rect.xmin + fac * w, rect.ymax);
        }
-       
+
        if (hist->mode == HISTO_MODE_LUMA) {
                histogram_draw_one(1.0, 1.0, 1.0, 0.75, rect.xmin, rect.ymin, w, h, hist->data_luma, res, is_line);
        }
@@ -613,7 +613,7 @@ void ui_draw_but_HISTOGRAM(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol)
                if (hist->mode == HISTO_MODE_RGB || hist->mode == HISTO_MODE_B)
                        histogram_draw_one(0.0, 0.0, 1.0, 0.75, rect.xmin, rect.ymin, w, h, hist->data_b, res, is_line);
        }
-       
+
        /* outline */
        draw_scope_end(&rect, scissor);
 }
@@ -628,9 +628,9 @@ void ui_draw_but_WAVEFORM(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol),
        float colorsycc[3][3] = {{1, 0, 1}, {1, 1, 0}, {0, 1, 1}};
        float colors_alpha[3][3], colorsycc_alpha[3][3]; /* colors  pre multiplied by alpha for speed up */
        float min, max;
-       
+
        if (scopes == NULL) return;
-       
+
        rctf rect = {
                .xmin = (float)recti->xmin + 1,
                .xmax = (float)recti->xmax - 1,
@@ -644,10 +644,10 @@ void ui_draw_but_WAVEFORM(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol),
        float h = BLI_rctf_size_y(&rect) * scopes->wavefrm_yfac;
        float yofs = rect.ymin + (BLI_rctf_size_y(&rect) - h) / 2.0f;
        float w3 = w / 3.0f;
-       
+
        /* log scale for alpha */
        float alpha = scopes->wavefrm_alpha * scopes->wavefrm_alpha;
-       
+
        unit_m3(colors);
 
        for (int c = 0; c < 3; c++) {
@@ -689,7 +689,7 @@ void ui_draw_but_WAVEFORM(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol),
                        fdrawline(rect.xmin + i * w3, rect.ymin, rect.xmin + i * w3, rect.ymax);
                }
        }
-       
+
        /* separate min max zone on the right */
        fdrawline(rect.xmin + w, rect.ymin, rect.xmin + w, rect.ymax);
        /* 16-235-240 level in case of ITU-R BT601/709 */
@@ -705,7 +705,7 @@ void ui_draw_but_WAVEFORM(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol),
                fdrawline(rect.xmin, yofs + h * 0.075f, rect.xmax + 1, yofs + h * 0.075f);
 
        if (scopes->ok && scopes->waveform_1 != NULL) {
-               
+
                /* LUMA (1 channel) */
                glBlendFunc(GL_ONE, GL_ONE);
                glColor3f(alpha, alpha, alpha);
@@ -714,10 +714,10 @@ void ui_draw_but_WAVEFORM(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol),
                if (scopes->wavefrm_mode == SCOPES_WAVEFRM_LUMA) {
 
                        glBlendFunc(GL_ONE, GL_ONE);
-                       
+
                        glPushMatrix();
                        glEnableClientState(GL_VERTEX_ARRAY);
-                       
+
                        glTranslatef(rect.xmin, yofs, 0.f);
                        glScalef(w, h, 0.f);
                        glVertexPointer(2, GL_FLOAT, 0, scopes->waveform_1);
@@ -810,7 +810,7 @@ void ui_draw_but_WAVEFORM(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol),
                        }
                }
        }
-       
+
        /* outline */
        draw_scope_end(&rect, scissor);
 }
@@ -885,20 +885,20 @@ void ui_draw_but_VECTORSCOPE(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wco
        const float colors[6][3] = {
            {0.75, 0.0, 0.0},  {0.75, 0.75, 0.0}, {0.0, 0.75, 0.0},
            {0.0, 0.75, 0.75}, {0.0, 0.0, 0.75},  {0.75, 0.0, 0.75}};
-       
+
        rctf rect = {
                .xmin = (float)recti->xmin + 1,
                .xmax = (float)recti->xmax - 1,
                .ymin = (float)recti->ymin + 1,
                .ymax = (float)recti->ymax - 1
        };
-       
+
        float w = BLI_rctf_size_x(&rect);
        float h = BLI_rctf_size_y(&rect);
        float centerx = rect.xmin + w / 2;
        float centery = rect.ymin + h / 2;
        float diam = (w < h) ? w : h;
-       
+
        float alpha = scopes->vecscope_alpha * scopes->vecscope_alpha * scopes->vecscope_alpha;
 
        glEnable(GL_BLEND);
@@ -915,7 +915,7 @@ void ui_draw_but_VECTORSCOPE(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wco
                  ar->winrct.ymin + (rect.ymin - 1),
                  (rect.xmax + 1) - (rect.xmin - 1),
                  (rect.ymax + 1) - (rect.ymin - 1));
-       
+
        glColor4f(1.f, 1.f, 1.f, 0.08f);
        /* draw grid elements */
        /* cross */
@@ -939,7 +939,7 @@ void ui_draw_but_VECTORSCOPE(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wco
        /* saturation points */
        for (int i = 0; i < 6; i++)
                vectorscope_draw_target(centerx, centery, diam, colors[i]);
-       
+
        if (scopes->ok && scopes->vecscope != NULL) {
                /* pixel point cloud */
                glBlendFunc(GL_ONE, GL_ONE);
@@ -954,7 +954,7 @@ void ui_draw_but_VECTORSCOPE(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wco
                glVertexPointer(2, GL_FLOAT, 0, scopes->vecscope);
                glPointSize(1.0);
                glDrawArrays(GL_POINTS, 0, scopes->waveform_tot);
-               
+
                glDisableClientState(GL_VERTEX_ARRAY);
                glPopMatrix();
        }
@@ -1117,16 +1117,16 @@ void ui_draw_but_COLORBAND(uiBut *but, uiWidgetColors *UNUSED(wcol), const rcti
 
        v1[1] = y1 + sizey_solid;
        v2[1] = rect->ymax;
-       
+
        glBegin(GL_TRIANGLE_STRIP);
        for (int a = 0; a <= sizex; a++) {
                float pos = ((float)a) / sizex;
                BKE_colorband_evaluate(coba, pos, colf);
                if (display)
                        IMB_colormanagement_scene_linear_to_display_v3(colf, display);
-               
+
                v1[0] = v2[0] = x1 + a;
-               
+
                glColor4fv(colf);
                glVertex2fv(v1);
                glVertex2fv(v2);
@@ -1157,7 +1157,7 @@ void ui_draw_but_COLORBAND(uiBut *but, uiWidgetColors *UNUSED(wcol), const rcti
        /* layer: box outline */
        glColor4f(0.0, 0.0, 0.0, 1.0);
        fdrawbox(x1, y1, x1 + sizex, rect->ymax);
-       
+
        /* layer: box outline */
        glEnable(GL_BLEND);
        glColor4f(0.0f, 0.0f, 0.0f, 0.5f);
@@ -1165,7 +1165,7 @@ void ui_draw_but_COLORBAND(uiBut *but, uiWidgetColors *UNUSED(wcol), const rcti
        glColor4f(1.0f, 1.0f, 1.0f, 0.25f);
        fdrawline(x1, y1 - 1, x1 + sizex, y1 - 1);
        glDisable(GL_BLEND);
-       
+
        /* layer: draw handles */
        for (int a = 0; a < coba->tot; a++, cbd++) {
                if (a != coba->cur) {
@@ -1187,16 +1187,16 @@ void ui_draw_but_UNITVEC(uiBut *but, uiWidgetColors *wcol, const rcti *rect)
        static GLuint displist = 0;
        float diffuse[3] = {1.0f, 1.0f, 1.0f};
        float size;
-       
+
        /* backdrop */
        glColor3ubv((unsigned char *)wcol->inner);
        UI_draw_roundbox_corner_set(UI_CNR_ALL);
        UI_draw_roundbox_gl_mode(GL_POLYGON, rect->xmin, rect->ymin, rect->xmax, rect->ymax, 5.0f);
-       
+
        /* sphere color */
        glCullFace(GL_BACK);
        glEnable(GL_CULL_FACE);
-       
+
        /* setup lights */
        GPULightData light = {0};
        light.type = GPU_LIGHT_SUN;
@@ -1215,7 +1215,7 @@ void ui_draw_but_UNITVEC(uiBut *but, uiWidgetColors *wcol, const rcti *rect)
        /* transform to button */
        glPushMatrix();
        glTranslatef(rect->xmin + 0.5f * BLI_rcti_size_x(rect), rect->ymin + 0.5f * BLI_rcti_size_y(rect), 0.0f);
-       
+
        if (BLI_rcti_size_x(rect) < BLI_rcti_size_y(rect))
                size = BLI_rcti_size_x(rect) / 200.f;
        else
@@ -1228,13 +1228,13 @@ void ui_draw_but_UNITVEC(uiBut *but, uiWidgetColors *wcol, const rcti *rect)
 
                displist = glGenLists(1);
                glNewList(displist, GL_COMPILE);
-               
+
                qobj = gluNewQuadric();
                gluQuadricDrawStyle(qobj, GLU_FILL);
                GPU_basic_shader_bind(GPU_basic_shader_bound_options());
                gluSphere(qobj, 100.0, 32, 24);
                gluDeleteQuadric(qobj);
-               
+
                glEndList();
        }
 
@@ -1244,7 +1244,7 @@ void ui_draw_but_UNITVEC(uiBut *but, uiWidgetColors *wcol, const rcti *rect)
        GPU_basic_shader_bind(GPU_SHADER_USE_COLOR);
        GPU_default_lights();
        glDisable(GL_CULL_FACE);
-       
+
        /* AA circle */
        glEnable(GL_BLEND);
        glEnable(GL_LINE_SMOOTH);
@@ -1271,7 +1271,7 @@ static void ui_draw_but_curve_grid(const rcti *rect, float zoomx, float zoomy, f
                glVertex2f(fx, rect->ymax);
                fx += dx;
        }
-       
+
        float dy = step * zoomy;
        float fy = rect->ymin + zoomy * (-offsy);
        if (fy > rect->ymin) fy -= dy * (floorf(fy - rect->ymin));
@@ -1281,7 +1281,7 @@ static void ui_draw_but_curve_grid(const rcti *rect, float zoomx, float zoomy, f
                fy += dy;
        }
        glEnd();
-       
+
 }
 
 static void gl_shaded_color(unsigned char *col, int shade)
@@ -1324,7 +1324,7 @@ void ui_draw_but_CURVE(ARegion *ar, uiBut *but, uiWidgetColors *wcol, const rcti
        float zoomy = (BLI_rcti_size_y(rect) - 2.0f) / BLI_rctf_size_y(&cumap->curr);
        float offsx = cumap->curr.xmin - (1.0f / zoomx);
        float offsy = cumap->curr.ymin - (1.0f / zoomy);
-       
+
        glLineWidth(1.0f);
 
        /* backdrop */
@@ -1407,7 +1407,7 @@ void ui_draw_but_CURVE(ARegion *ar, uiBut *but, uiWidgetColors *wcol, const rcti
                else if (cumap->cur == 3) {
                        float lum = IMB_colormanagement_get_luminance(cumap->sample);
                        glColor3ub(240, 240, 240);
-                       
+
                        glVertex2f(rect->xmin + zoomx * (lum - offsx), rect->ymin);
                        glVertex2f(rect->xmin + zoomx * (lum - offsx), rect->ymax);
                }
@@ -1418,7 +1418,7 @@ void ui_draw_but_CURVE(ARegion *ar, uiBut *but, uiWidgetColors *wcol, const rcti
                                glColor3ub(100, 240, 100);
                        else
                                glColor3ub(100, 100, 240);
-                       
+
                        glVertex2f(rect->xmin + zoomx * (cumap->sample[cumap->cur] - offsx), rect->ymin);
                        glVertex2f(rect->xmin + zoomx * (cumap->sample[cumap->cur] - offsx), rect->ymax);
                }
@@ -1430,7 +1430,7 @@ void ui_draw_but_CURVE(ARegion *ar, uiBut *but, uiWidgetColors *wcol, const rcti
        glEnable(GL_LINE_SMOOTH);
        glEnable(GL_BLEND);
        glBegin(GL_LINE_STRIP);
-       
+
        if (cuma->table == NULL)
                curvemapping_changed(cumap, false);
 
@@ -1477,7 +1477,7 @@ void ui_draw_but_CURVE(ARegion *ar, uiBut *but, uiWidgetColors *wcol, const rcti
                glVertex2f(fx, fy);
        }
        glEnd();
-       
+
        /* restore scissortest */
        glScissor(scissor[0], scissor[1], scissor[2], scissor[3]);
 
@@ -1609,7 +1609,7 @@ void ui_draw_but_TRACKPREVIEW(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wc
 void ui_draw_but_NODESOCKET(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol), const rcti *recti)
 {
        static const float size = 5.0f;
-       
+
        /* 16 values of sin function */
        const float si[16] = {
            0.00000000f, 0.39435585f, 0.72479278f, 0.93775213f,
@@ -1624,12 +1624,12 @@ void ui_draw_but_NODESOCKET(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol
            -0.99486932f, -0.87434661f, -0.61210598f, -0.25065253f,
            0.15142777f, 0.52896401f, 0.82076344f, 0.97952994f,
        };
-       
+
        GLint scissor[4];
-       
+
        /* need scissor test, can draw outside of boundary */
        glGetIntegerv(GL_VIEWPORT, scissor);
-       
+
        rcti scissor_new = {
                .xmin = ar->winrct.xmin + recti->xmin,
                .ymin = ar->winrct.ymin + recti->ymin,
@@ -1642,18 +1642,18 @@ void ui_draw_but_NODESOCKET(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol
                  scissor_new.ymin,
                  BLI_rcti_size_x(&scissor_new),
                  BLI_rcti_size_y(&scissor_new));
-       
+
        glColor4ubv(but->col);
-       
+
        float x = 0.5f * (recti->xmin + recti->xmax);
        float y = 0.5f * (recti->ymin + recti->ymax);
-       
+
        glEnable(GL_BLEND);
        glBegin(GL_POLYGON);
        for (int a = 0; a < 16; a++)
                glVertex2f(x + size * si[a], y + size * co[a]);
        glEnd();
-       
+
        glColor4ub(0, 0, 0, 150);
        glLineWidth(1);
        glEnable(GL_LINE_SMOOTH);
@@ -1663,7 +1663,7 @@ void ui_draw_but_NODESOCKET(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol
        glEnd();
        glDisable(GL_LINE_SMOOTH);
        glDisable(GL_BLEND);
-       
+
        /* restore scissortest */
        glScissor(scissor[0], scissor[1], scissor[2], scissor[3]);
 }
@@ -1680,7 +1680,7 @@ static void ui_shadowbox(float minx, float miny, float maxx, float maxy, float s
        glColor4ub(0, 0, 0, 0);
        glVertex2f(maxx + shadsize, maxy - 0.75f * shadsize);
        glVertex2f(maxx + shadsize, miny);
-       
+
        /* corner shape */
        glColor4ub(0, 0, 0, alpha);
        glVertex2f(maxx, miny);
@@ -1688,7 +1688,7 @@ static void ui_shadowbox(float minx, float miny, float maxx, float maxy, float s
        glVertex2f(maxx + shadsize, miny);
        glVertex2f(maxx + 0.7f * shadsize, miny - 0.7f * shadsize);
        glVertex2f(maxx, miny - shadsize);
-       
+
        /* bottom quad */
        glColor4ub(0, 0, 0, alpha);
        glVertex2f(minx + 0.3f * shadsize, miny);
@@ -1701,16 +1701,16 @@ static void ui_shadowbox(float minx, float miny, float maxx, float maxy, float s
 void UI_draw_box_shadow(unsigned char alpha, float minx, float miny, float maxx, float maxy)
 {
        glEnable(GL_BLEND);
-       
+
        glBegin(GL_QUADS);
 
        /* accumulated outline boxes to make shade not linear, is more pleasant */
        ui_shadowbox(minx, miny, maxx, maxy, 11.0, (20 * alpha) >> 8);
        ui_shadowbox(minx, miny, maxx, maxy, 7.0, (40 * alpha) >> 8);
        ui_shadowbox(minx, miny, maxx, maxy, 5.0, (80 * alpha) >> 8);
-       
+
        glEnd();
-       
+
        glDisable(GL_BLEND);
 }
 
@@ -1718,7 +1718,7 @@ void UI_draw_box_shadow(unsigned char alpha, float minx, float miny, float maxx,
 void ui_draw_dropshadow(const rctf *rct, float radius, float aspect, float alpha, int UNUSED(select))
 {
        float rad;
-       
+
        if (radius > (BLI_rctf_size_y(rct) - 10.0f) / 2.0f)
                rad = (BLI_rctf_size_y(rct) - 10.0f) / 2.0f;
        else
@@ -1734,7 +1734,7 @@ void ui_draw_dropshadow(const rctf *rct, float radius, float aspect, float alpha
        {
                a = i * aspect;
        }
-       
+
        glEnable(GL_BLEND);
 
        const float dalpha = alpha * 2.0f / 255.0f;
@@ -1743,16 +1743,16 @@ void ui_draw_dropshadow(const rctf *rct, float radius, float aspect, float alpha
                /* alpha ranges from 2 to 20 or so */
                glColor4f(0.0f, 0.0f, 0.0f, calpha);
                calpha += dalpha;
-               
+
                UI_draw_roundbox_gl_mode(GL_POLYGON, rct->xmin - a, rct->ymin - a, rct->xmax + a, rct->ymax - 10.0f + a, rad + a);
        }
-       
+
        /* outline emphasis */
        glEnable(GL_LINE_SMOOTH);
        glColor4ub(0, 0, 0, 100);
        UI_draw_roundbox_gl_mode(GL_LINE_LOOP, rct->xmin - 0.5f, rct->ymin - 0.5f, rct->xmax + 0.5f, rct->ymax + 0.5f, radius + 0.5f);
        glDisable(GL_LINE_SMOOTH);
-       
+
        glDisable(GL_BLEND);
 }
 
index 9f7cd62227c606720fe3671abc23cb16d0ebecf7..a795a00dc2417431457ab2e82644d4c51aef4116 100644 (file)
@@ -4,7 +4,7 @@
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. 
+ * of the License, or (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,7 +17,7 @@
  *
  * The Original Code is Copyright (C) 2008 Blender Foundation.
  * All rights reserved.
- * 
+ *
  * Contributor(s): Blender Foundation
  *
  * ***** END GPL LICENSE BLOCK *****
@@ -296,7 +296,7 @@ typedef struct uiHandleButtonData {
 
        /* tooltip */
        unsigned int tooltip_force : 1;
-       
+
        /* auto open */
        bool used_mouse;
        wmTimer *autoopentimer;
@@ -338,7 +338,7 @@ typedef struct uiHandleButtonData {
        /* menu open (watch UI_screen_free_active_but) */
        uiPopupBlockHandle *menu;
        int menuretval;
-       
+
        /* search box (watch UI_screen_free_active_but) */
        ARegion *searchbox;
 #ifdef USE_KEYNAV_LIMIT
@@ -365,14 +365,14 @@ typedef struct uiAfterFunc {
        uiButHandleFunc func;
        void *func_arg1;
        void *func_arg2;
-       
+
        uiButHandleNFunc funcN;
        void *func_argN;
 
        uiButHandleRenameFunc rename_func;
        void *rename_arg1;
        void *rename_orig;
-       
+
        uiBlockHandleFunc handle_func;
        void *handle_func_arg;
        int retval;
@@ -459,18 +459,18 @@ void ui_pan_to_scroll(const wmEvent *event, int *type, int *val)
        }
        else {
                lastdy += dy;
-               
+
                if (ABS(lastdy) > (int)UI_UNIT_Y) {
                        if (U.uiflag2 & USER_TRACKPAD_NATURAL)
                                dy = -dy;
-                       
+
                        *val = KM_PRESS;
-                       
+
                        if (dy > 0)
                                *type = WHEELUPMOUSE;
                        else
                                *type = WHEELDOWNMOUSE;
-                       
+
                        lastdy = 0;
                }
        }
@@ -512,7 +512,7 @@ static uiBut *ui_but_next(uiBut *but)
 static uiBut *ui_but_first(uiBlock *block)
 {
        uiBut *but;
-       
+
        but = block->buttons.first;
        while (but) {
                if (ui_but_is_editable(but)) return but;
@@ -524,7 +524,7 @@ static uiBut *ui_but_first(uiBlock *block)
 static uiBut *ui_but_last(uiBlock *block)
 {
        uiBut *but;
-       
+
        but = block->buttons.last;
        while (but) {
                if (ui_but_is_editable(but)) return but;
@@ -581,7 +581,7 @@ static void ui_mouse_scale_warp(
         float *r_mx, float *r_my, const bool shift)
 {
        const float fac = ui_mouse_scale_warp_factor(shift);
-       
+
        /* slow down the mouse, this is fairly picky */
        *r_mx = (data->dragstartx * (1.0f - fac) + mx * fac);
        *r_my = (data->dragstarty * (1.0f - fac) + my * fac);
@@ -695,7 +695,7 @@ static void ui_apply_but_func(bContext *C, uiBut *but)
                        after->butm_func_arg = block->butm_func_arg;
                        after->a2 = but->a2;
                }
-               
+
                if (block->handle)
                        after->popup_op = block->handle->popup_op;
 
@@ -784,7 +784,7 @@ static void ui_apply_but_funcs_after(bContext *C)
 
                if (after.popup_op)
                        popup_check(C, after.popup_op);
-               
+
                if (after.opptr) {
                        /* free in advance to avoid leak on exit */
                        opptr = *after.opptr;
@@ -811,17 +811,17 @@ static void ui_apply_but_funcs_after(bContext *C)
                        after.funcN(C, after.func_argN, after.func_arg2);
                if (after.func_argN)
                        MEM_freeN(after.func_argN);
-               
+
                if (after.handle_func)
                        after.handle_func(C, after.handle_func_arg, after.retval);
                if (after.butm_func)
                        after.butm_func(C, after.butm_func_arg, after.a2);
-               
+
                if (after.rename_func)
                        after.rename_func(C, after.rename_arg1, after.rename_orig);
                if (after.rename_orig)
                        MEM_freeN(after.rename_orig);
-               
+
                if (after.undostr[0])
                        ED_undo_push(C, after.undostr);
        }
@@ -859,32 +859,32 @@ static void ui_apply_but_TOG(bContext *C, uiBut *but, uiHandleButtonData *data)
 {
        double value;
        int w, lvalue, push;
-       
+
        value = ui_but_value_get(but);
        lvalue = (int)value;
-       
+
        if (but->bit) {
                w = UI_BITBUT_TEST(lvalue, but->bitnr);
                if (w) lvalue = UI_BITBUT_CLR(lvalue, but->bitnr);
                else   lvalue = UI_BITBUT_SET(lvalue, but->bitnr);
-               
+
                ui_but_value_set(but, (double)lvalue);
                if (but->type == UI_BTYPE_ICON_TOGGLE || but->type == UI_BTYPE_ICON_TOGGLE_N) {
                        ui_but_update_edited(but);
                }
        }
        else {
-               
+
                if (value == 0.0) push = 1;
                else push = 0;
-               
+
                if (ELEM(but->type, UI_BTYPE_TOGGLE_N, UI_BTYPE_ICON_TOGGLE_N, UI_BTYPE_CHECKBOX_N)) push = !push;
                ui_but_value_set(but, (double)push);
                if (but->type == UI_BTYPE_ICON_TOGGLE || but->type == UI_BTYPE_ICON_TOGGLE_N) {
                        ui_but_update_edited(but);
                }
        }
-       
+
        ui_apply_but_func(C, but);
 
        data->retval = but->retval;
@@ -1669,11 +1669,11 @@ static bool ui_but_contains_point_px_icon(uiBut *but, ARegion *ar, const wmEvent
 {
        rcti rect;
        int x = event->x, y = event->y;
-       
+
        ui_window_to_block(ar, but->block, &x, &y);
-       
+
        BLI_rcti_rctf_copy(&rect, &but->rect);
-       
+
        if (but->imb || but->type == UI_BTYPE_COLOR) {
                /* use button size itself */
        }
@@ -1685,7 +1685,7 @@ static bool ui_but_contains_point_px_icon(uiBut *but, ARegion *ar, const wmEvent
                rect.xmin += delta / 2;
                rect.xmax -= delta / 2;
        }
-       
+
        return BLI_rcti_isect_pt(&rect, x, y);
 }
 
@@ -1776,7 +1776,7 @@ static bool ui_but_drag_init(
                }
                return true;
        }
-       
+
        return false;
 }
 
@@ -1793,15 +1793,15 @@ static void ui_linkline_remove_active(uiBlock *block)
                if (but->type == UI_BTYPE_LINK && but->link) {
                        for (line = but->link->lines.first; line; line = nline) {
                                nline = line->next;
-                               
+
                                if (line->flag & UI_SELECT) {
                                        BLI_remlink(&but->link->lines, line);
-                                       
+
                                        link = line->from->link;
-                                       
+
                                        /* are there more pointers allowed? */
                                        if (link->ppoin) {
-                                               
+
                                                if (*(link->totlink) == 1) {
                                                        *(link->totlink) = 0;
                                                        MEM_freeN(*(link->ppoin));
@@ -1810,7 +1810,7 @@ static void ui_linkline_remove_active(uiBlock *block)
                                                else {
                                                        b = 0;
                                                        for (a = 0; a < (*(link->totlink)); a++) {
-                                                               
+
                                                                if ((*(link->ppoin))[a] != line->to->poin) {
                                                                        (*(link->ppoin))[b] = (*(link->ppoin))[a];
                                                                        b++;
@@ -1822,7 +1822,7 @@ static void ui_linkline_remove_active(uiBlock *block)
                                        else {
                                                *(link->poin) = NULL;
                                        }
-                                       
+
                                        MEM_freeN(line);
                                }
                        }
@@ -1835,7 +1835,7 @@ static uiLinkLine *ui_but_find_link(uiBut *from, uiBut *to)
 {
        uiLinkLine *line;
        uiLink *link;
-       
+
        link = from->link;
        if (link) {
                for (line = link->lines.first; line; line = line->next) {
@@ -1861,7 +1861,7 @@ static void ui_but_smart_controller_add(bContext *C, uiBut *from, uiBut *to)
        uiLink *link = from->link;
 
        PointerRNA props_ptr, object_ptr;
-       
+
        if (link->ppoin)
                sens_from_links = (bController ***)(link->ppoin);
        else return;
@@ -1890,10 +1890,10 @@ static void ui_but_smart_controller_add(bContext *C, uiBut *from, uiBut *to)
 
        /* only works if the sensor and the actuator are from the same object */
        if (!act_iter) return;
-       
+
        /* in case the linked controller is not the active one */
        RNA_pointer_create((ID *)ob, &RNA_Object, ob, &object_ptr);
-       
+
        WM_operator_properties_create(&props_ptr, "LOGIC_OT_controller_add");
        RNA_string_set(&props_ptr, "object", ob->id.name + 2);
 
@@ -1932,7 +1932,7 @@ static void ui_but_link_add(bContext *C, uiBut *from, uiBut *to)
        uiLinkLine *line;
        void **oldppoin;
        int a;
-       
+
        if ((line = ui_but_find_link(from, to))) {
                line->flag |= UI_SELECT;
                ui_linkline_remove_active(from->block);
@@ -1953,27 +1953,27 @@ static void ui_but_link_add(bContext *C, uiBut *from, uiBut *to)
                        return;
                }
        }
-       
+
        link = from->link;
-       
+
        /* are there more pointers allowed? */
        if (link->ppoin) {
                oldppoin = *(link->ppoin);
-               
+
                (*(link->totlink))++;
                *(link->ppoin) = MEM_callocN(*(link->totlink) * sizeof(void *), "new link");
-               
+
                for (a = 0; a < (*(link->totlink)) - 1; a++) {
                        (*(link->ppoin))[a] = oldppoin[a];
                }
                (*(link->ppoin))[a] = to->poin;
-               
+
                if (oldppoin) MEM_freeN(oldppoin);
        }
        else {
                *(link->poin) = to->poin;
        }
-       
+
 }
 
 
@@ -1981,7 +1981,7 @@ static void ui_apply_but_LINK(bContext *C, uiBut *but, uiHandleButtonData *data)
 {
        ARegion *ar = CTX_wm_region(C);
        uiBut *bt;
-       
+
        for (bt = but->block->buttons.first; bt; bt = bt->next) {
                if (ui_but_contains_point_px(ar, bt, but->linkto[0] + ar->winrct.xmin, but->linkto[1] + ar->winrct.ymin) )
                        break;
@@ -1989,7 +1989,7 @@ static void ui_apply_but_LINK(bContext *C, uiBut *but, uiHandleButtonData *data)
        if (bt && bt != but) {
                if (!ELEM(bt->type, UI_BTYPE_LINK, UI_BTYPE_INLINK) || !ELEM(but->type, UI_BTYPE_LINK, UI_BTYPE_INLINK))
                        return;
-               
+
                if (but->type == UI_BTYPE_LINK) ui_but_link_add(C, but, bt);
                else ui_but_link_add(C, bt, but);
 
@@ -2208,13 +2208,13 @@ static void ui_but_drop(bContext *C, const wmEvent *event, uiBut *but, uiHandleB
 {
        wmDrag *wmd;
        ListBase *drags = event->customdata; /* drop event type has listbase customdata by default */
-       
+
        for (wmd = drags->first; wmd; wmd = wmd->next) {
                if (wmd->type == WM_DRAG_ID) {
                        /* align these types with UI_but_active_drop_name */
                        if (ELEM(but->type, UI_BTYPE_TEXT, UI_BTYPE_SEARCH_MENU)) {
                                ID *id = (ID *)wmd->poin;
-                               
+
                                button_activate_state(C, but, BUTTON_STATE_TEXT_EDITING);
 
                                ui_textedit_string_set(but, data, id->name + 2);
@@ -2228,7 +2228,7 @@ static void ui_but_drop(bContext *C, const wmEvent *event, uiBut *but, uiHandleB
                        }
                }
        }
-       
+
 }
 
 /* ******************* copy and paste ********************  */
@@ -2266,7 +2266,7 @@ static void ui_but_copy_paste(bContext *C, uiBut *but, uiHandleButtonData *data,
 
        /* numeric value */
        if (ELEM(but->type, UI_BTYPE_NUM, UI_BTYPE_NUM_SLIDER)) {
-               
+
                if (but->poin == NULL && but->rnapoin.data == NULL) {
                        /* pass */
                }
@@ -2369,7 +2369,7 @@ static void ui_but_copy_paste(bContext *C, uiBut *but, uiHandleButtonData *data,
        /* RGB triple */
        else if (but->type == UI_BTYPE_COLOR) {
                float rgba[4];
-               
+
                if (but->poin == NULL && but->rnapoin.data == NULL) {
                        /* pass */
                }
@@ -2380,7 +2380,7 @@ static void ui_but_copy_paste(bContext *C, uiBut *but, uiHandleButtonData *data,
                                rgba[3] = RNA_property_float_get_index(&but->rnapoin, but->rnaprop, 3);
                        else
                                rgba[3] = 1.0f;
-                       
+
                        ui_but_v3_get(but, rgba);
                        /* convert to linear color to do compatible copy between gamma and non-gamma */
                        if (but->rnaprop && RNA_property_subtype(but->rnaprop) == PROP_COLOR_GAMMA)
@@ -2388,7 +2388,7 @@ static void ui_but_copy_paste(bContext *C, uiBut *but, uiHandleButtonData *data,
 
                        BLI_snprintf(buf_copy, sizeof(buf_copy), "[%f, %f, %f, %f]", rgba[0], rgba[1], rgba[2], rgba[3]);
                        WM_clipboard_text_set(buf_copy, 0);
-                       
+
                }
                else {
                        if (sscanf(buf_paste, "[%f, %f, %f, %f]", &rgba[0], &rgba[1], &rgba[2], &rgba[3]) == 4) {
@@ -2530,7 +2530,7 @@ static int ui_text_position_from_hidden(uiBut *but, int pos)
 
        for (i = 0, strpos = butstr; i < pos; i++)
                strpos = BLI_str_find_next_char_utf8(strpos, NULL);
-       
+
        return (strpos - butstr);
 }
 
@@ -2628,7 +2628,7 @@ static bool ui_textedit_delete_selection(uiBut *but, uiHandleButtonData *data)
                memmove(str + but->selsta, str + but->selend, (len - but->selend) + 1);
                changed = true;
        }
-       
+
        but->pos = but->selend = but->selsta;
        return changed;
 }
@@ -2659,7 +2659,7 @@ static void ui_textedit_set_cursor_pos(uiBut *but, uiHandleButtonData *data, con
 
        if (fstyle->kerning == 1) /* for BLF_width */
                BLF_enable(fstyle->uifont_id, BLF_KERNING_DEFAULT);
-       
+
        ui_but_text_password_hide(password_str, but, false);
 
        if (ELEM(but->type, UI_BTYPE_TEXT, UI_BTYPE_SEARCH_MENU)) {
@@ -2669,13 +2669,13 @@ static void ui_textedit_set_cursor_pos(uiBut *but, uiHandleButtonData *data, con
        }
        /* but this extra .05 makes clicks inbetween characters feel nicer */
        startx += ((UI_TEXT_MARGIN_X + 0.05f) * U.widget_unit) / aspect;
-       
+
        /* mouse dragged outside the widget to the left */
        if (x < startx) {
                int i = but->ofs;
 
                str_last = &str[but->ofs];
-               
+
                while (i > 0) {
                        if (BLI_str_cursor_step_prev_utf8(str, but->ofs, &i)) {
                                /* 0.25 == scale factor for less sensitivity */
@@ -2697,7 +2697,7 @@ static void ui_textedit_set_cursor_pos(uiBut *but, uiHandleButtonData *data, con
                /* keep track of previous distance from the cursor to the char */
                float cdist, cdist_prev = 0.0f;
                short pos_prev;
-               
+
                str_last = &str[strlen(str)];
 
                but->pos = pos_prev = ((str_last - str) - but->ofs);
@@ -2730,10 +2730,10 @@ static void ui_textedit_set_cursor_pos(uiBut *but, uiHandleButtonData *data, con
                but->pos += but->ofs;
                if (but->pos < 0) but->pos = 0;
        }
-       
+
        if (fstyle->kerning == 1)
                BLF_disable(fstyle->uifont_id, BLF_KERNING_DEFAULT);
-       
+
        ui_but_text_password_hide(password_str, but, true);
 
        fstyle->points = fstyle_points_prev;
@@ -2969,7 +2969,7 @@ static bool ui_textedit_copypaste(uiBut *but, uiHandleButtonData *data, const in
        char *pbuf;
        bool changed = false;
        int buf_len;
-       
+
        /* paste */
        if (mode == UI_TEXTEDIT_PASTE) {
                /* extract the first line from the clipboard */
@@ -2996,7 +2996,7 @@ static bool ui_textedit_copypaste(uiBut *but, uiHandleButtonData *data, const in
                BLI_strncpy(buf, data->str + but->selsta, sellen + 1);
                WM_clipboard_text_set(buf, 0);
                MEM_freeN(buf);
-               
+
                /* for cut only, delete the selection afterwards */
                if (mode == UI_TEXTEDIT_CUT) {
                        if ((but->selend - but->selsta) > 0) {
@@ -3152,7 +3152,7 @@ static void ui_textedit_end(bContext *C, uiBut *but, uiHandleButtonData *data)
                                printf("%s: invalid utf8 - stripped chars %d\n", __func__, strip);
                        }
                }
-               
+
                if (data->searchbox) {
                        if (data->cancel == false) {
                                if ((ui_searchbox_apply(but, data->searchbox) == false) &&
@@ -3168,11 +3168,11 @@ static void ui_textedit_end(bContext *C, uiBut *but, uiHandleButtonData *data)
                        ui_searchbox_free(C, data->searchbox);
                        data->searchbox = NULL;
                }
-               
+
                but->editstr = NULL;
                but->pos = -1;
        }
-       
+
        WM_cursor_modal_restore(win);
 
 #ifdef WITH_INPUT_IME
@@ -3269,7 +3269,7 @@ static void ui_do_but_textedit(
                                ui_searchbox_event(C, data->searchbox, but, event);
 #endif
                        }
-                       
+
                        break;
                case RIGHTMOUSE:
                case ESCKEY:
@@ -3289,7 +3289,7 @@ static void ui_do_but_textedit(
                case LEFTMOUSE:
                {
                        bool had_selection = but->selsta != but->selend;
-                       
+
                        /* exit on LMB only on RELEASE for searchbox, to mimic other popups, and allow multiple menu levels */
                        if (data->searchbox)
                                inbox = ui_searchbox_inside(data->searchbox, event->x, event->y);
@@ -3319,7 +3319,7 @@ static void ui_do_but_textedit(
                                        retval = WM_UI_HANDLER_BREAK;
                                }
                        }
-                       
+
                        /* only select a word in button if there was no selection before */
                        if (event->val == KM_DBL_CLICK && had_selection == false) {
                                ui_textedit_move(but, data, STRCUR_DIR_PREV, false, STRCUR_JUMP_DELIM);
@@ -3416,7 +3416,7 @@ static void ui_do_but_textedit(
                                                             event->ctrl ? STRCUR_JUMP_DELIM : STRCUR_JUMP_NONE);
                                retval = WM_UI_HANDLER_BREAK;
                                break;
-                               
+
                        case AKEY:
 
                                /* Ctrl + A: Select all */
@@ -3494,7 +3494,7 @@ static void ui_do_but_textedit(
                        }
 
                        retval = WM_UI_HANDLER_BREAK;
-                       
+
                }
                /* textbutton with this flag: do live update (e.g. for search buttons) */
                if (but->flag & UI_BUT_TEXTEDIT_UPDATE) {
@@ -3530,7 +3530,7 @@ static void ui_do_but_textedit(
                        ui_but_update_edited(but);
                }
                but->changed = true;
-               
+
                if (data->searchbox)
                        ui_searchbox_update(C, data->searchbox, but, true);  /* true = reset */
        }
@@ -3716,7 +3716,7 @@ int ui_but_menu_direction(uiBut *but)
 
        if (data && data->menu)
                return data->menu->direction;
-       
+
        return 0;
 }
 
@@ -3808,7 +3808,7 @@ static int ui_do_but_HOTKEYEVT(
                                return WM_UI_HANDLER_BREAK;
                        }
                }
-               
+
                /* always set */
                but->modifier_key = 0;
                if (event->shift) but->modifier_key |= KM_SHIFT;
@@ -3818,15 +3818,15 @@ static int ui_do_but_HOTKEYEVT(
 
                ui_but_update(but);
                ED_region_tag_redraw(data->region);
-                       
+
                if (event->val == KM_PRESS) {
                        if (ISHOTKEY(event->type)) {
-                               
+
                                if (WM_key_event_string(event->type, false)[0])
                                        ui_but_value_set(but, event->type);
                                else
                                        data->cancel = true;
-                               
+
                                button_activate_state(C, but, BUTTON_STATE_EXIT);
                                return WM_UI_HANDLER_BREAK;
                        }
@@ -3837,10 +3837,10 @@ static int ui_do_but_HOTKEYEVT(
                                        button_activate_state(C, but, BUTTON_STATE_EXIT);
                                }
                        }
-                       
+
                }
        }
-       
+
        return WM_UI_HANDLER_CONTINUE;
 }
 
@@ -4028,13 +4028,13 @@ static int ui_do_but_EXIT(
         bContext *C, uiBut *but,
         uiHandleButtonData *data, const wmEvent *event)
 {
-       
+
        if (data->state == BUTTON_STATE_HIGHLIGHT) {
 
                /* first handle click on icondrag type button */
                if (event->type == LEFTMOUSE && but->dragpoin) {
                        if (ui_but_contains_point_px_icon(but, data->region, event)) {
-                               
+
                                /* tell the button to wait and keep checking further events to
                                 * see if it should start dragging */
                                button_activate_state(C, but, BUTTON_STATE_WAIT_DRAG);
@@ -4063,25 +4063,25 @@ static int ui_do_but_EXIT(
                }
        }
        else if (data->state == BUTTON_STATE_WAIT_DRAG) {
-               
+
                /* this function also ends state */
                if (ui_but_drag_init(C, but, data, event)) {
                        return WM_UI_HANDLER_BREAK;
                }
-               
-               /* If the mouse has been pressed and released, getting to 
-                * this point without triggering a drag, then clear the 
+
+               /* If the mouse has been pressed and released, getting to
+                * this point without triggering a drag, then clear the
                 * drag state for this button and continue to pass on the event */
                if (event->type == LEFTMOUSE && event->val == KM_RELEASE) {
                        button_activate_state(C, but, BUTTON_STATE_EXIT);
                        return WM_UI_HANDLER_CONTINUE;
                }
-               
-               /* while waiting for a drag to be triggered, always block 
+
+               /* while waiting for a drag to be triggered, always block
                 * other events from getting handled */
                return WM_UI_HANDLER_BREAK;
        }
-       
+
        return WM_UI_HANDLER_CONTINUE;
 }
 
@@ -4095,7 +4095,7 @@ static float ui_numedit_apply_snapf(
        }
        else {
                float fac = 1.0f;
-               
+
                if (ui_but_is_unit(but)) {
                        UnitSettings *unit = but->block->unit;
                        int unit_type = RNA_SUBTYPE_UNIT_VALUE(UI_but_unit_type_get(but));
@@ -4143,7 +4143,7 @@ static float ui_numedit_apply_snapf(
                else {
                        BLI_assert(0);
                }
-               
+
                if (fac != 1.0f)
                        tempf *= fac;
        }
@@ -4288,7 +4288,7 @@ static bool ui_numedit_but_NUM(
                }
 
                data->dragf += (((float)(mx - data->draglastx)) / deler) * non_linear_scale;
-       
+
                CLAMP(data->dragf, 0.0f, 1.0f);
                data->draglastx = mx;
                tempf = (softmin + data->dragf * softrange);
@@ -4301,7 +4301,7 @@ static bool ui_numedit_but_NUM(
 
                        CLAMP(temp, softmin, softmax);
                        lvalue = (int)data->value;
-                       
+
                        if (temp != lvalue) {
                                data->dragchange = true;
                                data->value = (double)temp;
@@ -4342,11 +4342,11 @@ static int ui_do_but_NUM(
 
        if (data->state == BUTTON_STATE_HIGHLIGHT) {
                int type = event->type, val = event->val;
-               
+
                if (type == MOUSEPAN) {
                        ui_pan_to_scroll(event, &type, &val);
                }
-               
+
                /* XXX hardcoded keymap check.... */
                if (type == MOUSEPAN && event->alt)
                        retval = WM_UI_HANDLER_BREAK; /* allow accumulating values, otherwise scrolling gets preference */
@@ -4382,7 +4382,7 @@ static int ui_do_but_NUM(
                        copy_v2_v2_int(data->multi_data.drag_start, &event->x);
 #endif
                }
-               
+
        }
        else if (data->state == BUTTON_STATE_NUM_EDITING) {
                if (event->type == ESCKEY || event->type == RIGHTMOUSE) {
@@ -4443,7 +4443,7 @@ static int ui_do_but_NUM(
                ui_do_but_textedit_select(C, block, but, data, event);
                retval = WM_UI_HANDLER_BREAK;
        }
-       
+
        if (click) {
                /* we can click on the side arrows to increment/decrement,
                 * or click inside to edit the value directly */
@@ -4509,7 +4509,7 @@ static int ui_do_but_NUM(
 
                retval = WM_UI_HANDLER_BREAK;
        }
-       
+
        data->draglastx = mx;
        data->draglasty = my;
 
@@ -4758,13 +4758,13 @@ static int ui_do_but_SLI(
                        /* nudge slider to the left or right */
                        float f, tempf, softmin, softmax, softrange;
                        int temp;
-                       
+
                        button_activate_state(C, but, BUTTON_STATE_NUM_EDITING);
-                       
+
                        softmin = but->softmin;
                        softmax = but->softmax;
                        softrange = softmax - softmin;
-                       
+
                        tempf = data->value;
                        temp = (int)data->value;
 
@@ -4777,13 +4777,13 @@ static int ui_do_but_SLI(
                        {
                                f = (float)(mx - but->rect.xmin) / (BLI_rctf_size_x(&but->rect));
                        }
-                       
+
                        f = softmin + f * softrange;
-                       
+
                        if (!ui_but_is_float(but)) {
                                if (f < temp) temp--;
                                else temp++;
-                               
+
                                if (temp >= softmin && temp <= softmax)
                                        data->value = temp;
                                else
@@ -4792,13 +4792,13 @@ static int ui_do_but_SLI(
                        else {
                                if (f < tempf) tempf -= 0.01f;
                                else tempf += 0.01f;
-                               
+
                                if (tempf >= softmin && tempf <= softmax)
                                        data->value = tempf;
                                else
                                        data->cancel = true;
                        }
-                       
+
                        button_activate_state(C, but, BUTTON_STATE_EXIT);
                        retval = WM_UI_HANDLER_BREAK;
                }
@@ -4811,7 +4811,7 @@ static int ui_do_but_SLI(
 
        data->draglastx = mx;
        data->draglasty = my;
-       
+
        return retval;
 }
 
@@ -4822,7 +4822,7 @@ static int ui_do_but_SCROLL(
        int mx, my /*, click = 0 */;
        int retval = WM_UI_HANDLER_CONTINUE;
        bool horizontal = (BLI_rctf_size_x(&but->rect) > BLI_rctf_size_y(&but->rect));
-       
+
        mx = event->x;
        my = event->y;
        ui_window_to_block(data->region, block, &mx, &my);
@@ -4868,7 +4868,7 @@ static int ui_do_but_SCROLL(
 
                retval = WM_UI_HANDLER_BREAK;
        }
-       
+
        return retval;
 }
 
@@ -4951,9 +4951,9 @@ static int ui_do_but_BLOCK(
         bContext *C, uiBut *but,
         uiHandleButtonData *data, const wmEvent *event)
 {
-       
+
        if (data->state == BUTTON_STATE_HIGHLIGHT) {
-               
+
                /* first handle click on icondrag type button */
                if (event->type == LEFTMOUSE && but->dragpoin && event->val == KM_PRESS) {
                        if (ui_but_contains_point_px_icon(but, data->region, event)) {
@@ -5010,19 +5010,19 @@ static int ui_do_but_BLOCK(
                }
        }
        else if (data->state == BUTTON_STATE_WAIT_DRAG) {
-               
+
                /* this function also ends state */
                if (ui_but_drag_init(C, but, data, event)) {
                        return WM_UI_HANDLER_BREAK;
                }
-               
+
                /* outside icon quit, not needed if drag activated */
                if (0 == ui_but_contains_point_px_icon(but, data->region, event)) {
                        button_activate_state(C, but, BUTTON_STATE_EXIT);
                        data->cancel = true;
                        return WM_UI_HANDLER_BREAK;
                }
-               
+
                if (event->type == LEFTMOUSE && event->val == KM_RELEASE) {
                        button_activate_state(C, but, BUTTON_STATE_MENU_OPEN);
                        return WM_UI_HANDLER_BREAK;
@@ -5041,7 +5041,7 @@ static bool ui_numedit_but_UNITVEC(
        float dx, dy, rad, radsq, mrad, *fp;
        int mdx, mdy;
        bool changed = true;
-       
+
        /* button is presumed square */
        /* if mouse moves outside of sphere, it does negative normal */
 
@@ -5051,21 +5051,21 @@ static bool ui_numedit_but_UNITVEC(
        fp = data->origvec;
        rad = BLI_rctf_size_x(&but->rect);
        radsq = rad * rad;
-       
+
        if (fp[2] > 0.0f) {
                mdx = (rad * fp[0]);
                mdy = (rad * fp[1]);
        }
        else if (fp[2] > -1.0f) {
                mrad = rad / sqrtf(fp[0] * fp[0] + fp[1] * fp[1]);
-               
+
                mdx = 2.0f * mrad * fp[0] - (rad * fp[0]);
                mdy = 2.0f * mrad * fp[1] - (rad * fp[1]);
        }
        else {
                mdx = mdy = 0;
        }
-       
+
        dx = (float)(mx + mdx - data->dragstartx);
        dy = (float)(my + mdy - data->dragstarty);
 
@@ -5077,12 +5077,12 @@ static bool ui_numedit_but_UNITVEC(
                fp[2] = sqrtf(radsq - dx * dx - dy * dy);
        }
        else {  /* outer circle */
-               
+
                mrad = rad / sqrtf(mrad);  // veclen
-               
+
                dx *= (2.0f * mrad - 1.0f);
                dy *= (2.0f * mrad - 1.0f);
-               
+
                mrad = dx * dx + dy * dy;
                if (mrad < radsq) {
                        fp[0] = dx;
@@ -5281,7 +5281,7 @@ static int ui_do_but_UNITVEC(
                        /* also do drag the first time */
                        if (ui_numedit_but_UNITVEC(but, data, mx, my, snap))
                                ui_numedit_apply(C, block, but, data);
-                       
+
                        return WM_UI_HANDLER_BREAK;
                }
        }
@@ -5299,7 +5299,7 @@ static int ui_do_but_UNITVEC(
 
                return WM_UI_HANDLER_BREAK;
        }
-       
+
        return WM_UI_HANDLER_CONTINUE;
 }
 
@@ -5370,30 +5370,30 @@ static bool ui_numedit_but_HSVCUBE(
                ui_block_cm_to_display_space_v3(but->block, rgb);
 
        ui_rgb_to_color_picker_HSVCUBE_compat_v(but, rgb, hsv);
-       
+
        /* only apply the delta motion, not absolute */
        if (shift) {
                rcti rect_i;
                float xpos, ypos, hsvo[3];
-               
+
                BLI_rcti_rctf_copy(&rect_i, &but->rect);
-               
+
                /* calculate original hsv again */
                copy_v3_v3(rgb, data->origvec);
                if (use_display_colorspace)
                        ui_block_cm_to_display_space_v3(but->block, rgb);
-               
+
                copy_v3_v3(hsvo, hsv);
 
                ui_rgb_to_color_picker_HSVCUBE_compat_v(but, rgb, hsvo);
-               
+
                /* and original position */
                ui_hsvcube_pos_from_vals(but, &rect_i, hsvo, &xpos, &ypos);
-               
+
                mx_fl = xpos - (data->dragstartx - mx_fl);
                my_fl = ypos - (data->dragstarty - my_fl);
        }
-       
+
        /* relative position within box */
        x = ((float)mx_fl - but->rect.xmin) / BLI_rctf_size_x(&but->rect);
        y = ((float)my_fl - but->rect.ymin) / BLI_rctf_size_y(&but->rect);
@@ -5510,10 +5510,10 @@ static void ui_ndofedit_but_HSVCUBE(
                case UI_GRAD_V_ALT:
                case UI_GRAD_L_ALT:
                        /* vertical 'value' strip */
-                       
+
                        /* exception only for value strip - use the range set in but->min/max */
                        hsv[2] += ndof->rvec[0] * sensitivity;
-                       
+
                        CLAMP(hsv[2], but->softmin, but->softmax);
                        break;
                default:
@@ -5563,19 +5563,19 @@ static int ui_do_but_HSVCUBE(
                        /* also do drag the first time */
                        if (ui_numedit_but_HSVCUBE(but, data, mx, my, snap, event->shift != 0))
                                ui_numedit_apply(C, block, but, data);
-                       
+
                        return WM_UI_HANDLER_BREAK;
                }
 #ifdef WITH_INPUT_NDOF
                else if (event->type == NDOF_MOTION) {
                        const wmNDOFMotionData *ndof = event->customdata;
                        const enum eSnapType snap = ui_event_to_snap(event);
-                       
+
                        ui_ndofedit_but_HSVCUBE(but, data, ndof, snap, event->shift != 0);
-                       
+
                        button_activate_state(C, but, BUTTON_STATE_EXIT);
                        ui_apply_but(C, but->block, but, data, true);
-                       
+
                        return WM_UI_HANDLER_BREAK;
                }
 #endif /* WITH_INPUT_NDOF */
@@ -5583,9 +5583,9 @@ static int ui_do_but_HSVCUBE(
                else if (event->type == BACKSPACEKEY && event->val == KM_PRESS) {
                        if (ELEM(but->a1, UI_GRAD_V_ALT, UI_GRAD_L_ALT)) {
                                int len;
-                               
+
                                /* reset only value */
-                               
+
                                len = RNA_property_array_length(&but->rnapoin, but->rnaprop);
                                if (ELEM(len, 3, 4)) {
                                        float rgb[3], def_hsv[3];
@@ -5601,10 +5601,10 @@ static int ui_do_but_HSVCUBE(
 
                                        def_hsv[0] = hsv[0];
                                        def_hsv[1] = hsv[1];
-                                       
+
                                        ui_color_picker_to_rgb_HSVCUBE_v(but, def_hsv, rgb);
                                        ui_but_v3_set(but, rgb);
-                                       
+
                                        RNA_property_update(C, &but->rnapoin, but->rnaprop);
                                        return WM_UI_HANDLER_BREAK;
                                }
@@ -5630,7 +5630,7 @@ static int ui_do_but_HSVCUBE(
                else if (event->type == LEFTMOUSE && event->val != KM_PRESS) {
                        button_activate_state(C, but, BUTTON_STATE_EXIT);
                }
-               
+
                return WM_UI_HANDLER_BREAK;
        }
 
@@ -5651,7 +5651,7 @@ static bool ui_numedit_but_HSVCIRCLE(
        bool use_display_colorspace = ui_but_is_colorpicker_display_space(but);
 
        ui_mouse_scale_warp(data, mx, my, &mx_fl, &my_fl, shift);
-       
+
 #ifdef USE_CONT_MOUSE_CORRECT
        if (ui_but_is_cursor_warp(but)) {
                /* OK but can go outside bounds */
@@ -5691,7 +5691,7 @@ static bool ui_numedit_but_HSVCIRCLE(
        /* only apply the delta motion, not absolute */
        if (shift) {
                float xpos, ypos, hsvo[3], rgbo[3];
-               
+
                /* calculate original hsv again */
                copy_v3_v3(hsvo, hsv);
                copy_v3_v3(rgbo, data->origvec);
@@ -5705,9 +5705,9 @@ static bool ui_numedit_but_HSVCIRCLE(
 
                mx_fl = xpos - (data->dragstartx - mx_fl);
                my_fl = ypos - (data->dragstarty - my_fl);
-               
+
        }
-       
+
        ui_hsvcircle_vals_from_pos(hsv, hsv + 1, &rect, mx_fl, my_fl);
 
        if ((but->flag & UI_BUT_COLOR_CUBIC) && (U.color_picker_type == USER_CP_CIRCLE_HSV))
@@ -5727,10 +5727,10 @@ static bool ui_numedit_but_HSVCIRCLE(
                ui_block_cm_to_scene_linear_v3(but->block, rgb);
 
        ui_but_v3_set(but, rgb);
-       
+
        data->draglastx = mx;
        data->draglasty = my;
-       
+
        return changed;
 }
 
@@ -5746,28 +5746,28 @@ static void ui_ndofedit_but_HSVCIRCLE(
        float rgb[3];
        float phi, r /*, sqr */ /* UNUSED */, v[2];
        float sensitivity = (shift ? 0.06f : 0.3f) * ndof->dt;
-       
+
        ui_but_v3_get(but, rgb);
        if (use_display_colorspace)
                ui_block_cm_to_display_space_v3(but->block, rgb);
        ui_rgb_to_color_picker_compat_v(rgb, hsv);
-       
+
        /* Convert current color on hue/sat disc to circular coordinates phi, r */
        phi = fmodf(hsv[0] + 0.25f, 1.0f) * -2.0f * (float)M_PI;
        r = hsv[1];
        /* sqr = r > 0.0f ? sqrtf(r) : 1; */ /* UNUSED */
-       
+
        /* Convert to 2d vectors */
        v[0] = r * cosf(phi);
        v[1] = r * sinf(phi);
-       
+
        /* Use ndof device y and x rotation to move the vector in 2d space */
        v[0] += ndof->rvec[2] * sensitivity;
        v[1] += ndof->rvec[0] * sensitivity;
 
        /* convert back to polar coords on circle */
        phi = atan2f(v[0], v[1]) / (2.0f * (float)M_PI) + 0.5f;
-       
+
        /* use ndof Y rotation to additionally rotate hue */
        phi += ndof->rvec[1] * sensitivity * 0.5f;
        r = len_v2(v);
@@ -5795,14 +5795,14 @@ static void ui_ndofedit_but_HSVCIRCLE(
        hsv_clamp_v(hsv, FLT_MAX);
 
        ui_color_picker_to_rgb_v(hsv, data->vec);
-       
+
        if ((but->flag & UI_BUT_VEC_SIZE_LOCK) && (data->vec[0] || data->vec[1] || data->vec[2])) {
                normalize_v3_length(data->vec, but->a2);
        }
 
        if (use_display_colorspace)
                ui_block_cm_to_scene_linear_v3(but->block, data->vec);
-       
+
        ui_but_v3_set(but, data->vec);
 }
 #endif /* WITH_INPUT_NDOF */
@@ -5817,7 +5817,7 @@ static int ui_do_but_HSVCIRCLE(
        mx = event->x;
        my = event->y;
        ui_window_to_block(data->region, block, &mx, &my);
-       
+
        if (data->state == BUTTON_STATE_HIGHLIGHT) {
                if (event->type == LEFTMOUSE && event->val == KM_PRESS) {
                        const enum eSnapType snap = ui_event_to_snap(event);
@@ -5826,52 +5826,52 @@ static int ui_do_but_HSVCIRCLE(
                        data->draglastx = mx;
                        data->draglasty = my;
                        button_activate_state(C, but, BUTTON_STATE_NUM_EDITING);
-                       
+
                        /* also do drag the first time */
                        if (ui_numedit_but_HSVCIRCLE(but, data, mx, my, snap, event->shift != 0))
                                ui_numedit_apply(C, block, but, data);
-                       
+
                        return WM_UI_HANDLER_BREAK;
                }
 #ifdef WITH_INPUT_NDOF
                else if (event->type == NDOF_MOTION) {
                        const enum eSnapType snap = ui_event_to_snap(event);
                        const wmNDOFMotionData *ndof = event->customdata;
-                       
+
                        ui_ndofedit_but_HSVCIRCLE(but, data, ndof, snap, event->shift != 0);
 
                        button_activate_state(C, but, BUTTON_STATE_EXIT);
                        ui_apply_but(C, but->block, but, data, true);
-                       
+
                        return WM_UI_HANDLER_BREAK;
                }
 #endif /* WITH_INPUT_NDOF */
                /* XXX hardcoded keymap check.... */
                else if (event->type == BACKSPACEKEY && event->val == KM_PRESS) {
                        int len;
-                       
+
                        /* reset only saturation */
-                       
+
                        len = RNA_property_array_length(&but->rnapoin, but->rnaprop);
                        if (len >= 3) {
                                float rgb[3], def_hsv[3];
                                float *def;
                                def = MEM_callocN(sizeof(float) * len, "reset_defaults - float");
-                               
+
                                RNA_property_float_get_default_array(&but->rnapoin, but->rnaprop, def);
                                ui_color_picker_to_rgb_v(def, def_hsv);
-                               
+
                                ui_but_v3_get(but, rgb);
                                ui_rgb_to_color_picker_compat_v(rgb, hsv);
-                               
+
                                def_hsv[0] = hsv[0];
                                def_hsv[2] = hsv[2];
 
                                hsv_to_rgb_v(def_hsv, rgb);
                                ui_but_v3_set(but, rgb);
-                               
+
                                RNA_property_update(C, &but->rnapoin, but->rnaprop);
-                               
+
                                MEM_freeN(def);
                        }
                        return WM_UI_HANDLER_BREAK;
@@ -5910,7 +5910,7 @@ static int ui_do_but_HSVCIRCLE(
                }
                return WM_UI_HANDLER_BREAK;
        }
-       
+
        return WM_UI_HANDLER_CONTINUE;
 }
 
@@ -5929,10 +5929,10 @@ static bool ui_numedit_but_COLORBAND(uiBut *but, uiHandleButtonData *data, int m
        dx = ((float)(mx - data->draglastx)) / BLI_rctf_size_x(&but->rect);
        data->dragcbd->pos += dx;
        CLAMP(data->dragcbd->pos, 0.0f, 1.0f);
-       
+
        BKE_colorband_update_sort(data->coba);
        data->dragcbd = data->coba->data + data->coba->cur;  /* because qsort */
-       
+
        data->draglastx = mx;
        changed = true;
 
@@ -5979,7 +5979,7 @@ static int ui_do_but_COLORBAND(
                                                mindist = xco;
                                        }
                                }
-               
+
                                data->dragcbd = coba->data + coba->cur;
                                data->dragfstart = data->dragcbd->pos;
                                button_activate_state(C, but, BUTTON_STATE_NUM_EDITING);
@@ -6033,10 +6033,10 @@ static bool ui_numedit_but_CURVE(
        dragx = data->draglastx;
        dragy = data->draglasty;
        ui_window_to_block(data->region, block, &dragx, &dragy);
-       
+
        zoomx = BLI_rctf_size_x(&but->rect) / BLI_rctf_size_x(&cumap->curr);
        zoomy = BLI_rctf_size_y(&but->rect) / BLI_rctf_size_y(&cumap->curr);
-       
+
        if (snap) {
                float d[2];
 
@@ -6075,7 +6075,7 @@ static bool ui_numedit_but_CURVE(
                }
 
                curvemapping_changed(cumap, false);
-               
+
                if (moved_point) {
                        data->draglastx = evtx;
                        data->draglasty = evty;
@@ -6099,7 +6099,7 @@ static bool ui_numedit_but_CURVE(
        else {
                fx = (mx - dragx) / zoomx;
                fy = (my - dragy) / zoomy;
-               
+
                /* clamp for clip */
                if (cumap->flag & CUMA_DO_CLIP) {
                        if (cumap->curr.xmin - fx < cumap->clipr.xmin)
@@ -6116,7 +6116,7 @@ static bool ui_numedit_but_CURVE(
                cumap->curr.ymin -= fy;
                cumap->curr.xmax -= fx;
                cumap->curr.ymax -= fy;
-               
+
                data->draglastx = evtx;
                data->draglasty = evty;
 
@@ -6137,7 +6137,7 @@ static int ui_do_but_CURVE(
        mx = event->x;
        my = event->y;
        ui_window_to_block(data->region, block, &mx, &my);
-       
+
        if (data->state == BUTTON_STATE_HIGHLIGHT) {
                if (event->type == LEFTMOUSE && event->val == KM_PRESS) {
                        CurveMapping *cumap = (CurveMapping *)but->poin;
@@ -6150,7 +6150,7 @@ static int ui_do_but_CURVE(
                        if (event->ctrl) {
                                float f_xy[2];
                                BLI_rctf_transform_pt_v(&cumap->curr, &but->rect, f_xy, m_xy);
-                               
+
                                curvemap_insert(cuma, f_xy[0], f_xy[1]);
                                curvemapping_changed(cumap, false);
                                changed = true;
@@ -6172,7 +6172,7 @@ static int ui_do_but_CURVE(
                                int i;
                                float f_xy[2], f_xy_prev[2];
 
-                               /* if the click didn't select anything, check if it's clicked on the 
+                               /* if the click didn't select anything, check if it's clicked on the
                                 * curve itself, and if so, add a point */
                                cmp = cuma->table;
 
@@ -6193,10 +6193,10 @@ static int ui_do_but_CURVE(
                                                curvemapping_changed(cumap, false);
 
                                                changed = true;
-                                               
+
                                                /* reset cmp back to the curve points again, rather than drawing segments */
                                                cmp = cuma->curve;
-                                               
+
                                                /* find newly added point and make it 'sel' */
                                                for (a = 0; a < cuma->totpoint; a++) {
                                                        if (cmp[a].x == f_xy[0]) {
@@ -6227,7 +6227,7 @@ static int ui_do_but_CURVE(
                        }
 
                        data->dragsel = sel;
-                       
+
                        data->dragstartx = event->x;
                        data->dragstarty = event->y;
                        data->draglastx = event->x;
@@ -6240,7 +6240,7 @@ static int ui_do_but_CURVE(
        else if (data->state == BUTTON_STATE_NUM_EDITING) {
                if (event->type == MOUSEMOVE) {
                        if (event->x != data->draglastx || event->y != data->draglasty) {
-                               
+
                                if (ui_numedit_but_CURVE(block, but, data, event->x, event->y, event->ctrl != 0, event->shift != 0))
                                        ui_numedit_apply(C, block, but, data);
                        }
@@ -6301,11 +6301,11 @@ static int ui_do_but_HISTOGRAM(
         uiHandleButtonData *data, const wmEvent *event)
 {
        int mx, my;
-       
+
        mx = event->x;
        my = event->y;
        ui_window_to_block(data->region, block, &mx, &my);
-       
+
        if (data->state == BUTTON_STATE_HIGHLIGHT) {
                if (event->type == LEFTMOUSE && event->val == KM_PRESS) {
                        data->dragstartx = mx;
@@ -6313,18 +6313,18 @@ static int ui_do_but_HISTOGRAM(
                        data->draglastx = mx;
                        data->draglasty = my;
                        button_activate_state(C, but, BUTTON_STATE_NUM_EDITING);
-                       
+
                        /* also do drag the first time */
                        if (ui_numedit_but_HISTOGRAM(but, data, mx, my))
                                ui_numedit_apply(C, block, but, data);
-                       
+
                        return WM_UI_HANDLER_BREAK;
                }
                /* XXX hardcoded keymap check.... */
                else if (event->type == BACKSPACEKEY && event->val == KM_PRESS) {
                        Histogram *hist = (Histogram *)but->poin;
                        hist->ymax = 1.f;
-                       
+
                        button_activate_state(C, but, BUTTON_STATE_EXIT);
                        return WM_UI_HANDLER_BREAK;
                }
@@ -6348,7 +6348,7 @@ static int ui_do_but_HISTOGRAM(
                }
                return WM_UI_HANDLER_BREAK;
        }
-       
+
        return WM_UI_HANDLER_CONTINUE;
 }
 
@@ -6430,7 +6430,7 @@ static int ui_do_but_WAVEFORM(
 static int ui_do_but_LINK(
         bContext *C, uiBut *but,
         uiHandleButtonData *data, const wmEvent *event)
-{      
+{
        VECCOPY2D(but->linkto, event->mval);
 
        if (data->state == BUTTON_STATE_HIGHLIGHT) {
@@ -6444,7 +6444,7 @@ static int ui_do_but_LINK(
                }
        }
        else if (data->state == BUTTON_STATE_WAIT_RELEASE) {
-               
+
                if (event->type == LEFTMOUSE && event->val != KM_PRESS) {
                        if (!(but->flag & UI_SELECT))
                                data->cancel = true;
@@ -6452,7 +6452,7 @@ static int ui_do_but_LINK(
                        return WM_UI_HANDLER_BREAK;
                }
        }
-       
+
        return WM_UI_HANDLER_CONTINUE;
 }
 
@@ -6548,7 +6548,7 @@ static void but_shortcut_name_func(bContext *C, void *arg1, int UNUSED(event))
                char shortcut_str[128];
 
                IDProperty *prop = (but->opptr) ? but->opptr->data : NULL;
-               
+
                /* complex code to change name of button */
                if (WM_key_event_operator_string(
                        C, but->optype->idname, but->opcontext, prop, true,
@@ -6579,18 +6579,18 @@ static uiBlock *menu_change_shortcut(bContext *C, ARegion *ar, void *arg)
        BLI_assert(kmi != NULL);
 
        RNA_pointer_create(&wm->id, &RNA_KeyMapItem, kmi, &ptr);
-       
+
        block = UI_block_begin(C, ar, "_popup", UI_EMBOSS);
        UI_block_func_handle_set(block, but_shortcut_name_func, but);
        UI_block_flag_enable(block, UI_BLOCK_MOVEMOUSE_QUIT);
        UI_block_direction_set(block, UI_DIR_CENTER_Y);
-       
+
        layout = UI_block_layout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, 0, 0, 200, 20, 0, style);
-       
+
        uiItemR(layout, &ptr, "type", UI_ITEM_R_FULL_EVENT | UI_ITEM_R_IMMEDIATE, "", ICON_NONE);
-       
+
        UI_block_bounds_set_popup(block, 6, -50, 26);
-       
+
        return block;
 }
 
@@ -6610,7 +6610,7 @@ static uiBlock *menu_add_shortcut(bContext *C, ARegion *ar, void *arg)
        uiStyle *style = UI_style_get_dpi();
        IDProperty *prop = (but->opptr) ? but->opptr->data : NULL;
        int kmi_id;
-       
+
        /* XXX this guess_opname can potentially return a different keymap than being found on adding later... */
        km = WM_keymap_guess_opname(C, but->optype->idname);
        kmi = WM_keymap_add_item(km, but->optype->idname, AKEY, KM_PRESS, 0, 0);
@@ -6636,7 +6636,7 @@ static uiBlock *menu_add_shortcut(bContext *C, ARegion *ar, void *arg)
        layout = UI_block_layout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, 0, 0, 200, 20, 0, style);
 
        uiItemR(layout, &ptr, "type", UI_ITEM_R_FULL_EVENT | UI_ITEM_R_IMMEDIATE, "", ICON_NONE);
-       
+
        UI_block_bounds_set_popup(block, 6, -50, 26);
 
 #ifdef USE_KEYMAP_ADD_HACK
@@ -6685,7 +6685,7 @@ static void remove_shortcut_func(bContext *C, void *arg1, void *UNUSED(arg2))
        BLI_assert(kmi != NULL);
 
        WM_keymap_remove_item(km, kmi);
-       
+
        but_shortcut_name_func(C, but, 0);
 }
 
@@ -6775,7 +6775,7 @@ static bool ui_but_menu(bContext *C, uiBut *but)
        if (but->type == UI_BTYPE_IMAGE) {
                return false;
        }
-       
+
        /* highly unlikely getting the label ever fails */
        UI_but_string_info_get(C, but, &label, NULL);
 
@@ -6806,7 +6806,7 @@ static bool ui_but_menu(bContext *C, uiBut *but)
                /* determine if we can key a single component of an array */
                is_array = RNA_property_array_length(&but->rnapoin, but->rnaprop) != 0;
                is_array_component = (is_array && but->rnaindex != -1);
-               
+
                /* Keyframes */
                if (but->flag & UI_BUT_ANIMATED_KEY) {
                        /* replace/delete keyfraemes */
@@ -6826,11 +6826,11 @@ static bool ui_but_menu(bContext *C, uiBut *but)
                                uiItemBooleanO(layout, CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Delete Keyframe"),
                                               ICON_NONE, "ANIM_OT_keyframe_delete_button", "all", 1);
                        }
-                       
+
                        /* keyframe settings */
                        uiItemS(layout);
-                       
-                       
+
+
                }
                else if (but->flag & UI_BUT_DRIVEN) {
                        /* pass */
@@ -6847,7 +6847,7 @@ static bool ui_but_menu(bContext *C, uiBut *but)
                                               ICON_KEY_HLT, "ANIM_OT_keyframe_insert_button", "all", 1);
                        }
                }
-               
+
                if ((but->flag & UI_BUT_ANIMATED) && (but->rnapoin.type != &RNA_NlaStrip)) {
                        if (is_array_component) {
                                uiItemBooleanO(layout, CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Clear Keyframes"),
@@ -6890,13 +6890,13 @@ static bool ui_but_menu(bContext *C, uiBut *but)
                        uiItemS(layout);
 
                        if (is_array_component) {
-                               uiItemMenuEnumO(layout, C, "ANIM_OT_driver_button_add", "mapping_type", 
-                                               CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Add Drivers"), 
+                               uiItemMenuEnumO(layout, C, "ANIM_OT_driver_button_add", "mapping_type",
+                                               CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Add Drivers"),
                                                ICON_DRIVER);
                        }
                        else {
-                               uiItemMenuEnumO(layout, C, "ANIM_OT_driver_button_add", "mapping_type", 
-                                               CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Add Driver"), 
+                               uiItemMenuEnumO(layout, C, "ANIM_OT_driver_button_add", "mapping_type",
+                                               CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Add Driver"),
                                                ICON_DRIVER);
                        }
 
@@ -6905,7 +6905,7 @@ static bool ui_but_menu(bContext *C, uiBut *but)
                                        ICON_NONE, "ANIM_OT_paste_driver_button");
                        }
                }
-               
+
                /* Keying Sets */
                /* TODO: check on modifyability of Keying Set when doing this */
                if (is_anim) {
@@ -6926,14 +6926,14 @@ static bool ui_but_menu(bContext *C, uiBut *but)
                                        ICON_NONE, "ANIM_OT_keyingset_button_remove");
                        }
                }
-               
+
                uiItemS(layout);
-               
+
                /* Property Operators */
-               
+
                /* Copy Property Value
                 * Paste Property Value */
-               
+
                if (is_array_component) {
                        uiItemBooleanO(layout, CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Reset All to Default Values"),
                                       ICON_LOOP_BACK, "UI_OT_reset_default_button", "all", 1);
@@ -6948,7 +6948,7 @@ static bool ui_but_menu(bContext *C, uiBut *but)
                        uiItemO(layout, CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Unset"),
                                ICON_NONE, "UI_OT_unset_property_button");
                }
-               
+
                if (is_array_component) {
                        uiItemBooleanO(layout, CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Copy All To Selected"),
                                       ICON_NONE, "UI_OT_copy_to_selected_button", "all", true);
@@ -7408,14 +7408,14 @@ bool ui_but_is_active(ARegion *ar)
 void UI_screen_free_active_but(const bContext *C, bScreen *screen)
 {
        ScrArea *sa = screen->areabase.first;
-       
+
        for (; sa; sa = sa->next) {
                ARegion *ar = sa->regionbase.first;
                for (; ar; ar = ar->next) {
                        uiBut *but = ui_but_find_active_in_region(ar);
                        if (but) {
                                uiHandleButtonData *data = but->active;
-                               
+
                                if (data->menu == NULL && data->searchbox == NULL)
                                        if (data->state == BUTTON_STATE_HIGHLIGHT)
                                                ui_but_active_free(C, but);
@@ -7437,7 +7437,7 @@ bool UI_but_active_drop_name(bContext *C)
                if (ELEM(but->type, UI_BTYPE_TEXT, UI_BTYPE_SEARCH_MENU))
                        return 1;
        }
-       
+
        return 0;
 }
 
@@ -7479,11 +7479,11 @@ static bool ui_region_contains_point_px(ARegion *ar, int x, int y)
        if (!BLI_rcti_isect_pt(&winrct, x, y)) {
                for (uiBlock *block = ar->uiblocks.first; block; block = block->next)
                        block->auto_open = false;
-               
+
                return false;
        }
 
-       /* also, check that with view2d, that the mouse is not over the scrollbars 
+       /* also, check that with view2d, that the mouse is not over the scrollbars
         * NOTE: care is needed here, since the mask rect may include the scrollbars
         * even when they are not visible, so we need to make a copy of the mask to
         * use to check
@@ -7491,7 +7491,7 @@ static bool ui_region_contains_point_px(ARegion *ar, int x, int y)
        if (ar->v2d.mask.xmin != ar->v2d.mask.xmax) {
                View2D *v2d = &ar->v2d;
                int mx, my;
-               
+
                /* convert window coordinates to region coordinates */
                mx = x;
                my = y;
@@ -7501,7 +7501,7 @@ static bool ui_region_contains_point_px(ARegion *ar, int x, int y)
                if (!BLI_rcti_isect_pt(&v2d->mask, mx, my))
                        return false;
        }
-       
+
        return true;
 }
 
@@ -7525,7 +7525,7 @@ static bool ui_but_contains_point_px(ARegion *ar, uiBut *but, int x, int y)
        else if (!ui_but_contains_pt(but, mx, my)) {
                return false;
        }
-       
+
        return true;
 }
 
@@ -7750,7 +7750,7 @@ static void button_activate_state(bContext *C, uiBut *but, uiHandleButtonState s
                but->flag |= UI_SELECT;
                UI_but_tooltip_timer_remove(C, but);
        }
-       
+
        /* text editing */
        if (state == BUTTON_STATE_TEXT_EDITING && data->state != BUTTON_STATE_TEXT_SELECTING)
                ui_textedit_begin(C, but, data);
@@ -7758,7 +7758,7 @@ static void button_activate_state(bContext *C, uiBut *but, uiHandleButtonState s
                ui_textedit_end(C, but, data);
        else if (data->state == BUTTON_STATE_TEXT_SELECTING && state != BUTTON_STATE_TEXT_EDITING)
                ui_textedit_end(C, but, data);
-       
+
        /* number editing */
        if (state == BUTTON_STATE_NUM_EDITING) {
                if (ui_but_is_cursor_warp(but))
@@ -7835,7 +7835,7 @@ static void button_activate_state(bContext *C, uiBut *but, uiHandleButtonState s
                        }
                }
        }
-       
+
        /* wait for mousemove to enable drag */
        if (state == BUTTON_STATE_WAIT_DRAG) {
                but->flag &= ~UI_SELECT;
@@ -7879,7 +7879,7 @@ static void button_activate_init(bContext *C, ARegion *ar, uiBut *but, uiButtonA
                        data->interactive = true;
                }
        }
-       
+
        data->state = BUTTON_STATE_INIT;
 
        /* activate button */
@@ -7897,14 +7897,14 @@ static void button_activate_init(bContext *C, ARegion *ar, uiBut *but, uiButtonA
                data->used_mouse = true;
        }
        button_activate_state(C, but, BUTTON_STATE_HIGHLIGHT);
-       
+
        /* activate right away */
        if (but->flag & UI_BUT_IMMEDIATE) {
                if (but->type == UI_BTYPE_HOTKEY_EVENT)
                        button_activate_state(C, but, BUTTON_STATE_WAIT_KEY_EVENT);
                /* .. more to be added here */
        }
-       
+
        if (type == BUTTON_ACTIVATE_OPEN) {
                button_activate_state(C, but, BUTTON_STATE_MENU_OPEN);
 
@@ -7913,7 +7913,7 @@ static void button_activate_init(bContext *C, ARegion *ar, uiBut *but, uiButtonA
                        ARegion *subar = data->menu->region;
                        uiBlock *subblock = subar->uiblocks.first;
                        uiBut *subbut;
-                       
+
                        if (subblock) {
                                subbut = ui_but_first(subblock);
 
@@ -8212,7 +8212,7 @@ void UI_context_update_anim_flag(const bContext *C)
                        for (but = block->buttons.first; but; but = but->next) {
                                ui_but_anim_flag(but, (scene) ? scene->r.cfra : 0.0f);
                                ED_region_tag_redraw(ar);
-                               
+
                                if (but->active) {
                                        activebut = but;
                                }
@@ -8245,7 +8245,7 @@ static uiBut *ui_but_find_open_event(ARegion *ar, const wmEvent *event)
 {
        uiBlock *block;
        uiBut *but;
-       
+
        for (block = ar->uiblocks.first; block; block = block->next) {
                for (but = block->buttons.first; but; but = but->next)
                        if (but == event->customdata)
@@ -8285,15 +8285,15 @@ void ui_but_activate_event(bContext *C, ARegion *ar, uiBut *but)
 {
        wmWindow *win = CTX_wm_window(C);
        wmEvent event;
-       
+
        button_activate_init(C, ar, but, BUTTON_ACTIVATE_OVER);
-       
+
        wm_event_init_from_window(win, &event);
        event.type = EVT_BUT_OPEN;
        event.val = KM_PRESS;
        event.customdata = but;
        event.customdatafree = false;
-       
+
        ui_do_button(C, but->block, but, &event);
 }
 
@@ -8360,7 +8360,7 @@ static int ui_handle_button_event(bContext *C, const wmEvent *event, uiBut *but)
        ar = data->region;
 
        retval = WM_UI_HANDLER_CONTINUE;
-       
+
        if (data->state == BUTTON_STATE_HIGHLIGHT) {
                switch (event->type) {
                        case WINDEACTIVATE:
@@ -8509,7 +8509,7 @@ static int ui_handle_button_event(bContext *C, const wmEvent *event, uiBut *but)
                                }
 
                                bt = ui_but_find_mouse_over(ar, event);
-                               
+
                                if (bt && bt->active != data) {
                                        if (but->type != UI_BTYPE_COLOR) {  /* exception */
                                                data->cancel = true;
@@ -8720,7 +8720,7 @@ static void ui_handle_button_return_submenu(bContext *C, const wmEvent *event, u
 
                menu->menuretval = 0;
        }
-       
+
        /* now change button state or exit, which will close the submenu */
        if ((menu->menuretval & UI_RETURN_OK) || (menu->menuretval & UI_RETURN_CANCEL)) {
                if (menu->menuretval != UI_RETURN_OK)
@@ -8831,7 +8831,7 @@ static bool ui_mouse_motion_towards_check(
 
        p2[0] = rect_px.xmax + margin;
        p2[1] = rect_px.ymin - margin;
-       
+
        p3[0] = rect_px.xmax + margin;
        p3[1] = rect_px.ymax + margin;
 
@@ -8889,7 +8889,7 @@ static bool ui_mouse_motion_keynav_test(struct uiKeyNavLock *keynav, const wmEve
 static char ui_menu_scroll_test(uiBlock *block, int my)
 {
        if (block->flag & (UI_BLOCK_CLIPTOP | UI_BLOCK_CLIPBOTTOM)) {
-               if (block->flag & UI_BLOCK_CLIPTOP) 
+               if (block->flag & UI_BLOCK_CLIPTOP)
                        if (my > block->rect.ymax - UI_MENU_SCROLL_MOUSE)
                                return 't';
                if (block->flag & UI_BLOCK_CLIPBOTTOM)
@@ -8955,12 +8955,12 @@ static int ui_menu_scroll(ARegion *ar, uiBlock *block, int my, uiBut *to_bt)
 
                /* set flags again */
                ui_popup_block_scrolltest(block);
-               
+
                ED_region_tag_redraw(ar);
-               
+
                return 1;
        }
-       
+
        return 0;
 }
 
@@ -9125,14 +9125,14 @@ static int ui_handle_menu_event(
                        if (block->flag & UI_BLOCK_MOVEMOUSE_QUIT) {
                                ui_mouse_motion_towards_init(menu, &event->x);
                        }
-                       
+
                        /* add menu scroll timer, if needed */
                        if (ui_menu_scroll_test(block, my))
                                if (menu->scrolltimer == NULL)
                                        menu->scrolltimer =
                                            WM_event_add_timer(CTX_wm_manager(C), CTX_wm_window(C), TIMER, MENU_SCROLL_INTERVAL);
                }
-               
+
                /* first block own event func */
                if (block->block_event_func && block->block_event_func(C, block, event)) {
                        /* pass */
@@ -9172,7 +9172,7 @@ static int ui_handle_menu_event(
 
                                        retval = WM_UI_HANDLER_BREAK;
                                        break;
-                               
+
                                case UPARROWKEY:
                                case DOWNARROWKEY:
                                case WHEELUPMOUSE:
@@ -9185,11 +9185,11 @@ static int ui_handle_menu_event(
                                        else if (inside || (block->flag & UI_BLOCK_LOOP)) {
                                                int type = event->type;
                                                int val = event->val;
-                                               
+
                                                /* convert pan to scrollwheel */
                                                if (type == MOUSEPAN)
                                                        ui_pan_to_scroll(event, &type, &val);
-                                               
+
                                                if (val == KM_PRESS) {
                                                        const bool is_next =
                                                                (ELEM(type, DOWNARROWKEY, WHEELDOWNMOUSE) ==
@@ -9260,10 +9260,10 @@ static int ui_handle_menu_event(
                                                count = 0;
                                                for (but = block->buttons.first; but; but = but->next) {
                                                        bool doit = false;
-                                                       
+
                                                        if (!ELEM(but->type, UI_BTYPE_LABEL, UI_BTYPE_SEPR, UI_BTYPE_SEPR_LINE))
                                                                count++;
-                                                       
+
                                                        /* exception for rna layer buts */
                                                        if (but->rnapoin.data && but->rnaprop &&
                                                            ELEM(RNA_property_subtype(but->rnaprop), PROP_LAYER, PROP_LAYER_MEMBER))
@@ -9363,7 +9363,7 @@ static int ui_handle_menu_event(
                                }
                        }
                }
-               
+
                /* here we check return conditions for menus */
                if (block->flag & UI_BLOCK_LOOP) {
                        /* if we click outside the block, verify if we clicked on the
@@ -9443,7 +9443,7 @@ static int ui_handle_menu_event(
                                        uiSafetyRct *saferct;
 
                                        ui_mouse_motion_towards_check(block, menu, &event->x, is_parent_inside == false);
-                                       
+
                                        /* check for all parent rects, enables arrowkeys to be used */
                                        for (saferct = block->saferct.first; saferct; saferct = saferct->next) {
                                                /* for mouse move we only check our own rect, for other
@@ -10030,7 +10030,7 @@ static int ui_region_handler(bContext *C, const wmEvent *event, void *UNUSED(use
        /* re-enable tooltips */
        if (event->type == MOUSEMOVE && (event->x != event->prevx || event->y != event->prevy))
                ui_blocks_set_tooltips(ar, true);
-       
+
        /* delayed apply callbacks */
        ui_apply_but_funcs_after(C);
 
@@ -10046,7 +10046,7 @@ static void ui_region_handler_remove(bContext *C, void *UNUSED(userdata))
        if (ar == NULL) return;
 
        UI_blocklist_free(C, &ar->uiblocks);
-       
+
        sc = CTX_wm_screen(C);
        if (sc == NULL) return;
 
@@ -10180,7 +10180,7 @@ static int ui_popup_handler(bContext *C, const wmEvent *event, void *userdata)
                        win->last_pie_event = block->pie_data.event;
                        reset_pie = true;
                }
-               
+
                ui_popup_block_free(C, menu);
                UI_popup_handlers_remove(&win->modalhandlers, menu);
                CTX_wm_menu_set(C, NULL);
@@ -10290,7 +10290,7 @@ bool UI_textbutton_activate_rna(
 {
        uiBlock *block;
        uiBut *but = NULL;
-       
+
        for (block = ar->uiblocks.first; block; block = block->next) {
                for (but = block->buttons.first; but; but = but->next) {
                        if (but->type == UI_BTYPE_TEXT) {
@@ -10304,7 +10304,7 @@ bool UI_textbutton_activate_rna(
                if (but)
                        break;
        }
-       
+
        if (but) {
                UI_but_active_only(C, ar, block, but);
                return true;
@@ -10319,7 +10319,7 @@ bool UI_textbutton_activate_but(const bContext *C, uiBut *actbut)
        ARegion *ar = CTX_wm_region(C);
        uiBlock *block;
        uiBut *but = NULL;
-       
+
        for (block = ar->uiblocks.first; block; block = block->next) {
                for (but = block->buttons.first; but; but = but->next)
                        if (but == actbut && but->type == UI_BTYPE_TEXT)
@@ -10328,7 +10328,7 @@ bool UI_textbutton_activate_but(const bContext *C, uiBut *actbut)
                if (but)
                        break;
        }
-       
+
        if (but) {
                UI_but_active_only(C, ar, block, but);
                return true;
index ed57412c05c1effbb9e6767c307856ea33527cae..0315bf736f0dfa88d69a5cc86d0bb735548dc90e 100644 (file)
@@ -121,7 +121,7 @@ typedef struct IconTexture {
 } IconTexture;
 
 /* ******************* STATIC LOCAL VARS ******************* */
-/* static here to cache results of icon directory scan, so it's not 
+/* static here to cache results of icon directory scan, so it's not
  * scanning the filesystem each time the menu is drawn */
 static struct ListBase iconfilelist = {NULL, NULL};
 static IconTexture icongltex = {0, 0, 0, 0.0f, 0.0f};
@@ -158,9 +158,9 @@ static DrawInfo *def_internal_icon(ImBuf *bbuf, int icon_id, int xofs, int yofs,
                /* icon buffers can get initialized runtime now, via datatoc */
                if (bbuf) {
                        int y, imgsize;
-                       
+
                        iimg->rect = MEM_mallocN(size * size * sizeof(unsigned int), "icon_rect");
-                       
+
                        /* Here we store the rect in the icon - same as before */
                        if (size == bbuf->x && size == bbuf->y && xofs == 0 && yofs == 0)
                                memcpy(iimg->rect, bbuf->rect, size * size * sizeof(int));
@@ -179,7 +179,7 @@ static DrawInfo *def_internal_icon(ImBuf *bbuf, int icon_id, int xofs, int yofs,
        new_icon->drawinfo = di;
 
        BKE_icon_set(icon_id, new_icon);
-       
+
        return di;
 }
 
@@ -240,24 +240,24 @@ static void vicon_keytype_draw_wrapper(int x, int y, int w, int h, float alpha,
         */
        struct bThemeState theme_state;
        int xco, yco;
-       
+
        UI_Theme_Store(&theme_state);
        UI_SetTheme(SPACE_ACTION, RGN_TYPE_WINDOW);
-       
+
        /* the "x" and "y" given are the bottom-left coordinates of the icon,
         * while the draw_keyframe_shape() function needs the midpoint for
         * the keyframe
         */
        xco = x + w / 2;
        yco = y + h / 2;
-       
+
        /* draw keyframe
         * - xscale: 1.0 (since there's no timeline scaling to compensate for)
         * - yscale: 0.3 * h (found out experimentally... dunno why!)
         * - sel: true (so that "keyframe" state shows the iconic yellow icon)
         */
        draw_keyframe_shape(xco, yco, 1.0f, 0.3f * h, true, key_type, KEYFRAME_SHAPE_BOTH, alpha);
-       
+
        UI_Theme_Restore(&theme_state);
 }
 
@@ -290,7 +290,7 @@ static void vicon_colorset_draw(int index, int x, int y, int w, int h, float UNU
 {
        bTheme *btheme = UI_GetTheme();
        ThemeWireColor *cs = &btheme->tarm[index];
-       
+
        /* Draw three bands of color: One per color
         *    x-----a-----b-----c
         *    |  N  |  S  |  A  |
@@ -299,16 +299,16 @@ static void vicon_colorset_draw(int index, int x, int y, int w, int h, float UNU
        const int a = x + w / 3;
        const int b = x + w / 3 * 2;
        const int c = x + w;
-       
+
        /* XXX: Include alpha into this... */
        /* normal */
        glColor3ubv((unsigned char *)cs->solid);
        glRecti(x, y, a, y + h);
-       
+
        /* selected */
        glColor3ubv((unsigned char *)cs->select);
        glRecti(a, y, b, y + h);
-       
+
        /* active */
        glColor3ubv((unsigned char *)cs->active);
        glRecti(b, y, c, y + h);
@@ -319,7 +319,7 @@ static void vicon_colorset_draw(int index, int x, int y, int w, int h, float UNU
        {                                                                                 \
                vicon_colorset_draw(index, x, y, w, h, alpha);                                \
        }
-       
+
 DEF_VICON_COLORSET_DRAW_NTH(01, 0)
 DEF_VICON_COLORSET_DRAW_NTH(02, 1)
 DEF_VICON_COLORSET_DRAW_NTH(03, 2)
@@ -403,14 +403,14 @@ static void icon_verify_datatoc(IconImage *iimg)
        /* if it has own rect, things are all OK */
        if (iimg->rect)
                return;
-       
+
        if (iimg->datatoc_rect) {
                ImBuf *bbuf = IMB_ibImageFromMemory(iimg->datatoc_rect,
                                                    iimg->datatoc_size, IB_rect, NULL, "<matcap icon>");
                /* w and h were set on initialize */
                if (bbuf->x != iimg->h && bbuf->y != iimg->w)
                        IMB_scaleImBuf(bbuf, iimg->w, iimg->h);
-               
+
                iimg->rect = bbuf->rect;
                bbuf->rect = NULL;
                IMB_freeImBuf(bbuf);
@@ -470,7 +470,7 @@ static void init_internal_icons(void)
        if ((btheme != NULL) && btheme->tui.iconfile[0]) {
                char *icondir = BKE_appdir_folder_id(BLENDER_DATAFILES, "icons");
                char iconfilestr[FILE_MAX];
-               
+
                if (icondir) {
                        BLI_join_dirfile(iconfilestr, sizeof(iconfilestr), icondir, btheme->tui.iconfile);
                        bbuf = IMB_loadiffname(iconfilestr, IB_rect, NULL); /* if the image is missing bbuf will just be NULL */
@@ -496,7 +496,7 @@ static void init_internal_icons(void)
                                               datatoc_blender_icons32_png_size, IB_rect, NULL, "<blender icons>");
        if (b32buf)
                IMB_premultiply_alpha(b32buf);
-       
+
        if (b16buf && b32buf) {
                /* free existing texture if any */
                if (icongltex.id) {
@@ -510,17 +510,17 @@ static void init_internal_icons(void)
 
                        if (icongltex.id) {
                                int level = 2;
-                               
+
                                icongltex.w = b32buf->x;
                                icongltex.h = b32buf->y;
                                icongltex.invw = 1.0f / b32buf->x;
                                icongltex.invh = 1.0f / b32buf->y;
 
                                glBindTexture(GL_TEXTURE_2D, icongltex.id);
-                               
+
                                glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, b32buf->x, b32buf->y, 0, GL_RGBA, GL_UNSIGNED_BYTE, b32buf->rect);
                                glTexImage2D(GL_TEXTURE_2D, 1, GL_RGBA8, b16buf->x, b16buf->y, 0, GL_RGBA, GL_UNSIGNED_BYTE, b16buf->rect);
-                               
+
                                while (b16buf->x > 1) {
                                        ImBuf *nbuf = IMB_onehalf(b16buf);
                                        glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA8, nbuf->x, nbuf->y, 0, GL_RGBA, GL_UNSIGNED_BYTE, nbuf->rect);
@@ -528,12 +528,12 @@ static void init_internal_icons(void)
                                        IMB_freeImBuf(b16buf);
                                        b16buf = nbuf;
                                }
-                               
+
                                glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
                                glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-                               
+
                                glBindTexture(GL_TEXTURE_2D, 0);
-                               
+
                                if (glGetError() == GL_OUT_OF_MEMORY) {
                                        glDeleteTextures(1, &icongltex.id);
                                        icongltex.id = 0;
@@ -546,7 +546,7 @@ static void init_internal_icons(void)
                icontype = ICON_TYPE_TEXTURE;
        else
                icontype = ICON_TYPE_BUFFER;
-       
+
        if (b32buf) {
                for (y = 0; y < ICON_GRID_ROWS; y++) {
                        for (x = 0; x < ICON_GRID_COLS; x++) {
@@ -559,13 +559,13 @@ static void init_internal_icons(void)
        }
 
        def_internal_vicon(VICO_SMALL_TRI_RIGHT_VEC, vicon_small_tri_right_draw);
-       
+
        def_internal_vicon(VICO_KEYTYPE_KEYFRAME_VEC, vicon_keytype_keyframe_draw);
        def_internal_vicon(VICO_KEYTYPE_BREAKDOWN_VEC, vicon_keytype_breakdown_draw);
        def_internal_vicon(VICO_KEYTYPE_EXTREME_VEC, vicon_keytype_extreme_draw);
        def_internal_vicon(VICO_KEYTYPE_JITTER_VEC, vicon_keytype_jitter_draw);
        def_internal_vicon(VICO_KEYTYPE_MOVING_HOLD_VEC, vicon_keytype_moving_hold_draw);
-       
+
        def_internal_vicon(VICO_COLORSET_01_VEC, vicon_colorset_draw_01);
        def_internal_vicon(VICO_COLORSET_02_VEC, vicon_colorset_draw_02);
        def_internal_vicon(VICO_COLORSET_03_VEC, vicon_colorset_draw_03);
@@ -589,7 +589,7 @@ static void init_internal_icons(void)
 
        IMB_freeImBuf(b16buf);
        IMB_freeImBuf(b32buf);
-       
+
 }
 #endif  /* WITH_HEADLESS */
 
@@ -605,13 +605,13 @@ static void init_iconfile_list(struct ListBase *list)
 
        if (icondir == NULL)
                return;
-       
+
        totfile = BLI_filelist_dir_contents(icondir, &dir);
 
        for (i = 0; i < totfile; i++) {
                if ((dir[i].type & S_IFREG)) {
                        const char *filename = dir[i].relname;
-                       
+
                        if (BLI_testextensie(filename, ".png")) {
                                /* loading all icons on file start is overkill & slows startup
                                 * its possible they change size after blender load anyway. */
@@ -633,7 +633,7 @@ static void init_iconfile_list(struct ListBase *list)
                                else {
                                        ifilex = ifiley = 0;
                                }
-                               
+
                                /* bad size or failed to load */
                                if ((ifilex != ICON_IMAGE_W) || (ifiley != ICON_IMAGE_H)) {
                                        printf("icon '%s' is wrong size %dx%d\n", iconfilestr, ifilex, ifiley);
@@ -643,12 +643,12 @@ static void init_iconfile_list(struct ListBase *list)
 
                                /* found a potential icon file, so make an entry for it in the cache list */
                                ifile = MEM_callocN(sizeof(IconFile), "IconFile");
-                               
+
                                BLI_strncpy(ifile->filename, filename, sizeof(ifile->filename));
                                ifile->index = index;
 
                                BLI_addtail(list, ifile);
-                               
+
                                index++;
                        }
                }
@@ -661,7 +661,7 @@ static void init_iconfile_list(struct ListBase *list)
 static void free_iconfile_list(struct ListBase *list)
 {
        IconFile *ifile = NULL, *next_ifile = NULL;
-       
+
        for (ifile = list->first; ifile; ifile = next_ifile) {
                next_ifile = ifile->next;
                BLI_freelinkN(list, ifile);
@@ -674,20 +674,20 @@ int UI_iconfile_get_index(const char *filename)
 {
        IconFile *ifile;
        ListBase *list = &(iconfilelist);
-       
+
        for (ifile = list->first; ifile; ifile = ifile->next) {
                if (BLI_path_cmp(filename, ifile->filename) == 0) {
                        return ifile->index;
                }
        }
-       
+
        return 0;
 }
 
 ListBase *UI_iconfile_list(void)
 {
        ListBase *list = &(iconfilelist);
-       
+
        return list;
 }
 
@@ -739,13 +739,13 @@ int UI_icon_get_width(int icon_id)
        DrawInfo *di = NULL;
 
        icon = BKE_icon_get(icon_id);
-       
+
        if (icon == NULL) {
                if (G.debug & G_DEBUG)
                        printf("%s: Internal error, no icon for icon ID: %d\n", __func__, icon_id);
                return 0;
        }
-       
+
        di = (DrawInfo *)icon->drawinfo;
        if (!di) {
                di = icon_create_drawinfo();
@@ -764,20 +764,20 @@ int UI_icon_get_height(int icon_id)
        DrawInfo *di = NULL;
 
        icon = BKE_icon_get(icon_id);
-       
+
        if (icon == NULL) {
                if (G.debug & G_DEBUG)
                        printf("%s: Internal error, no icon for icon ID: %d\n", __func__, icon_id);
                return 0;
        }
-       
+
        di = (DrawInfo *)icon->drawinfo;
 
        if (!di) {
                di = icon_create_drawinfo();
                icon->drawinfo = di;
        }
-       
+
        if (di)
                return ICON_DEFAULT_HEIGHT;
 
@@ -900,7 +900,7 @@ static void icon_set_image(
 PreviewImage *UI_icon_to_preview(int icon_id)
 {
        Icon *icon = BKE_icon_get(icon_id);
-       
+
        if (icon) {
                DrawInfo *di = (DrawInfo *)icon->drawinfo;
                if (di) {
@@ -1003,7 +1003,7 @@ static void icon_draw_rect(float x, float y, int w, int h, float UNUSED(aspect),
        /* restore color */
        if (alpha != 0.0f)
                glPixelTransferf(GL_ALPHA_SCALE, 1.0f);
-       
+
        if (rgb) {
                glPixelTransferf(GL_RED_SCALE, 1.0f);
                glPixelTransferf(GL_GREEN_SCALE, 1.0f);
@@ -1076,10 +1076,10 @@ static void icon_draw_size(
        IconImage *iimg;
        const float fdraw_size = (float)draw_size;
        int w, h;
-       
+
        icon = BKE_icon_get(icon_id);
        alpha *= btheme->tui.icon_alpha;
-       
+
        if (icon == NULL) {
                if (G.debug & G_DEBUG)
                        printf("%s: Internal error, no icon for icon ID: %d\n", __func__, icon_id);
@@ -1087,18 +1087,18 @@ static void icon_draw_size(
        }
 
        di = (DrawInfo *)icon->drawinfo;
-       
+
        if (!di) {
                di = icon_create_drawinfo();
-       
+
                icon->drawinfo = di;
                icon->drawinfo_free = UI_icons_free_drawinfo;
        }
-       
+
        /* scale width and height according to aspect */
        w = (int)(fdraw_size / aspect + 0.5f);
        h = (int)(fdraw_size / aspect + 0.5f);
-       
+
        if (di->type == ICON_TYPE_VECTOR) {
                /* vector icons use the uiBlock transformation, they are not drawn
                 * with untransformed coordinates like the other icons */
@@ -1129,7 +1129,7 @@ static void icon_draw_size(
                if (pi) {
                        /* no create icon on this level in code */
                        if (!pi->rect[size]) return;  /* something has gone wrong! */
-                       
+
                        /* preview images use premul alpha ... */
                        glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
 
@@ -1166,10 +1166,10 @@ static void ui_id_brush_render(const bContext *C, ID *id)
 {
        PreviewImage *pi = BKE_previewimg_id_ensure(id);
        enum eIconSizes i;
-       
+
        if (!pi)
                return;
-       
+
        for (i = 0; i < NUM_ICON_SIZES; i++) {
                /* check if rect needs to be created; changed
                 * only set by dynamic icons */
@@ -1237,7 +1237,7 @@ static int ui_id_brush_get_icon(const bContext *C, ID *id)
 int ui_id_icon_get(const bContext *C, ID *id, const bool big)
 {
        int iconid = 0;
-       
+
        /* icon */
        switch (GS(id->name)) {
                case ID_BR:
index d5e89357a9f54dfe62dda4efd553ead2ec84bbbb..9ae245fee215711a0b3aac652b0a96beb4bc5179 100644 (file)
@@ -73,19 +73,19 @@ typedef enum {
        UI_WTYPE_SLIDER,
        UI_WTYPE_EXEC,
        UI_WTYPE_TOOLTIP,
-       
+
        /* strings */
        UI_WTYPE_NAME,
        UI_WTYPE_NAME_LINK,
        UI_WTYPE_POINTER_LINK,
        UI_WTYPE_FILENAME,
-       
+
        /* menus */
        UI_WTYPE_MENU_RADIO,
        UI_WTYPE_MENU_ICON_RADIO,
        UI_WTYPE_MENU_POINTER_LINK,
        UI_WTYPE_MENU_NODE_LINK,
-       
+
        UI_WTYPE_PULLDOWN,
        UI_WTYPE_MENU_ITEM,
        UI_WTYPE_MENU_ITEM_RADIAL,
@@ -197,10 +197,10 @@ typedef struct {
        void **poin;        /* pointer to original pointer */
        void ***ppoin;      /* pointer to original pointer-array */
        short *totlink;     /* if pointer-array, here is the total */
-       
+
        short maxlink, pad;
        short fromcode, tocode;
-       
+
        ListBase lines;
 } uiLink;
 
@@ -255,7 +255,7 @@ struct uiBut {
 
        uiButCompleteFunc autocomplete_func;
        void *autofunc_arg;
-       
+
        uiButSearchCreateFunc search_create_func;
        uiButSearchFunc search_func;
        void *search_arg;
@@ -270,7 +270,7 @@ struct uiBut {
 
        uiLink *link;
        short linkto[2];  /* region relative coords */
-       
+
        const char *tip;
        uiButToolTipFunc tip_func;
        void *tip_argN;
@@ -314,7 +314,7 @@ struct uiBut {
        void *dragpoin;
        struct ImBuf *imb;
        float imb_scale;
-       
+
        /* active button data */
        struct uiHandleButtonData *active;
 
@@ -326,7 +326,7 @@ struct uiBut {
        float *editvec;
        void *editcoba;
        void *editcumap;
-       
+
        /* pointer back */
        uiBlock *block;
 };
@@ -369,9 +369,9 @@ struct uiBlock {
        struct uiLayout *curlayout;
 
        ListBase contexts;
-       
+
        char name[UI_MAX_NAME_STR];
-       
+
        float winmat[4][4];
 
        rctf rect;
@@ -391,10 +391,10 @@ struct uiBlock {
 
        uiBlockHandleFunc handle_func;
        void *handle_func_arg;
-       
+
        /* custom extra handling */
        int (*block_event_func)(const struct bContext *C, struct uiBlock *, const struct wmEvent *);
-       
+
        /* extra draw function for custom blocks */
        void (*drawextra)(const struct bContext *C, void *idv, void *arg1, void *arg2, rcti *rect);
        void *drawextra_arg1;
@@ -551,7 +551,7 @@ struct uiPopupBlockHandle {
        void (*popup_func)(struct bContext *C, void *arg, int event);
        void (*cancel_func)(struct bContext *C, void *arg);
        void *popup_arg;
-       
+
        /* store data for refreshing popups */
        struct uiPopupBlockCreate popup_create_vars;
        /* true if we can re-create the popup using 'popup_create_vars' */
@@ -567,7 +567,7 @@ struct uiPopupBlockHandle {
        ScrArea *ctx_area;
        ARegion *ctx_region;
        int opcontext;
-       
+
        /* return values */
        int butretval;
        int menuretval;
index ff752ddddbabc02d49fe3d7d96b537da6b4f4d22..2bdee577c74108f3717612ee665f8b1d9517685b 100644 (file)
@@ -299,7 +299,7 @@ static void ui_item_position(uiItem *item, int x, int y, int w, int h)
                bitem->but->rect.ymin = y;
                bitem->but->rect.xmax = x + w;
                bitem->but->rect.ymax = y + h;
-               
+
                ui_but_update(bitem->but); /* for strlen */
        }
        else {
@@ -319,7 +319,7 @@ static void ui_item_move(uiItem *item, int delta_xmin, int delta_xmax)
 
                bitem->but->rect.xmin += delta_xmin;
                bitem->but->rect.xmax += delta_xmax;
-               
+
                ui_but_update(bitem->but); /* for strlen */
        }
        else {
@@ -359,7 +359,7 @@ static uiLayout *ui_item_local_sublayout(uiLayout *test, uiLayout *layout, int a
                sub = uiLayoutRow(layout, align);
        else
                sub = uiLayoutColumn(layout, align);
-       
+
        sub->space = 0;
        return sub;
 }
@@ -429,9 +429,9 @@ static void ui_item_array(
 
                if (ptr->type == &RNA_Armature) {
                        bArmature *arm = (bArmature *)ptr->data;
-                       
+
                        layer_used = arm->layer_used;
-                       
+
                        if (arm->edbo) {
                                if (arm->act_edbone) {
                                        layer_active |= arm->act_edbone->layer;
@@ -450,7 +450,7 @@ static void ui_item_array(
                        for (a = 0; a < colbuts; a++) {
                                const int layer_num  = a + b * colbuts;
                                const unsigned int layer_flag = (1u << layer_num);
-                               
+
                                if (layer_used & layer_flag) {
                                        if (layer_active & layer_flag)
                                                icon = ICON_LAYER_ACTIVE;
@@ -468,7 +468,7 @@ static void ui_item_array(
                        for (a = 0; a < colbuts; a++) {
                                const int layer_num  = a + len / 2 + b * colbuts;
                                const unsigned int layer_flag = (1u << layer_num);
-                               
+
                                if (layer_used & layer_flag) {
                                        if (layer_active & layer_flag)
                                                icon = ICON_LAYER_ACTIVE;
@@ -496,7 +496,7 @@ static void ui_item_array(
 
                totdim = RNA_property_array_dimension(ptr, prop, dim_size);
                if (totdim != 2) return;    /* only 2D matrices supported in UI so far */
-               
+
                w /= dim_size[0];
                /* h /= dim_size[1]; */ /* UNUSED */
 
@@ -1402,7 +1402,7 @@ void uiItemFullR(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index
 
        if (icon == ICON_NONE)
                icon = RNA_property_ui_icon(prop);
-       
+
        if (flag & UI_ITEM_R_ICON_ONLY) {
                /* pass */
        }
@@ -1447,7 +1447,7 @@ void uiItemFullR(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index
 
        if (no_bg)
                UI_block_emboss_set(block, UI_EMBOSS_NONE);
-       
+
        /* array property */
        if (index == RNA_NO_INDEX && is_array)
                ui_item_array(layout, block, name, icon, ptr, prop, len, 0, 0, w, h, expand, slider, toggle, icon_only);
@@ -1467,7 +1467,7 @@ void uiItemFullR(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index
        else if (type == PROP_ENUM || type == PROP_STRING || type == PROP_POINTER) {
                but = ui_item_with_label(layout, block, name, icon, ptr, prop, index, 0, 0, w, h, flag);
                ui_but_add_search(but, ptr, prop, NULL, NULL);
-               
+
                if (layout->redalert)
                        UI_but_flag_enable(but, UI_BUT_REDALERT);
        }
@@ -1480,7 +1480,7 @@ void uiItemFullR(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index
 
                if (toggle && but->type == UI_BTYPE_CHECKBOX)
                        but->type = UI_BTYPE_TOGGLE;
-               
+
                if (layout->redalert)
                        UI_but_flag_enable(but, UI_BUT_REDALERT);
        }
@@ -1650,7 +1650,7 @@ static int sort_search_items_list(const void *a, const void *b)
 {
        const CollItemSearch *cis1 = a;
        const CollItemSearch *cis2 = b;
-       
+
        if (BLI_strcasecmp(cis1->name, cis2->name) > 0)
                return 1;
        else
@@ -1711,9 +1711,9 @@ static void rna_search_cb(const struct bContext *C, void *arg_but, const char *s
                i++;
        }
        RNA_PROP_END;
-       
+
        BLI_listbase_sort(items_list, sort_search_items_list);
-       
+
        /* add search items from temporary list */
        for (cis = items_list->first; cis; cis = cis->next) {
                if (false == UI_search_item_add(items, cis->name, SET_INT_IN_POINTER(cis->index), cis->iconid)) {
@@ -1800,7 +1800,7 @@ void uiItemPointerR(uiLayout *layout, struct PointerRNA *ptr, const char *propna
        StructRNA *icontype;
        int w, h;
        char namestr[UI_MAX_NAME_STR];
-       
+
        /* validate arguments */
        prop = RNA_struct_find_property(ptr, propname);
 
@@ -1809,7 +1809,7 @@ void uiItemPointerR(uiLayout *layout, struct PointerRNA *ptr, const char *propna
                            RNA_struct_identifier(ptr->type), propname);
                return;
        }
-       
+
        type = RNA_property_type(prop);
        if (!ELEM(type, PROP_POINTER, PROP_STRING, PROP_ENUM)) {
                RNA_warning("Property %s must be a pointer, string or enum", propname);
@@ -2214,7 +2214,7 @@ static void ui_litem_layout_row(uiLayout *litem)
 
        if (totw == 0)
                return;
-       
+
        if (w != 0)
                w -= (tot - 1) * litem->space;
        fixedw = 0;
@@ -2245,7 +2245,7 @@ static void ui_litem_layout_row(uiLayout *litem)
                        /* ignore min flag for rows with right or center alignment */
                        if (item->type != ITEM_BUTTON &&
                            ELEM(((uiLayout *)item)->alignment, UI_LAYOUT_ALIGN_RIGHT, UI_LAYOUT_ALIGN_CENTER) &&
-                           litem->alignment == UI_LAYOUT_ALIGN_EXPAND && 
+                           litem->alignment == UI_LAYOUT_ALIGN_EXPAND &&
                            ((uiItem *)litem)->flag & UI_ITEM_MIN)
                        {
                                min_flag = false;
@@ -2353,7 +2353,7 @@ static void ui_litem_estimate_column(uiLayout *litem, bool is_box)
                if (item->next && (!is_box || item != litem->items.first))
                        litem->h += litem->space;
        }
-       
+
        if (min_size_flag) {
                litem->item.flag |= UI_ITEM_MIN;
        }
@@ -2743,7 +2743,7 @@ static void ui_litem_layout_absolute(uiLayout *litem)
                scalex = (float)litem->w / (float)totw;
        if (litem->h && toth > 0)
                scaley = (float)litem->h / (float)toth;
-       
+
        x = litem->x;
        y = litem->y - scaley * toth;
 
@@ -2794,7 +2794,7 @@ static void ui_litem_layout_split(uiLayout *litem)
        y = litem->y;
 
        percentage = (split->percentage == 0.0f) ? 1.0f / (float)tot : split->percentage;
-       
+
        w = (litem->w - (tot - 1) * litem->space);
        colw = w * percentage;
        colw = MAX2(colw, 0);
@@ -3437,7 +3437,7 @@ uiLayout *UI_block_layout(uiBlock *block, int dir, int type, int x, int y, int s
        BLI_addtail(&block->layouts, root);
 
        ui_layout_add_padding_button(root);
-       
+
        return layout;
 }
 
@@ -3460,7 +3460,7 @@ void UI_block_layout_set_current(uiBlock *block, uiLayout *layout)
 void ui_layout_add_but(uiLayout *layout, uiBut *but)
 {
        uiButtonItem *bitem;
-       
+
        bitem = MEM_callocN(sizeof(uiButtonItem), "uiButtonItem");
        bitem->item.type = ITEM_BUTTON;
        bitem->but = but;
index 046bb114a6217290faa231c4781b8a3cf6763ac1..a8531fad477221642fb550c3fc0c2151b5ccdba5 100644 (file)
@@ -4,7 +4,7 @@
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. 
+ * of the License, or (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,7 +17,7 @@
  *
  * The Original Code is Copyright (C) 2009 Blender Foundation.
  * All rights reserved.
- * 
+ *
  * Contributor(s): Blender Foundation, Joshua Leung
  *
  * ***** END GPL LICENSE BLOCK *****
@@ -72,7 +72,7 @@ static int reset_default_theme_exec(bContext *C, wmOperator *UNUSED(op))
        ui_theme_init_default();
        ui_style_init_default();
        WM_event_add_notifier(C, NC_WINDOW, NULL);
-       
+
        return OPERATOR_FINISHED;
 }
 
@@ -82,10 +82,10 @@ static void UI_OT_reset_default_theme(wmOperatorType *ot)
        ot->name = "Reset to Default Theme";
        ot->idname = "UI_OT_reset_default_theme";
        ot->description = "Reset to the default theme colors";
-       
+
        /* callbacks */
        ot->exec = reset_default_theme_exec;
-       
+
        /* flags */
        ot->flag = OPTYPE_REGISTER;
 }
@@ -103,7 +103,7 @@ static int copy_data_path_button_poll(bContext *C)
 
        if (ptr.id.data && ptr.data && prop) {
                path = RNA_path_from_ID_to_property(&ptr, prop);
-               
+
                if (path) {
                        MEM_freeN(path);
                        return 1;
@@ -249,7 +249,7 @@ static int reset_default_button_poll(bContext *C)
        int index;
 
        UI_context_active_but_prop_get(C, &ptr, &prop, &index);
-       
+
        return (ptr.data && prop && RNA_property_editable(&ptr, prop));
 }
 
@@ -262,7 +262,7 @@ static int reset_default_button_exec(bContext *C, wmOperator *op)
 
        /* try to reset the nominated setting to its default value */
        UI_context_active_but_prop_get(C, &ptr, &prop, &index);
-       
+
        /* if there is a valid property that is editable... */
        if (ptr.data && prop && RNA_property_editable(&ptr, prop)) {
                if (RNA_property_reset(&ptr, prop, (all) ? -1 : index))
@@ -285,7 +285,7 @@ static void UI_OT_reset_default_button(wmOperatorType *ot)
 
        /* flags */
        ot->flag = OPTYPE_UNDO;
-       
+
        /* properties */
        RNA_def_boolean(ot->srna, "all", 1, "All", "Reset to default values all elements of the array");
 }
@@ -585,7 +585,7 @@ static void UI_OT_copy_to_selected_button(wmOperatorType *ot)
 
 /* Reports to Textblock Operator ------------------------ */
 
-/* FIXME: this is just a temporary operator so that we can see all the reports somewhere 
+/* FIXME: this is just a temporary operator so that we can see all the reports somewhere
  * when there are too many to display...
  */
 
@@ -600,10 +600,10 @@ static int reports_to_text_exec(bContext *C, wmOperator *UNUSED(op))
        Main *bmain = CTX_data_main(C);
        Text *txt;
        char *str;
-       
+
        /* create new text-block to write to */
        txt = BKE_text_add(bmain, "Recent Reports");
-       
+
        /* convert entire list to a display string, and add this to the text-block
         *      - if commandline debug option enabled, show debug reports too
         *      - otherwise, up to info (which is what users normally see)
@@ -628,7 +628,7 @@ static void UI_OT_reports_to_textblock(wmOperatorType *ot)
        ot->name = "Reports to Text Block";
        ot->idname = "UI_OT_reports_to_textblock";
        ot->description = "Write the reports ";
-       
+
        /* callbacks */
        ot->poll = reports_to_text_poll;
        ot->exec = reports_to_text_exec;
index d9685d7281b068db081a5219fd978b699bb3f172..2bb1fc9b1440571e28888fabb9f0425ccb2115e0 100644 (file)
@@ -29,7 +29,7 @@
 
 
 /* a full doc with API notes can be found in bf-blender/trunk/blender/doc/guides/interface_API.txt */
+
 #include <math.h>
 #include <stdlib.h>
 #include <string.h>
@@ -130,7 +130,7 @@ static int panel_aligned(ScrArea *sa, ARegion *ar)
                return BUT_VERTICAL;
        else if (ELEM(ar->regiontype, RGN_TYPE_UI, RGN_TYPE_TOOLS, RGN_TYPE_TOOL_PROPS))
                return BUT_VERTICAL;
-       
+
        return 0;
 }
 
@@ -171,7 +171,7 @@ static int panels_re_align(ScrArea *sa, ARegion *ar, Panel **r_pa)
                        return 1;
                }
        }
-       
+
        return 0;
 }
 
@@ -271,7 +271,7 @@ Panel *UI_panel_begin(ScrArea *sa, ARegion *ar, uiBlock *block, PanelType *pt, P
                        else
                                pa->flag |= PNL_CLOSEDX;
                }
-       
+
                pa->ofsx = 0;
                pa->ofsy = 0;
                pa->sizex = 0;
@@ -319,7 +319,7 @@ Panel *UI_panel_begin(ScrArea *sa, ARegion *ar, uiBlock *block, PanelType *pt, P
        for (palast = ar->panels.first; palast; palast = palast->next)
                if (palast->runtime_flag & PNL_LAST_ADDED)
                        break;
-       
+
        if (newpanel) {
                pa->sortorder = (palast) ? palast->sortorder + 1 : 0;
 
@@ -341,7 +341,7 @@ Panel *UI_panel_begin(ScrArea *sa, ARegion *ar, uiBlock *block, PanelType *pt, P
        if (pa->flag & PNL_CLOSED) return pa;
 
        *r_open = true;
-       
+
        return pa;
 }
 
@@ -397,7 +397,7 @@ static void ui_offset_panel_block(uiBlock *block)
 #if 0 /*UNUSED 2.5*/
 static void uiPanelPush(uiBlock *block)
 {
-       glPushMatrix(); 
+       glPushMatrix();
 
        if (block->panel)
                glTranslatef((float)block->panel->ofsx, (float)block->panel->ofsy, 0.0);
@@ -415,7 +415,7 @@ void UI_draw_icon_tri(float x, float y, char dir)
        float f3 = 0.15 * U.widget_unit;
        float f5 = 0.25 * U.widget_unit;
        float f7 = 0.35 * U.widget_unit;
-       
+
        if (dir == 'h') {
                ui_draw_anti_tria(x - f3, y - f5, x - f3, y + f5, x + f7, y);
        }
@@ -448,13 +448,13 @@ static void ui_draw_anti_x(float x1, float y1, float x2, float y2)
        glEnable(GL_BLEND);
 
        glLineWidth(2.0);
-       
+
        fdrawline(x1, y1, x2, y2);
        fdrawline(x1, y2, x2, y1);
-       
+
        glDisable(GL_LINE_SMOOTH);
        glDisable(GL_BLEND);
-       
+
 }
 
 /* x 'icon' for panel header */
@@ -471,20 +471,20 @@ static void ui_draw_panel_scalewidget(const rcti *rect)
 {
        float xmin, xmax, dx;
        float ymin, ymax, dy;
-       
+
        xmin = rect->xmax - PNL_HEADER + 2;
        xmax = rect->xmax - 3;
        ymin = rect->ymin + 3;
        ymax = rect->ymin + PNL_HEADER - 2;
-               
+
        dx = 0.5f * (xmax - xmin);
        dy = 0.5f * (ymax - ymin);
-       
+
        glEnable(GL_BLEND);
        glColor4ub(255, 255, 255, 50);
        fdrawline(xmin, ymin, xmax, ymax);
        fdrawline(xmin + dx, ymin, xmax, ymax - dy);
-       
+
        glColor4ub(0, 0, 0, 50);
        fdrawline(xmin, ymin + 1, xmax, ymax + 1);
        fdrawline(xmin + dx, ymin + 1, xmax, ymax - dy + 1);
@@ -540,11 +540,11 @@ static void ui_draw_aligned_panel_header(uiStyle *style, uiBlock *block, const r
                pnl_icons = (panel->labelofs + 2 * PNL_ICON + 5) / block->aspect + 0.001f;
        else
                pnl_icons = (panel->labelofs + PNL_ICON + 5) / block->aspect + 0.001f;
-       
+
        /* active tab */
        /* draw text label */
        UI_ThemeColor(TH_TITLE);
-       
+
        hrect = *rect;
        if (dir == 'h') {
                hrect.xmin = rect->xmin + pnl_icons;
@@ -552,7 +552,7 @@ static void ui_draw_aligned_panel_header(uiStyle *style, uiBlock *block, const r
                UI_fontstyle_draw(&style->paneltitle, &hrect, activename);
        }
        else {
-               /* ignore 'pnl_icons', otherwise the text gets offset horizontally 
+               /* ignore 'pnl_icons', otherwise the text gets offset horizontally
                 * + 0.001f to avoid flirting with float inaccuracy
                 */
                hrect.xmin = rect->xmin + (PNL_ICON + 5) / block->aspect + 0.001f;
@@ -753,7 +753,7 @@ typedef struct PanelSort {
 static int find_leftmost_panel(const void *a1, const void *a2)
 {
        const PanelSort *ps1 = a1, *ps2 = a2;
-       
+
        if (ps1->pa->ofsx > ps2->pa->ofsx) return 1;
        else if (ps1->pa->ofsx < ps2->pa->ofsx) return -1;
        else if (ps1->pa->sortorder > ps2->pa->sortorder) return 1;
@@ -766,7 +766,7 @@ static int find_leftmost_panel(const void *a1, const void *a2)
 static int find_highest_panel(const void *a1, const void *a2)
 {
        const PanelSort *ps1 = a1, *ps2 = a2;
-       
+
        /* stick uppermost header-less panels to the top of the region -
         * prevent them from being sorted (multiple header-less panels have to be sorted though) */
        if (ps1->pa->type->flag & PNL_NO_HEADER && ps2->pa->type->flag & PNL_NO_HEADER) {
@@ -779,17 +779,17 @@ static int find_highest_panel(const void *a1, const void *a2)
        else if (ps1->pa->ofsy + ps1->pa->sizey > ps2->pa->ofsy + ps2->pa->sizey) return -1;
        else if (ps1->pa->sortorder > ps2->pa->sortorder) return 1;
        else if (ps1->pa->sortorder < ps2->pa->sortorder) return -1;
-       
+
        return 0;
 }
 
 static int compare_panel(const void *a1, const void *a2)
 {
        const PanelSort *ps1 = a1, *ps2 = a2;
-       
+
        if (ps1->pa->sortorder > ps2->pa->sortorder) return 1;
        else if (ps1->pa->sortorder < ps2->pa->sortorder) return -1;
-       
+
        return 0;
 }
 
@@ -803,7 +803,7 @@ static bool uiAlignPanelStep(ScrArea *sa, ARegion *ar, const float fac, const bo
        bool done;
        int align = panel_aligned(sa, ar);
        bool has_category_tabs = UI_panel_category_is_visible(ar);
-       
+
        /* count active, not tabbed panels */
        for (pa = ar->panels.first; pa; pa = pa->next)
                if ((pa->runtime_flag & PNL_ACTIVE) && pa->paneltab == NULL)
@@ -823,7 +823,7 @@ static bool uiAlignPanelStep(ScrArea *sa, ARegion *ar, const float fac, const bo
 
        /* sort panels */
        panelsort = MEM_callocN(tot * sizeof(PanelSort), "panelsort");
-       
+
        ps = panelsort;
        for (pa = ar->panels.first; pa; pa = pa->next) {
                if ((pa->runtime_flag & PNL_ACTIVE) && pa->paneltab == NULL) {
@@ -832,7 +832,7 @@ static bool uiAlignPanelStep(ScrArea *sa, ARegion *ar, const float fac, const bo
                        ps++;
                }
        }
-       
+
        if (drag) {
                /* while we are dragging, we sort on location and update sortorder */
                if (align == BUT_VERTICAL)
@@ -846,7 +846,7 @@ static bool uiAlignPanelStep(ScrArea *sa, ARegion *ar, const float fac, const bo
        else
                /* otherwise use sortorder */
                qsort(panelsort, tot, sizeof(PanelSort), compare_panel);
-       
+
        /* no smart other default start loc! this keeps switching f5/f6/etc compatible */
        ps = panelsort;
        ps->pa->ofsx = 0;
@@ -870,7 +870,7 @@ static bool uiAlignPanelStep(ScrArea *sa, ARegion *ar, const float fac, const bo
                        psnext->pa->ofsy = ps->pa->ofsy + get_panel_size_y(ps->pa) - get_panel_size_y(psnext->pa);
                }
        }
-       
+
        /* we interpolate */
        done = false;
        ps = panelsort;
@@ -894,7 +894,7 @@ static bool uiAlignPanelStep(ScrArea *sa, ARegion *ar, const float fac, const bo
                MEM_freeN(ps->pa);
        }
        MEM_freeN(panelsort);
-       
+
        return done;
 }
 
@@ -928,7 +928,7 @@ static void ui_panels_size(ScrArea *sa, ARegion *ar, int *x, int *y)
                sizex = UI_PANEL_WIDTH;
        if (sizey == 0)
                sizey = -UI_PANEL_WIDTH;
-       
+
        *x = sizex;
        *y = sizey;
 }
@@ -977,7 +977,7 @@ void UI_panels_end(const bContext *C, ARegion *ar, int *x, int *y)
        ScrArea *sa = CTX_wm_area(C);
        uiBlock *block;
        Panel *panot, *panew, *patest, *pa, *firstpa;
-       
+
        /* offset contents */
        for (block = ar->uiblocks.first; block; block = block->next)
                if (block->active && block->panel)
@@ -1023,10 +1023,10 @@ void UI_panels_end(const bContext *C, ARegion *ar, int *x, int *y)
                if (block->active && block->panel)
                        if (!firstpa || block->panel->sortorder < firstpa->sortorder)
                                firstpa = block->panel;
-       
+
        if (firstpa)
                firstpa->runtime_flag |= PNL_FIRST;
-       
+
        /* compute size taken up by panel */
        ui_panels_size(sa, ar, x, y);
 }
@@ -1036,7 +1036,7 @@ void UI_panels_draw(const bContext *C, ARegion *ar)
        uiBlock *block;
 
        UI_ThemeClearColor(TH_BACK);
-       
+
        /* draw panels, selected on top */
        for (block = ar->uiblocks.first; block; block = block->next) {
                if (block->active && block->panel && !(block->panel->flag & PNL_SELECT)) {
@@ -1055,12 +1055,12 @@ void UI_panels_scale(ARegion *ar, float new_width)
 {
        uiBlock *block;
        uiBut *but;
-       
+
        for (block = ar->uiblocks.first; block; block = block->next) {
                if (block->panel) {
                        float fac = new_width / (float)block->panel->sizex;
                        block->panel->sizex = new_width;
-                       
+
                        for (but = block->buttons.first; but; but = but->next) {
                                but->rect.xmin *= fac;
                                but->rect.xmax *= fac;
@@ -1076,13 +1076,13 @@ static void check_panel_overlap(ARegion *ar, Panel *panel)
        Panel *pa;
 
        /* also called with (panel == NULL) for clear */
-       
+
        for (pa = ar->panels.first; pa; pa = pa->next) {
                pa->flag &= ~PNL_OVERLAP;
                if (panel && (pa != panel)) {
                        if (pa->paneltab == NULL && (pa->runtime_flag & PNL_ACTIVE)) {
                                float safex = 0.2, safey = 0.2;
-                               
+
                                if (pa->flag & PNL_CLOSEDX) safex = 0.05;
                                else if (pa->flag & PNL_CLOSEDY) safey = 0.05;
                                else if (panel->flag & PNL_CLOSEDX) safex = 0.05;
@@ -1106,7 +1106,7 @@ static void ui_do_drag(const bContext *C, const wmEvent *event, Panel *panel)
        ScrArea *sa = CTX_wm_area(C);
        ARegion *ar = CTX_wm_region(C);
        short align = panel_aligned(sa, ar), dx = 0, dy = 0;
-       
+
        /* first clip for window, no dragging outside */
        if (!BLI_rcti_isect_pt_v(&ar->winrct, &event->x))
                return;
@@ -1116,10 +1116,10 @@ static void ui_do_drag(const bContext *C, const wmEvent *event, Panel *panel)
 
        dx *= (float)BLI_rctf_size_x(&ar->v2d.cur) / (float)BLI_rcti_size_x(&ar->winrct);
        dy *= (float)BLI_rctf_size_y(&ar->v2d.cur) / (float)BLI_rcti_size_y(&ar->winrct);
-       
+
        if (data->state == PANEL_STATE_DRAG_SCALE) {
                panel->sizex = MAX2(data->startsizex + dx, UI_PANEL_MINX);
-               
+
                if (data->startsizey - dy < UI_PANEL_MINY)
                        dy = -UI_PANEL_MINY + data->startsizey;
 
@@ -1129,11 +1129,11 @@ static void ui_do_drag(const bContext *C, const wmEvent *event, Panel *panel)
        else {
                /* reset the panel snapping, to allow dragging away from snapped edges */
                panel->snap = PNL_SNAP_NONE;
-               
+
                panel->ofsx = data->startofsx + dx;
                panel->ofsy = data->startofsy + dy;
                check_panel_overlap(ar, panel);
-               
+
                if (align) uiAlignPanelStep(sa, ar, 0.2, true);
        }
 
@@ -1323,9 +1323,9 @@ static void ui_handle_panel_header(const bContext *C, uiBlock *block, int mx, in
        rect_leftmost = rect_pin.xmin;
 
        /* mouse coordinates in panel space! */
-       
+
        /* XXX weak code, currently it assumes layout style for location of widgets */
-       
+
        /* check open/collapsed button */
        if (event == RETKEY)
                button = 1;
@@ -1346,7 +1346,7 @@ static void ui_handle_panel_header(const bContext *C, uiBlock *block, int mx, in
        else if (mx < rect_leftmost) {
                button = 1;
        }
-       
+
        if (button) {
                if (button == 2) {  /* close */
                        ED_region_tag_redraw(ar);
@@ -1362,7 +1362,7 @@ static void ui_handle_panel_header(const bContext *C, uiBlock *block, int mx, in
                        if (block->panel->flag & PNL_CLOSED) {
                                block->panel->flag &= ~PNL_CLOSED;
                                /* snap back up so full panel aligns with screen edge */
-                               if (block->panel->snap & PNL_SNAP_BOTTOM) 
+                               if (block->panel->snap & PNL_SNAP_BOTTOM)
                                        block->panel->ofsy = 0;
 
                                if (event == LEFTMOUSE) {
@@ -1379,14 +1379,14 @@ static void ui_handle_panel_header(const bContext *C, uiBlock *block, int mx, in
                        else {
                                /* snap down to bottom screen edge */
                                block->panel->flag |= PNL_CLOSEDY;
-                               if (block->panel->snap & PNL_SNAP_BOTTOM) 
+                               if (block->panel->snap & PNL_SNAP_BOTTOM)
                                        block->panel->ofsy = -block->panel->sizey;
 
                                if (event == LEFTMOUSE) {
                                        ui_panel_drag_collapse_handler_add(C, true);
                                }
                        }
-                       
+
                        for (pa = ar->panels.first; pa; pa = pa->next) {
                                if (pa->paneltab == block->panel) {
                                        if (block->panel->flag & PNL_CLOSED) pa->flag |= PNL_CLOSED;
@@ -1945,27 +1945,27 @@ int ui_handler_panel_region(bContext *C, const wmEvent *event, ARegion *ar, cons
                /* XXX hardcoded key warning */
                if (ELEM(mouse_state, PANEL_MOUSE_INSIDE_CONTENT, PANEL_MOUSE_INSIDE_HEADER) && event->val == KM_PRESS) {
                        if (event->type == AKEY && ((event->ctrl + event->oskey + event->shift + event->alt) == 0)) {
-                               
+
                                if (pa->flag & PNL_CLOSEDY) {
                                        if ((block->rect.ymax <= my) && (block->rect.ymax + PNL_HEADER >= my))
                                                ui_handle_panel_header(C, block, mx, my, event->type, event->ctrl, event->shift);
                                }
                                else
                                        ui_handle_panel_header(C, block, mx, my, event->type, event->ctrl, event->shift);
-                               
+
                                retval = WM_UI_HANDLER_BREAK;
                                continue;
                        }
                }
-               
+
                /* on active button, do not handle panels */
                if (ui_but_is_active(ar))
                        continue;
-               
+
                if (ELEM(mouse_state, PANEL_MOUSE_INSIDE_CONTENT, PANEL_MOUSE_INSIDE_HEADER)) {
 
                        if (event->val == KM_PRESS) {
-                               
+
                                /* open close on header */
                                if (ELEM(event->type, RETKEY, PADENTER)) {
                                        if (mouse_state == PANEL_MOUSE_INSIDE_HEADER) {
@@ -1977,7 +1977,7 @@ int ui_handler_panel_region(bContext *C, const wmEvent *event, ARegion *ar, cons
                                else if (event->type == LEFTMOUSE) {
                                        /* all inside clicks should return in break - overlapping/float panels */
                                        retval = WM_UI_HANDLER_BREAK;
-                                       
+
                                        if (mouse_state == PANEL_MOUSE_INSIDE_HEADER) {
                                                ui_handle_panel_header(C, block, mx, my, event->type, event->ctrl, event->shift);
                                                retval = WM_UI_HANDLER_BREAK;
@@ -2010,7 +2010,7 @@ int ui_handler_panel_region(bContext *C, const wmEvent *event, ARegion *ar, cons
                                else if (event->type == PADPLUSKEY || event->type == PADMINUS) {
 #if 0 /* XXX make float panel exception? */
                                        int zoom = 0;
-                               
+
                                        /* if panel is closed, only zoom if mouse is over the header */
                                        if (pa->flag & (PNL_CLOSEDX | PNL_CLOSEDY)) {
                                                if (inside_header)
@@ -2093,7 +2093,7 @@ static void panel_activate_state(const bContext *C, Panel *pa, uiHandlePanelStat
        uiHandlePanelData *data = pa->activedata;
        wmWindow *win = CTX_wm_window(C);
        ARegion *ar = CTX_wm_region(C);
-       
+
        if (data && data->state == state)
                return;
 
index dd1d38bbe2e9fbb8f1485074b1606505a9c552ce..2c3d94214d1542bb667ffa33b2f04c7540f87d0c 100644 (file)
@@ -4,7 +4,7 @@
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. 
+ * of the License, or (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,7 +17,7 @@
  *
  * The Original Code is Copyright (C) 2008 Blender Foundation.
  * All rights reserved.
- * 
+ *
  * Contributor(s): Blender Foundation
  *
  * ***** END GPL LICENSE BLOCK *****
index 8b41302b5bb135a210279f698a003cd0220c7d07..e5f1a69d3b3f843b375b403193d82e543fd95c48 100644 (file)
@@ -4,7 +4,7 @@
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. 
+ * of the License, or (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,7 +17,7 @@
  *
  * The Original Code is Copyright (C) 2009 Blender Foundation.
  * All rights reserved.
- * 
+ *
  * Contributor(s): Blender Foundation
  *
  * ***** END GPL LICENSE BLOCK *****
 /* style + theme + layout-engine = UI */
 
 /**
- * This is a complete set of layout rules, the 'state' of the Layout 
- * Engine. Multiple styles are possible, defined via C or Python. Styles 
- * get a name, and will typically get activated per region type, like 
- * "Header", or "Listview" or "Toolbar". Properties of Style definitions 
+ * This is a complete set of layout rules, the 'state' of the Layout
+ * Engine. Multiple styles are possible, defined via C or Python. Styles
+ * get a name, and will typically get activated per region type, like
+ * "Header", or "Listview" or "Toolbar". Properties of Style definitions
  * are:
  *
  * - default column properties, internal spacing, aligning, min/max width
 static uiStyle *ui_style_new(ListBase *styles, const char *name, short uifont_id)
 {
        uiStyle *style = MEM_callocN(sizeof(uiStyle), "new style");
-       
+
        BLI_addtail(styles, style);
        BLI_strncpy(style->name, name, MAX_STYLE_NAME);
-       
+
        style->panelzoom = 1.0; /* unused */
 
        style->paneltitle.uifont_id = uifont_id;
@@ -129,14 +129,14 @@ static uiStyle *ui_style_new(ListBase *styles, const char *name, short uifont_id
        style->buttonspacey = 2;
        style->panelspace = 8;
        style->panelouter = 4;
-       
+
        return style;
 }
 
 static uiFont *uifont_to_blfont(int id)
 {
        uiFont *font = U.uifonts.first;
-       
+
        for (; font; font = font->next) {
                if (font->uifont_id == id) {
                        return font;
@@ -154,7 +154,7 @@ void UI_fontstyle_draw_ex(
 {
        int xofs = 0, yofs;
        int font_flag = BLF_CLIPPING;
-       
+
        UI_fontstyle_set(fs);
 
        /* set the flag */
@@ -192,7 +192,7 @@ void UI_fontstyle_draw_ex(
        else if (fs->align == UI_STYLE_TEXT_RIGHT) {
                xofs = BLI_rcti_size_x(rect) - BLF_width(fs->uifont_id, str, len) - 0.1f * U.widget_unit;
        }
-       
+
        /* clip is very strict, so we give it some space */
        BLF_clipping(fs->uifont_id, rect->xmin - 2, rect->ymin - 4, rect->xmax + 1, rect->ymax + 4);
        BLF_position(fs->uifont_id, rect->xmin + xofs, rect->ymin + yofs, 0.0f);
@@ -348,16 +348,16 @@ uiStyle *UI_style_get_dpi(void)
 {
        uiStyle *style = UI_style_get();
        static uiStyle _style;
-       
+
        _style = *style;
-       
+
        _style.paneltitle.shadx = (short)(UI_DPI_FAC * _style.paneltitle.shadx);
        _style.paneltitle.shady = (short)(UI_DPI_FAC * _style.paneltitle.shady);
        _style.grouplabel.shadx = (short)(UI_DPI_FAC * _style.grouplabel.shadx);
        _style.grouplabel.shady = (short)(UI_DPI_FAC * _style.grouplabel.shady);
        _style.widgetlabel.shadx = (short)(UI_DPI_FAC * _style.widgetlabel.shadx);
        _style.widgetlabel.shady = (short)(UI_DPI_FAC * _style.widgetlabel.shady);
-       
+
        _style.columnspace = (short)(UI_DPI_FAC * _style.columnspace);
        _style.templatespace = (short)(UI_DPI_FAC * _style.templatespace);
        _style.boxspace = (short)(UI_DPI_FAC * _style.boxspace);
@@ -365,23 +365,23 @@ uiStyle *UI_style_get_dpi(void)
        _style.buttonspacey = (short)(UI_DPI_FAC * _style.buttonspacey);
        _style.panelspace = (short)(UI_DPI_FAC * _style.panelspace);
        _style.panelouter = (short)(UI_DPI_FAC * _style.panelouter);
-       
+
        return &_style;
 }
 
 int UI_fontstyle_string_width(const uiFontStyle *fs, const char *str)
 {
        int width;
-       
+
        if (fs->kerning == 1) /* for BLF_width */
                BLF_enable(fs->uifont_id, BLF_KERNING_DEFAULT);
-       
+
        UI_fontstyle_set(fs);
        width = BLF_width(fs->uifont_id, str, BLF_DRAW_STR_DUMMY_MAX);
-       
+
        if (fs->kerning == 1)
                BLF_disable(fs->uifont_id, BLF_KERNING_DEFAULT);
-       
+
        return width;
 }
 
@@ -402,12 +402,12 @@ void uiStyleInit(void)
        uiStyle *style = U.uistyles.first;
        int monofont_size = datatoc_bmonofont_ttf_size;
        unsigned char *monofont_ttf = (unsigned char *)datatoc_bmonofont_ttf;
-       
+
        /* recover from uninitialized dpi */
        if (U.dpi == 0)
                U.dpi = 72;
        CLAMP(U.dpi, 48, 144);
-       
+
        for (font = U.uifonts.first; font; font = font->next) {
                BLF_unload_id(font->blf_id);
        }
@@ -438,9 +438,9 @@ void uiStyleInit(void)
                BLI_strncpy(font->filename, "default", sizeof(font->filename));
                font->uifont_id = UIFONT_DEFAULT;
        }
-       
+
        for (font = U.uifonts.first; font; font = font->next) {
-               
+
                if (font->uifont_id == UIFONT_DEFAULT) {
 #ifdef WITH_INTERNATIONAL
                        int font_size = datatoc_bfont_ttf_size;
@@ -492,11 +492,11 @@ void uiStyleInit(void)
                        BLF_size(font->blf_id, 14 * U.pixelsize, U.dpi);
                }
        }
-       
+
        if (style == NULL) {
                ui_style_new(&U.uistyles, "Default Style", UIFONT_DEFAULT);
        }
-       
+
 #ifdef WITH_INTERNATIONAL
        /* use unicode font for text editor and interactive console */
        if (U.transopts & USER_DOTRANSLATE) {
@@ -520,7 +520,7 @@ void uiStyleInit(void)
        }
 
        BLF_size(blf_mono_font, 12 * U.pixelsize, 72);
-       
+
        /**
         * Second for rendering else we get threading problems,
         *
@@ -536,7 +536,7 @@ void uiStyleInit(void)
 void UI_fontstyle_set(const uiFontStyle *fs)
 {
        uiFont *font = uifont_to_blfont(fs->uifont_id);
-       
+
        BLF_size(font->blf_id, fs->points * U.pixelsize, U.dpi);
 }
 
index 5431f2104415818a576321234276e84c19043add..574e1463857f9f28610acd411bfb4c0128072b2b 100644 (file)
@@ -252,7 +252,7 @@ static uiBlock *id_search_menu(bContext *C, ARegion *ar, void *arg_litem)
        search[0] = 0;
        /* arg_litem is malloced, can be freed by parent button */
        template_ui = *((TemplateID *)arg_litem);
-       
+
        /* get active id for showing first item */
        idptr = RNA_property_pointer_get(&template_ui.ptr, template_ui.prop);
 
@@ -267,15 +267,15 @@ static uiBlock *id_search_menu(bContext *C, ARegion *ar, void *arg_litem)
 
        block = UI_block_begin(C, ar, "_popup", UI_EMBOSS);
        UI_block_flag_enable(block, UI_BLOCK_LOOP | UI_BLOCK_SEARCH_MENU);
-       
+
        /* preview thumbnails */
        if (template_ui.prv_rows > 0 && template_ui.prv_cols > 0) {
                int w = 4 * U.widget_unit * template_ui.prv_cols;
                int h = 5 * U.widget_unit * template_ui.prv_rows;
-               
+
                /* fake button, it holds space for search items */
                uiDefBut(block, UI_BTYPE_LABEL, 0, "", 10, 26, w, h, NULL, 0, 0, 0, 0, NULL);
-               
+
                but = uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, sizeof(search), 10, 0, w, UI_UNIT_Y,
                                     template_ui.prv_rows, template_ui.prv_cols, "");
                UI_but_func_search_set(
@@ -286,7 +286,7 @@ static uiBlock *id_search_menu(bContext *C, ARegion *ar, void *arg_litem)
        else {
                const int searchbox_width  = UI_searchbox_size_x();
                const int searchbox_height = UI_searchbox_size_y();
-               
+
                /* fake button, it holds space for search items */
                uiDefBut(block, UI_BTYPE_LABEL, 0, "", 10, 15, searchbox_width, searchbox_height, NULL, 0, 0, 0, 0, NULL);
                but = uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, sizeof(search), 10, 0, searchbox_width, UI_UNIT_Y - 1, 0, 0, "");
@@ -294,16 +294,16 @@ static uiBlock *id_search_menu(bContext *C, ARegion *ar, void *arg_litem)
                        but, ui_searchbox_create_generic, id_search_cb_p,
                        &template_ui, id_search_call_cb, idptr.data);
        }
-               
-       
+
+
        UI_block_bounds_set_normal(block, 0.3f * U.widget_unit);
        UI_block_direction_set(block, UI_DIR_DOWN);
-       
+
        /* give search-field focus */
        UI_but_focus_on_enter_event(win, but);
        /* this type of search menu requires undo */
        but->flag |= UI_BUT_UNDO;
-       
+
        return block;
 }
 
@@ -348,7 +348,7 @@ static void template_id_cb(bContext *C, void *arg_litem, void *arg_event)
        PointerRNA idptr = RNA_property_pointer_get(&template_ui->ptr, template_ui->prop);
        ID *id = idptr.data;
        int event = GET_INT_FROM_POINTER(arg_event);
-       
+
        switch (event) {
                case UI_ID_BROWSE:
                case UI_ID_PIN:
@@ -504,7 +504,7 @@ static void template_ID(
 
                if ((idfrom && idfrom->lib) || !editable)
                        UI_but_flag_enable(but, UI_BUT_DISABLED);
-               
+
                uiLayoutRow(layout, true);
        }
        else if (flag & UI_ID_BROWSE) {
@@ -569,17 +569,17 @@ static void template_ID(
                                UI_but_flag_enable(but, UI_BUT_DISABLED);
                        }
                }
-       
+
                if (user_alert) UI_but_flag_enable(but, UI_BUT_REDALERT);
-               
+
                if (id->lib == NULL && !(ELEM(GS(id->name), ID_GR, ID_SCE, ID_SCR, ID_TXT, ID_OB))) {
                        uiDefButR(block, UI_BTYPE_TOGGLE, 0, "F", 0, 0, UI_UNIT_X, UI_UNIT_Y, &idptr, "use_fake_user", -1, 0, 0, -1, -1, NULL);
                }
        }
-       
+
        if (flag & UI_ID_ADD_NEW) {
                int w = id ? UI_UNIT_X : (flag & UI_ID_OPEN) ? UI_UNIT_X * 3 : UI_UNIT_X * 6;
-               
+
                /* i18n markup, does nothing! */
                BLT_I18N_MSGID_MULTI_CTXT("New", BLT_I18NCONTEXT_DEFAULT,
                                                 BLT_I18NCONTEXT_ID_SCENE,
@@ -607,7 +607,7 @@ static void template_ID(
                                                 BLT_I18NCONTEXT_ID_GPENCIL,
                                                 BLT_I18NCONTEXT_ID_FREESTYLELINESTYLE,
                );
-               
+
                if (newop) {
                        but = uiDefIconTextButO(block, UI_BTYPE_BUT, newop, WM_OP_INVOKE_DEFAULT, ICON_ZOOMIN,
                                                (id) ? "" : CTX_IFACE_(template_id_context(type), "New"), 0, 0, w, UI_UNIT_Y, NULL);
@@ -629,14 +629,14 @@ static void template_ID(
                but = uiDefIconButO(block, UI_BTYPE_BUT, "FILE_OT_unpack_item", WM_OP_INVOKE_REGION_WIN, ICON_PACKAGE, 0, 0,
                                    UI_UNIT_X, UI_UNIT_Y, TIP_("Packed File, click to unpack"));
                UI_but_operator_ptr_get(but);
-               
+
                RNA_string_set(but->opptr, "id_name", id->name + 2);
                RNA_int_set(but->opptr, "id_type", GS(id->name));
-               
+
        }
        else if (flag & UI_ID_OPEN) {
                int w = id ? UI_UNIT_X : (flag & UI_ID_ADD_NEW) ? UI_UNIT_X * 3 : UI_UNIT_X * 6;
-               
+
                if (openop) {
                        but = uiDefIconTextButO(block, UI_BTYPE_BUT, openop, WM_OP_INVOKE_DEFAULT, ICON_FILESEL, (id) ? "" : IFACE_("Open"),
                                                0, 0, w, UI_UNIT_Y, NULL);
@@ -651,7 +651,7 @@ static void template_ID(
                if ((idfrom && idfrom->lib) || !editable)
                        UI_but_flag_enable(but, UI_BUT_DISABLED);
        }
-       
+
        /* delete button */
        /* don't use RNA_property_is_unlink here */
        if (id && (flag & UI_ID_DELETE)) {
@@ -776,7 +776,7 @@ void uiTemplateAnyID(
 {
        PropertyRNA *propID, *propType;
        uiLayout *split, *row, *sub;
-       
+
        /* get properties... */
        propID = RNA_struct_find_property(ptr, propname);
        propType = RNA_struct_find_property(ptr, proptypename);
@@ -789,13 +789,13 @@ void uiTemplateAnyID(
                RNA_warning("pointer-type property not found: %s.%s", RNA_struct_identifier(ptr->type), proptypename);
                return;
        }
-       
+
        /* Start drawing UI Elements using standard defines */
        split = uiLayoutSplit(layout, 0.33f, false);  /* NOTE: split amount here needs to be synced with normal labels */
-       
+
        /* FIRST PART ................................................ */
        row = uiLayoutRow(split, false);
-       
+
        /* Label - either use the provided text, or will become "ID-Block:" */
        if (text) {
                if (text[0])
@@ -804,20 +804,20 @@ void uiTemplateAnyID(
        else {
                uiItemL(row, IFACE_("ID-Block:"), ICON_NONE);
        }
-       
+
        /* SECOND PART ................................................ */
        row = uiLayoutRow(split, true);
-       
+
        /* ID-Type Selector - just have a menu of icons */
        sub = uiLayoutRow(row, true);                     /* HACK: special group just for the enum, otherwise we */
        uiLayoutSetAlignment(sub, UI_LAYOUT_ALIGN_LEFT);  /*       we get ugly layout with text included too...  */
-       
+
        uiItemFullR(sub, ptr, propType, 0, 0, UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
-       
+
        /* ID-Block Selector - just use pointer widget... */
        sub = uiLayoutRow(row, true);                       /* HACK: special group to counteract the effects of the previous */
        uiLayoutSetAlignment(sub, UI_LAYOUT_ALIGN_EXPAND);  /*       enum, which now pushes everything too far right         */
-       
+
        uiItemFullR(sub, ptr, propID, 0, 0, 0, "", ICON_NONE);
 }
 
@@ -837,20 +837,20 @@ void uiTemplatePathBuilder(uiLayout *layout, PointerRNA *ptr, const char *propna
 {
        PropertyRNA *propPath;
        uiLayout *row;
-       
+
        /* check that properties are valid */
        propPath = RNA_struct_find_property(ptr, propname);
        if (!propPath || RNA_property_type(propPath) != PROP_STRING) {
                RNA_warning("path property not found: %s.%s", RNA_struct_identifier(ptr->type), propname);
                return;
        }
-       
+
        /* Start drawing UI Elements using standard defines */
        row = uiLayoutRow(layout, true);
-       
+
        /* Path (existing string) Widget */
        uiItemR(row, ptr, propname, 0, text, ICON_RNA);
-       
+
        /* TODO: attach something to this to make allow searching of nested properties to 'build' the path */
 }
 
@@ -868,7 +868,7 @@ static void modifiers_convertToReal(bContext *C, void *ob_v, void *md_v)
        nmd->mode &= ~eModifierMode_Virtual;
 
        BLI_addhead(&ob->modifiers, nmd);
-       
+
        modifier_unique_name(&ob->modifiers, nmd);
 
        ob->partype = PAROBJECT;
@@ -928,7 +928,7 @@ static uiLayout *draw_modifier(
 
        /* rounded header ------------------------------------------------------------------- */
        box = uiLayoutBox(column);
-       
+
        if (isVirtual) {
                row = uiLayoutRow(box, false);
                uiLayoutSetAlignment(row, UI_LAYOUT_ALIGN_EXPAND);
@@ -937,7 +937,7 @@ static uiLayout *draw_modifier(
                /* XXX this is not used now, since these cannot be accessed via RNA */
                BLI_snprintf(str, sizeof(str), IFACE_("%s parent deform"), md->name);
                uiDefBut(block, UI_BTYPE_LABEL, 0, str, 0, 0, 185, UI_UNIT_Y, NULL, 0.0, 0.0, 0.0, 0.0, TIP_("Modifier name"));
-               
+
                but = uiDefBut(block, UI_BTYPE_BUT, 0, IFACE_("Make Real"), 0, 0, 80, 16, NULL, 0.0, 0.0, 0.0, 0.0,
                               TIP_("Convert virtual modifier to a real modifier"));
                UI_but_func_set(but, modifiers_convertToReal, ob, md);
@@ -946,15 +946,15 @@ static uiLayout *draw_modifier(
                /* REAL MODIFIER */
                row = uiLayoutRow(box, false);
                block = uiLayoutGetBlock(row);
-               
+
                UI_block_emboss_set(block, UI_EMBOSS_NONE);
                /* Open/Close .................................  */
                uiItemR(row, &ptr, "show_expanded", 0, "", ICON_NONE);
-               
+
                /* modifier-type icon */
                uiItemL(row, "", RNA_struct_ui_icon(ptr.type));
                UI_block_emboss_set(block, UI_EMBOSS);
-               
+
                /* modifier name */
                md->scene = scene;
                if (mti->isDisabled && mti->isDisabled(md, 0)) {
@@ -962,7 +962,7 @@ static uiLayout *draw_modifier(
                }
                uiItemR(row, &ptr, "name", 0, "", ICON_NONE);
                uiLayoutSetRedAlert(row, false);
-               
+
                /* mode enabling buttons */
                UI_block_align_begin(block);
                /* Collision and Surface are always enabled, hide buttons! */
@@ -971,7 +971,7 @@ static uiLayout *draw_modifier(
                {
                        uiItemR(row, &ptr, "show_render", 0, "", ICON_NONE);
                        uiItemR(row, &ptr, "show_viewport", 0, "", ICON_NONE);
-                       
+
                        if (mti->flags & eModifierTypeFlag_SupportsEditmode) {
                                sub = uiLayoutRow(row, true);
                                if (!(md->mode & eModifierMode_Realtime)) {
@@ -1007,13 +1007,13 @@ static uiLayout *draw_modifier(
                }
 
                UI_block_align_end(block);
-               
+
                /* Up/Down + Delete ........................... */
                UI_block_align_begin(block);
                uiItemO(row, "", ICON_TRIA_UP, "OBJECT_OT_modifier_move_up");
                uiItemO(row, "", ICON_TRIA_DOWN, "OBJECT_OT_modifier_move_down");
                UI_block_align_end(block);
-               
+
                UI_block_emboss_set(block, UI_EMBOSS_NONE);
                /* When Modifier is a simulation, show button to switch to context rather than the delete button. */
                if (modifier_can_delete(md) &&
@@ -1031,20 +1031,20 @@ static uiLayout *draw_modifier(
                UI_block_emboss_set(block, UI_EMBOSS);
        }
 
-       
+
        /* modifier settings (under the header) --------------------------------------------------- */
        if (!isVirtual && (md->mode & eModifierMode_Expanded)) {
                /* apply/convert/copy */
                box = uiLayoutBox(column);
                row = uiLayoutRow(box, false);
-               
+
                if (!ELEM(md->type, eModifierType_Collision, eModifierType_Surface)) {
                        /* only here obdata, the rest of modifiers is ob level */
                        UI_block_lock_set(block, BKE_object_obdata_is_libdata(ob), ERROR_LIBDATA_MESSAGE);
-                       
+
                        if (md->type == eModifierType_ParticleSystem) {
                                ParticleSystem *psys = ((ParticleSystemModifierData *)md)->psys;
-                               
+
                                if (!(ob->mode & OB_MODE_PARTICLE_EDIT)) {
                                        if (ELEM(psys->part->ren_as, PART_DRAW_GR, PART_DRAW_OB))
                                                uiItemO(row, CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Convert"), ICON_NONE,
@@ -1058,17 +1058,17 @@ static uiLayout *draw_modifier(
                                uiLayoutSetOperatorContext(row, WM_OP_INVOKE_DEFAULT);
                                uiItemEnumO(row, "OBJECT_OT_modifier_apply", CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Apply"),
                                            0, "apply_as", MODIFIER_APPLY_DATA);
-                               
+
                                if (modifier_isSameTopology(md) && !modifier_isNonGeometrical(md)) {
                                        uiItemEnumO(row, "OBJECT_OT_modifier_apply",
                                                    CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Apply as Shape Key"),
                                                    0, "apply_as", MODIFIER_APPLY_SHAPE);
                                }
                        }
-                       
+
                        UI_block_lock_clear(block);
                        UI_block_lock_set(block, ob && ID_IS_LINKED(ob), ERROR_LIBDATA_MESSAGE);
-                       
+
                        if (!ELEM(md->type, eModifierType_Fluidsim, eModifierType_Softbody, eModifierType_ParticleSystem,
                                   eModifierType_Cloth, eModifierType_Smoke))
                        {
@@ -1076,19 +1076,19 @@ static uiLayout *draw_modifier(
                                        "OBJECT_OT_modifier_copy");
                        }
                }
-               
+
                /* result is the layout block inside the box, that we return so that modifier settings can be drawn */
                result = uiLayoutColumn(box, false);
                block = uiLayoutAbsoluteBlock(box);
        }
-       
+
        /* error messages */
        if (md->error) {
                box = uiLayoutBox(column);
                row = uiLayoutRow(box, false);
                uiItemL(row, md->error, ICON_ERROR);
        }
-       
+
        return result;
 }
 
@@ -1113,9 +1113,9 @@ uiLayout *uiTemplateModifier(uiLayout *layout, bContext *C, PointerRNA *ptr)
                RNA_warning("Expected modifier on object");
                return NULL;
        }
-       
+
        UI_block_lock_set(uiLayoutGetBlock(layout), (ob && ID_IS_LINKED(ob)), ERROR_LIBDATA_MESSAGE);
-       
+
        /* find modifier and draw it */
        cageIndex = modifiers_getCageIndex(scene, ob, &lastCageIndex, 0);
 
@@ -1168,7 +1168,7 @@ static void do_constraint_panels(bContext *C, void *ob_pt, int event)
         *
         * object_test_constraints(ob);
         * if (ob->pose) BKE_pose_update_constraint_flags(ob->pose); */
-       
+
        if (ob->type == OB_ARMATURE) DAG_id_tag_update(&ob->id, OB_RECALC_DATA | OB_RECALC_OB);
        else DAG_id_tag_update(&ob->id, OB_RECALC_OB);
 
@@ -1200,7 +1200,7 @@ static uiLayout *draw_constraint(uiLayout *layout, Object *ob, bConstraint *con)
        }
        else
                BLI_strncpy(typestr, IFACE_(cti->name), sizeof(typestr));
-               
+
        /* determine whether constraint is proxy protected or not */
        if (BKE_constraints_proxylocked_owner(ob, pchan))
                proxy_protected = (con->flag & CONSTRAINT_PROXY_LOCAL) == 0;
@@ -1234,34 +1234,34 @@ static uiLayout *draw_constraint(uiLayout *layout, Object *ob, bConstraint *con)
 
        if (con->flag & CONSTRAINT_DISABLE)
                uiLayoutSetRedAlert(row, true);
-       
+
        if (proxy_protected == 0) {
                uiItemR(row, &ptr, "name", 0, "", ICON_NONE);
        }
        else
                uiItemL(row, con->name, ICON_NONE);
-       
+
        uiLayoutSetRedAlert(row, false);
-       
+
        /* proxy-protected constraints cannot be edited, so hide up/down + close buttons */
        if (proxy_protected) {
                UI_block_emboss_set(block, UI_EMBOSS_NONE);
-               
+
                /* draw a ghost icon (for proxy) and also a lock beside it, to show that constraint is "proxy locked" */
                uiDefIconBut(block, UI_BTYPE_BUT, B_CONSTRAINT_TEST, ICON_GHOST, xco + 12.2f * UI_UNIT_X, yco, 0.95f * UI_UNIT_X, 0.95f * UI_UNIT_Y,
                             NULL, 0.0, 0.0, 0.0, 0.0, TIP_("Proxy Protected"));
                uiDefIconBut(block, UI_BTYPE_BUT, B_CONSTRAINT_TEST, ICON_LOCKED, xco + 13.1f * UI_UNIT_X, yco, 0.95f * UI_UNIT_X, 0.95f * UI_UNIT_Y,
                             NULL, 0.0, 0.0, 0.0, 0.0, TIP_("Proxy Protected"));
-               
+
                UI_block_emboss_set(block, UI_EMBOSS);
        }
        else {
                short prev_proxylock, show_upbut, show_downbut;
-               
-               /* Up/Down buttons: 
+
+               /* Up/Down buttons:
                 *      Proxy-constraints are not allowed to occur after local (non-proxy) constraints
                 *      as that poses problems when restoring them, so disable the "up" button where
-                *      it may cause this situation. 
+                *      it may cause this situation.
                 *
                 *  Up/Down buttons should only be shown (or not grayed - todo) if they serve some purpose.
                 */
@@ -1274,29 +1274,29 @@ static uiLayout *draw_constraint(uiLayout *layout, Object *ob, bConstraint *con)
                }
                else
                        prev_proxylock = 0;
-                       
+
                show_upbut = ((prev_proxylock == 0) && (con->prev));
                show_downbut = (con->next) ? 1 : 0;
-               
+
                /* enabled */
                UI_block_emboss_set(block, UI_EMBOSS_NONE);
                uiItemR(row, &ptr, "mute", 0, "",
                        (con->flag & CONSTRAINT_OFF) ? ICON_RESTRICT_VIEW_ON : ICON_RESTRICT_VIEW_OFF);
                UI_block_emboss_set(block, UI_EMBOSS);
-               
+
                uiLayoutSetOperatorContext(row, WM_OP_INVOKE_DEFAULT);
-               
+
                /* up/down */
                if (show_upbut || show_downbut) {
                        UI_block_align_begin(block);
                        if (show_upbut)
                                uiItemO(row, "", ICON_TRIA_UP, "CONSTRAINT_OT_move_up");
-                               
+
                        if (show_downbut)
                                uiItemO(row, "", ICON_TRIA_DOWN, "CONSTRAINT_OT_move_down");
                        UI_block_align_end(block);
                }
-               
+
                /* Close 'button' - emboss calls here disable drawing of 'button' behind X */
                UI_block_emboss_set(block, UI_EMBOSS_NONE);
                uiItemO(row, "", ICON_X, "CONSTRAINT_OT_delete");
@@ -1341,7 +1341,7 @@ uiLayout *uiTemplateConstraint(uiLayout *layout, PointerRNA *ptr)
                RNA_warning("Expected constraint on object");
                return NULL;
        }
-       
+
        UI_block_lock_set(uiLayoutGetBlock(layout), (ob && ID_IS_LINKED(ob)), ERROR_LIBDATA_MESSAGE);
 
        /* hrms, the temporal constraint should not draw! */
@@ -1460,7 +1460,7 @@ void uiTemplatePreview(
                if (GS(pid->name) == ID_MA || (pparent && GS(pparent->name) == ID_MA)) {
                        if (GS(pid->name) == ID_MA) ma = (Material *)pid;
                        else ma = (Material *)pparent;
-                       
+
                        /* Create RNA Pointer */
                        RNA_pointer_create(&ma->id, &RNA_Material, ma, &material_ptr);
 
@@ -1472,7 +1472,7 @@ void uiTemplatePreview(
                if (pr_texture) {
                        /* Create RNA Pointer */
                        RNA_pointer_create(id, &RNA_Texture, tex, &texture_ptr);
-                       
+
                        uiLayoutRow(layout, true);
                        uiDefButS(block, UI_BTYPE_ROW, B_MATPRV, IFACE_("Texture"),  0, 0, UI_UNIT_X * 10, UI_UNIT_Y,
                                  pr_texture, 10, TEX_PR_TEXTURE, 0, 0, "");
@@ -1494,7 +1494,7 @@ void uiTemplatePreview(
                        }
                        uiDefButS(block, UI_BTYPE_ROW, B_MATPRV, IFACE_("Both"),  0, 0, UI_UNIT_X * 10, UI_UNIT_Y,
                                  pr_texture, 10, TEX_PR_BOTH, 0, 0, "");
-                       
+
                        /* Alpha button for texture preview */
                        if (*pr_texture != TEX_PR_OTHER) {
                                row = uiLayoutRow(layout, false);
@@ -1776,7 +1776,7 @@ static uiBlock *ui_icon_view_menu_cb(bContext *C, ARegion *ar, void *arg_litem)
        if (free) {
                MEM_freeN((void *)item);
        }
-       
+
        return block;
 }
 
@@ -1954,26 +1954,26 @@ static void curvemap_buttons_zoom_out(bContext *C, void *cumap_v, void *UNUSED(u
        if (BLI_rctf_size_x(&cumap->curr) < 20.0f * BLI_rctf_size_x(&cumap->clipr)) {
                d = d1 = 0.15f * BLI_rctf_size_x(&cumap->curr);
 
-               if (cumap->flag & CUMA_DO_CLIP) 
+               if (cumap->flag & CUMA_DO_CLIP)
                        if (cumap->curr.xmin - d < cumap->clipr.xmin)
                                d1 = cumap->curr.xmin - cumap->clipr.xmin;
                cumap->curr.xmin -= d1;
 
                d1 = d;
-               if (cumap->flag & CUMA_DO_CLIP) 
+               if (cumap->flag & CUMA_DO_CLIP)
                        if (cumap->curr.xmax + d > cumap->clipr.xmax)
                                d1 = -cumap->curr.xmax + cumap->clipr.xmax;
                cumap->curr.xmax += d1;
 
                d = d1 = 0.15f * BLI_rctf_size_y(&cumap->curr);
 
-               if (cumap->flag & CUMA_DO_CLIP) 
+               if (cumap->flag & CUMA_DO_CLIP)
                        if (cumap->curr.ymin - d < cumap->clipr.ymin)
                                d1 = cumap->curr.ymin - cumap->clipr.ymin;
                cumap->curr.ymin -= d1;
 
                d1 = d;
-               if (cumap->flag & CUMA_DO_CLIP) 
+               if (cumap->flag & CUMA_DO_CLIP)
                        if (cumap->curr.ymax + d > cumap->clipr.ymax)
                                d1 = -cumap->curr.ymax + cumap->clipr.ymax;
                cumap->curr.ymax += d1;
@@ -1987,7 +1987,7 @@ static void curvemap_buttons_setclip(bContext *UNUSED(C), void *cumap_v, void *U
        CurveMapping *cumap = cumap_v;
 
        curvemapping_changed(cumap, false);
-}      
+}
 
 static void curvemap_buttons_delete(bContext *C, void *cb_v, void *cumap_v)
 {
@@ -2160,15 +2160,15 @@ static void curvemap_buttons_reset(bContext *C, void *cb_v, void *cumap_v)
 {
        CurveMapping *cumap = cumap_v;
        int a;
-       
+
        cumap->preset = CURVE_PRESET_LINE;
        for (a = 0; a < CM_TOT; a++)
                curvemap_reset(cumap->cm + a, &cumap->clipr, cumap->preset, CURVEMAP_SLOPE_POSITIVE);
-       
+
        cumap->black[0] = cumap->black[1] = cumap->black[2] = 0.0f;
        cumap->white[0] = cumap->white[1] = cumap->white[2] = 1.0f;
        curvemapping_set_black_white(cumap, NULL, NULL);
-       
+
        curvemapping_changed(cumap, false);
 
        rna_update_cb(C, cb_v, NULL);
@@ -2238,7 +2238,7 @@ static void curvemap_buttons_layout(
                /* HSV */
                sub = uiLayoutRow(row, true);
                uiLayoutSetAlignment(sub, UI_LAYOUT_ALIGN_LEFT);
-               
+
                if (cumap->cm[0].curve) {
                        bt = uiDefButI(block, UI_BTYPE_ROW, 0, "H", 0, 0, dx, dx, &cumap->cur, 0.0, 0.0, 0.0, 0.0, "");
                        UI_but_func_set(bt, curvemap_buttons_redraw, NULL, NULL);
@@ -2254,7 +2254,7 @@ static void curvemap_buttons_layout(
        }
        else
                uiLayoutSetAlignment(row, UI_LAYOUT_ALIGN_RIGHT);
-       
+
        if (labeltype == 'h')
                bg = UI_GRAD_H;
 
@@ -2444,7 +2444,7 @@ void uiTemplateColorPicker(
        if (cubic)
                but->flag |= UI_BUT_COLOR_CUBIC;
 
-       
+
        if (value_slider) {
                switch (U.color_picker_type) {
                        case USER_CP_CIRCLE_HSL:
@@ -2543,7 +2543,7 @@ static void handle_layer_buttons(bContext *C, void *arg1, void *arg2)
 
        if (!shift) {
                tot = RNA_property_array_length(&but->rnapoin, but->rnaprop);
-               
+
                /* Normally clicking only selects one layer */
                RNA_property_boolean_set_index(&but->rnapoin, but->rnaprop, cur, true);
                for (i = 0; i < tot; ++i) {
@@ -2575,8 +2575,8 @@ void uiTemplateLayers(
                RNA_warning("layers property not found: %s.%s", RNA_struct_identifier(ptr->type), propname);
                return;
        }
-       
-       /* the number of layers determines the way we group them 
+
+       /* the number of layers determines the way we group them
         *      - we want 2 rows only (for now)
         *      - the number of columns (cols) is the total number of buttons per row
         *        the 'remainder' is added to this, as it will be ok to have first row slightly wider if need be
@@ -2596,12 +2596,12 @@ void uiTemplateLayers(
                if (RNA_property_array_length(used_ptr, used_prop) < layers)
                        used_prop = NULL;
        }
-       
+
        /* layers are laid out going across rows, with the columns being divided into groups */
-       
+
        for (group = 0; group < groups; group++) {
                uCol = uiLayoutColumn(layout, true);
-               
+
                for (row = 0; row < 2; row++) {
                        uiBlock *block;
                        uiBut *but;
@@ -2609,7 +2609,7 @@ void uiTemplateLayers(
                        uRow = uiLayoutRow(uCol, true);
                        block = uiLayoutGetBlock(uRow);
                        layer = groups * cols_per_group * row + cols_per_group * group;
-                       
+
                        /* add layers as toggle buts */
                        for (col = 0; (col < cols_per_group) && (layer < layers); col++, layer++) {
                                int icon = 0;
@@ -2619,7 +2619,7 @@ void uiTemplateLayers(
                                        icon = ICON_LAYER_ACTIVE;
                                else if (used_prop && RNA_property_boolean_get_index(used_ptr, used_prop, layer))
                                        icon = ICON_LAYER_USED;
-                               
+
                                but = uiDefAutoButR(block, ptr, prop, layer, "", icon, 0, 0, UI_UNIT_X / 2, UI_UNIT_Y / 2);
                                UI_but_func_set(but, handle_layer_buttons, but, SET_INT_IN_POINTER(layer));
                                but->type = UI_BTYPE_TOGGLE;
@@ -2644,8 +2644,8 @@ void uiTemplateGameStates(
                RNA_warning("states property not found: %s.%s", RNA_struct_identifier(ptr->type), propname);
                return;
        }
-       
-       /* the number of states determines the way we group them 
+
+       /* the number of states determines the way we group them
         *      - we want 2 rows only (for now)
         *      - the number of columns (cols) is the total number of buttons per row
         *        the 'remainder' is added to this, as it will be ok to have first row slightly wider if need be
@@ -2665,12 +2665,12 @@ void uiTemplateGameStates(
                if (RNA_property_array_length(used_ptr, used_prop) < states)
                        used_prop = NULL;
        }
-       
+
        /* layers are laid out going across rows, with the columns being divided into groups */
-       
+
        for (group = 0; group < groups; group++) {
                uCol = uiLayoutColumn(layout, true);
-               
+
                for (row = 0; row < 2; row++) {
                        uiBlock *block;
                        uiBut *but;
@@ -2678,7 +2678,7 @@ void uiTemplateGameStates(
                        uRow = uiLayoutRow(uCol, true);
                        block = uiLayoutGetBlock(uRow);
                        state = groups * cols_per_group * row + cols_per_group * group;
-                       
+
                        /* add layers as toggle buts */
                        for (col = 0; (col < cols_per_group) && (state < states); col++, state++) {
                                int icon = 0;
@@ -2688,7 +2688,7 @@ void uiTemplateGameStates(
                                        icon = ICON_LAYER_ACTIVE;
                                else if (used_prop && RNA_property_boolean_get_index(used_ptr, used_prop, state))
                                        icon = ICON_LAYER_USED;
-                               
+
                                but = uiDefIconButR_prop(block, UI_BTYPE_ICON_TOGGLE, 0, icon, 0, 0, UI_UNIT_X / 2, UI_UNIT_Y / 2, ptr, prop,
                                                         state, 0, 0, -1, -1, sca_state_name_get(ob, state));
                                UI_but_func_set(but, handle_layer_buttons, but, SET_INT_IN_POINTER(state));
@@ -3387,7 +3387,7 @@ void uiTemplateList(
 static void operator_call_cb(bContext *C, void *UNUSED(arg1), void *arg2)
 {
        wmOperatorType *ot = arg2;
-       
+
        if (ot)
                WM_operator_name_call_ptr(C, ot, WM_OP_INVOKE_DEFAULT, NULL);
 }
@@ -3436,10 +3436,10 @@ static void operator_search_cb(const bContext *C, void *UNUSED(arg), const char
                        if (WM_operator_poll((bContext *)C, ot)) {
                                char name[256];
                                int len = strlen(ot_ui_name);
-                               
+
                                /* display name for menu, can hold hotkey */
                                BLI_strncpy(name, ot_ui_name, sizeof(name));
-                               
+
                                /* check for hotkey */
                                if (len < sizeof(name) - 6) {
                                        if (WM_key_event_operator_string(
@@ -3449,7 +3449,7 @@ static void operator_search_cb(const bContext *C, void *UNUSED(arg), const char
                                                name[len] = UI_SEP_CHAR;
                                        }
                                }
-                               
+
                                if (false == UI_search_item_add(items, name, ot, 0))
                                        break;
                        }
@@ -3469,7 +3469,7 @@ void uiTemplateOperatorSearch(uiLayout *layout)
        uiBlock *block;
        uiBut *but;
        static char search[256] = "";
-               
+
        block = uiLayoutGetBlock(layout);
        UI_block_layout_set_current(block, layout);
 
@@ -3679,7 +3679,7 @@ void uiTemplateRunningJobs(uiLayout *layout, bContext *C)
        uiBlock *block;
        void *owner = NULL;
        int handle_event, icon = 0;
-       
+
        block = uiLayoutGetBlock(layout);
        UI_block_layout_set_current(block, layout);
 
@@ -3763,7 +3763,7 @@ void uiTemplateRunningJobs(uiLayout *layout,&nb