forked from bartvdbraak/blender
Cleanup: strip trailing space from interface files
This commit is contained in:
parent
103a31f712
commit
d886e32270
@ -85,7 +85,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* a full doc with API notes can be found in 'blender/doc/guides/interface_API.txt'
|
* a full doc with API notes can be found in 'blender/doc/guides/interface_API.txt'
|
||||||
*
|
*
|
||||||
* `uiBlahBlah()` external function.
|
* `uiBlahBlah()` external function.
|
||||||
* `ui_blah_blah()` internal function.
|
* `ui_blah_blah()` internal function.
|
||||||
*/
|
*/
|
||||||
@ -290,7 +290,7 @@ void ui_block_bounds_calc(uiBlock *block)
|
|||||||
{
|
{
|
||||||
uiBut *bt;
|
uiBut *bt;
|
||||||
int xof;
|
int xof;
|
||||||
|
|
||||||
if (BLI_listbase_is_empty(&block->buttons)) {
|
if (BLI_listbase_is_empty(&block->buttons)) {
|
||||||
if (block->panel) {
|
if (block->panel) {
|
||||||
block->rect.xmin = 0.0; block->rect.xmax = block->panel->sizex;
|
block->rect.xmin = 0.0; block->rect.xmax = block->panel->sizex;
|
||||||
@ -298,13 +298,13 @@ void ui_block_bounds_calc(uiBlock *block)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
||||||
BLI_rctf_init_minmax(&block->rect);
|
BLI_rctf_init_minmax(&block->rect);
|
||||||
|
|
||||||
for (bt = block->buttons.first; bt; bt = bt->next) {
|
for (bt = block->buttons.first; bt; bt = bt->next) {
|
||||||
BLI_rctf_union(&block->rect, &bt->rect);
|
BLI_rctf_union(&block->rect, &bt->rect);
|
||||||
}
|
}
|
||||||
|
|
||||||
block->rect.xmin -= block->bounds;
|
block->rect.xmin -= block->bounds;
|
||||||
block->rect.ymin -= block->bounds;
|
block->rect.ymin -= block->bounds;
|
||||||
block->rect.xmax += 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);
|
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;
|
bt = block->buttons.first;
|
||||||
if (bt && STREQLEN(bt->str, "ERROR", 5)) xof = 10;
|
if (bt && STREQLEN(bt->str, "ERROR", 5)) xof = 10;
|
||||||
else xof = 40;
|
else xof = 40;
|
||||||
@ -329,7 +329,7 @@ static void ui_block_bounds_calc_centered(wmWindow *window, uiBlock *block)
|
|||||||
int xmax, ymax;
|
int xmax, ymax;
|
||||||
int startx, starty;
|
int startx, starty;
|
||||||
int width, height;
|
int width, height;
|
||||||
|
|
||||||
/* note: this is used for the splash where window bounds event has not been
|
/* note: this is used for the splash where window bounds event has not been
|
||||||
* updated by ghost, get the window bounds from ghost directly */
|
* 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);
|
ymax = WM_window_pixels_y(window);
|
||||||
|
|
||||||
ui_block_bounds_calc(block);
|
ui_block_bounds_calc(block);
|
||||||
|
|
||||||
width = BLI_rctf_size_x(&block->rect);
|
width = BLI_rctf_size_x(&block->rect);
|
||||||
height = BLI_rctf_size_y(&block->rect);
|
height = BLI_rctf_size_y(&block->rect);
|
||||||
|
|
||||||
startx = (xmax * 0.5f) - (width * 0.5f);
|
startx = (xmax * 0.5f) - (width * 0.5f);
|
||||||
starty = (ymax * 0.5f) - (height * 0.5f);
|
starty = (ymax * 0.5f) - (height * 0.5f);
|
||||||
|
|
||||||
ui_block_translate(block, startx - block->rect.xmin, starty - block->rect.ymin);
|
ui_block_translate(block, startx - block->rect.xmin, starty - block->rect.ymin);
|
||||||
|
|
||||||
/* now recompute bounds and safety */
|
/* now recompute bounds and safety */
|
||||||
ui_block_bounds_calc(block);
|
ui_block_bounds_calc(block);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ui_block_bounds_calc_centered_pie(uiBlock *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 */
|
/* compute mouse position with user defined offset */
|
||||||
ui_block_bounds_calc(block);
|
ui_block_bounds_calc(block);
|
||||||
|
|
||||||
xmax = WM_window_pixels_x(window);
|
xmax = WM_window_pixels_x(window);
|
||||||
ymax = WM_window_pixels_y(window);
|
ymax = WM_window_pixels_y(window);
|
||||||
|
|
||||||
@ -436,7 +436,7 @@ void UI_block_bounds_set_normal(uiBlock *block, int addval)
|
|||||||
{
|
{
|
||||||
if (block == NULL)
|
if (block == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
block->bounds = addval;
|
block->bounds = addval;
|
||||||
block->bounds_type = UI_BLOCK_BOUNDS;
|
block->bounds_type = UI_BLOCK_BOUNDS;
|
||||||
}
|
}
|
||||||
@ -511,12 +511,12 @@ static void ui_draw_linkline(uiLinkLine *line, int highlightActiveLines, int das
|
|||||||
rcti rect;
|
rcti rect;
|
||||||
|
|
||||||
if (line->from == NULL || line->to == NULL) return;
|
if (line->from == NULL || line->to == NULL) return;
|
||||||
|
|
||||||
rect.xmin = BLI_rctf_cent_x(&line->from->rect);
|
rect.xmin = BLI_rctf_cent_x(&line->from->rect);
|
||||||
rect.ymin = BLI_rctf_cent_y(&line->from->rect);
|
rect.ymin = BLI_rctf_cent_y(&line->from->rect);
|
||||||
rect.xmax = BLI_rctf_cent_x(&line->to->rect);
|
rect.xmax = BLI_rctf_cent_x(&line->to->rect);
|
||||||
rect.ymax = BLI_rctf_cent_y(&line->to->rect);
|
rect.ymax = BLI_rctf_cent_y(&line->to->rect);
|
||||||
|
|
||||||
if (dashInactiveLines)
|
if (dashInactiveLines)
|
||||||
UI_ThemeColor(TH_GRID);
|
UI_ThemeColor(TH_GRID);
|
||||||
else if (line->flag & UI_SELECT)
|
else if (line->flag & UI_SELECT)
|
||||||
@ -629,12 +629,12 @@ static void ui_but_update_linklines(uiBlock *block, uiBut *oldbut, uiBut *newbut
|
|||||||
{
|
{
|
||||||
uiLinkLine *line;
|
uiLinkLine *line;
|
||||||
uiBut *but;
|
uiBut *but;
|
||||||
|
|
||||||
/* if active button is UI_BTYPE_LINK */
|
/* if active button is UI_BTYPE_LINK */
|
||||||
if (newbut->type == UI_BTYPE_LINK && newbut->link) {
|
if (newbut->type == UI_BTYPE_LINK && newbut->link) {
|
||||||
|
|
||||||
SWAP(uiLink *, oldbut->link, newbut->link);
|
SWAP(uiLink *, oldbut->link, newbut->link);
|
||||||
|
|
||||||
for (line = oldbut->link->lines.first; line; line = line->next) {
|
for (line = oldbut->link->lines.first; line; line = line->next) {
|
||||||
if (line->to == newbut)
|
if (line->to == newbut)
|
||||||
line->to = oldbut;
|
line->to = oldbut;
|
||||||
@ -642,7 +642,7 @@ static void ui_but_update_linklines(uiBlock *block, uiBut *oldbut, uiBut *newbut
|
|||||||
line->from = oldbut;
|
line->from = oldbut;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* check all other button links */
|
/* check all other button links */
|
||||||
for (but = block->buttons.first; but; but = but->next) {
|
for (but = block->buttons.first; but; but = but->next) {
|
||||||
if (but != newbut && but->type == UI_BTYPE_LINK && but->link) {
|
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;
|
uiBlock *oldblock;
|
||||||
uiBut *oldbut;
|
uiBut *oldbut;
|
||||||
bool activate = false, found = false, isactive = false;
|
bool activate = false, found = false, isactive = false;
|
||||||
|
|
||||||
oldblock = block->oldblock;
|
oldblock = block->oldblock;
|
||||||
if (!oldblock) {
|
if (!oldblock) {
|
||||||
activate = true;
|
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);
|
ui_but_free(C, but);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1038,27 +1038,27 @@ static bool ui_but_event_property_operator_string(
|
|||||||
"WM_OT_context_cycle_array",
|
"WM_OT_context_cycle_array",
|
||||||
"WM_OT_context_menu_enum",
|
"WM_OT_context_menu_enum",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
const size_t num_ops = sizeof(ctx_toggle_opnames) / sizeof(const char *);
|
const size_t num_ops = sizeof(ctx_toggle_opnames) / sizeof(const char *);
|
||||||
|
|
||||||
bool found = false;
|
bool found = false;
|
||||||
|
|
||||||
/* this version is only for finding hotkeys for properties (which get set via context using operators) */
|
/* this version is only for finding hotkeys for properties (which get set via context using operators) */
|
||||||
if (but->rnaprop) {
|
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...
|
* hotkeys for Editor / Scene settings...
|
||||||
*
|
*
|
||||||
* TODO: userpref settings?
|
* TODO: userpref settings?
|
||||||
*/
|
*/
|
||||||
// TODO: value (for enum stuff)?
|
// TODO: value (for enum stuff)?
|
||||||
char *data_path = NULL;
|
char *data_path = NULL;
|
||||||
|
|
||||||
if (but->rnapoin.id.data) {
|
if (but->rnapoin.id.data) {
|
||||||
ID *id = but->rnapoin.id.data;
|
ID *id = but->rnapoin.id.data;
|
||||||
|
|
||||||
if (GS(id->name) == ID_SCR) {
|
if (GS(id->name) == ID_SCR) {
|
||||||
/* screen/editor property
|
/* screen/editor property
|
||||||
* NOTE: in most cases, there is actually no info for backwards tracing
|
* 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
|
* 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)) {
|
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) {
|
else if (GS(id->name) == ID_SCE) {
|
||||||
if (RNA_struct_is_a(but->rnapoin.type, &RNA_ToolSettings)) {
|
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)
|
* NOTE: toolsettings is usually accessed directly (i.e. not through scene)
|
||||||
*/
|
*/
|
||||||
data_path = RNA_path_from_ID_to_property(&but->rnapoin, but->rnaprop);
|
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 {
|
else {
|
||||||
/* scene property */
|
/* scene property */
|
||||||
char *path = RNA_path_from_ID_to_property(&but->rnapoin, but->rnaprop);
|
char *path = RNA_path_from_ID_to_property(&but->rnapoin, but->rnaprop);
|
||||||
|
|
||||||
if (path) {
|
if (path) {
|
||||||
data_path = BLI_sprintfN("scene.%s", path);
|
data_path = BLI_sprintfN("scene.%s", path);
|
||||||
MEM_freeN(path);
|
MEM_freeN(path);
|
||||||
@ -1103,23 +1103,23 @@ static bool ui_but_event_property_operator_string(
|
|||||||
else {
|
else {
|
||||||
//puts("other id");
|
//puts("other id");
|
||||||
}
|
}
|
||||||
|
|
||||||
//printf("prop shortcut: '%s' (%s)\n", RNA_property_identifier(but->rnaprop), data_path);
|
//printf("prop shortcut: '%s' (%s)\n", RNA_property_identifier(but->rnaprop), data_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* we have a datapath! */
|
/* we have a datapath! */
|
||||||
if (data_path) {
|
if (data_path) {
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
/* create a property to host the "datapath" property we're sending to the operators */
|
/* create a property to host the "datapath" property we're sending to the operators */
|
||||||
IDProperty *prop_path;
|
IDProperty *prop_path;
|
||||||
IDProperty *prop_path_value;
|
IDProperty *prop_path_value;
|
||||||
|
|
||||||
IDPropertyTemplate val = {0};
|
IDPropertyTemplate val = {0};
|
||||||
prop_path = IDP_New(IDP_GROUP, &val, __func__);
|
prop_path = IDP_New(IDP_GROUP, &val, __func__);
|
||||||
prop_path_value = IDP_NewString(data_path, "data_path", strlen(data_path) + 1);
|
prop_path_value = IDP_NewString(data_path, "data_path", strlen(data_path) + 1);
|
||||||
IDP_AddToGroup(prop_path, prop_path_value);
|
IDP_AddToGroup(prop_path, prop_path_value);
|
||||||
|
|
||||||
/* check each until one works... */
|
/* check each until one works... */
|
||||||
for (i = 0; (i < num_ops) && (ctx_toggle_opnames[i]); i++) {
|
for (i = 0; (i < num_ops) && (ctx_toggle_opnames[i]); i++) {
|
||||||
if (WM_key_event_operator_string(
|
if (WM_key_event_operator_string(
|
||||||
@ -1130,14 +1130,14 @@ static bool ui_but_event_property_operator_string(
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* cleanup */
|
/* cleanup */
|
||||||
IDP_FreeProperty(prop_path);
|
IDP_FreeProperty(prop_path);
|
||||||
MEM_freeN(prop_path);
|
MEM_freeN(prop_path);
|
||||||
MEM_freeN(data_path);
|
MEM_freeN(data_path);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return found;
|
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) {
|
if (block->flag & UI_BLOCK_LOOP) {
|
||||||
ui_menu_block_set_keymaps(C, block);
|
ui_menu_block_set_keymaps(C, block);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* after keymaps! */
|
/* after keymaps! */
|
||||||
switch (block->bounds_type) {
|
switch (block->bounds_type) {
|
||||||
case UI_BLOCK_BOUNDS_NONE:
|
case UI_BLOCK_BOUNDS_NONE:
|
||||||
@ -1342,12 +1342,12 @@ void ui_fontscale(short *points, float aspect)
|
|||||||
{
|
{
|
||||||
if (aspect < 0.9f || aspect > 1.1f) {
|
if (aspect < 0.9f || aspect > 1.1f) {
|
||||||
float pointsf = *points;
|
float pointsf = *points;
|
||||||
|
|
||||||
/* for some reason scaling fonts goes too fast compared to widget size */
|
/* for some reason scaling fonts goes too fast compared to widget size */
|
||||||
/* XXX not true anymore? (ton) */
|
/* XXX not true anymore? (ton) */
|
||||||
//aspect = sqrt(aspect);
|
//aspect = sqrt(aspect);
|
||||||
pointsf /= aspect;
|
pointsf /= aspect;
|
||||||
|
|
||||||
if (aspect > 1.0f)
|
if (aspect > 1.0f)
|
||||||
*points = ceilf(pointsf);
|
*points = ceilf(pointsf);
|
||||||
else
|
else
|
||||||
@ -1373,7 +1373,7 @@ void UI_block_draw(const bContext *C, uiBlock *block)
|
|||||||
uiBut *but;
|
uiBut *but;
|
||||||
rcti rect;
|
rcti rect;
|
||||||
int multisample_enabled;
|
int multisample_enabled;
|
||||||
|
|
||||||
/* get menu region or area region */
|
/* get menu region or area region */
|
||||||
ar = CTX_wm_menu(C);
|
ar = CTX_wm_menu(C);
|
||||||
if (!ar)
|
if (!ar)
|
||||||
@ -1389,16 +1389,16 @@ void UI_block_draw(const bContext *C, uiBlock *block)
|
|||||||
|
|
||||||
/* we set this only once */
|
/* we set this only once */
|
||||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||||
|
|
||||||
/* scale fonts */
|
/* scale fonts */
|
||||||
ui_fontscale(&style.paneltitle.points, block->aspect);
|
ui_fontscale(&style.paneltitle.points, block->aspect);
|
||||||
ui_fontscale(&style.grouplabel.points, block->aspect);
|
ui_fontscale(&style.grouplabel.points, block->aspect);
|
||||||
ui_fontscale(&style.widgetlabel.points, block->aspect);
|
ui_fontscale(&style.widgetlabel.points, block->aspect);
|
||||||
ui_fontscale(&style.widget.points, block->aspect);
|
ui_fontscale(&style.widget.points, block->aspect);
|
||||||
|
|
||||||
/* scale block min/max to rect */
|
/* scale block min/max to rect */
|
||||||
ui_but_to_pixelrect(&rect, ar, block, NULL);
|
ui_but_to_pixelrect(&rect, ar, block, NULL);
|
||||||
|
|
||||||
/* pixel space for AA widgets */
|
/* pixel space for AA widgets */
|
||||||
glMatrixMode(GL_PROJECTION);
|
glMatrixMode(GL_PROJECTION);
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
@ -1407,7 +1407,7 @@ void UI_block_draw(const bContext *C, uiBlock *block)
|
|||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
|
|
||||||
wmOrtho2_region_pixelspace(ar);
|
wmOrtho2_region_pixelspace(ar);
|
||||||
|
|
||||||
/* back */
|
/* back */
|
||||||
if (block->flag & UI_BLOCK_RADIAL)
|
if (block->flag & UI_BLOCK_RADIAL)
|
||||||
ui_draw_pie_center(block);
|
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) {
|
for (but = block->buttons.first; but; but = but->next) {
|
||||||
if (!(but->flag & (UI_HIDDEN | UI_SCROLLED))) {
|
if (!(but->flag & (UI_HIDDEN | UI_SCROLLED))) {
|
||||||
ui_but_to_pixelrect(&rect, ar, block, but);
|
ui_but_to_pixelrect(&rect, ar, block, but);
|
||||||
|
|
||||||
/* XXX: figure out why invalid coordinates happen when closing render window */
|
/* XXX: figure out why invalid coordinates happen when closing render window */
|
||||||
/* and material preview is redrawn in main window (temp fix for bug #23848) */
|
/* and material preview is redrawn in main window (temp fix for bug #23848) */
|
||||||
if (rect.xmin < rect.xmax && rect.ymin < rect.ymax)
|
if (rect.xmin < rect.xmax && rect.ymin < rect.ymax)
|
||||||
ui_draw_but(C, ar, &style, but, &rect);
|
ui_draw_but(C, ar, &style, but, &rect);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* restore matrix */
|
/* restore matrix */
|
||||||
glMatrixMode(GL_PROJECTION);
|
glMatrixMode(GL_PROJECTION);
|
||||||
glPopMatrix();
|
glPopMatrix();
|
||||||
@ -1436,7 +1436,7 @@ void UI_block_draw(const bContext *C, uiBlock *block)
|
|||||||
|
|
||||||
if (multisample_enabled)
|
if (multisample_enabled)
|
||||||
glEnable(GL_MULTISAMPLE);
|
glEnable(GL_MULTISAMPLE);
|
||||||
|
|
||||||
ui_draw_links(block);
|
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)
|
static uiBut *ui_linkline_find_inlink(uiBlock *block, void *poin)
|
||||||
{
|
{
|
||||||
uiBut *but;
|
uiBut *but;
|
||||||
|
|
||||||
but = block->buttons.first;
|
but = block->buttons.first;
|
||||||
while (but) {
|
while (but) {
|
||||||
if (but->type == UI_BTYPE_INLINK) {
|
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)
|
static void ui_linkline_add(ListBase *listb, uiBut *but, uiBut *bt, short deactive)
|
||||||
{
|
{
|
||||||
uiLinkLine *line;
|
uiLinkLine *line;
|
||||||
|
|
||||||
line = MEM_callocN(sizeof(uiLinkLine), "linkline");
|
line = MEM_callocN(sizeof(uiLinkLine), "linkline");
|
||||||
BLI_addtail(listb, line);
|
BLI_addtail(listb, line);
|
||||||
line->from = but;
|
line->from = but;
|
||||||
@ -1557,12 +1557,12 @@ void UI_block_links_compose(uiBlock *block)
|
|||||||
uiLink *link;
|
uiLink *link;
|
||||||
void ***ppoin;
|
void ***ppoin;
|
||||||
int a;
|
int a;
|
||||||
|
|
||||||
but = block->buttons.first;
|
but = block->buttons.first;
|
||||||
while (but) {
|
while (but) {
|
||||||
if (but->type == UI_BTYPE_LINK) {
|
if (but->type == UI_BTYPE_LINK) {
|
||||||
link = but->link;
|
link = but->link;
|
||||||
|
|
||||||
/* for all pointers in the array */
|
/* for all pointers in the array */
|
||||||
if (link) {
|
if (link) {
|
||||||
if (link->ppoin) {
|
if (link->ppoin) {
|
||||||
@ -1620,14 +1620,14 @@ void ui_linkline_remove(uiLinkLine *line, uiBut *but)
|
|||||||
{
|
{
|
||||||
uiLink *link;
|
uiLink *link;
|
||||||
int a, b;
|
int a, b;
|
||||||
|
|
||||||
BLI_remlink(&but->link->lines, line);
|
BLI_remlink(&but->link->lines, line);
|
||||||
|
|
||||||
link = line->from->link;
|
link = line->from->link;
|
||||||
|
|
||||||
/* are there more pointers allowed? */
|
/* are there more pointers allowed? */
|
||||||
if (link->ppoin) {
|
if (link->ppoin) {
|
||||||
|
|
||||||
if (*(link->totlink) == 1) {
|
if (*(link->totlink) == 1) {
|
||||||
*(link->totlink) = 0;
|
*(link->totlink) = 0;
|
||||||
MEM_freeN(*(link->ppoin));
|
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)
|
if (but->pointype == UI_BUT_POIN_FLOAT && but->poin)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if (but->rnaprop && RNA_property_type(but->rnaprop) == PROP_FLOAT)
|
if (but->rnaprop && RNA_property_type(but->rnaprop) == PROP_FLOAT)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1787,7 +1787,7 @@ bool ui_but_is_unit(const uiBut *but)
|
|||||||
if (ui_but_is_unit_radians_ex(unit, unit_type))
|
if (ui_but_is_unit_radians_ex(unit, unit_type))
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* for now disable time unit conversion */
|
/* for now disable time unit conversion */
|
||||||
if (unit_type == PROP_UNIT_TIME)
|
if (unit_type == PROP_UNIT_TIME)
|
||||||
return false;
|
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 */
|
if (fval >= -0.00001f && fval <= 0.00001f) fval = 0.0f; /* prevent negative zero */
|
||||||
value = fval;
|
value = fval;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* then set value with possible edit override */
|
/* then set value with possible edit override */
|
||||||
if (but->editval)
|
if (but->editval)
|
||||||
value = *but->editval = value;
|
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;
|
UnitSettings *unit = but->block->unit;
|
||||||
int unit_type = UI_but_unit_type_get(but);
|
int unit_type = UI_but_unit_type_get(but);
|
||||||
char *orig_str;
|
char *orig_str;
|
||||||
|
|
||||||
orig_str = BLI_strdup(str);
|
orig_str = BLI_strdup(str);
|
||||||
|
|
||||||
bUnit_ToUnitAltName(str, maxlen, orig_str, unit->system, RNA_SUBTYPE_UNIT_VALUE(unit_type));
|
bUnit_ToUnitAltName(str, maxlen, orig_str, unit->system, RNA_SUBTYPE_UNIT_VALUE(unit_type));
|
||||||
|
|
||||||
MEM_freeN(orig_str);
|
MEM_freeN(orig_str);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2448,7 +2448,7 @@ bool ui_but_string_set(bContext *C, uiBut *but, const char *str)
|
|||||||
else {
|
else {
|
||||||
ptr = but->rnasearchpoin;
|
ptr = but->rnasearchpoin;
|
||||||
prop = but->rnasearchprop;
|
prop = but->rnasearchprop;
|
||||||
|
|
||||||
if (prop && RNA_property_collection_lookup_string(&ptr, prop, str, &rptr))
|
if (prop && RNA_property_collection_lookup_string(&ptr, prop, str, &rptr))
|
||||||
RNA_property_pointer_set(&but->rnapoin, but->rnaprop, 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->saferct);
|
||||||
BLI_freelistN(&block->color_pickers.list);
|
BLI_freelistN(&block->color_pickers.list);
|
||||||
|
|
||||||
MEM_freeN(block);
|
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)
|
void UI_blocklist_free(const bContext *C, ListBase *lb)
|
||||||
{
|
{
|
||||||
uiBlock *block;
|
uiBlock *block;
|
||||||
|
|
||||||
while ((block = BLI_pophead(lb))) {
|
while ((block = BLI_pophead(lb))) {
|
||||||
UI_block_free(C, block);
|
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) {
|
for (block = lb->first; block; block = nextblock) {
|
||||||
nextblock = block->next;
|
nextblock = block->next;
|
||||||
|
|
||||||
if (!block->handle) {
|
if (!block->handle) {
|
||||||
if (!block->active) {
|
if (!block->active) {
|
||||||
BLI_remlink(lb, block);
|
BLI_remlink(lb, block);
|
||||||
@ -2871,9 +2871,9 @@ void ui_but_update_ex(uiBut *but, const bool validate)
|
|||||||
/* if something changed in the button */
|
/* if something changed in the button */
|
||||||
double value = UI_BUT_VALUE_UNSET;
|
double value = UI_BUT_VALUE_UNSET;
|
||||||
// float okwidth; // UNUSED
|
// float okwidth; // UNUSED
|
||||||
|
|
||||||
ui_but_update_select_flag(but, &value);
|
ui_but_update_select_flag(but, &value);
|
||||||
|
|
||||||
/* only update soft range while not editing */
|
/* only update soft range while not editing */
|
||||||
if (!(but->editval || but->editstr || but->editvec)) {
|
if (!(but->editval || but->editstr || but->editvec)) {
|
||||||
if ((but->rnaprop != NULL) ||
|
if ((but->rnaprop != NULL) ||
|
||||||
@ -2902,7 +2902,7 @@ void ui_but_update_ex(uiBut *but, const bool validate)
|
|||||||
but->hardmin <= but->hardmax);
|
but->hardmin <= but->hardmax);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case UI_BTYPE_ICON_TOGGLE:
|
case UI_BTYPE_ICON_TOGGLE:
|
||||||
case UI_BTYPE_ICON_TOGGLE_N:
|
case UI_BTYPE_ICON_TOGGLE_N:
|
||||||
if (!but->rnaprop || (RNA_property_flag(but->rnaprop) & PROP_ICONS_CONSECUTIVE)) {
|
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;
|
else but->iconadd = 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* quiet warnings for unhandled types */
|
/* quiet warnings for unhandled types */
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* safety is 4 to enable small number buttons (like 'users') */
|
/* safety is 4 to enable small number buttons (like 'users') */
|
||||||
// okwidth = -4 + (BLI_rcti_size_x(&but->rect)); // UNUSED
|
// okwidth = -4 + (BLI_rcti_size_x(&but->rect)); // UNUSED
|
||||||
|
|
||||||
/* name: */
|
/* name: */
|
||||||
switch (but->type) {
|
switch (but->type) {
|
||||||
|
|
||||||
@ -3007,7 +3007,7 @@ void ui_but_update_ex(uiBut *but, const bool validate)
|
|||||||
else {
|
else {
|
||||||
BLI_strncpy(but->drawstr, but->str, UI_MAX_DRAW_STR);
|
BLI_strncpy(but->drawstr, but->str, UI_MAX_DRAW_STR);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case UI_BTYPE_TEXT:
|
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);
|
BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%s%s", but->str, str);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case UI_BTYPE_KEY_EVENT:
|
case UI_BTYPE_KEY_EVENT:
|
||||||
{
|
{
|
||||||
const char *str;
|
const char *str;
|
||||||
@ -3066,13 +3066,13 @@ void ui_but_update_ex(uiBut *but, const bool validate)
|
|||||||
default:
|
default:
|
||||||
BLI_strncpy(but->drawstr, but->str, UI_MAX_DRAW_STR);
|
BLI_strncpy(but->drawstr, but->str, UI_MAX_DRAW_STR);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if we are doing text editing, this will override the drawstr */
|
/* if we are doing text editing, this will override the drawstr */
|
||||||
if (but->editstr)
|
if (but->editstr)
|
||||||
but->drawstr[0] = '\0';
|
but->drawstr[0] = '\0';
|
||||||
|
|
||||||
/* text clipping moved to widget drawing code itself */
|
/* text clipping moved to widget drawing code itself */
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3155,7 +3155,7 @@ static uiBut *ui_def_but(
|
|||||||
int slen;
|
int slen;
|
||||||
|
|
||||||
BLI_assert(width >= 0 && height >= 0);
|
BLI_assert(width >= 0 && height >= 0);
|
||||||
|
|
||||||
/* we could do some more error checks here */
|
/* we could do some more error checks here */
|
||||||
if ((type & BUTTYPE) == UI_BTYPE_LABEL) {
|
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);
|
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;
|
but->funcN = block->funcN;
|
||||||
if (block->func_argN)
|
if (block->func_argN)
|
||||||
but->func_argN = MEM_dupallocN(block->func_argN);
|
but->func_argN = MEM_dupallocN(block->func_argN);
|
||||||
|
|
||||||
but->pos = -1; /* cursor invisible */
|
but->pos = -1; /* cursor invisible */
|
||||||
|
|
||||||
if (ELEM(but->type, UI_BTYPE_NUM, UI_BTYPE_NUM_SLIDER)) { /* add a space to name */
|
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);
|
BLI_addtail(&block->buttons, but);
|
||||||
|
|
||||||
if (block->curlayout)
|
if (block->curlayout)
|
||||||
ui_layout_add_but(block->curlayout, but);
|
ui_layout_add_but(block->curlayout, but);
|
||||||
|
|
||||||
@ -3552,7 +3552,7 @@ static uiBut *ui_def_but_rna(
|
|||||||
if (icon) {
|
if (icon) {
|
||||||
ui_def_but_icon(but, icon, UI_HAS_ICON);
|
ui_def_but_icon(but, icon, UI_HAS_ICON);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((type == UI_BTYPE_MENU) && (but->dt == UI_EMBOSS_PULLDOWN)) {
|
if ((type == UI_BTYPE_MENU) && (but->dt == UI_EMBOSS_PULLDOWN)) {
|
||||||
but->flag |= UI_BUT_ICON_SUBMENU;
|
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);
|
uiBut *but = ui_def_but(block, type, retval, str, x, y, width, height, poin, min, max, a1, a2, tip);
|
||||||
|
|
||||||
ui_but_update(but);
|
ui_but_update(but);
|
||||||
|
|
||||||
return but;
|
return but;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3671,7 +3671,7 @@ struct AutoComplete {
|
|||||||
AutoComplete *UI_autocomplete_begin(const char *startname, size_t maxlen)
|
AutoComplete *UI_autocomplete_begin(const char *startname, size_t maxlen)
|
||||||
{
|
{
|
||||||
AutoComplete *autocpl;
|
AutoComplete *autocpl;
|
||||||
|
|
||||||
autocpl = MEM_callocN(sizeof(AutoComplete), "AutoComplete");
|
autocpl = MEM_callocN(sizeof(AutoComplete), "AutoComplete");
|
||||||
autocpl->maxlen = maxlen;
|
autocpl->maxlen = maxlen;
|
||||||
autocpl->matches = 0;
|
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 UI_autocomplete_end(AutoComplete *autocpl, char *autoname)
|
||||||
{
|
{
|
||||||
int match = AUTOCOMPLETE_NO_MATCH;
|
int match = AUTOCOMPLETE_NO_MATCH;
|
||||||
if (autocpl->truncate[0]) {
|
if (autocpl->truncate[0]) {
|
||||||
if (autocpl->matches == 1) {
|
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)
|
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);
|
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 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);
|
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)
|
void UI_but_link_set(uiBut *but, void **poin, void ***ppoin, short *tot, int from, int to)
|
||||||
{
|
{
|
||||||
uiLink *link;
|
uiLink *link;
|
||||||
|
|
||||||
link = but->link = MEM_callocN(sizeof(uiLink), "new uilink");
|
link = but->link = MEM_callocN(sizeof(uiLink), "new uilink");
|
||||||
|
|
||||||
link->poin = poin;
|
link->poin = poin;
|
||||||
link->ppoin = ppoin;
|
link->ppoin = ppoin;
|
||||||
link->totlink = tot;
|
link->totlink = tot;
|
||||||
@ -3996,11 +3996,11 @@ int UI_blocklist_min_y_get(ListBase *lb)
|
|||||||
{
|
{
|
||||||
uiBlock *block;
|
uiBlock *block;
|
||||||
int min = 0;
|
int min = 0;
|
||||||
|
|
||||||
for (block = lb->first; block; block = block->next)
|
for (block = lb->first; block; block = block->next)
|
||||||
if (block == lb->first || block->rect.ymin < min)
|
if (block == lb->first || block->rect.ymin < min)
|
||||||
min = block->rect.ymin;
|
min = block->rect.ymin;
|
||||||
|
|
||||||
return min;
|
return min;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4019,7 +4019,7 @@ void UI_block_order_flip(uiBlock *block)
|
|||||||
return;
|
return;
|
||||||
else if (block->flag & UI_BLOCK_NO_FLIP)
|
else if (block->flag & UI_BLOCK_NO_FLIP)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for (but = block->buttons.first; but; but = but->next) {
|
for (but = block->buttons.first; but; but = but->next) {
|
||||||
if (but->drawflag & UI_BUT_ALIGN) return;
|
if (but->drawflag & UI_BUT_ALIGN) return;
|
||||||
if (but->rect.ymin < miny) miny = but->rect.ymin;
|
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 UI_but_unit_type_get(const uiBut *but)
|
||||||
{
|
{
|
||||||
int ownUnit = (int)but->unit_type;
|
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)
|
* 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 */
|
/* 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 *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);
|
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 */
|
/* XXX temp, old menu calls pass on icon arrow, which is now UI_BUT_ICON_SUBMENU flag */
|
||||||
if (icon != ICON_RIGHTARROW_THIN) {
|
if (icon != ICON_RIGHTARROW_THIN) {
|
||||||
ui_def_but_icon(but, icon, 0);
|
ui_def_but_icon(but, icon, 0);
|
||||||
@ -4342,7 +4342,7 @@ uiBut *uiDefIconTextBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg,
|
|||||||
|
|
||||||
but->block_create_func = func;
|
but->block_create_func = func;
|
||||||
ui_but_update(but);
|
ui_but_update(but);
|
||||||
|
|
||||||
return 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 *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);
|
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);
|
ui_def_but_icon(but, icon, UI_HAS_ICON);
|
||||||
|
|
||||||
but->drawflag |= UI_BUT_ICON_LEFT;
|
but->drawflag |= UI_BUT_ICON_LEFT;
|
||||||
|
|
||||||
but->block_create_func = func;
|
but->block_create_func = func;
|
||||||
ui_but_update(but);
|
ui_but_update(but);
|
||||||
|
|
||||||
return 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 *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);
|
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);
|
ui_def_but_icon(but, icon, UI_HAS_ICON);
|
||||||
|
|
||||||
but->drawflag |= UI_BUT_ICON_LEFT | UI_BUT_TEXT_LEFT;
|
but->drawflag |= UI_BUT_ICON_LEFT | UI_BUT_TEXT_LEFT;
|
||||||
|
|
||||||
ui_but_update(but);
|
ui_but_update(but);
|
||||||
|
|
||||||
return but;
|
return but;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4414,7 +4414,7 @@ void UI_but_func_search_set(
|
|||||||
but->search_create_func = search_create_func;
|
but->search_create_func = search_create_func;
|
||||||
but->search_func = search_func;
|
but->search_func = search_func;
|
||||||
but->search_arg = arg;
|
but->search_arg = arg;
|
||||||
|
|
||||||
if (bfunc) {
|
if (bfunc) {
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
if (but->func) {
|
if (but->func) {
|
||||||
@ -4424,7 +4424,7 @@ void UI_but_func_search_set(
|
|||||||
#endif
|
#endif
|
||||||
UI_but_func_set(but, bfunc, arg, active);
|
UI_but_func_set(but, bfunc, arg, active);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* search buttons show red-alert if item doesn't exist, not for menus */
|
/* search buttons show red-alert if item doesn't exist, not for menus */
|
||||||
if (0 == (but->block->flag & UI_BLOCK_LOOP)) {
|
if (0 == (but->block->flag & UI_BLOCK_LOOP)) {
|
||||||
/* skip empty buttons, not all buttons need input, we only show invalid */
|
/* 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)
|
void UI_but_focus_on_enter_event(wmWindow *win, uiBut *but)
|
||||||
{
|
{
|
||||||
wmEvent event;
|
wmEvent event;
|
||||||
|
|
||||||
wm_event_init_from_window(win, &event);
|
wm_event_init_from_window(win, &event);
|
||||||
|
|
||||||
event.type = EVT_BUT_OPEN;
|
event.type = EVT_BUT_OPEN;
|
||||||
event.val = KM_PRESS;
|
event.val = KM_PRESS;
|
||||||
event.customdata = but;
|
event.customdata = but;
|
||||||
event.customdatafree = false;
|
event.customdatafree = false;
|
||||||
|
|
||||||
wm_event_add(win, &event);
|
wm_event_add(win, &event);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4653,7 +4653,7 @@ void UI_but_string_info_get(bContext *C, uiBut *but, ...)
|
|||||||
PointerRNA *ptr = NULL;
|
PointerRNA *ptr = NULL;
|
||||||
PropertyRNA *prop = NULL;
|
PropertyRNA *prop = NULL;
|
||||||
int value = 0;
|
int value = 0;
|
||||||
|
|
||||||
/* get the enum property... */
|
/* get the enum property... */
|
||||||
if (but->rnaprop && RNA_property_type(but->rnaprop) == PROP_ENUM) {
|
if (but->rnaprop && RNA_property_type(but->rnaprop) == PROP_ENUM) {
|
||||||
/* enum property */
|
/* enum property */
|
||||||
@ -4664,8 +4664,8 @@ void UI_but_string_info_get(bContext *C, uiBut *but, ...)
|
|||||||
else if (but->optype) {
|
else if (but->optype) {
|
||||||
PointerRNA *opptr = UI_but_operator_ptr_get(but);
|
PointerRNA *opptr = UI_but_operator_ptr_get(but);
|
||||||
wmOperatorType *ot = but->optype;
|
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"
|
* fetch the tooltip of the selected value so that "Snap" and "Mirror"
|
||||||
* operator menus in the Anim Editors will show tooltips for the different
|
* operator menus in the Anim Editors will show tooltips for the different
|
||||||
* operations instead of the meaningless generic operator tooltip
|
* 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 */
|
/* get strings from matching enum item */
|
||||||
if (ptr && prop) {
|
if (ptr && prop) {
|
||||||
if (!item) {
|
if (!item) {
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
RNA_property_enum_items_gettexted(C, ptr, prop, &items, &totitems, &free_items);
|
RNA_property_enum_items_gettexted(C, ptr, prop, &items, &totitems, &free_items);
|
||||||
for (i = 0, item = items; i < totitems; i++, item++) {
|
for (i = 0, item = items; i < totitems; i++, item++) {
|
||||||
if (item->identifier[0] && item->value == value)
|
if (item->identifier[0] && item->value == value)
|
||||||
|
@ -487,7 +487,7 @@ static void ui_block_align_calc_but(uiBut *first, short nr)
|
|||||||
{
|
{
|
||||||
uiBut *prev, *but = NULL, *next;
|
uiBut *prev, *but = NULL, *next;
|
||||||
int flag = 0, cols = 0, rows = 0;
|
int flag = 0, cols = 0, rows = 0;
|
||||||
|
|
||||||
/* auto align */
|
/* auto align */
|
||||||
|
|
||||||
for (but = first; but && but->alignnr == nr; but = but->next) {
|
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 */
|
/* rows == 0: 1 row, cols == 0: 1 column */
|
||||||
|
|
||||||
/* note; how it uses 'flag' in loop below (either set it, or OR it) is confusing */
|
/* 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) {
|
for (but = first, prev = NULL; but && but->alignnr == nr; prev = but, but = but->next) {
|
||||||
next = but->next;
|
next = but->next;
|
||||||
@ -507,13 +507,13 @@ static void ui_block_align_calc_but(uiBut *first, short nr)
|
|||||||
|
|
||||||
/* clear old flag */
|
/* clear old flag */
|
||||||
but->drawflag &= ~UI_BUT_ALIGN;
|
but->drawflag &= ~UI_BUT_ALIGN;
|
||||||
|
|
||||||
if (flag == 0) { /* first case */
|
if (flag == 0) { /* first case */
|
||||||
if (next) {
|
if (next) {
|
||||||
if (buts_are_horiz(but, next)) {
|
if (buts_are_horiz(but, next)) {
|
||||||
if (rows == 0)
|
if (rows == 0)
|
||||||
flag = UI_BUT_ALIGN_RIGHT;
|
flag = UI_BUT_ALIGN_RIGHT;
|
||||||
else
|
else
|
||||||
flag = UI_BUT_ALIGN_DOWN | UI_BUT_ALIGN_RIGHT;
|
flag = UI_BUT_ALIGN_DOWN | UI_BUT_ALIGN_RIGHT;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -560,14 +560,14 @@ static void ui_block_align_calc_but(uiBut *first, short nr)
|
|||||||
flag |= UI_BUT_ALIGN_TOP;
|
flag |= UI_BUT_ALIGN_TOP;
|
||||||
}
|
}
|
||||||
else { /* next button switches to new row */
|
else { /* next button switches to new row */
|
||||||
|
|
||||||
if (prev && buts_are_horiz(prev, but))
|
if (prev && buts_are_horiz(prev, but))
|
||||||
flag |= UI_BUT_ALIGN_LEFT;
|
flag |= UI_BUT_ALIGN_LEFT;
|
||||||
else {
|
else {
|
||||||
flag &= ~UI_BUT_ALIGN_LEFT;
|
flag &= ~UI_BUT_ALIGN_LEFT;
|
||||||
flag |= UI_BUT_ALIGN_TOP;
|
flag |= UI_BUT_ALIGN_TOP;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((flag & UI_BUT_ALIGN_TOP) == 0) { /* still top row */
|
if ((flag & UI_BUT_ALIGN_TOP) == 0) { /* still top row */
|
||||||
if (prev) {
|
if (prev) {
|
||||||
if (next && buts_are_horiz(but, next))
|
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;
|
flag = UI_BUT_ALIGN_DOWN | UI_BUT_ALIGN_LEFT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
flag |= UI_BUT_ALIGN_DOWN;
|
flag |= UI_BUT_ALIGN_DOWN;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
flag |= UI_BUT_ALIGN_TOP;
|
flag |= UI_BUT_ALIGN_TOP;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
but->drawflag |= flag;
|
but->drawflag |= flag;
|
||||||
|
|
||||||
/* merge coordinates */
|
/* merge coordinates */
|
||||||
if (prev) {
|
if (prev) {
|
||||||
/* simple cases */
|
/* 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 */
|
/* the previous button is a single one in its row */
|
||||||
but->rect.ymax = (prev->rect.ymin + but->rect.ymax) / 2.0f;
|
but->rect.ymax = (prev->rect.ymin + but->rect.ymax) / 2.0f;
|
||||||
prev->rect.ymin = but->rect.ymax;
|
prev->rect.ymin = but->rect.ymax;
|
||||||
|
|
||||||
but->rect.xmin = prev->rect.xmin;
|
but->rect.xmin = prev->rect.xmin;
|
||||||
if (next && buts_are_horiz(but, next) == 0)
|
if (next && buts_are_horiz(but, next) == 0)
|
||||||
but->rect.xmax = prev->rect.xmax;
|
but->rect.xmax = prev->rect.xmax;
|
||||||
|
@ -71,26 +71,26 @@ void ui_but_anim_flag(uiBut *but, float cfra)
|
|||||||
FCurve *fcu;
|
FCurve *fcu;
|
||||||
bool driven;
|
bool driven;
|
||||||
bool special;
|
bool special;
|
||||||
|
|
||||||
but->flag &= ~(UI_BUT_ANIMATED | UI_BUT_ANIMATED_KEY | UI_BUT_DRIVEN);
|
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
|
/* NOTE: "special" is reserved for special F-Curves stored on the animation data
|
||||||
* itself (which are used to animate properties of the animation data).
|
* itself (which are used to animate properties of the animation data).
|
||||||
* We count those as "animated" too for now
|
* We count those as "animated" too for now
|
||||||
*/
|
*/
|
||||||
fcu = ui_but_get_fcurve(but, &adt, &act, &driven, &special);
|
fcu = ui_but_get_fcurve(but, &adt, &act, &driven, &special);
|
||||||
|
|
||||||
if (fcu) {
|
if (fcu) {
|
||||||
if (!driven) {
|
if (!driven) {
|
||||||
but->flag |= UI_BUT_ANIMATED;
|
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
|
* we need to correct the frame number to "look inside" the
|
||||||
* remapped action
|
* remapped action
|
||||||
*/
|
*/
|
||||||
if (adt)
|
if (adt)
|
||||||
cfra = BKE_nla_tweakedit_remap(adt, cfra, NLATIME_CONVERT_UNMAP);
|
cfra = BKE_nla_tweakedit_remap(adt, cfra, NLATIME_CONVERT_UNMAP);
|
||||||
|
|
||||||
if (fcurve_frame_has_keyframe(fcu, cfra, 0))
|
if (fcurve_frame_has_keyframe(fcu, cfra, 0))
|
||||||
but->flag |= UI_BUT_ANIMATED_KEY;
|
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;
|
FCurve *fcu;
|
||||||
ChannelDriver *driver;
|
ChannelDriver *driver;
|
||||||
bool driven, special;
|
bool driven, special;
|
||||||
|
|
||||||
fcu = ui_but_get_fcurve(but, NULL, NULL, &driven, &special);
|
fcu = ui_but_get_fcurve(but, NULL, NULL, &driven, &special);
|
||||||
|
|
||||||
if (fcu && driven) {
|
if (fcu && driven) {
|
||||||
driver = fcu->driver;
|
driver = fcu->driver;
|
||||||
|
|
||||||
@ -136,20 +136,20 @@ bool ui_but_anim_expression_set(uiBut *but, const char *str)
|
|||||||
|
|
||||||
if (fcu && driven) {
|
if (fcu && driven) {
|
||||||
driver = fcu->driver;
|
driver = fcu->driver;
|
||||||
|
|
||||||
if (driver && (driver->type == DRIVER_TYPE_PYTHON)) {
|
if (driver && (driver->type == DRIVER_TYPE_PYTHON)) {
|
||||||
BLI_strncpy_utf8(driver->expression, str, sizeof(driver->expression));
|
BLI_strncpy_utf8(driver->expression, str, sizeof(driver->expression));
|
||||||
|
|
||||||
/* tag driver as needing to be recompiled */
|
/* tag driver as needing to be recompiled */
|
||||||
driver->flag |= DRIVER_FLAG_RECOMPILE;
|
driver->flag |= DRIVER_FLAG_RECOMPILE;
|
||||||
|
|
||||||
/* clear invalid flags which may prevent this from working */
|
/* clear invalid flags which may prevent this from working */
|
||||||
driver->flag &= ~DRIVER_FLAG_INVALID;
|
driver->flag &= ~DRIVER_FLAG_INVALID;
|
||||||
fcu->flag &= ~FCURVE_DISABLED;
|
fcu->flag &= ~FCURVE_DISABLED;
|
||||||
|
|
||||||
/* this notifier should update the Graph Editor and trigger depsgraph refresh? */
|
/* this notifier should update the Graph Editor and trigger depsgraph refresh? */
|
||||||
WM_event_add_notifier(but->block->evil_C, NC_ANIMATION | ND_KEYFRAME, NULL);
|
WM_event_add_notifier(but->block->evil_C, NC_ANIMATION | ND_KEYFRAME, NULL);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -165,14 +165,14 @@ bool ui_but_anim_expression_create(uiBut *but, const char *str)
|
|||||||
FCurve *fcu;
|
FCurve *fcu;
|
||||||
char *path;
|
char *path;
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
|
|
||||||
/* button must have RNA-pointer to a numeric-capable property */
|
/* button must have RNA-pointer to a numeric-capable property */
|
||||||
if (ELEM(NULL, but->rnapoin.data, but->rnaprop)) {
|
if (ELEM(NULL, but->rnapoin.data, but->rnaprop)) {
|
||||||
if (G.debug & G_DEBUG)
|
if (G.debug & G_DEBUG)
|
||||||
printf("ERROR: create expression failed - button has no RNA info attached\n");
|
printf("ERROR: create expression failed - button has no RNA info attached\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (RNA_property_array_check(but->rnaprop) != 0) {
|
if (RNA_property_array_check(but->rnaprop) != 0) {
|
||||||
if (but->rnaindex == -1) {
|
if (but->rnaindex == -1) {
|
||||||
if (G.debug & G_DEBUG)
|
if (G.debug & G_DEBUG)
|
||||||
@ -180,7 +180,7 @@ bool ui_but_anim_expression_create(uiBut *but, const char *str)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* make sure we have animdata for this */
|
/* make sure we have animdata for this */
|
||||||
/* FIXME: until materials can be handled by depsgraph, don't allow drivers to be created for them */
|
/* FIXME: until materials can be handled by depsgraph, don't allow drivers to be created for them */
|
||||||
id = (ID *)but->rnapoin.id.data;
|
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);
|
printf("ERROR: create expression failed - invalid data-block for adding drivers (%p)\n", id);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* get path */
|
/* get path */
|
||||||
path = RNA_path_from_ID_to_property(&but->rnapoin, but->rnaprop);
|
path = RNA_path_from_ID_to_property(&but->rnapoin, but->rnaprop);
|
||||||
if (path == NULL) {
|
if (path == NULL) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* create driver */
|
/* create driver */
|
||||||
fcu = verify_driver_fcurve(id, path, but->rnaindex, 1);
|
fcu = verify_driver_fcurve(id, path, but->rnaindex, 1);
|
||||||
if (fcu) {
|
if (fcu) {
|
||||||
ChannelDriver *driver = fcu->driver;
|
ChannelDriver *driver = fcu->driver;
|
||||||
|
|
||||||
if (driver) {
|
if (driver) {
|
||||||
/* set type of driver */
|
/* set type of driver */
|
||||||
driver->type = DRIVER_TYPE_PYTHON;
|
driver->type = DRIVER_TYPE_PYTHON;
|
||||||
@ -216,9 +216,9 @@ bool ui_but_anim_expression_create(uiBut *but, const char *str)
|
|||||||
ok = true;
|
ok = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MEM_freeN(path);
|
MEM_freeN(path);
|
||||||
|
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -231,16 +231,16 @@ void ui_but_anim_autokey(bContext *C, uiBut *but, Scene *scene, float cfra)
|
|||||||
bool special;
|
bool special;
|
||||||
|
|
||||||
fcu = ui_but_get_fcurve(but, NULL, &action, &driven, &special);
|
fcu = ui_but_get_fcurve(but, NULL, &action, &driven, &special);
|
||||||
|
|
||||||
if (fcu == NULL)
|
if (fcu == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (special) {
|
if (special) {
|
||||||
/* NLA Strip property */
|
/* NLA Strip property */
|
||||||
if (IS_AUTOKEY_ON(scene)) {
|
if (IS_AUTOKEY_ON(scene)) {
|
||||||
ReportList *reports = CTX_wm_reports(C);
|
ReportList *reports = CTX_wm_reports(C);
|
||||||
ToolSettings *ts = scene->toolsettings;
|
ToolSettings *ts = scene->toolsettings;
|
||||||
|
|
||||||
insert_keyframe_direct(reports, but->rnapoin, but->rnaprop, fcu, cfra, ts->keyframe_type, 0);
|
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);
|
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)) {
|
if (IS_AUTOKEY_ON(scene)) {
|
||||||
ReportList *reports = CTX_wm_reports(C);
|
ReportList *reports = CTX_wm_reports(C);
|
||||||
ToolSettings *ts = scene->toolsettings;
|
ToolSettings *ts = scene->toolsettings;
|
||||||
|
|
||||||
insert_keyframe_direct(reports, but->rnapoin, but->rnaprop, fcu, cfra, ts->keyframe_type, INSERTKEY_DRIVER);
|
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);
|
WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_EDITED, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
id = but->rnapoin.id.data;
|
id = but->rnapoin.id.data;
|
||||||
|
|
||||||
/* TODO: this should probably respect the keyingset only option for anim */
|
/* TODO: this should probably respect the keyingset only option for anim */
|
||||||
if (autokeyframe_cfra_can_key(scene, id)) {
|
if (autokeyframe_cfra_can_key(scene, id)) {
|
||||||
ReportList *reports = CTX_wm_reports(C);
|
ReportList *reports = CTX_wm_reports(C);
|
||||||
ToolSettings *ts = scene->toolsettings;
|
ToolSettings *ts = scene->toolsettings;
|
||||||
short flag = ANIM_get_keyframing_flags(scene, 1);
|
short flag = ANIM_get_keyframing_flags(scene, 1);
|
||||||
|
|
||||||
fcu->flag &= ~FCURVE_SELECTED;
|
fcu->flag &= ~FCURVE_SELECTED;
|
||||||
|
|
||||||
/* Note: We use but->rnaindex instead of fcu->array_index,
|
/* Note: We use but->rnaindex instead of fcu->array_index,
|
||||||
* because a button may control all items of an array at once.
|
* because a button may control all items of an array at once.
|
||||||
* E.g., color wheels (see T42567). */
|
* E.g., color wheels (see T42567). */
|
||||||
BLI_assert((fcu->array_index == but->rnaindex) || (but->rnaindex == -1));
|
BLI_assert((fcu->array_index == but->rnaindex) || (but->rnaindex == -1));
|
||||||
insert_keyframe(reports, id, action, ((fcu->grp) ? (fcu->grp->name) : (NULL)),
|
insert_keyframe(reports, id, action, ((fcu->grp) ? (fcu->grp->name) : (NULL)),
|
||||||
fcu->rna_path, but->rnaindex, cfra, ts->keyframe_type, flag);
|
fcu->rna_path, but->rnaindex, cfra, ts->keyframe_type, flag);
|
||||||
|
|
||||||
WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_EDITED, NULL);
|
WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_EDITED, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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
|
* if this is undone, it's not that big a deal, only makes curves edges
|
||||||
* square for the */
|
* square for the */
|
||||||
roundboxtype = type;
|
roundboxtype = type;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int UI_draw_roundbox_corner_get(void)
|
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},
|
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}};
|
{0.831, 0.45}, {0.924, 0.617}, {0.98, 0.805}};
|
||||||
int a;
|
int a;
|
||||||
|
|
||||||
/* mult */
|
/* mult */
|
||||||
for (a = 0; a < 7; a++) {
|
for (a = 0; a < 7; a++) {
|
||||||
mul_v2_fl(vec[a], rad);
|
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 {
|
else {
|
||||||
glVertex2f(maxx, miny);
|
glVertex2f(maxx, miny);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* corner right-top */
|
/* corner right-top */
|
||||||
if (roundboxtype & UI_CNR_TOP_RIGHT) {
|
if (roundboxtype & UI_CNR_TOP_RIGHT) {
|
||||||
glVertex2f(maxx, maxy - rad);
|
glVertex2f(maxx, maxy - rad);
|
||||||
@ -115,7 +115,7 @@ void UI_draw_roundbox_gl_mode(int mode, float minx, float miny, float maxx, floa
|
|||||||
else {
|
else {
|
||||||
glVertex2f(maxx, maxy);
|
glVertex2f(maxx, maxy);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* corner left-top */
|
/* corner left-top */
|
||||||
if (roundboxtype & UI_CNR_TOP_LEFT) {
|
if (roundboxtype & UI_CNR_TOP_LEFT) {
|
||||||
glVertex2f(minx + rad, maxy);
|
glVertex2f(minx + rad, maxy);
|
||||||
@ -127,7 +127,7 @@ void UI_draw_roundbox_gl_mode(int mode, float minx, float miny, float maxx, floa
|
|||||||
else {
|
else {
|
||||||
glVertex2f(minx, maxy);
|
glVertex2f(minx, maxy);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* corner left-bottom */
|
/* corner left-bottom */
|
||||||
if (roundboxtype & UI_CNR_BOTTOM_LEFT) {
|
if (roundboxtype & UI_CNR_BOTTOM_LEFT) {
|
||||||
glVertex2f(minx, miny + rad);
|
glVertex2f(minx, miny + rad);
|
||||||
@ -139,7 +139,7 @@ void UI_draw_roundbox_gl_mode(int mode, float minx, float miny, float maxx, floa
|
|||||||
else {
|
else {
|
||||||
glVertex2f(minx, miny);
|
glVertex2f(minx, miny);
|
||||||
}
|
}
|
||||||
|
|
||||||
glEnd();
|
glEnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -165,7 +165,7 @@ void UI_draw_roundbox_shade_x(
|
|||||||
const float idiv = 1.0f / div;
|
const float idiv = 1.0f / div;
|
||||||
float coltop[3], coldown[3], color[4];
|
float coltop[3], coldown[3], color[4];
|
||||||
int a;
|
int a;
|
||||||
|
|
||||||
/* mult */
|
/* mult */
|
||||||
for (a = 0; a < 7; a++) {
|
for (a = 0; a < 7; a++) {
|
||||||
mul_v2_fl(vec[a], rad);
|
mul_v2_fl(vec[a], rad);
|
||||||
@ -185,15 +185,15 @@ void UI_draw_roundbox_shade_x(
|
|||||||
|
|
||||||
/* start with corner right-bottom */
|
/* start with corner right-bottom */
|
||||||
if (roundboxtype & UI_CNR_BOTTOM_RIGHT) {
|
if (roundboxtype & UI_CNR_BOTTOM_RIGHT) {
|
||||||
|
|
||||||
round_box_shade_col(coltop, coldown, 0.0);
|
round_box_shade_col(coltop, coldown, 0.0);
|
||||||
glVertex2f(maxx - rad, miny);
|
glVertex2f(maxx - rad, miny);
|
||||||
|
|
||||||
for (a = 0; a < 7; a++) {
|
for (a = 0; a < 7; a++) {
|
||||||
round_box_shade_col(coltop, coldown, vec[a][1] * idiv);
|
round_box_shade_col(coltop, coldown, vec[a][1] * idiv);
|
||||||
glVertex2f(maxx - rad + vec[a][0], miny + vec[a][1]);
|
glVertex2f(maxx - rad + vec[a][0], miny + vec[a][1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
round_box_shade_col(coltop, coldown, rad * idiv);
|
round_box_shade_col(coltop, coldown, rad * idiv);
|
||||||
glVertex2f(maxx, miny + rad);
|
glVertex2f(maxx, miny + rad);
|
||||||
}
|
}
|
||||||
@ -201,13 +201,13 @@ void UI_draw_roundbox_shade_x(
|
|||||||
round_box_shade_col(coltop, coldown, 0.0);
|
round_box_shade_col(coltop, coldown, 0.0);
|
||||||
glVertex2f(maxx, miny);
|
glVertex2f(maxx, miny);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* corner right-top */
|
/* corner right-top */
|
||||||
if (roundboxtype & UI_CNR_TOP_RIGHT) {
|
if (roundboxtype & UI_CNR_TOP_RIGHT) {
|
||||||
|
|
||||||
round_box_shade_col(coltop, coldown, (div - rad) * idiv);
|
round_box_shade_col(coltop, coldown, (div - rad) * idiv);
|
||||||
glVertex2f(maxx, maxy - rad);
|
glVertex2f(maxx, maxy - rad);
|
||||||
|
|
||||||
for (a = 0; a < 7; a++) {
|
for (a = 0; a < 7; a++) {
|
||||||
round_box_shade_col(coltop, coldown, (div - rad + vec[a][1]) * idiv);
|
round_box_shade_col(coltop, coldown, (div - rad + vec[a][1]) * idiv);
|
||||||
glVertex2f(maxx - vec[a][1], maxy - rad + vec[a][0]);
|
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);
|
round_box_shade_col(coltop, coldown, 1.0);
|
||||||
glVertex2f(maxx, maxy);
|
glVertex2f(maxx, maxy);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* corner left-top */
|
/* corner left-top */
|
||||||
if (roundboxtype & UI_CNR_TOP_LEFT) {
|
if (roundboxtype & UI_CNR_TOP_LEFT) {
|
||||||
|
|
||||||
round_box_shade_col(coltop, coldown, 1.0);
|
round_box_shade_col(coltop, coldown, 1.0);
|
||||||
glVertex2f(minx + rad, maxy);
|
glVertex2f(minx + rad, maxy);
|
||||||
|
|
||||||
for (a = 0; a < 7; a++) {
|
for (a = 0; a < 7; a++) {
|
||||||
round_box_shade_col(coltop, coldown, (div - vec[a][1]) * idiv);
|
round_box_shade_col(coltop, coldown, (div - vec[a][1]) * idiv);
|
||||||
glVertex2f(minx + rad - vec[a][0], maxy - vec[a][1]);
|
glVertex2f(minx + rad - vec[a][0], maxy - vec[a][1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
round_box_shade_col(coltop, coldown, (div - rad) * idiv);
|
round_box_shade_col(coltop, coldown, (div - rad) * idiv);
|
||||||
glVertex2f(minx, maxy - rad);
|
glVertex2f(minx, maxy - rad);
|
||||||
}
|
}
|
||||||
@ -238,18 +238,18 @@ void UI_draw_roundbox_shade_x(
|
|||||||
round_box_shade_col(coltop, coldown, 1.0);
|
round_box_shade_col(coltop, coldown, 1.0);
|
||||||
glVertex2f(minx, maxy);
|
glVertex2f(minx, maxy);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* corner left-bottom */
|
/* corner left-bottom */
|
||||||
if (roundboxtype & UI_CNR_BOTTOM_LEFT) {
|
if (roundboxtype & UI_CNR_BOTTOM_LEFT) {
|
||||||
|
|
||||||
round_box_shade_col(coltop, coldown, rad * idiv);
|
round_box_shade_col(coltop, coldown, rad * idiv);
|
||||||
glVertex2f(minx, miny + rad);
|
glVertex2f(minx, miny + rad);
|
||||||
|
|
||||||
for (a = 0; a < 7; a++) {
|
for (a = 0; a < 7; a++) {
|
||||||
round_box_shade_col(coltop, coldown, (rad - vec[a][1]) * idiv);
|
round_box_shade_col(coltop, coldown, (rad - vec[a][1]) * idiv);
|
||||||
glVertex2f(minx + vec[a][1], miny + rad - vec[a][0]);
|
glVertex2f(minx + vec[a][1], miny + rad - vec[a][0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
round_box_shade_col(coltop, coldown, 0.0);
|
round_box_shade_col(coltop, coldown, 0.0);
|
||||||
glVertex2f(minx + rad, miny);
|
glVertex2f(minx + rad, miny);
|
||||||
}
|
}
|
||||||
@ -257,7 +257,7 @@ void UI_draw_roundbox_shade_x(
|
|||||||
round_box_shade_col(coltop, coldown, 0.0);
|
round_box_shade_col(coltop, coldown, 0.0);
|
||||||
glVertex2f(minx, miny);
|
glVertex2f(minx, miny);
|
||||||
}
|
}
|
||||||
|
|
||||||
glEnd();
|
glEnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -273,7 +273,7 @@ void UI_draw_roundbox_shade_y(
|
|||||||
const float idiv = 1.0f / div;
|
const float idiv = 1.0f / div;
|
||||||
float colLeft[3], colRight[3], color[4];
|
float colLeft[3], colRight[3], color[4];
|
||||||
int a;
|
int a;
|
||||||
|
|
||||||
/* mult */
|
/* mult */
|
||||||
for (a = 0; a < 7; a++) {
|
for (a = 0; a < 7; a++) {
|
||||||
mul_v2_fl(vec[a], rad);
|
mul_v2_fl(vec[a], rad);
|
||||||
@ -295,12 +295,12 @@ void UI_draw_roundbox_shade_y(
|
|||||||
if (roundboxtype & UI_CNR_BOTTOM_RIGHT) {
|
if (roundboxtype & UI_CNR_BOTTOM_RIGHT) {
|
||||||
round_box_shade_col(colLeft, colRight, 0.0);
|
round_box_shade_col(colLeft, colRight, 0.0);
|
||||||
glVertex2f(maxx - rad, miny);
|
glVertex2f(maxx - rad, miny);
|
||||||
|
|
||||||
for (a = 0; a < 7; a++) {
|
for (a = 0; a < 7; a++) {
|
||||||
round_box_shade_col(colLeft, colRight, vec[a][0] * idiv);
|
round_box_shade_col(colLeft, colRight, vec[a][0] * idiv);
|
||||||
glVertex2f(maxx - rad + vec[a][0], miny + vec[a][1]);
|
glVertex2f(maxx - rad + vec[a][0], miny + vec[a][1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
round_box_shade_col(colLeft, colRight, rad * idiv);
|
round_box_shade_col(colLeft, colRight, rad * idiv);
|
||||||
glVertex2f(maxx, miny + rad);
|
glVertex2f(maxx, miny + rad);
|
||||||
}
|
}
|
||||||
@ -308,14 +308,14 @@ void UI_draw_roundbox_shade_y(
|
|||||||
round_box_shade_col(colLeft, colRight, 0.0);
|
round_box_shade_col(colLeft, colRight, 0.0);
|
||||||
glVertex2f(maxx, miny);
|
glVertex2f(maxx, miny);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* corner right-top */
|
/* corner right-top */
|
||||||
if (roundboxtype & UI_CNR_TOP_RIGHT) {
|
if (roundboxtype & UI_CNR_TOP_RIGHT) {
|
||||||
round_box_shade_col(colLeft, colRight, 0.0);
|
round_box_shade_col(colLeft, colRight, 0.0);
|
||||||
glVertex2f(maxx, maxy - rad);
|
glVertex2f(maxx, maxy - rad);
|
||||||
|
|
||||||
for (a = 0; a < 7; a++) {
|
for (a = 0; a < 7; a++) {
|
||||||
|
|
||||||
round_box_shade_col(colLeft, colRight, (div - rad - vec[a][0]) * idiv);
|
round_box_shade_col(colLeft, colRight, (div - rad - vec[a][0]) * idiv);
|
||||||
glVertex2f(maxx - vec[a][1], maxy - rad + vec[a][0]);
|
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);
|
round_box_shade_col(colLeft, colRight, 0.0);
|
||||||
glVertex2f(maxx, maxy);
|
glVertex2f(maxx, maxy);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* corner left-top */
|
/* corner left-top */
|
||||||
if (roundboxtype & UI_CNR_TOP_LEFT) {
|
if (roundboxtype & UI_CNR_TOP_LEFT) {
|
||||||
round_box_shade_col(colLeft, colRight, (div - rad) * idiv);
|
round_box_shade_col(colLeft, colRight, (div - rad) * idiv);
|
||||||
glVertex2f(minx + rad, maxy);
|
glVertex2f(minx + rad, maxy);
|
||||||
|
|
||||||
for (a = 0; a < 7; a++) {
|
for (a = 0; a < 7; a++) {
|
||||||
round_box_shade_col(colLeft, colRight, (div - rad + vec[a][0]) * idiv);
|
round_box_shade_col(colLeft, colRight, (div - rad + vec[a][0]) * idiv);
|
||||||
glVertex2f(minx + rad - vec[a][0], maxy - vec[a][1]);
|
glVertex2f(minx + rad - vec[a][0], maxy - vec[a][1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
round_box_shade_col(colLeft, colRight, 1.0);
|
round_box_shade_col(colLeft, colRight, 1.0);
|
||||||
glVertex2f(minx, maxy - rad);
|
glVertex2f(minx, maxy - rad);
|
||||||
}
|
}
|
||||||
@ -344,17 +344,17 @@ void UI_draw_roundbox_shade_y(
|
|||||||
round_box_shade_col(colLeft, colRight, 1.0);
|
round_box_shade_col(colLeft, colRight, 1.0);
|
||||||
glVertex2f(minx, maxy);
|
glVertex2f(minx, maxy);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* corner left-bottom */
|
/* corner left-bottom */
|
||||||
if (roundboxtype & UI_CNR_BOTTOM_LEFT) {
|
if (roundboxtype & UI_CNR_BOTTOM_LEFT) {
|
||||||
round_box_shade_col(colLeft, colRight, 1.0);
|
round_box_shade_col(colLeft, colRight, 1.0);
|
||||||
glVertex2f(minx, miny + rad);
|
glVertex2f(minx, miny + rad);
|
||||||
|
|
||||||
for (a = 0; a < 7; a++) {
|
for (a = 0; a < 7; a++) {
|
||||||
round_box_shade_col(colLeft, colRight, (vec[a][0]) * idiv);
|
round_box_shade_col(colLeft, colRight, (vec[a][0]) * idiv);
|
||||||
glVertex2f(minx + vec[a][1], miny + rad - vec[a][0]);
|
glVertex2f(minx + vec[a][1], miny + rad - vec[a][0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
round_box_shade_col(colLeft, colRight, 1.0);
|
round_box_shade_col(colLeft, colRight, 1.0);
|
||||||
glVertex2f(minx + rad, miny);
|
glVertex2f(minx + rad, miny);
|
||||||
}
|
}
|
||||||
@ -362,7 +362,7 @@ void UI_draw_roundbox_shade_y(
|
|||||||
round_box_shade_col(colLeft, colRight, 1.0);
|
round_box_shade_col(colLeft, colRight, 1.0);
|
||||||
glVertex2f(minx, miny);
|
glVertex2f(minx, miny);
|
||||||
}
|
}
|
||||||
|
|
||||||
glEnd();
|
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)
|
void UI_draw_roundbox_unfilled(float minx, float miny, float maxx, float maxy, float rad)
|
||||||
{
|
{
|
||||||
float color[4];
|
float color[4];
|
||||||
|
|
||||||
if (roundboxtype & UI_RB_ALPHA) {
|
if (roundboxtype & UI_RB_ALPHA) {
|
||||||
glGetFloatv(GL_CURRENT_COLOR, color);
|
glGetFloatv(GL_CURRENT_COLOR, color);
|
||||||
color[3] = 0.5;
|
color[3] = 0.5;
|
||||||
glColor4fv(color);
|
glColor4fv(color);
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* set antialias line */
|
/* set antialias line */
|
||||||
glEnable(GL_LINE_SMOOTH);
|
glEnable(GL_LINE_SMOOTH);
|
||||||
glEnable(GL_BLEND);
|
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;
|
ImBuf *ibuf = (ImBuf *)but->poin;
|
||||||
|
|
||||||
if (!ibuf) return;
|
if (!ibuf) return;
|
||||||
|
|
||||||
int w = BLI_rcti_size_x(rect);
|
int w = BLI_rcti_size_x(rect);
|
||||||
int h = BLI_rcti_size_y(rect);
|
int h = BLI_rcti_size_y(rect);
|
||||||
|
|
||||||
/* scissor doesn't seem to be doing the right thing...? */
|
/* scissor doesn't seem to be doing the right thing...? */
|
||||||
#if 0
|
#if 0
|
||||||
//glColor4f(1.0, 0.f, 0.f, 1.f);
|
//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);
|
glGetIntegerv(GL_SCISSOR_BOX, scissor);
|
||||||
glScissor(ar->winrct.xmin + rect->xmin, ar->winrct.ymin + rect->ymin, w, h);
|
glScissor(ar->winrct.xmin + rect->xmin, ar->winrct.ymin + rect->ymin, w, h);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
glColor4f(0.0, 0.0, 0.0, 0.0);
|
glColor4f(0.0, 0.0, 0.0, 0.0);
|
||||||
|
|
||||||
if (w != ibuf->x || h != ibuf->y) {
|
if (w != ibuf->x || h != ibuf->y) {
|
||||||
float facx = (float)w / (float)ibuf->x;
|
float facx = (float)w / (float)ibuf->x;
|
||||||
float facy = (float)h / (float)ibuf->y;
|
float facy = (float)h / (float)ibuf->y;
|
||||||
glPixelZoom(facx, facy);
|
glPixelZoom(facx, facy);
|
||||||
}
|
}
|
||||||
glaDrawPixelsAuto((float)rect->xmin, (float)rect->ymin, ibuf->x, ibuf->y, GL_RGBA, GL_UNSIGNED_BYTE, GL_NEAREST, ibuf->rect);
|
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);
|
glPixelZoom(1.0f, 1.0f);
|
||||||
|
|
||||||
glDisable(GL_BLEND);
|
glDisable(GL_BLEND);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
// restore scissortest
|
// restore scissortest
|
||||||
glScissor(scissor[0], scissor[1], scissor[2], scissor[3]);
|
glScissor(scissor[0], scissor[1], scissor[2], scissor[3]);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -559,17 +559,17 @@ void ui_draw_but_HISTOGRAM(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol)
|
|||||||
Histogram *hist = (Histogram *)but->poin;
|
Histogram *hist = (Histogram *)but->poin;
|
||||||
int res = hist->x_resolution;
|
int res = hist->x_resolution;
|
||||||
const bool is_line = (hist->flag & HISTO_FLAG_LINE) != 0;
|
const bool is_line = (hist->flag & HISTO_FLAG_LINE) != 0;
|
||||||
|
|
||||||
rctf rect = {
|
rctf rect = {
|
||||||
.xmin = (float)recti->xmin + 1,
|
.xmin = (float)recti->xmin + 1,
|
||||||
.xmax = (float)recti->xmax - 1,
|
.xmax = (float)recti->xmax - 1,
|
||||||
.ymin = (float)recti->ymin + 1,
|
.ymin = (float)recti->ymin + 1,
|
||||||
.ymax = (float)recti->ymax - 1
|
.ymax = (float)recti->ymax - 1
|
||||||
};
|
};
|
||||||
|
|
||||||
float w = BLI_rctf_size_x(&rect);
|
float w = BLI_rctf_size_x(&rect);
|
||||||
float h = BLI_rctf_size_y(&rect) * hist->ymax;
|
float h = BLI_rctf_size_y(&rect) * hist->ymax;
|
||||||
|
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
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, rect.ymin + fac * h, rect.xmax, rect.ymin + fac * h);
|
||||||
fdrawline(rect.xmin + fac * w, rect.ymin, rect.xmin + fac * w, rect.ymax);
|
fdrawline(rect.xmin + fac * w, rect.ymin, rect.xmin + fac * w, rect.ymax);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hist->mode == HISTO_MODE_LUMA) {
|
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);
|
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)
|
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);
|
histogram_draw_one(0.0, 0.0, 1.0, 0.75, rect.xmin, rect.ymin, w, h, hist->data_b, res, is_line);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* outline */
|
/* outline */
|
||||||
draw_scope_end(&rect, scissor);
|
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 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 colors_alpha[3][3], colorsycc_alpha[3][3]; /* colors pre multiplied by alpha for speed up */
|
||||||
float min, max;
|
float min, max;
|
||||||
|
|
||||||
if (scopes == NULL) return;
|
if (scopes == NULL) return;
|
||||||
|
|
||||||
rctf rect = {
|
rctf rect = {
|
||||||
.xmin = (float)recti->xmin + 1,
|
.xmin = (float)recti->xmin + 1,
|
||||||
.xmax = (float)recti->xmax - 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 h = BLI_rctf_size_y(&rect) * scopes->wavefrm_yfac;
|
||||||
float yofs = rect.ymin + (BLI_rctf_size_y(&rect) - h) / 2.0f;
|
float yofs = rect.ymin + (BLI_rctf_size_y(&rect) - h) / 2.0f;
|
||||||
float w3 = w / 3.0f;
|
float w3 = w / 3.0f;
|
||||||
|
|
||||||
/* log scale for alpha */
|
/* log scale for alpha */
|
||||||
float alpha = scopes->wavefrm_alpha * scopes->wavefrm_alpha;
|
float alpha = scopes->wavefrm_alpha * scopes->wavefrm_alpha;
|
||||||
|
|
||||||
unit_m3(colors);
|
unit_m3(colors);
|
||||||
|
|
||||||
for (int c = 0; c < 3; c++) {
|
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);
|
fdrawline(rect.xmin + i * w3, rect.ymin, rect.xmin + i * w3, rect.ymax);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* separate min max zone on the right */
|
/* separate min max zone on the right */
|
||||||
fdrawline(rect.xmin + w, rect.ymin, rect.xmin + w, rect.ymax);
|
fdrawline(rect.xmin + w, rect.ymin, rect.xmin + w, rect.ymax);
|
||||||
/* 16-235-240 level in case of ITU-R BT601/709 */
|
/* 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);
|
fdrawline(rect.xmin, yofs + h * 0.075f, rect.xmax + 1, yofs + h * 0.075f);
|
||||||
|
|
||||||
if (scopes->ok && scopes->waveform_1 != NULL) {
|
if (scopes->ok && scopes->waveform_1 != NULL) {
|
||||||
|
|
||||||
/* LUMA (1 channel) */
|
/* LUMA (1 channel) */
|
||||||
glBlendFunc(GL_ONE, GL_ONE);
|
glBlendFunc(GL_ONE, GL_ONE);
|
||||||
glColor3f(alpha, alpha, alpha);
|
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) {
|
if (scopes->wavefrm_mode == SCOPES_WAVEFRM_LUMA) {
|
||||||
|
|
||||||
glBlendFunc(GL_ONE, GL_ONE);
|
glBlendFunc(GL_ONE, GL_ONE);
|
||||||
|
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
glEnableClientState(GL_VERTEX_ARRAY);
|
glEnableClientState(GL_VERTEX_ARRAY);
|
||||||
|
|
||||||
glTranslatef(rect.xmin, yofs, 0.f);
|
glTranslatef(rect.xmin, yofs, 0.f);
|
||||||
glScalef(w, h, 0.f);
|
glScalef(w, h, 0.f);
|
||||||
glVertexPointer(2, GL_FLOAT, 0, scopes->waveform_1);
|
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 */
|
/* outline */
|
||||||
draw_scope_end(&rect, scissor);
|
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] = {
|
const float colors[6][3] = {
|
||||||
{0.75, 0.0, 0.0}, {0.75, 0.75, 0.0}, {0.0, 0.75, 0.0},
|
{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}};
|
{0.0, 0.75, 0.75}, {0.0, 0.0, 0.75}, {0.75, 0.0, 0.75}};
|
||||||
|
|
||||||
rctf rect = {
|
rctf rect = {
|
||||||
.xmin = (float)recti->xmin + 1,
|
.xmin = (float)recti->xmin + 1,
|
||||||
.xmax = (float)recti->xmax - 1,
|
.xmax = (float)recti->xmax - 1,
|
||||||
.ymin = (float)recti->ymin + 1,
|
.ymin = (float)recti->ymin + 1,
|
||||||
.ymax = (float)recti->ymax - 1
|
.ymax = (float)recti->ymax - 1
|
||||||
};
|
};
|
||||||
|
|
||||||
float w = BLI_rctf_size_x(&rect);
|
float w = BLI_rctf_size_x(&rect);
|
||||||
float h = BLI_rctf_size_y(&rect);
|
float h = BLI_rctf_size_y(&rect);
|
||||||
float centerx = rect.xmin + w / 2;
|
float centerx = rect.xmin + w / 2;
|
||||||
float centery = rect.ymin + h / 2;
|
float centery = rect.ymin + h / 2;
|
||||||
float diam = (w < h) ? w : h;
|
float diam = (w < h) ? w : h;
|
||||||
|
|
||||||
float alpha = scopes->vecscope_alpha * scopes->vecscope_alpha * scopes->vecscope_alpha;
|
float alpha = scopes->vecscope_alpha * scopes->vecscope_alpha * scopes->vecscope_alpha;
|
||||||
|
|
||||||
glEnable(GL_BLEND);
|
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),
|
ar->winrct.ymin + (rect.ymin - 1),
|
||||||
(rect.xmax + 1) - (rect.xmin - 1),
|
(rect.xmax + 1) - (rect.xmin - 1),
|
||||||
(rect.ymax + 1) - (rect.ymin - 1));
|
(rect.ymax + 1) - (rect.ymin - 1));
|
||||||
|
|
||||||
glColor4f(1.f, 1.f, 1.f, 0.08f);
|
glColor4f(1.f, 1.f, 1.f, 0.08f);
|
||||||
/* draw grid elements */
|
/* draw grid elements */
|
||||||
/* cross */
|
/* cross */
|
||||||
@ -939,7 +939,7 @@ void ui_draw_but_VECTORSCOPE(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wco
|
|||||||
/* saturation points */
|
/* saturation points */
|
||||||
for (int i = 0; i < 6; i++)
|
for (int i = 0; i < 6; i++)
|
||||||
vectorscope_draw_target(centerx, centery, diam, colors[i]);
|
vectorscope_draw_target(centerx, centery, diam, colors[i]);
|
||||||
|
|
||||||
if (scopes->ok && scopes->vecscope != NULL) {
|
if (scopes->ok && scopes->vecscope != NULL) {
|
||||||
/* pixel point cloud */
|
/* pixel point cloud */
|
||||||
glBlendFunc(GL_ONE, GL_ONE);
|
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);
|
glVertexPointer(2, GL_FLOAT, 0, scopes->vecscope);
|
||||||
glPointSize(1.0);
|
glPointSize(1.0);
|
||||||
glDrawArrays(GL_POINTS, 0, scopes->waveform_tot);
|
glDrawArrays(GL_POINTS, 0, scopes->waveform_tot);
|
||||||
|
|
||||||
glDisableClientState(GL_VERTEX_ARRAY);
|
glDisableClientState(GL_VERTEX_ARRAY);
|
||||||
glPopMatrix();
|
glPopMatrix();
|
||||||
}
|
}
|
||||||
@ -1117,16 +1117,16 @@ void ui_draw_but_COLORBAND(uiBut *but, uiWidgetColors *UNUSED(wcol), const rcti
|
|||||||
|
|
||||||
v1[1] = y1 + sizey_solid;
|
v1[1] = y1 + sizey_solid;
|
||||||
v2[1] = rect->ymax;
|
v2[1] = rect->ymax;
|
||||||
|
|
||||||
glBegin(GL_TRIANGLE_STRIP);
|
glBegin(GL_TRIANGLE_STRIP);
|
||||||
for (int a = 0; a <= sizex; a++) {
|
for (int a = 0; a <= sizex; a++) {
|
||||||
float pos = ((float)a) / sizex;
|
float pos = ((float)a) / sizex;
|
||||||
BKE_colorband_evaluate(coba, pos, colf);
|
BKE_colorband_evaluate(coba, pos, colf);
|
||||||
if (display)
|
if (display)
|
||||||
IMB_colormanagement_scene_linear_to_display_v3(colf, display);
|
IMB_colormanagement_scene_linear_to_display_v3(colf, display);
|
||||||
|
|
||||||
v1[0] = v2[0] = x1 + a;
|
v1[0] = v2[0] = x1 + a;
|
||||||
|
|
||||||
glColor4fv(colf);
|
glColor4fv(colf);
|
||||||
glVertex2fv(v1);
|
glVertex2fv(v1);
|
||||||
glVertex2fv(v2);
|
glVertex2fv(v2);
|
||||||
@ -1157,7 +1157,7 @@ void ui_draw_but_COLORBAND(uiBut *but, uiWidgetColors *UNUSED(wcol), const rcti
|
|||||||
/* layer: box outline */
|
/* layer: box outline */
|
||||||
glColor4f(0.0, 0.0, 0.0, 1.0);
|
glColor4f(0.0, 0.0, 0.0, 1.0);
|
||||||
fdrawbox(x1, y1, x1 + sizex, rect->ymax);
|
fdrawbox(x1, y1, x1 + sizex, rect->ymax);
|
||||||
|
|
||||||
/* layer: box outline */
|
/* layer: box outline */
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
glColor4f(0.0f, 0.0f, 0.0f, 0.5f);
|
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);
|
glColor4f(1.0f, 1.0f, 1.0f, 0.25f);
|
||||||
fdrawline(x1, y1 - 1, x1 + sizex, y1 - 1);
|
fdrawline(x1, y1 - 1, x1 + sizex, y1 - 1);
|
||||||
glDisable(GL_BLEND);
|
glDisable(GL_BLEND);
|
||||||
|
|
||||||
/* layer: draw handles */
|
/* layer: draw handles */
|
||||||
for (int a = 0; a < coba->tot; a++, cbd++) {
|
for (int a = 0; a < coba->tot; a++, cbd++) {
|
||||||
if (a != coba->cur) {
|
if (a != coba->cur) {
|
||||||
@ -1187,16 +1187,16 @@ void ui_draw_but_UNITVEC(uiBut *but, uiWidgetColors *wcol, const rcti *rect)
|
|||||||
static GLuint displist = 0;
|
static GLuint displist = 0;
|
||||||
float diffuse[3] = {1.0f, 1.0f, 1.0f};
|
float diffuse[3] = {1.0f, 1.0f, 1.0f};
|
||||||
float size;
|
float size;
|
||||||
|
|
||||||
/* backdrop */
|
/* backdrop */
|
||||||
glColor3ubv((unsigned char *)wcol->inner);
|
glColor3ubv((unsigned char *)wcol->inner);
|
||||||
UI_draw_roundbox_corner_set(UI_CNR_ALL);
|
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);
|
UI_draw_roundbox_gl_mode(GL_POLYGON, rect->xmin, rect->ymin, rect->xmax, rect->ymax, 5.0f);
|
||||||
|
|
||||||
/* sphere color */
|
/* sphere color */
|
||||||
glCullFace(GL_BACK);
|
glCullFace(GL_BACK);
|
||||||
glEnable(GL_CULL_FACE);
|
glEnable(GL_CULL_FACE);
|
||||||
|
|
||||||
/* setup lights */
|
/* setup lights */
|
||||||
GPULightData light = {0};
|
GPULightData light = {0};
|
||||||
light.type = GPU_LIGHT_SUN;
|
light.type = GPU_LIGHT_SUN;
|
||||||
@ -1215,7 +1215,7 @@ void ui_draw_but_UNITVEC(uiBut *but, uiWidgetColors *wcol, const rcti *rect)
|
|||||||
/* transform to button */
|
/* transform to button */
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
glTranslatef(rect->xmin + 0.5f * BLI_rcti_size_x(rect), rect->ymin + 0.5f * BLI_rcti_size_y(rect), 0.0f);
|
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))
|
if (BLI_rcti_size_x(rect) < BLI_rcti_size_y(rect))
|
||||||
size = BLI_rcti_size_x(rect) / 200.f;
|
size = BLI_rcti_size_x(rect) / 200.f;
|
||||||
else
|
else
|
||||||
@ -1228,13 +1228,13 @@ void ui_draw_but_UNITVEC(uiBut *but, uiWidgetColors *wcol, const rcti *rect)
|
|||||||
|
|
||||||
displist = glGenLists(1);
|
displist = glGenLists(1);
|
||||||
glNewList(displist, GL_COMPILE);
|
glNewList(displist, GL_COMPILE);
|
||||||
|
|
||||||
qobj = gluNewQuadric();
|
qobj = gluNewQuadric();
|
||||||
gluQuadricDrawStyle(qobj, GLU_FILL);
|
gluQuadricDrawStyle(qobj, GLU_FILL);
|
||||||
GPU_basic_shader_bind(GPU_basic_shader_bound_options());
|
GPU_basic_shader_bind(GPU_basic_shader_bound_options());
|
||||||
gluSphere(qobj, 100.0, 32, 24);
|
gluSphere(qobj, 100.0, 32, 24);
|
||||||
gluDeleteQuadric(qobj);
|
gluDeleteQuadric(qobj);
|
||||||
|
|
||||||
glEndList();
|
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_basic_shader_bind(GPU_SHADER_USE_COLOR);
|
||||||
GPU_default_lights();
|
GPU_default_lights();
|
||||||
glDisable(GL_CULL_FACE);
|
glDisable(GL_CULL_FACE);
|
||||||
|
|
||||||
/* AA circle */
|
/* AA circle */
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
glEnable(GL_LINE_SMOOTH);
|
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);
|
glVertex2f(fx, rect->ymax);
|
||||||
fx += dx;
|
fx += dx;
|
||||||
}
|
}
|
||||||
|
|
||||||
float dy = step * zoomy;
|
float dy = step * zoomy;
|
||||||
float fy = rect->ymin + zoomy * (-offsy);
|
float fy = rect->ymin + zoomy * (-offsy);
|
||||||
if (fy > rect->ymin) fy -= dy * (floorf(fy - rect->ymin));
|
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;
|
fy += dy;
|
||||||
}
|
}
|
||||||
glEnd();
|
glEnd();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gl_shaded_color(unsigned char *col, int shade)
|
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 zoomy = (BLI_rcti_size_y(rect) - 2.0f) / BLI_rctf_size_y(&cumap->curr);
|
||||||
float offsx = cumap->curr.xmin - (1.0f / zoomx);
|
float offsx = cumap->curr.xmin - (1.0f / zoomx);
|
||||||
float offsy = cumap->curr.ymin - (1.0f / zoomy);
|
float offsy = cumap->curr.ymin - (1.0f / zoomy);
|
||||||
|
|
||||||
glLineWidth(1.0f);
|
glLineWidth(1.0f);
|
||||||
|
|
||||||
/* backdrop */
|
/* backdrop */
|
||||||
@ -1407,7 +1407,7 @@ void ui_draw_but_CURVE(ARegion *ar, uiBut *but, uiWidgetColors *wcol, const rcti
|
|||||||
else if (cumap->cur == 3) {
|
else if (cumap->cur == 3) {
|
||||||
float lum = IMB_colormanagement_get_luminance(cumap->sample);
|
float lum = IMB_colormanagement_get_luminance(cumap->sample);
|
||||||
glColor3ub(240, 240, 240);
|
glColor3ub(240, 240, 240);
|
||||||
|
|
||||||
glVertex2f(rect->xmin + zoomx * (lum - offsx), rect->ymin);
|
glVertex2f(rect->xmin + zoomx * (lum - offsx), rect->ymin);
|
||||||
glVertex2f(rect->xmin + zoomx * (lum - offsx), rect->ymax);
|
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);
|
glColor3ub(100, 240, 100);
|
||||||
else
|
else
|
||||||
glColor3ub(100, 100, 240);
|
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->ymin);
|
||||||
glVertex2f(rect->xmin + zoomx * (cumap->sample[cumap->cur] - offsx), rect->ymax);
|
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_LINE_SMOOTH);
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
glBegin(GL_LINE_STRIP);
|
glBegin(GL_LINE_STRIP);
|
||||||
|
|
||||||
if (cuma->table == NULL)
|
if (cuma->table == NULL)
|
||||||
curvemapping_changed(cumap, false);
|
curvemapping_changed(cumap, false);
|
||||||
|
|
||||||
@ -1477,7 +1477,7 @@ void ui_draw_but_CURVE(ARegion *ar, uiBut *but, uiWidgetColors *wcol, const rcti
|
|||||||
glVertex2f(fx, fy);
|
glVertex2f(fx, fy);
|
||||||
}
|
}
|
||||||
glEnd();
|
glEnd();
|
||||||
|
|
||||||
/* restore scissortest */
|
/* restore scissortest */
|
||||||
glScissor(scissor[0], scissor[1], scissor[2], scissor[3]);
|
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)
|
void ui_draw_but_NODESOCKET(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol), const rcti *recti)
|
||||||
{
|
{
|
||||||
static const float size = 5.0f;
|
static const float size = 5.0f;
|
||||||
|
|
||||||
/* 16 values of sin function */
|
/* 16 values of sin function */
|
||||||
const float si[16] = {
|
const float si[16] = {
|
||||||
0.00000000f, 0.39435585f, 0.72479278f, 0.93775213f,
|
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.99486932f, -0.87434661f, -0.61210598f, -0.25065253f,
|
||||||
0.15142777f, 0.52896401f, 0.82076344f, 0.97952994f,
|
0.15142777f, 0.52896401f, 0.82076344f, 0.97952994f,
|
||||||
};
|
};
|
||||||
|
|
||||||
GLint scissor[4];
|
GLint scissor[4];
|
||||||
|
|
||||||
/* need scissor test, can draw outside of boundary */
|
/* need scissor test, can draw outside of boundary */
|
||||||
glGetIntegerv(GL_VIEWPORT, scissor);
|
glGetIntegerv(GL_VIEWPORT, scissor);
|
||||||
|
|
||||||
rcti scissor_new = {
|
rcti scissor_new = {
|
||||||
.xmin = ar->winrct.xmin + recti->xmin,
|
.xmin = ar->winrct.xmin + recti->xmin,
|
||||||
.ymin = ar->winrct.ymin + recti->ymin,
|
.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,
|
scissor_new.ymin,
|
||||||
BLI_rcti_size_x(&scissor_new),
|
BLI_rcti_size_x(&scissor_new),
|
||||||
BLI_rcti_size_y(&scissor_new));
|
BLI_rcti_size_y(&scissor_new));
|
||||||
|
|
||||||
glColor4ubv(but->col);
|
glColor4ubv(but->col);
|
||||||
|
|
||||||
float x = 0.5f * (recti->xmin + recti->xmax);
|
float x = 0.5f * (recti->xmin + recti->xmax);
|
||||||
float y = 0.5f * (recti->ymin + recti->ymax);
|
float y = 0.5f * (recti->ymin + recti->ymax);
|
||||||
|
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
glBegin(GL_POLYGON);
|
glBegin(GL_POLYGON);
|
||||||
for (int a = 0; a < 16; a++)
|
for (int a = 0; a < 16; a++)
|
||||||
glVertex2f(x + size * si[a], y + size * co[a]);
|
glVertex2f(x + size * si[a], y + size * co[a]);
|
||||||
glEnd();
|
glEnd();
|
||||||
|
|
||||||
glColor4ub(0, 0, 0, 150);
|
glColor4ub(0, 0, 0, 150);
|
||||||
glLineWidth(1);
|
glLineWidth(1);
|
||||||
glEnable(GL_LINE_SMOOTH);
|
glEnable(GL_LINE_SMOOTH);
|
||||||
@ -1663,7 +1663,7 @@ void ui_draw_but_NODESOCKET(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol
|
|||||||
glEnd();
|
glEnd();
|
||||||
glDisable(GL_LINE_SMOOTH);
|
glDisable(GL_LINE_SMOOTH);
|
||||||
glDisable(GL_BLEND);
|
glDisable(GL_BLEND);
|
||||||
|
|
||||||
/* restore scissortest */
|
/* restore scissortest */
|
||||||
glScissor(scissor[0], scissor[1], scissor[2], scissor[3]);
|
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);
|
glColor4ub(0, 0, 0, 0);
|
||||||
glVertex2f(maxx + shadsize, maxy - 0.75f * shadsize);
|
glVertex2f(maxx + shadsize, maxy - 0.75f * shadsize);
|
||||||
glVertex2f(maxx + shadsize, miny);
|
glVertex2f(maxx + shadsize, miny);
|
||||||
|
|
||||||
/* corner shape */
|
/* corner shape */
|
||||||
glColor4ub(0, 0, 0, alpha);
|
glColor4ub(0, 0, 0, alpha);
|
||||||
glVertex2f(maxx, miny);
|
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 + shadsize, miny);
|
||||||
glVertex2f(maxx + 0.7f * shadsize, miny - 0.7f * shadsize);
|
glVertex2f(maxx + 0.7f * shadsize, miny - 0.7f * shadsize);
|
||||||
glVertex2f(maxx, miny - shadsize);
|
glVertex2f(maxx, miny - shadsize);
|
||||||
|
|
||||||
/* bottom quad */
|
/* bottom quad */
|
||||||
glColor4ub(0, 0, 0, alpha);
|
glColor4ub(0, 0, 0, alpha);
|
||||||
glVertex2f(minx + 0.3f * shadsize, miny);
|
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)
|
void UI_draw_box_shadow(unsigned char alpha, float minx, float miny, float maxx, float maxy)
|
||||||
{
|
{
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
|
|
||||||
glBegin(GL_QUADS);
|
glBegin(GL_QUADS);
|
||||||
|
|
||||||
/* accumulated outline boxes to make shade not linear, is more pleasant */
|
/* 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, 11.0, (20 * alpha) >> 8);
|
||||||
ui_shadowbox(minx, miny, maxx, maxy, 7.0, (40 * alpha) >> 8);
|
ui_shadowbox(minx, miny, maxx, maxy, 7.0, (40 * alpha) >> 8);
|
||||||
ui_shadowbox(minx, miny, maxx, maxy, 5.0, (80 * alpha) >> 8);
|
ui_shadowbox(minx, miny, maxx, maxy, 5.0, (80 * alpha) >> 8);
|
||||||
|
|
||||||
glEnd();
|
glEnd();
|
||||||
|
|
||||||
glDisable(GL_BLEND);
|
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))
|
void ui_draw_dropshadow(const rctf *rct, float radius, float aspect, float alpha, int UNUSED(select))
|
||||||
{
|
{
|
||||||
float rad;
|
float rad;
|
||||||
|
|
||||||
if (radius > (BLI_rctf_size_y(rct) - 10.0f) / 2.0f)
|
if (radius > (BLI_rctf_size_y(rct) - 10.0f) / 2.0f)
|
||||||
rad = (BLI_rctf_size_y(rct) - 10.0f) / 2.0f;
|
rad = (BLI_rctf_size_y(rct) - 10.0f) / 2.0f;
|
||||||
else
|
else
|
||||||
@ -1734,7 +1734,7 @@ void ui_draw_dropshadow(const rctf *rct, float radius, float aspect, float alpha
|
|||||||
{
|
{
|
||||||
a = i * aspect;
|
a = i * aspect;
|
||||||
}
|
}
|
||||||
|
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
|
|
||||||
const float dalpha = alpha * 2.0f / 255.0f;
|
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 */
|
/* alpha ranges from 2 to 20 or so */
|
||||||
glColor4f(0.0f, 0.0f, 0.0f, calpha);
|
glColor4f(0.0f, 0.0f, 0.0f, calpha);
|
||||||
calpha += dalpha;
|
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);
|
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 */
|
/* outline emphasis */
|
||||||
glEnable(GL_LINE_SMOOTH);
|
glEnable(GL_LINE_SMOOTH);
|
||||||
glColor4ub(0, 0, 0, 100);
|
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);
|
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_LINE_SMOOTH);
|
||||||
|
|
||||||
glDisable(GL_BLEND);
|
glDisable(GL_BLEND);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -121,7 +121,7 @@ typedef struct IconTexture {
|
|||||||
} IconTexture;
|
} IconTexture;
|
||||||
|
|
||||||
/* ******************* STATIC LOCAL VARS ******************* */
|
/* ******************* 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 */
|
* scanning the filesystem each time the menu is drawn */
|
||||||
static struct ListBase iconfilelist = {NULL, NULL};
|
static struct ListBase iconfilelist = {NULL, NULL};
|
||||||
static IconTexture icongltex = {0, 0, 0, 0.0f, 0.0f};
|
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 */
|
/* icon buffers can get initialized runtime now, via datatoc */
|
||||||
if (bbuf) {
|
if (bbuf) {
|
||||||
int y, imgsize;
|
int y, imgsize;
|
||||||
|
|
||||||
iimg->rect = MEM_mallocN(size * size * sizeof(unsigned int), "icon_rect");
|
iimg->rect = MEM_mallocN(size * size * sizeof(unsigned int), "icon_rect");
|
||||||
|
|
||||||
/* Here we store the rect in the icon - same as before */
|
/* Here we store the rect in the icon - same as before */
|
||||||
if (size == bbuf->x && size == bbuf->y && xofs == 0 && yofs == 0)
|
if (size == bbuf->x && size == bbuf->y && xofs == 0 && yofs == 0)
|
||||||
memcpy(iimg->rect, bbuf->rect, size * size * sizeof(int));
|
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;
|
new_icon->drawinfo = di;
|
||||||
|
|
||||||
BKE_icon_set(icon_id, new_icon);
|
BKE_icon_set(icon_id, new_icon);
|
||||||
|
|
||||||
return di;
|
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;
|
struct bThemeState theme_state;
|
||||||
int xco, yco;
|
int xco, yco;
|
||||||
|
|
||||||
UI_Theme_Store(&theme_state);
|
UI_Theme_Store(&theme_state);
|
||||||
UI_SetTheme(SPACE_ACTION, RGN_TYPE_WINDOW);
|
UI_SetTheme(SPACE_ACTION, RGN_TYPE_WINDOW);
|
||||||
|
|
||||||
/* the "x" and "y" given are the bottom-left coordinates of the icon,
|
/* the "x" and "y" given are the bottom-left coordinates of the icon,
|
||||||
* while the draw_keyframe_shape() function needs the midpoint for
|
* while the draw_keyframe_shape() function needs the midpoint for
|
||||||
* the keyframe
|
* the keyframe
|
||||||
*/
|
*/
|
||||||
xco = x + w / 2;
|
xco = x + w / 2;
|
||||||
yco = y + h / 2;
|
yco = y + h / 2;
|
||||||
|
|
||||||
/* draw keyframe
|
/* draw keyframe
|
||||||
* - xscale: 1.0 (since there's no timeline scaling to compensate for)
|
* - xscale: 1.0 (since there's no timeline scaling to compensate for)
|
||||||
* - yscale: 0.3 * h (found out experimentally... dunno why!)
|
* - yscale: 0.3 * h (found out experimentally... dunno why!)
|
||||||
* - sel: true (so that "keyframe" state shows the iconic yellow icon)
|
* - 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);
|
draw_keyframe_shape(xco, yco, 1.0f, 0.3f * h, true, key_type, KEYFRAME_SHAPE_BOTH, alpha);
|
||||||
|
|
||||||
UI_Theme_Restore(&theme_state);
|
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();
|
bTheme *btheme = UI_GetTheme();
|
||||||
ThemeWireColor *cs = &btheme->tarm[index];
|
ThemeWireColor *cs = &btheme->tarm[index];
|
||||||
|
|
||||||
/* Draw three bands of color: One per color
|
/* Draw three bands of color: One per color
|
||||||
* x-----a-----b-----c
|
* x-----a-----b-----c
|
||||||
* | N | S | A |
|
* | 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 a = x + w / 3;
|
||||||
const int b = x + w / 3 * 2;
|
const int b = x + w / 3 * 2;
|
||||||
const int c = x + w;
|
const int c = x + w;
|
||||||
|
|
||||||
/* XXX: Include alpha into this... */
|
/* XXX: Include alpha into this... */
|
||||||
/* normal */
|
/* normal */
|
||||||
glColor3ubv((unsigned char *)cs->solid);
|
glColor3ubv((unsigned char *)cs->solid);
|
||||||
glRecti(x, y, a, y + h);
|
glRecti(x, y, a, y + h);
|
||||||
|
|
||||||
/* selected */
|
/* selected */
|
||||||
glColor3ubv((unsigned char *)cs->select);
|
glColor3ubv((unsigned char *)cs->select);
|
||||||
glRecti(a, y, b, y + h);
|
glRecti(a, y, b, y + h);
|
||||||
|
|
||||||
/* active */
|
/* active */
|
||||||
glColor3ubv((unsigned char *)cs->active);
|
glColor3ubv((unsigned char *)cs->active);
|
||||||
glRecti(b, y, c, y + h);
|
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); \
|
vicon_colorset_draw(index, x, y, w, h, alpha); \
|
||||||
}
|
}
|
||||||
|
|
||||||
DEF_VICON_COLORSET_DRAW_NTH(01, 0)
|
DEF_VICON_COLORSET_DRAW_NTH(01, 0)
|
||||||
DEF_VICON_COLORSET_DRAW_NTH(02, 1)
|
DEF_VICON_COLORSET_DRAW_NTH(02, 1)
|
||||||
DEF_VICON_COLORSET_DRAW_NTH(03, 2)
|
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 it has own rect, things are all OK */
|
||||||
if (iimg->rect)
|
if (iimg->rect)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (iimg->datatoc_rect) {
|
if (iimg->datatoc_rect) {
|
||||||
ImBuf *bbuf = IMB_ibImageFromMemory(iimg->datatoc_rect,
|
ImBuf *bbuf = IMB_ibImageFromMemory(iimg->datatoc_rect,
|
||||||
iimg->datatoc_size, IB_rect, NULL, "<matcap icon>");
|
iimg->datatoc_size, IB_rect, NULL, "<matcap icon>");
|
||||||
/* w and h were set on initialize */
|
/* w and h were set on initialize */
|
||||||
if (bbuf->x != iimg->h && bbuf->y != iimg->w)
|
if (bbuf->x != iimg->h && bbuf->y != iimg->w)
|
||||||
IMB_scaleImBuf(bbuf, iimg->w, iimg->h);
|
IMB_scaleImBuf(bbuf, iimg->w, iimg->h);
|
||||||
|
|
||||||
iimg->rect = bbuf->rect;
|
iimg->rect = bbuf->rect;
|
||||||
bbuf->rect = NULL;
|
bbuf->rect = NULL;
|
||||||
IMB_freeImBuf(bbuf);
|
IMB_freeImBuf(bbuf);
|
||||||
@ -470,7 +470,7 @@ static void init_internal_icons(void)
|
|||||||
if ((btheme != NULL) && btheme->tui.iconfile[0]) {
|
if ((btheme != NULL) && btheme->tui.iconfile[0]) {
|
||||||
char *icondir = BKE_appdir_folder_id(BLENDER_DATAFILES, "icons");
|
char *icondir = BKE_appdir_folder_id(BLENDER_DATAFILES, "icons");
|
||||||
char iconfilestr[FILE_MAX];
|
char iconfilestr[FILE_MAX];
|
||||||
|
|
||||||
if (icondir) {
|
if (icondir) {
|
||||||
BLI_join_dirfile(iconfilestr, sizeof(iconfilestr), icondir, btheme->tui.iconfile);
|
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 */
|
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>");
|
datatoc_blender_icons32_png_size, IB_rect, NULL, "<blender icons>");
|
||||||
if (b32buf)
|
if (b32buf)
|
||||||
IMB_premultiply_alpha(b32buf);
|
IMB_premultiply_alpha(b32buf);
|
||||||
|
|
||||||
if (b16buf && b32buf) {
|
if (b16buf && b32buf) {
|
||||||
/* free existing texture if any */
|
/* free existing texture if any */
|
||||||
if (icongltex.id) {
|
if (icongltex.id) {
|
||||||
@ -510,17 +510,17 @@ static void init_internal_icons(void)
|
|||||||
|
|
||||||
if (icongltex.id) {
|
if (icongltex.id) {
|
||||||
int level = 2;
|
int level = 2;
|
||||||
|
|
||||||
icongltex.w = b32buf->x;
|
icongltex.w = b32buf->x;
|
||||||
icongltex.h = b32buf->y;
|
icongltex.h = b32buf->y;
|
||||||
icongltex.invw = 1.0f / b32buf->x;
|
icongltex.invw = 1.0f / b32buf->x;
|
||||||
icongltex.invh = 1.0f / b32buf->y;
|
icongltex.invh = 1.0f / b32buf->y;
|
||||||
|
|
||||||
glBindTexture(GL_TEXTURE_2D, icongltex.id);
|
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, 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);
|
glTexImage2D(GL_TEXTURE_2D, 1, GL_RGBA8, b16buf->x, b16buf->y, 0, GL_RGBA, GL_UNSIGNED_BYTE, b16buf->rect);
|
||||||
|
|
||||||
while (b16buf->x > 1) {
|
while (b16buf->x > 1) {
|
||||||
ImBuf *nbuf = IMB_onehalf(b16buf);
|
ImBuf *nbuf = IMB_onehalf(b16buf);
|
||||||
glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA8, nbuf->x, nbuf->y, 0, GL_RGBA, GL_UNSIGNED_BYTE, nbuf->rect);
|
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);
|
IMB_freeImBuf(b16buf);
|
||||||
b16buf = nbuf;
|
b16buf = nbuf;
|
||||||
}
|
}
|
||||||
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||||
|
|
||||||
glBindTexture(GL_TEXTURE_2D, 0);
|
glBindTexture(GL_TEXTURE_2D, 0);
|
||||||
|
|
||||||
if (glGetError() == GL_OUT_OF_MEMORY) {
|
if (glGetError() == GL_OUT_OF_MEMORY) {
|
||||||
glDeleteTextures(1, &icongltex.id);
|
glDeleteTextures(1, &icongltex.id);
|
||||||
icongltex.id = 0;
|
icongltex.id = 0;
|
||||||
@ -546,7 +546,7 @@ static void init_internal_icons(void)
|
|||||||
icontype = ICON_TYPE_TEXTURE;
|
icontype = ICON_TYPE_TEXTURE;
|
||||||
else
|
else
|
||||||
icontype = ICON_TYPE_BUFFER;
|
icontype = ICON_TYPE_BUFFER;
|
||||||
|
|
||||||
if (b32buf) {
|
if (b32buf) {
|
||||||
for (y = 0; y < ICON_GRID_ROWS; y++) {
|
for (y = 0; y < ICON_GRID_ROWS; y++) {
|
||||||
for (x = 0; x < ICON_GRID_COLS; x++) {
|
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_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_KEYFRAME_VEC, vicon_keytype_keyframe_draw);
|
||||||
def_internal_vicon(VICO_KEYTYPE_BREAKDOWN_VEC, vicon_keytype_breakdown_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_EXTREME_VEC, vicon_keytype_extreme_draw);
|
||||||
def_internal_vicon(VICO_KEYTYPE_JITTER_VEC, vicon_keytype_jitter_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_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_01_VEC, vicon_colorset_draw_01);
|
||||||
def_internal_vicon(VICO_COLORSET_02_VEC, vicon_colorset_draw_02);
|
def_internal_vicon(VICO_COLORSET_02_VEC, vicon_colorset_draw_02);
|
||||||
def_internal_vicon(VICO_COLORSET_03_VEC, vicon_colorset_draw_03);
|
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(b16buf);
|
||||||
IMB_freeImBuf(b32buf);
|
IMB_freeImBuf(b32buf);
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif /* WITH_HEADLESS */
|
#endif /* WITH_HEADLESS */
|
||||||
|
|
||||||
@ -605,13 +605,13 @@ static void init_iconfile_list(struct ListBase *list)
|
|||||||
|
|
||||||
if (icondir == NULL)
|
if (icondir == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
totfile = BLI_filelist_dir_contents(icondir, &dir);
|
totfile = BLI_filelist_dir_contents(icondir, &dir);
|
||||||
|
|
||||||
for (i = 0; i < totfile; i++) {
|
for (i = 0; i < totfile; i++) {
|
||||||
if ((dir[i].type & S_IFREG)) {
|
if ((dir[i].type & S_IFREG)) {
|
||||||
const char *filename = dir[i].relname;
|
const char *filename = dir[i].relname;
|
||||||
|
|
||||||
if (BLI_testextensie(filename, ".png")) {
|
if (BLI_testextensie(filename, ".png")) {
|
||||||
/* loading all icons on file start is overkill & slows startup
|
/* loading all icons on file start is overkill & slows startup
|
||||||
* its possible they change size after blender load anyway. */
|
* its possible they change size after blender load anyway. */
|
||||||
@ -633,7 +633,7 @@ static void init_iconfile_list(struct ListBase *list)
|
|||||||
else {
|
else {
|
||||||
ifilex = ifiley = 0;
|
ifilex = ifiley = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* bad size or failed to load */
|
/* bad size or failed to load */
|
||||||
if ((ifilex != ICON_IMAGE_W) || (ifiley != ICON_IMAGE_H)) {
|
if ((ifilex != ICON_IMAGE_W) || (ifiley != ICON_IMAGE_H)) {
|
||||||
printf("icon '%s' is wrong size %dx%d\n", iconfilestr, ifilex, ifiley);
|
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 */
|
/* found a potential icon file, so make an entry for it in the cache list */
|
||||||
ifile = MEM_callocN(sizeof(IconFile), "IconFile");
|
ifile = MEM_callocN(sizeof(IconFile), "IconFile");
|
||||||
|
|
||||||
BLI_strncpy(ifile->filename, filename, sizeof(ifile->filename));
|
BLI_strncpy(ifile->filename, filename, sizeof(ifile->filename));
|
||||||
ifile->index = index;
|
ifile->index = index;
|
||||||
|
|
||||||
BLI_addtail(list, ifile);
|
BLI_addtail(list, ifile);
|
||||||
|
|
||||||
index++;
|
index++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -661,7 +661,7 @@ static void init_iconfile_list(struct ListBase *list)
|
|||||||
static void free_iconfile_list(struct ListBase *list)
|
static void free_iconfile_list(struct ListBase *list)
|
||||||
{
|
{
|
||||||
IconFile *ifile = NULL, *next_ifile = NULL;
|
IconFile *ifile = NULL, *next_ifile = NULL;
|
||||||
|
|
||||||
for (ifile = list->first; ifile; ifile = next_ifile) {
|
for (ifile = list->first; ifile; ifile = next_ifile) {
|
||||||
next_ifile = ifile->next;
|
next_ifile = ifile->next;
|
||||||
BLI_freelinkN(list, ifile);
|
BLI_freelinkN(list, ifile);
|
||||||
@ -674,20 +674,20 @@ int UI_iconfile_get_index(const char *filename)
|
|||||||
{
|
{
|
||||||
IconFile *ifile;
|
IconFile *ifile;
|
||||||
ListBase *list = &(iconfilelist);
|
ListBase *list = &(iconfilelist);
|
||||||
|
|
||||||
for (ifile = list->first; ifile; ifile = ifile->next) {
|
for (ifile = list->first; ifile; ifile = ifile->next) {
|
||||||
if (BLI_path_cmp(filename, ifile->filename) == 0) {
|
if (BLI_path_cmp(filename, ifile->filename) == 0) {
|
||||||
return ifile->index;
|
return ifile->index;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ListBase *UI_iconfile_list(void)
|
ListBase *UI_iconfile_list(void)
|
||||||
{
|
{
|
||||||
ListBase *list = &(iconfilelist);
|
ListBase *list = &(iconfilelist);
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -739,13 +739,13 @@ int UI_icon_get_width(int icon_id)
|
|||||||
DrawInfo *di = NULL;
|
DrawInfo *di = NULL;
|
||||||
|
|
||||||
icon = BKE_icon_get(icon_id);
|
icon = BKE_icon_get(icon_id);
|
||||||
|
|
||||||
if (icon == NULL) {
|
if (icon == NULL) {
|
||||||
if (G.debug & G_DEBUG)
|
if (G.debug & G_DEBUG)
|
||||||
printf("%s: Internal error, no icon for icon ID: %d\n", __func__, icon_id);
|
printf("%s: Internal error, no icon for icon ID: %d\n", __func__, icon_id);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
di = (DrawInfo *)icon->drawinfo;
|
di = (DrawInfo *)icon->drawinfo;
|
||||||
if (!di) {
|
if (!di) {
|
||||||
di = icon_create_drawinfo();
|
di = icon_create_drawinfo();
|
||||||
@ -764,20 +764,20 @@ int UI_icon_get_height(int icon_id)
|
|||||||
DrawInfo *di = NULL;
|
DrawInfo *di = NULL;
|
||||||
|
|
||||||
icon = BKE_icon_get(icon_id);
|
icon = BKE_icon_get(icon_id);
|
||||||
|
|
||||||
if (icon == NULL) {
|
if (icon == NULL) {
|
||||||
if (G.debug & G_DEBUG)
|
if (G.debug & G_DEBUG)
|
||||||
printf("%s: Internal error, no icon for icon ID: %d\n", __func__, icon_id);
|
printf("%s: Internal error, no icon for icon ID: %d\n", __func__, icon_id);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
di = (DrawInfo *)icon->drawinfo;
|
di = (DrawInfo *)icon->drawinfo;
|
||||||
|
|
||||||
if (!di) {
|
if (!di) {
|
||||||
di = icon_create_drawinfo();
|
di = icon_create_drawinfo();
|
||||||
icon->drawinfo = di;
|
icon->drawinfo = di;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (di)
|
if (di)
|
||||||
return ICON_DEFAULT_HEIGHT;
|
return ICON_DEFAULT_HEIGHT;
|
||||||
|
|
||||||
@ -900,7 +900,7 @@ static void icon_set_image(
|
|||||||
PreviewImage *UI_icon_to_preview(int icon_id)
|
PreviewImage *UI_icon_to_preview(int icon_id)
|
||||||
{
|
{
|
||||||
Icon *icon = BKE_icon_get(icon_id);
|
Icon *icon = BKE_icon_get(icon_id);
|
||||||
|
|
||||||
if (icon) {
|
if (icon) {
|
||||||
DrawInfo *di = (DrawInfo *)icon->drawinfo;
|
DrawInfo *di = (DrawInfo *)icon->drawinfo;
|
||||||
if (di) {
|
if (di) {
|
||||||
@ -1003,7 +1003,7 @@ static void icon_draw_rect(float x, float y, int w, int h, float UNUSED(aspect),
|
|||||||
/* restore color */
|
/* restore color */
|
||||||
if (alpha != 0.0f)
|
if (alpha != 0.0f)
|
||||||
glPixelTransferf(GL_ALPHA_SCALE, 1.0f);
|
glPixelTransferf(GL_ALPHA_SCALE, 1.0f);
|
||||||
|
|
||||||
if (rgb) {
|
if (rgb) {
|
||||||
glPixelTransferf(GL_RED_SCALE, 1.0f);
|
glPixelTransferf(GL_RED_SCALE, 1.0f);
|
||||||
glPixelTransferf(GL_GREEN_SCALE, 1.0f);
|
glPixelTransferf(GL_GREEN_SCALE, 1.0f);
|
||||||
@ -1076,10 +1076,10 @@ static void icon_draw_size(
|
|||||||
IconImage *iimg;
|
IconImage *iimg;
|
||||||
const float fdraw_size = (float)draw_size;
|
const float fdraw_size = (float)draw_size;
|
||||||
int w, h;
|
int w, h;
|
||||||
|
|
||||||
icon = BKE_icon_get(icon_id);
|
icon = BKE_icon_get(icon_id);
|
||||||
alpha *= btheme->tui.icon_alpha;
|
alpha *= btheme->tui.icon_alpha;
|
||||||
|
|
||||||
if (icon == NULL) {
|
if (icon == NULL) {
|
||||||
if (G.debug & G_DEBUG)
|
if (G.debug & G_DEBUG)
|
||||||
printf("%s: Internal error, no icon for icon ID: %d\n", __func__, icon_id);
|
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;
|
di = (DrawInfo *)icon->drawinfo;
|
||||||
|
|
||||||
if (!di) {
|
if (!di) {
|
||||||
di = icon_create_drawinfo();
|
di = icon_create_drawinfo();
|
||||||
|
|
||||||
icon->drawinfo = di;
|
icon->drawinfo = di;
|
||||||
icon->drawinfo_free = UI_icons_free_drawinfo;
|
icon->drawinfo_free = UI_icons_free_drawinfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* scale width and height according to aspect */
|
/* scale width and height according to aspect */
|
||||||
w = (int)(fdraw_size / aspect + 0.5f);
|
w = (int)(fdraw_size / aspect + 0.5f);
|
||||||
h = (int)(fdraw_size / aspect + 0.5f);
|
h = (int)(fdraw_size / aspect + 0.5f);
|
||||||
|
|
||||||
if (di->type == ICON_TYPE_VECTOR) {
|
if (di->type == ICON_TYPE_VECTOR) {
|
||||||
/* vector icons use the uiBlock transformation, they are not drawn
|
/* vector icons use the uiBlock transformation, they are not drawn
|
||||||
* with untransformed coordinates like the other icons */
|
* with untransformed coordinates like the other icons */
|
||||||
@ -1129,7 +1129,7 @@ static void icon_draw_size(
|
|||||||
if (pi) {
|
if (pi) {
|
||||||
/* no create icon on this level in code */
|
/* no create icon on this level in code */
|
||||||
if (!pi->rect[size]) return; /* something has gone wrong! */
|
if (!pi->rect[size]) return; /* something has gone wrong! */
|
||||||
|
|
||||||
/* preview images use premul alpha ... */
|
/* preview images use premul alpha ... */
|
||||||
glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE_MINUS_SRC_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);
|
PreviewImage *pi = BKE_previewimg_id_ensure(id);
|
||||||
enum eIconSizes i;
|
enum eIconSizes i;
|
||||||
|
|
||||||
if (!pi)
|
if (!pi)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for (i = 0; i < NUM_ICON_SIZES; i++) {
|
for (i = 0; i < NUM_ICON_SIZES; i++) {
|
||||||
/* check if rect needs to be created; changed
|
/* check if rect needs to be created; changed
|
||||||
* only set by dynamic icons */
|
* 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 ui_id_icon_get(const bContext *C, ID *id, const bool big)
|
||||||
{
|
{
|
||||||
int iconid = 0;
|
int iconid = 0;
|
||||||
|
|
||||||
/* icon */
|
/* icon */
|
||||||
switch (GS(id->name)) {
|
switch (GS(id->name)) {
|
||||||
case ID_BR:
|
case ID_BR:
|
||||||
|
@ -73,19 +73,19 @@ typedef enum {
|
|||||||
UI_WTYPE_SLIDER,
|
UI_WTYPE_SLIDER,
|
||||||
UI_WTYPE_EXEC,
|
UI_WTYPE_EXEC,
|
||||||
UI_WTYPE_TOOLTIP,
|
UI_WTYPE_TOOLTIP,
|
||||||
|
|
||||||
/* strings */
|
/* strings */
|
||||||
UI_WTYPE_NAME,
|
UI_WTYPE_NAME,
|
||||||
UI_WTYPE_NAME_LINK,
|
UI_WTYPE_NAME_LINK,
|
||||||
UI_WTYPE_POINTER_LINK,
|
UI_WTYPE_POINTER_LINK,
|
||||||
UI_WTYPE_FILENAME,
|
UI_WTYPE_FILENAME,
|
||||||
|
|
||||||
/* menus */
|
/* menus */
|
||||||
UI_WTYPE_MENU_RADIO,
|
UI_WTYPE_MENU_RADIO,
|
||||||
UI_WTYPE_MENU_ICON_RADIO,
|
UI_WTYPE_MENU_ICON_RADIO,
|
||||||
UI_WTYPE_MENU_POINTER_LINK,
|
UI_WTYPE_MENU_POINTER_LINK,
|
||||||
UI_WTYPE_MENU_NODE_LINK,
|
UI_WTYPE_MENU_NODE_LINK,
|
||||||
|
|
||||||
UI_WTYPE_PULLDOWN,
|
UI_WTYPE_PULLDOWN,
|
||||||
UI_WTYPE_MENU_ITEM,
|
UI_WTYPE_MENU_ITEM,
|
||||||
UI_WTYPE_MENU_ITEM_RADIAL,
|
UI_WTYPE_MENU_ITEM_RADIAL,
|
||||||
@ -197,10 +197,10 @@ typedef struct {
|
|||||||
void **poin; /* pointer to original pointer */
|
void **poin; /* pointer to original pointer */
|
||||||
void ***ppoin; /* pointer to original pointer-array */
|
void ***ppoin; /* pointer to original pointer-array */
|
||||||
short *totlink; /* if pointer-array, here is the total */
|
short *totlink; /* if pointer-array, here is the total */
|
||||||
|
|
||||||
short maxlink, pad;
|
short maxlink, pad;
|
||||||
short fromcode, tocode;
|
short fromcode, tocode;
|
||||||
|
|
||||||
ListBase lines;
|
ListBase lines;
|
||||||
} uiLink;
|
} uiLink;
|
||||||
|
|
||||||
@ -255,7 +255,7 @@ struct uiBut {
|
|||||||
|
|
||||||
uiButCompleteFunc autocomplete_func;
|
uiButCompleteFunc autocomplete_func;
|
||||||
void *autofunc_arg;
|
void *autofunc_arg;
|
||||||
|
|
||||||
uiButSearchCreateFunc search_create_func;
|
uiButSearchCreateFunc search_create_func;
|
||||||
uiButSearchFunc search_func;
|
uiButSearchFunc search_func;
|
||||||
void *search_arg;
|
void *search_arg;
|
||||||
@ -270,7 +270,7 @@ struct uiBut {
|
|||||||
|
|
||||||
uiLink *link;
|
uiLink *link;
|
||||||
short linkto[2]; /* region relative coords */
|
short linkto[2]; /* region relative coords */
|
||||||
|
|
||||||
const char *tip;
|
const char *tip;
|
||||||
uiButToolTipFunc tip_func;
|
uiButToolTipFunc tip_func;
|
||||||
void *tip_argN;
|
void *tip_argN;
|
||||||
@ -314,7 +314,7 @@ struct uiBut {
|
|||||||
void *dragpoin;
|
void *dragpoin;
|
||||||
struct ImBuf *imb;
|
struct ImBuf *imb;
|
||||||
float imb_scale;
|
float imb_scale;
|
||||||
|
|
||||||
/* active button data */
|
/* active button data */
|
||||||
struct uiHandleButtonData *active;
|
struct uiHandleButtonData *active;
|
||||||
|
|
||||||
@ -326,7 +326,7 @@ struct uiBut {
|
|||||||
float *editvec;
|
float *editvec;
|
||||||
void *editcoba;
|
void *editcoba;
|
||||||
void *editcumap;
|
void *editcumap;
|
||||||
|
|
||||||
/* pointer back */
|
/* pointer back */
|
||||||
uiBlock *block;
|
uiBlock *block;
|
||||||
};
|
};
|
||||||
@ -369,9 +369,9 @@ struct uiBlock {
|
|||||||
struct uiLayout *curlayout;
|
struct uiLayout *curlayout;
|
||||||
|
|
||||||
ListBase contexts;
|
ListBase contexts;
|
||||||
|
|
||||||
char name[UI_MAX_NAME_STR];
|
char name[UI_MAX_NAME_STR];
|
||||||
|
|
||||||
float winmat[4][4];
|
float winmat[4][4];
|
||||||
|
|
||||||
rctf rect;
|
rctf rect;
|
||||||
@ -391,10 +391,10 @@ struct uiBlock {
|
|||||||
|
|
||||||
uiBlockHandleFunc handle_func;
|
uiBlockHandleFunc handle_func;
|
||||||
void *handle_func_arg;
|
void *handle_func_arg;
|
||||||
|
|
||||||
/* custom extra handling */
|
/* custom extra handling */
|
||||||
int (*block_event_func)(const struct bContext *C, struct uiBlock *, const struct wmEvent *);
|
int (*block_event_func)(const struct bContext *C, struct uiBlock *, const struct wmEvent *);
|
||||||
|
|
||||||
/* extra draw function for custom blocks */
|
/* extra draw function for custom blocks */
|
||||||
void (*drawextra)(const struct bContext *C, void *idv, void *arg1, void *arg2, rcti *rect);
|
void (*drawextra)(const struct bContext *C, void *idv, void *arg1, void *arg2, rcti *rect);
|
||||||
void *drawextra_arg1;
|
void *drawextra_arg1;
|
||||||
@ -551,7 +551,7 @@ struct uiPopupBlockHandle {
|
|||||||
void (*popup_func)(struct bContext *C, void *arg, int event);
|
void (*popup_func)(struct bContext *C, void *arg, int event);
|
||||||
void (*cancel_func)(struct bContext *C, void *arg);
|
void (*cancel_func)(struct bContext *C, void *arg);
|
||||||
void *popup_arg;
|
void *popup_arg;
|
||||||
|
|
||||||
/* store data for refreshing popups */
|
/* store data for refreshing popups */
|
||||||
struct uiPopupBlockCreate popup_create_vars;
|
struct uiPopupBlockCreate popup_create_vars;
|
||||||
/* true if we can re-create the popup using 'popup_create_vars' */
|
/* true if we can re-create the popup using 'popup_create_vars' */
|
||||||
@ -567,7 +567,7 @@ struct uiPopupBlockHandle {
|
|||||||
ScrArea *ctx_area;
|
ScrArea *ctx_area;
|
||||||
ARegion *ctx_region;
|
ARegion *ctx_region;
|
||||||
int opcontext;
|
int opcontext;
|
||||||
|
|
||||||
/* return values */
|
/* return values */
|
||||||
int butretval;
|
int butretval;
|
||||||
int menuretval;
|
int menuretval;
|
||||||
|
@ -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.ymin = y;
|
||||||
bitem->but->rect.xmax = x + w;
|
bitem->but->rect.xmax = x + w;
|
||||||
bitem->but->rect.ymax = y + h;
|
bitem->but->rect.ymax = y + h;
|
||||||
|
|
||||||
ui_but_update(bitem->but); /* for strlen */
|
ui_but_update(bitem->but); /* for strlen */
|
||||||
}
|
}
|
||||||
else {
|
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.xmin += delta_xmin;
|
||||||
bitem->but->rect.xmax += delta_xmax;
|
bitem->but->rect.xmax += delta_xmax;
|
||||||
|
|
||||||
ui_but_update(bitem->but); /* for strlen */
|
ui_but_update(bitem->but); /* for strlen */
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -359,7 +359,7 @@ static uiLayout *ui_item_local_sublayout(uiLayout *test, uiLayout *layout, int a
|
|||||||
sub = uiLayoutRow(layout, align);
|
sub = uiLayoutRow(layout, align);
|
||||||
else
|
else
|
||||||
sub = uiLayoutColumn(layout, align);
|
sub = uiLayoutColumn(layout, align);
|
||||||
|
|
||||||
sub->space = 0;
|
sub->space = 0;
|
||||||
return sub;
|
return sub;
|
||||||
}
|
}
|
||||||
@ -429,9 +429,9 @@ static void ui_item_array(
|
|||||||
|
|
||||||
if (ptr->type == &RNA_Armature) {
|
if (ptr->type == &RNA_Armature) {
|
||||||
bArmature *arm = (bArmature *)ptr->data;
|
bArmature *arm = (bArmature *)ptr->data;
|
||||||
|
|
||||||
layer_used = arm->layer_used;
|
layer_used = arm->layer_used;
|
||||||
|
|
||||||
if (arm->edbo) {
|
if (arm->edbo) {
|
||||||
if (arm->act_edbone) {
|
if (arm->act_edbone) {
|
||||||
layer_active |= arm->act_edbone->layer;
|
layer_active |= arm->act_edbone->layer;
|
||||||
@ -450,7 +450,7 @@ static void ui_item_array(
|
|||||||
for (a = 0; a < colbuts; a++) {
|
for (a = 0; a < colbuts; a++) {
|
||||||
const int layer_num = a + b * colbuts;
|
const int layer_num = a + b * colbuts;
|
||||||
const unsigned int layer_flag = (1u << layer_num);
|
const unsigned int layer_flag = (1u << layer_num);
|
||||||
|
|
||||||
if (layer_used & layer_flag) {
|
if (layer_used & layer_flag) {
|
||||||
if (layer_active & layer_flag)
|
if (layer_active & layer_flag)
|
||||||
icon = ICON_LAYER_ACTIVE;
|
icon = ICON_LAYER_ACTIVE;
|
||||||
@ -468,7 +468,7 @@ static void ui_item_array(
|
|||||||
for (a = 0; a < colbuts; a++) {
|
for (a = 0; a < colbuts; a++) {
|
||||||
const int layer_num = a + len / 2 + b * colbuts;
|
const int layer_num = a + len / 2 + b * colbuts;
|
||||||
const unsigned int layer_flag = (1u << layer_num);
|
const unsigned int layer_flag = (1u << layer_num);
|
||||||
|
|
||||||
if (layer_used & layer_flag) {
|
if (layer_used & layer_flag) {
|
||||||
if (layer_active & layer_flag)
|
if (layer_active & layer_flag)
|
||||||
icon = ICON_LAYER_ACTIVE;
|
icon = ICON_LAYER_ACTIVE;
|
||||||
@ -496,7 +496,7 @@ static void ui_item_array(
|
|||||||
|
|
||||||
totdim = RNA_property_array_dimension(ptr, prop, dim_size);
|
totdim = RNA_property_array_dimension(ptr, prop, dim_size);
|
||||||
if (totdim != 2) return; /* only 2D matrices supported in UI so far */
|
if (totdim != 2) return; /* only 2D matrices supported in UI so far */
|
||||||
|
|
||||||
w /= dim_size[0];
|
w /= dim_size[0];
|
||||||
/* h /= dim_size[1]; */ /* UNUSED */
|
/* h /= dim_size[1]; */ /* UNUSED */
|
||||||
|
|
||||||
@ -1402,7 +1402,7 @@ void uiItemFullR(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index
|
|||||||
|
|
||||||
if (icon == ICON_NONE)
|
if (icon == ICON_NONE)
|
||||||
icon = RNA_property_ui_icon(prop);
|
icon = RNA_property_ui_icon(prop);
|
||||||
|
|
||||||
if (flag & UI_ITEM_R_ICON_ONLY) {
|
if (flag & UI_ITEM_R_ICON_ONLY) {
|
||||||
/* pass */
|
/* pass */
|
||||||
}
|
}
|
||||||
@ -1447,7 +1447,7 @@ void uiItemFullR(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index
|
|||||||
|
|
||||||
if (no_bg)
|
if (no_bg)
|
||||||
UI_block_emboss_set(block, UI_EMBOSS_NONE);
|
UI_block_emboss_set(block, UI_EMBOSS_NONE);
|
||||||
|
|
||||||
/* array property */
|
/* array property */
|
||||||
if (index == RNA_NO_INDEX && is_array)
|
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);
|
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) {
|
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);
|
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);
|
ui_but_add_search(but, ptr, prop, NULL, NULL);
|
||||||
|
|
||||||
if (layout->redalert)
|
if (layout->redalert)
|
||||||
UI_but_flag_enable(but, UI_BUT_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)
|
if (toggle && but->type == UI_BTYPE_CHECKBOX)
|
||||||
but->type = UI_BTYPE_TOGGLE;
|
but->type = UI_BTYPE_TOGGLE;
|
||||||
|
|
||||||
if (layout->redalert)
|
if (layout->redalert)
|
||||||
UI_but_flag_enable(but, UI_BUT_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 *cis1 = a;
|
||||||
const CollItemSearch *cis2 = b;
|
const CollItemSearch *cis2 = b;
|
||||||
|
|
||||||
if (BLI_strcasecmp(cis1->name, cis2->name) > 0)
|
if (BLI_strcasecmp(cis1->name, cis2->name) > 0)
|
||||||
return 1;
|
return 1;
|
||||||
else
|
else
|
||||||
@ -1711,9 +1711,9 @@ static void rna_search_cb(const struct bContext *C, void *arg_but, const char *s
|
|||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
RNA_PROP_END;
|
RNA_PROP_END;
|
||||||
|
|
||||||
BLI_listbase_sort(items_list, sort_search_items_list);
|
BLI_listbase_sort(items_list, sort_search_items_list);
|
||||||
|
|
||||||
/* add search items from temporary list */
|
/* add search items from temporary list */
|
||||||
for (cis = items_list->first; cis; cis = cis->next) {
|
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)) {
|
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;
|
StructRNA *icontype;
|
||||||
int w, h;
|
int w, h;
|
||||||
char namestr[UI_MAX_NAME_STR];
|
char namestr[UI_MAX_NAME_STR];
|
||||||
|
|
||||||
/* validate arguments */
|
/* validate arguments */
|
||||||
prop = RNA_struct_find_property(ptr, propname);
|
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);
|
RNA_struct_identifier(ptr->type), propname);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
type = RNA_property_type(prop);
|
type = RNA_property_type(prop);
|
||||||
if (!ELEM(type, PROP_POINTER, PROP_STRING, PROP_ENUM)) {
|
if (!ELEM(type, PROP_POINTER, PROP_STRING, PROP_ENUM)) {
|
||||||
RNA_warning("Property %s must be a pointer, string or enum", propname);
|
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)
|
if (totw == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (w != 0)
|
if (w != 0)
|
||||||
w -= (tot - 1) * litem->space;
|
w -= (tot - 1) * litem->space;
|
||||||
fixedw = 0;
|
fixedw = 0;
|
||||||
@ -2245,7 +2245,7 @@ static void ui_litem_layout_row(uiLayout *litem)
|
|||||||
/* ignore min flag for rows with right or center alignment */
|
/* ignore min flag for rows with right or center alignment */
|
||||||
if (item->type != ITEM_BUTTON &&
|
if (item->type != ITEM_BUTTON &&
|
||||||
ELEM(((uiLayout *)item)->alignment, UI_LAYOUT_ALIGN_RIGHT, UI_LAYOUT_ALIGN_CENTER) &&
|
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)
|
((uiItem *)litem)->flag & UI_ITEM_MIN)
|
||||||
{
|
{
|
||||||
min_flag = false;
|
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))
|
if (item->next && (!is_box || item != litem->items.first))
|
||||||
litem->h += litem->space;
|
litem->h += litem->space;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (min_size_flag) {
|
if (min_size_flag) {
|
||||||
litem->item.flag |= UI_ITEM_MIN;
|
litem->item.flag |= UI_ITEM_MIN;
|
||||||
}
|
}
|
||||||
@ -2743,7 +2743,7 @@ static void ui_litem_layout_absolute(uiLayout *litem)
|
|||||||
scalex = (float)litem->w / (float)totw;
|
scalex = (float)litem->w / (float)totw;
|
||||||
if (litem->h && toth > 0)
|
if (litem->h && toth > 0)
|
||||||
scaley = (float)litem->h / (float)toth;
|
scaley = (float)litem->h / (float)toth;
|
||||||
|
|
||||||
x = litem->x;
|
x = litem->x;
|
||||||
y = litem->y - scaley * toth;
|
y = litem->y - scaley * toth;
|
||||||
|
|
||||||
@ -2794,7 +2794,7 @@ static void ui_litem_layout_split(uiLayout *litem)
|
|||||||
y = litem->y;
|
y = litem->y;
|
||||||
|
|
||||||
percentage = (split->percentage == 0.0f) ? 1.0f / (float)tot : split->percentage;
|
percentage = (split->percentage == 0.0f) ? 1.0f / (float)tot : split->percentage;
|
||||||
|
|
||||||
w = (litem->w - (tot - 1) * litem->space);
|
w = (litem->w - (tot - 1) * litem->space);
|
||||||
colw = w * percentage;
|
colw = w * percentage;
|
||||||
colw = MAX2(colw, 0);
|
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);
|
BLI_addtail(&block->layouts, root);
|
||||||
|
|
||||||
ui_layout_add_padding_button(root);
|
ui_layout_add_padding_button(root);
|
||||||
|
|
||||||
return layout;
|
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)
|
void ui_layout_add_but(uiLayout *layout, uiBut *but)
|
||||||
{
|
{
|
||||||
uiButtonItem *bitem;
|
uiButtonItem *bitem;
|
||||||
|
|
||||||
bitem = MEM_callocN(sizeof(uiButtonItem), "uiButtonItem");
|
bitem = MEM_callocN(sizeof(uiButtonItem), "uiButtonItem");
|
||||||
bitem->item.type = ITEM_BUTTON;
|
bitem->item.type = ITEM_BUTTON;
|
||||||
bitem->but = but;
|
bitem->but = but;
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
* as published by the Free Software Foundation; either version 2
|
* 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,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
@ -17,7 +17,7 @@
|
|||||||
*
|
*
|
||||||
* The Original Code is Copyright (C) 2009 Blender Foundation.
|
* The Original Code is Copyright (C) 2009 Blender Foundation.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Contributor(s): Blender Foundation, Joshua Leung
|
* Contributor(s): Blender Foundation, Joshua Leung
|
||||||
*
|
*
|
||||||
* ***** END GPL LICENSE BLOCK *****
|
* ***** END GPL LICENSE BLOCK *****
|
||||||
@ -72,7 +72,7 @@ static int reset_default_theme_exec(bContext *C, wmOperator *UNUSED(op))
|
|||||||
ui_theme_init_default();
|
ui_theme_init_default();
|
||||||
ui_style_init_default();
|
ui_style_init_default();
|
||||||
WM_event_add_notifier(C, NC_WINDOW, NULL);
|
WM_event_add_notifier(C, NC_WINDOW, NULL);
|
||||||
|
|
||||||
return OPERATOR_FINISHED;
|
return OPERATOR_FINISHED;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,10 +82,10 @@ static void UI_OT_reset_default_theme(wmOperatorType *ot)
|
|||||||
ot->name = "Reset to Default Theme";
|
ot->name = "Reset to Default Theme";
|
||||||
ot->idname = "UI_OT_reset_default_theme";
|
ot->idname = "UI_OT_reset_default_theme";
|
||||||
ot->description = "Reset to the default theme colors";
|
ot->description = "Reset to the default theme colors";
|
||||||
|
|
||||||
/* callbacks */
|
/* callbacks */
|
||||||
ot->exec = reset_default_theme_exec;
|
ot->exec = reset_default_theme_exec;
|
||||||
|
|
||||||
/* flags */
|
/* flags */
|
||||||
ot->flag = OPTYPE_REGISTER;
|
ot->flag = OPTYPE_REGISTER;
|
||||||
}
|
}
|
||||||
@ -103,7 +103,7 @@ static int copy_data_path_button_poll(bContext *C)
|
|||||||
|
|
||||||
if (ptr.id.data && ptr.data && prop) {
|
if (ptr.id.data && ptr.data && prop) {
|
||||||
path = RNA_path_from_ID_to_property(&ptr, prop);
|
path = RNA_path_from_ID_to_property(&ptr, prop);
|
||||||
|
|
||||||
if (path) {
|
if (path) {
|
||||||
MEM_freeN(path);
|
MEM_freeN(path);
|
||||||
return 1;
|
return 1;
|
||||||
@ -249,7 +249,7 @@ static int reset_default_button_poll(bContext *C)
|
|||||||
int index;
|
int index;
|
||||||
|
|
||||||
UI_context_active_but_prop_get(C, &ptr, &prop, &index);
|
UI_context_active_but_prop_get(C, &ptr, &prop, &index);
|
||||||
|
|
||||||
return (ptr.data && prop && RNA_property_editable(&ptr, prop));
|
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 */
|
/* try to reset the nominated setting to its default value */
|
||||||
UI_context_active_but_prop_get(C, &ptr, &prop, &index);
|
UI_context_active_but_prop_get(C, &ptr, &prop, &index);
|
||||||
|
|
||||||
/* if there is a valid property that is editable... */
|
/* if there is a valid property that is editable... */
|
||||||
if (ptr.data && prop && RNA_property_editable(&ptr, prop)) {
|
if (ptr.data && prop && RNA_property_editable(&ptr, prop)) {
|
||||||
if (RNA_property_reset(&ptr, prop, (all) ? -1 : index))
|
if (RNA_property_reset(&ptr, prop, (all) ? -1 : index))
|
||||||
@ -285,7 +285,7 @@ static void UI_OT_reset_default_button(wmOperatorType *ot)
|
|||||||
|
|
||||||
/* flags */
|
/* flags */
|
||||||
ot->flag = OPTYPE_UNDO;
|
ot->flag = OPTYPE_UNDO;
|
||||||
|
|
||||||
/* properties */
|
/* properties */
|
||||||
RNA_def_boolean(ot->srna, "all", 1, "All", "Reset to default values all elements of the array");
|
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 ------------------------ */
|
/* 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...
|
* 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);
|
Main *bmain = CTX_data_main(C);
|
||||||
Text *txt;
|
Text *txt;
|
||||||
char *str;
|
char *str;
|
||||||
|
|
||||||
/* create new text-block to write to */
|
/* create new text-block to write to */
|
||||||
txt = BKE_text_add(bmain, "Recent Reports");
|
txt = BKE_text_add(bmain, "Recent Reports");
|
||||||
|
|
||||||
/* convert entire list to a display string, and add this to the text-block
|
/* convert entire list to a display string, and add this to the text-block
|
||||||
* - if commandline debug option enabled, show debug reports too
|
* - if commandline debug option enabled, show debug reports too
|
||||||
* - otherwise, up to info (which is what users normally see)
|
* - 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->name = "Reports to Text Block";
|
||||||
ot->idname = "UI_OT_reports_to_textblock";
|
ot->idname = "UI_OT_reports_to_textblock";
|
||||||
ot->description = "Write the reports ";
|
ot->description = "Write the reports ";
|
||||||
|
|
||||||
/* callbacks */
|
/* callbacks */
|
||||||
ot->poll = reports_to_text_poll;
|
ot->poll = reports_to_text_poll;
|
||||||
ot->exec = reports_to_text_exec;
|
ot->exec = reports_to_text_exec;
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
|
|
||||||
/* a full doc with API notes can be found in bf-blender/trunk/blender/doc/guides/interface_API.txt */
|
/* a full doc with API notes can be found in bf-blender/trunk/blender/doc/guides/interface_API.txt */
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -130,7 +130,7 @@ static int panel_aligned(ScrArea *sa, ARegion *ar)
|
|||||||
return BUT_VERTICAL;
|
return BUT_VERTICAL;
|
||||||
else if (ELEM(ar->regiontype, RGN_TYPE_UI, RGN_TYPE_TOOLS, RGN_TYPE_TOOL_PROPS))
|
else if (ELEM(ar->regiontype, RGN_TYPE_UI, RGN_TYPE_TOOLS, RGN_TYPE_TOOL_PROPS))
|
||||||
return BUT_VERTICAL;
|
return BUT_VERTICAL;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -171,7 +171,7 @@ static int panels_re_align(ScrArea *sa, ARegion *ar, Panel **r_pa)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -271,7 +271,7 @@ Panel *UI_panel_begin(ScrArea *sa, ARegion *ar, uiBlock *block, PanelType *pt, P
|
|||||||
else
|
else
|
||||||
pa->flag |= PNL_CLOSEDX;
|
pa->flag |= PNL_CLOSEDX;
|
||||||
}
|
}
|
||||||
|
|
||||||
pa->ofsx = 0;
|
pa->ofsx = 0;
|
||||||
pa->ofsy = 0;
|
pa->ofsy = 0;
|
||||||
pa->sizex = 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)
|
for (palast = ar->panels.first; palast; palast = palast->next)
|
||||||
if (palast->runtime_flag & PNL_LAST_ADDED)
|
if (palast->runtime_flag & PNL_LAST_ADDED)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (newpanel) {
|
if (newpanel) {
|
||||||
pa->sortorder = (palast) ? palast->sortorder + 1 : 0;
|
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;
|
if (pa->flag & PNL_CLOSED) return pa;
|
||||||
|
|
||||||
*r_open = true;
|
*r_open = true;
|
||||||
|
|
||||||
return pa;
|
return pa;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -397,7 +397,7 @@ static void ui_offset_panel_block(uiBlock *block)
|
|||||||
#if 0 /*UNUSED 2.5*/
|
#if 0 /*UNUSED 2.5*/
|
||||||
static void uiPanelPush(uiBlock *block)
|
static void uiPanelPush(uiBlock *block)
|
||||||
{
|
{
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
|
|
||||||
if (block->panel)
|
if (block->panel)
|
||||||
glTranslatef((float)block->panel->ofsx, (float)block->panel->ofsy, 0.0);
|
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 f3 = 0.15 * U.widget_unit;
|
||||||
float f5 = 0.25 * U.widget_unit;
|
float f5 = 0.25 * U.widget_unit;
|
||||||
float f7 = 0.35 * U.widget_unit;
|
float f7 = 0.35 * U.widget_unit;
|
||||||
|
|
||||||
if (dir == 'h') {
|
if (dir == 'h') {
|
||||||
ui_draw_anti_tria(x - f3, y - f5, x - f3, y + f5, x + f7, y);
|
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);
|
glEnable(GL_BLEND);
|
||||||
|
|
||||||
glLineWidth(2.0);
|
glLineWidth(2.0);
|
||||||
|
|
||||||
fdrawline(x1, y1, x2, y2);
|
fdrawline(x1, y1, x2, y2);
|
||||||
fdrawline(x1, y2, x2, y1);
|
fdrawline(x1, y2, x2, y1);
|
||||||
|
|
||||||
glDisable(GL_LINE_SMOOTH);
|
glDisable(GL_LINE_SMOOTH);
|
||||||
glDisable(GL_BLEND);
|
glDisable(GL_BLEND);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* x 'icon' for panel header */
|
/* x 'icon' for panel header */
|
||||||
@ -471,20 +471,20 @@ static void ui_draw_panel_scalewidget(const rcti *rect)
|
|||||||
{
|
{
|
||||||
float xmin, xmax, dx;
|
float xmin, xmax, dx;
|
||||||
float ymin, ymax, dy;
|
float ymin, ymax, dy;
|
||||||
|
|
||||||
xmin = rect->xmax - PNL_HEADER + 2;
|
xmin = rect->xmax - PNL_HEADER + 2;
|
||||||
xmax = rect->xmax - 3;
|
xmax = rect->xmax - 3;
|
||||||
ymin = rect->ymin + 3;
|
ymin = rect->ymin + 3;
|
||||||
ymax = rect->ymin + PNL_HEADER - 2;
|
ymax = rect->ymin + PNL_HEADER - 2;
|
||||||
|
|
||||||
dx = 0.5f * (xmax - xmin);
|
dx = 0.5f * (xmax - xmin);
|
||||||
dy = 0.5f * (ymax - ymin);
|
dy = 0.5f * (ymax - ymin);
|
||||||
|
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
glColor4ub(255, 255, 255, 50);
|
glColor4ub(255, 255, 255, 50);
|
||||||
fdrawline(xmin, ymin, xmax, ymax);
|
fdrawline(xmin, ymin, xmax, ymax);
|
||||||
fdrawline(xmin + dx, ymin, xmax, ymax - dy);
|
fdrawline(xmin + dx, ymin, xmax, ymax - dy);
|
||||||
|
|
||||||
glColor4ub(0, 0, 0, 50);
|
glColor4ub(0, 0, 0, 50);
|
||||||
fdrawline(xmin, ymin + 1, xmax, ymax + 1);
|
fdrawline(xmin, ymin + 1, xmax, ymax + 1);
|
||||||
fdrawline(xmin + dx, ymin + 1, xmax, ymax - dy + 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;
|
pnl_icons = (panel->labelofs + 2 * PNL_ICON + 5) / block->aspect + 0.001f;
|
||||||
else
|
else
|
||||||
pnl_icons = (panel->labelofs + PNL_ICON + 5) / block->aspect + 0.001f;
|
pnl_icons = (panel->labelofs + PNL_ICON + 5) / block->aspect + 0.001f;
|
||||||
|
|
||||||
/* active tab */
|
/* active tab */
|
||||||
/* draw text label */
|
/* draw text label */
|
||||||
UI_ThemeColor(TH_TITLE);
|
UI_ThemeColor(TH_TITLE);
|
||||||
|
|
||||||
hrect = *rect;
|
hrect = *rect;
|
||||||
if (dir == 'h') {
|
if (dir == 'h') {
|
||||||
hrect.xmin = rect->xmin + pnl_icons;
|
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);
|
UI_fontstyle_draw(&style->paneltitle, &hrect, activename);
|
||||||
}
|
}
|
||||||
else {
|
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
|
* + 0.001f to avoid flirting with float inaccuracy
|
||||||
*/
|
*/
|
||||||
hrect.xmin = rect->xmin + (PNL_ICON + 5) / block->aspect + 0.001f;
|
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)
|
static int find_leftmost_panel(const void *a1, const void *a2)
|
||||||
{
|
{
|
||||||
const PanelSort *ps1 = a1, *ps2 = a2;
|
const PanelSort *ps1 = a1, *ps2 = a2;
|
||||||
|
|
||||||
if (ps1->pa->ofsx > ps2->pa->ofsx) return 1;
|
if (ps1->pa->ofsx > ps2->pa->ofsx) return 1;
|
||||||
else 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;
|
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)
|
static int find_highest_panel(const void *a1, const void *a2)
|
||||||
{
|
{
|
||||||
const PanelSort *ps1 = a1, *ps2 = a2;
|
const PanelSort *ps1 = a1, *ps2 = a2;
|
||||||
|
|
||||||
/* stick uppermost header-less panels to the top of the region -
|
/* 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) */
|
* 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) {
|
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->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;
|
||||||
else if (ps1->pa->sortorder < ps2->pa->sortorder) return -1;
|
else if (ps1->pa->sortorder < ps2->pa->sortorder) return -1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int compare_panel(const void *a1, const void *a2)
|
static int compare_panel(const void *a1, const void *a2)
|
||||||
{
|
{
|
||||||
const PanelSort *ps1 = a1, *ps2 = a2;
|
const PanelSort *ps1 = a1, *ps2 = a2;
|
||||||
|
|
||||||
if (ps1->pa->sortorder > ps2->pa->sortorder) return 1;
|
if (ps1->pa->sortorder > ps2->pa->sortorder) return 1;
|
||||||
else if (ps1->pa->sortorder < ps2->pa->sortorder) return -1;
|
else if (ps1->pa->sortorder < ps2->pa->sortorder) return -1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -803,7 +803,7 @@ static bool uiAlignPanelStep(ScrArea *sa, ARegion *ar, const float fac, const bo
|
|||||||
bool done;
|
bool done;
|
||||||
int align = panel_aligned(sa, ar);
|
int align = panel_aligned(sa, ar);
|
||||||
bool has_category_tabs = UI_panel_category_is_visible(ar);
|
bool has_category_tabs = UI_panel_category_is_visible(ar);
|
||||||
|
|
||||||
/* count active, not tabbed panels */
|
/* count active, not tabbed panels */
|
||||||
for (pa = ar->panels.first; pa; pa = pa->next)
|
for (pa = ar->panels.first; pa; pa = pa->next)
|
||||||
if ((pa->runtime_flag & PNL_ACTIVE) && pa->paneltab == NULL)
|
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 */
|
/* sort panels */
|
||||||
panelsort = MEM_callocN(tot * sizeof(PanelSort), "panelsort");
|
panelsort = MEM_callocN(tot * sizeof(PanelSort), "panelsort");
|
||||||
|
|
||||||
ps = panelsort;
|
ps = panelsort;
|
||||||
for (pa = ar->panels.first; pa; pa = pa->next) {
|
for (pa = ar->panels.first; pa; pa = pa->next) {
|
||||||
if ((pa->runtime_flag & PNL_ACTIVE) && pa->paneltab == NULL) {
|
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++;
|
ps++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (drag) {
|
if (drag) {
|
||||||
/* while we are dragging, we sort on location and update sortorder */
|
/* while we are dragging, we sort on location and update sortorder */
|
||||||
if (align == BUT_VERTICAL)
|
if (align == BUT_VERTICAL)
|
||||||
@ -846,7 +846,7 @@ static bool uiAlignPanelStep(ScrArea *sa, ARegion *ar, const float fac, const bo
|
|||||||
else
|
else
|
||||||
/* otherwise use sortorder */
|
/* otherwise use sortorder */
|
||||||
qsort(panelsort, tot, sizeof(PanelSort), compare_panel);
|
qsort(panelsort, tot, sizeof(PanelSort), compare_panel);
|
||||||
|
|
||||||
/* no smart other default start loc! this keeps switching f5/f6/etc compatible */
|
/* no smart other default start loc! this keeps switching f5/f6/etc compatible */
|
||||||
ps = panelsort;
|
ps = panelsort;
|
||||||
ps->pa->ofsx = 0;
|
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);
|
psnext->pa->ofsy = ps->pa->ofsy + get_panel_size_y(ps->pa) - get_panel_size_y(psnext->pa);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* we interpolate */
|
/* we interpolate */
|
||||||
done = false;
|
done = false;
|
||||||
ps = panelsort;
|
ps = panelsort;
|
||||||
@ -894,7 +894,7 @@ static bool uiAlignPanelStep(ScrArea *sa, ARegion *ar, const float fac, const bo
|
|||||||
MEM_freeN(ps->pa);
|
MEM_freeN(ps->pa);
|
||||||
}
|
}
|
||||||
MEM_freeN(panelsort);
|
MEM_freeN(panelsort);
|
||||||
|
|
||||||
return done;
|
return done;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -928,7 +928,7 @@ static void ui_panels_size(ScrArea *sa, ARegion *ar, int *x, int *y)
|
|||||||
sizex = UI_PANEL_WIDTH;
|
sizex = UI_PANEL_WIDTH;
|
||||||
if (sizey == 0)
|
if (sizey == 0)
|
||||||
sizey = -UI_PANEL_WIDTH;
|
sizey = -UI_PANEL_WIDTH;
|
||||||
|
|
||||||
*x = sizex;
|
*x = sizex;
|
||||||
*y = sizey;
|
*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);
|
ScrArea *sa = CTX_wm_area(C);
|
||||||
uiBlock *block;
|
uiBlock *block;
|
||||||
Panel *panot, *panew, *patest, *pa, *firstpa;
|
Panel *panot, *panew, *patest, *pa, *firstpa;
|
||||||
|
|
||||||
/* offset contents */
|
/* offset contents */
|
||||||
for (block = ar->uiblocks.first; block; block = block->next)
|
for (block = ar->uiblocks.first; block; block = block->next)
|
||||||
if (block->active && block->panel)
|
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 (block->active && block->panel)
|
||||||
if (!firstpa || block->panel->sortorder < firstpa->sortorder)
|
if (!firstpa || block->panel->sortorder < firstpa->sortorder)
|
||||||
firstpa = block->panel;
|
firstpa = block->panel;
|
||||||
|
|
||||||
if (firstpa)
|
if (firstpa)
|
||||||
firstpa->runtime_flag |= PNL_FIRST;
|
firstpa->runtime_flag |= PNL_FIRST;
|
||||||
|
|
||||||
/* compute size taken up by panel */
|
/* compute size taken up by panel */
|
||||||
ui_panels_size(sa, ar, x, y);
|
ui_panels_size(sa, ar, x, y);
|
||||||
}
|
}
|
||||||
@ -1036,7 +1036,7 @@ void UI_panels_draw(const bContext *C, ARegion *ar)
|
|||||||
uiBlock *block;
|
uiBlock *block;
|
||||||
|
|
||||||
UI_ThemeClearColor(TH_BACK);
|
UI_ThemeClearColor(TH_BACK);
|
||||||
|
|
||||||
/* draw panels, selected on top */
|
/* draw panels, selected on top */
|
||||||
for (block = ar->uiblocks.first; block; block = block->next) {
|
for (block = ar->uiblocks.first; block; block = block->next) {
|
||||||
if (block->active && block->panel && !(block->panel->flag & PNL_SELECT)) {
|
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;
|
uiBlock *block;
|
||||||
uiBut *but;
|
uiBut *but;
|
||||||
|
|
||||||
for (block = ar->uiblocks.first; block; block = block->next) {
|
for (block = ar->uiblocks.first; block; block = block->next) {
|
||||||
if (block->panel) {
|
if (block->panel) {
|
||||||
float fac = new_width / (float)block->panel->sizex;
|
float fac = new_width / (float)block->panel->sizex;
|
||||||
block->panel->sizex = new_width;
|
block->panel->sizex = new_width;
|
||||||
|
|
||||||
for (but = block->buttons.first; but; but = but->next) {
|
for (but = block->buttons.first; but; but = but->next) {
|
||||||
but->rect.xmin *= fac;
|
but->rect.xmin *= fac;
|
||||||
but->rect.xmax *= fac;
|
but->rect.xmax *= fac;
|
||||||
@ -1076,13 +1076,13 @@ static void check_panel_overlap(ARegion *ar, Panel *panel)
|
|||||||
Panel *pa;
|
Panel *pa;
|
||||||
|
|
||||||
/* also called with (panel == NULL) for clear */
|
/* also called with (panel == NULL) for clear */
|
||||||
|
|
||||||
for (pa = ar->panels.first; pa; pa = pa->next) {
|
for (pa = ar->panels.first; pa; pa = pa->next) {
|
||||||
pa->flag &= ~PNL_OVERLAP;
|
pa->flag &= ~PNL_OVERLAP;
|
||||||
if (panel && (pa != panel)) {
|
if (panel && (pa != panel)) {
|
||||||
if (pa->paneltab == NULL && (pa->runtime_flag & PNL_ACTIVE)) {
|
if (pa->paneltab == NULL && (pa->runtime_flag & PNL_ACTIVE)) {
|
||||||
float safex = 0.2, safey = 0.2;
|
float safex = 0.2, safey = 0.2;
|
||||||
|
|
||||||
if (pa->flag & PNL_CLOSEDX) safex = 0.05;
|
if (pa->flag & PNL_CLOSEDX) safex = 0.05;
|
||||||
else if (pa->flag & PNL_CLOSEDY) safey = 0.05;
|
else if (pa->flag & PNL_CLOSEDY) safey = 0.05;
|
||||||
else if (panel->flag & PNL_CLOSEDX) safex = 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);
|
ScrArea *sa = CTX_wm_area(C);
|
||||||
ARegion *ar = CTX_wm_region(C);
|
ARegion *ar = CTX_wm_region(C);
|
||||||
short align = panel_aligned(sa, ar), dx = 0, dy = 0;
|
short align = panel_aligned(sa, ar), dx = 0, dy = 0;
|
||||||
|
|
||||||
/* first clip for window, no dragging outside */
|
/* first clip for window, no dragging outside */
|
||||||
if (!BLI_rcti_isect_pt_v(&ar->winrct, &event->x))
|
if (!BLI_rcti_isect_pt_v(&ar->winrct, &event->x))
|
||||||
return;
|
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);
|
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);
|
dy *= (float)BLI_rctf_size_y(&ar->v2d.cur) / (float)BLI_rcti_size_y(&ar->winrct);
|
||||||
|
|
||||||
if (data->state == PANEL_STATE_DRAG_SCALE) {
|
if (data->state == PANEL_STATE_DRAG_SCALE) {
|
||||||
panel->sizex = MAX2(data->startsizex + dx, UI_PANEL_MINX);
|
panel->sizex = MAX2(data->startsizex + dx, UI_PANEL_MINX);
|
||||||
|
|
||||||
if (data->startsizey - dy < UI_PANEL_MINY)
|
if (data->startsizey - dy < UI_PANEL_MINY)
|
||||||
dy = -UI_PANEL_MINY + data->startsizey;
|
dy = -UI_PANEL_MINY + data->startsizey;
|
||||||
|
|
||||||
@ -1129,11 +1129,11 @@ static void ui_do_drag(const bContext *C, const wmEvent *event, Panel *panel)
|
|||||||
else {
|
else {
|
||||||
/* reset the panel snapping, to allow dragging away from snapped edges */
|
/* reset the panel snapping, to allow dragging away from snapped edges */
|
||||||
panel->snap = PNL_SNAP_NONE;
|
panel->snap = PNL_SNAP_NONE;
|
||||||
|
|
||||||
panel->ofsx = data->startofsx + dx;
|
panel->ofsx = data->startofsx + dx;
|
||||||
panel->ofsy = data->startofsy + dy;
|
panel->ofsy = data->startofsy + dy;
|
||||||
check_panel_overlap(ar, panel);
|
check_panel_overlap(ar, panel);
|
||||||
|
|
||||||
if (align) uiAlignPanelStep(sa, ar, 0.2, true);
|
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;
|
rect_leftmost = rect_pin.xmin;
|
||||||
|
|
||||||
/* mouse coordinates in panel space! */
|
/* mouse coordinates in panel space! */
|
||||||
|
|
||||||
/* XXX weak code, currently it assumes layout style for location of widgets */
|
/* XXX weak code, currently it assumes layout style for location of widgets */
|
||||||
|
|
||||||
/* check open/collapsed button */
|
/* check open/collapsed button */
|
||||||
if (event == RETKEY)
|
if (event == RETKEY)
|
||||||
button = 1;
|
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) {
|
else if (mx < rect_leftmost) {
|
||||||
button = 1;
|
button = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (button) {
|
if (button) {
|
||||||
if (button == 2) { /* close */
|
if (button == 2) { /* close */
|
||||||
ED_region_tag_redraw(ar);
|
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) {
|
if (block->panel->flag & PNL_CLOSED) {
|
||||||
block->panel->flag &= ~PNL_CLOSED;
|
block->panel->flag &= ~PNL_CLOSED;
|
||||||
/* snap back up so full panel aligns with screen edge */
|
/* 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;
|
block->panel->ofsy = 0;
|
||||||
|
|
||||||
if (event == LEFTMOUSE) {
|
if (event == LEFTMOUSE) {
|
||||||
@ -1379,14 +1379,14 @@ static void ui_handle_panel_header(const bContext *C, uiBlock *block, int mx, in
|
|||||||
else {
|
else {
|
||||||
/* snap down to bottom screen edge */
|
/* snap down to bottom screen edge */
|
||||||
block->panel->flag |= PNL_CLOSEDY;
|
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;
|
block->panel->ofsy = -block->panel->sizey;
|
||||||
|
|
||||||
if (event == LEFTMOUSE) {
|
if (event == LEFTMOUSE) {
|
||||||
ui_panel_drag_collapse_handler_add(C, true);
|
ui_panel_drag_collapse_handler_add(C, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (pa = ar->panels.first; pa; pa = pa->next) {
|
for (pa = ar->panels.first; pa; pa = pa->next) {
|
||||||
if (pa->paneltab == block->panel) {
|
if (pa->paneltab == block->panel) {
|
||||||
if (block->panel->flag & PNL_CLOSED) pa->flag |= PNL_CLOSED;
|
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 */
|
/* XXX hardcoded key warning */
|
||||||
if (ELEM(mouse_state, PANEL_MOUSE_INSIDE_CONTENT, PANEL_MOUSE_INSIDE_HEADER) && event->val == KM_PRESS) {
|
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 (event->type == AKEY && ((event->ctrl + event->oskey + event->shift + event->alt) == 0)) {
|
||||||
|
|
||||||
if (pa->flag & PNL_CLOSEDY) {
|
if (pa->flag & PNL_CLOSEDY) {
|
||||||
if ((block->rect.ymax <= my) && (block->rect.ymax + PNL_HEADER >= my))
|
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);
|
ui_handle_panel_header(C, block, mx, my, event->type, event->ctrl, event->shift);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ui_handle_panel_header(C, block, mx, my, event->type, event->ctrl, event->shift);
|
ui_handle_panel_header(C, block, mx, my, event->type, event->ctrl, event->shift);
|
||||||
|
|
||||||
retval = WM_UI_HANDLER_BREAK;
|
retval = WM_UI_HANDLER_BREAK;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* on active button, do not handle panels */
|
/* on active button, do not handle panels */
|
||||||
if (ui_but_is_active(ar))
|
if (ui_but_is_active(ar))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (ELEM(mouse_state, PANEL_MOUSE_INSIDE_CONTENT, PANEL_MOUSE_INSIDE_HEADER)) {
|
if (ELEM(mouse_state, PANEL_MOUSE_INSIDE_CONTENT, PANEL_MOUSE_INSIDE_HEADER)) {
|
||||||
|
|
||||||
if (event->val == KM_PRESS) {
|
if (event->val == KM_PRESS) {
|
||||||
|
|
||||||
/* open close on header */
|
/* open close on header */
|
||||||
if (ELEM(event->type, RETKEY, PADENTER)) {
|
if (ELEM(event->type, RETKEY, PADENTER)) {
|
||||||
if (mouse_state == PANEL_MOUSE_INSIDE_HEADER) {
|
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) {
|
else if (event->type == LEFTMOUSE) {
|
||||||
/* all inside clicks should return in break - overlapping/float panels */
|
/* all inside clicks should return in break - overlapping/float panels */
|
||||||
retval = WM_UI_HANDLER_BREAK;
|
retval = WM_UI_HANDLER_BREAK;
|
||||||
|
|
||||||
if (mouse_state == PANEL_MOUSE_INSIDE_HEADER) {
|
if (mouse_state == PANEL_MOUSE_INSIDE_HEADER) {
|
||||||
ui_handle_panel_header(C, block, mx, my, event->type, event->ctrl, event->shift);
|
ui_handle_panel_header(C, block, mx, my, event->type, event->ctrl, event->shift);
|
||||||
retval = WM_UI_HANDLER_BREAK;
|
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) {
|
else if (event->type == PADPLUSKEY || event->type == PADMINUS) {
|
||||||
#if 0 /* XXX make float panel exception? */
|
#if 0 /* XXX make float panel exception? */
|
||||||
int zoom = 0;
|
int zoom = 0;
|
||||||
|
|
||||||
/* if panel is closed, only zoom if mouse is over the header */
|
/* if panel is closed, only zoom if mouse is over the header */
|
||||||
if (pa->flag & (PNL_CLOSEDX | PNL_CLOSEDY)) {
|
if (pa->flag & (PNL_CLOSEDX | PNL_CLOSEDY)) {
|
||||||
if (inside_header)
|
if (inside_header)
|
||||||
@ -2093,7 +2093,7 @@ static void panel_activate_state(const bContext *C, Panel *pa, uiHandlePanelStat
|
|||||||
uiHandlePanelData *data = pa->activedata;
|
uiHandlePanelData *data = pa->activedata;
|
||||||
wmWindow *win = CTX_wm_window(C);
|
wmWindow *win = CTX_wm_window(C);
|
||||||
ARegion *ar = CTX_wm_region(C);
|
ARegion *ar = CTX_wm_region(C);
|
||||||
|
|
||||||
if (data && data->state == state)
|
if (data && data->state == state)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
* as published by the Free Software Foundation; either version 2
|
* 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,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
@ -17,7 +17,7 @@
|
|||||||
*
|
*
|
||||||
* The Original Code is Copyright (C) 2008 Blender Foundation.
|
* The Original Code is Copyright (C) 2008 Blender Foundation.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Contributor(s): Blender Foundation
|
* Contributor(s): Blender Foundation
|
||||||
*
|
*
|
||||||
* ***** END GPL LICENSE BLOCK *****
|
* ***** END GPL LICENSE BLOCK *****
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
* as published by the Free Software Foundation; either version 2
|
* 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,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
@ -17,7 +17,7 @@
|
|||||||
*
|
*
|
||||||
* The Original Code is Copyright (C) 2009 Blender Foundation.
|
* The Original Code is Copyright (C) 2009 Blender Foundation.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Contributor(s): Blender Foundation
|
* Contributor(s): Blender Foundation
|
||||||
*
|
*
|
||||||
* ***** END GPL LICENSE BLOCK *****
|
* ***** END GPL LICENSE BLOCK *****
|
||||||
@ -65,10 +65,10 @@
|
|||||||
/* style + theme + layout-engine = UI */
|
/* style + theme + layout-engine = UI */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is a complete set of layout rules, the 'state' of the Layout
|
* This is a complete set of layout rules, the 'state' of the Layout
|
||||||
* Engine. Multiple styles are possible, defined via C or Python. Styles
|
* Engine. Multiple styles are possible, defined via C or Python. Styles
|
||||||
* get a name, and will typically get activated per region type, like
|
* get a name, and will typically get activated per region type, like
|
||||||
* "Header", or "Listview" or "Toolbar". Properties of Style definitions
|
* "Header", or "Listview" or "Toolbar". Properties of Style definitions
|
||||||
* are:
|
* are:
|
||||||
*
|
*
|
||||||
* - default column properties, internal spacing, aligning, min/max width
|
* - default column properties, internal spacing, aligning, min/max width
|
||||||
@ -85,10 +85,10 @@
|
|||||||
static uiStyle *ui_style_new(ListBase *styles, const char *name, short uifont_id)
|
static uiStyle *ui_style_new(ListBase *styles, const char *name, short uifont_id)
|
||||||
{
|
{
|
||||||
uiStyle *style = MEM_callocN(sizeof(uiStyle), "new style");
|
uiStyle *style = MEM_callocN(sizeof(uiStyle), "new style");
|
||||||
|
|
||||||
BLI_addtail(styles, style);
|
BLI_addtail(styles, style);
|
||||||
BLI_strncpy(style->name, name, MAX_STYLE_NAME);
|
BLI_strncpy(style->name, name, MAX_STYLE_NAME);
|
||||||
|
|
||||||
style->panelzoom = 1.0; /* unused */
|
style->panelzoom = 1.0; /* unused */
|
||||||
|
|
||||||
style->paneltitle.uifont_id = uifont_id;
|
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->buttonspacey = 2;
|
||||||
style->panelspace = 8;
|
style->panelspace = 8;
|
||||||
style->panelouter = 4;
|
style->panelouter = 4;
|
||||||
|
|
||||||
return style;
|
return style;
|
||||||
}
|
}
|
||||||
|
|
||||||
static uiFont *uifont_to_blfont(int id)
|
static uiFont *uifont_to_blfont(int id)
|
||||||
{
|
{
|
||||||
uiFont *font = U.uifonts.first;
|
uiFont *font = U.uifonts.first;
|
||||||
|
|
||||||
for (; font; font = font->next) {
|
for (; font; font = font->next) {
|
||||||
if (font->uifont_id == id) {
|
if (font->uifont_id == id) {
|
||||||
return font;
|
return font;
|
||||||
@ -154,7 +154,7 @@ void UI_fontstyle_draw_ex(
|
|||||||
{
|
{
|
||||||
int xofs = 0, yofs;
|
int xofs = 0, yofs;
|
||||||
int font_flag = BLF_CLIPPING;
|
int font_flag = BLF_CLIPPING;
|
||||||
|
|
||||||
UI_fontstyle_set(fs);
|
UI_fontstyle_set(fs);
|
||||||
|
|
||||||
/* set the flag */
|
/* set the flag */
|
||||||
@ -192,7 +192,7 @@ void UI_fontstyle_draw_ex(
|
|||||||
else if (fs->align == UI_STYLE_TEXT_RIGHT) {
|
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;
|
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 */
|
/* 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_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);
|
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();
|
uiStyle *style = UI_style_get();
|
||||||
static uiStyle _style;
|
static uiStyle _style;
|
||||||
|
|
||||||
_style = *style;
|
_style = *style;
|
||||||
|
|
||||||
_style.paneltitle.shadx = (short)(UI_DPI_FAC * _style.paneltitle.shadx);
|
_style.paneltitle.shadx = (short)(UI_DPI_FAC * _style.paneltitle.shadx);
|
||||||
_style.paneltitle.shady = (short)(UI_DPI_FAC * _style.paneltitle.shady);
|
_style.paneltitle.shady = (short)(UI_DPI_FAC * _style.paneltitle.shady);
|
||||||
_style.grouplabel.shadx = (short)(UI_DPI_FAC * _style.grouplabel.shadx);
|
_style.grouplabel.shadx = (short)(UI_DPI_FAC * _style.grouplabel.shadx);
|
||||||
_style.grouplabel.shady = (short)(UI_DPI_FAC * _style.grouplabel.shady);
|
_style.grouplabel.shady = (short)(UI_DPI_FAC * _style.grouplabel.shady);
|
||||||
_style.widgetlabel.shadx = (short)(UI_DPI_FAC * _style.widgetlabel.shadx);
|
_style.widgetlabel.shadx = (short)(UI_DPI_FAC * _style.widgetlabel.shadx);
|
||||||
_style.widgetlabel.shady = (short)(UI_DPI_FAC * _style.widgetlabel.shady);
|
_style.widgetlabel.shady = (short)(UI_DPI_FAC * _style.widgetlabel.shady);
|
||||||
|
|
||||||
_style.columnspace = (short)(UI_DPI_FAC * _style.columnspace);
|
_style.columnspace = (short)(UI_DPI_FAC * _style.columnspace);
|
||||||
_style.templatespace = (short)(UI_DPI_FAC * _style.templatespace);
|
_style.templatespace = (short)(UI_DPI_FAC * _style.templatespace);
|
||||||
_style.boxspace = (short)(UI_DPI_FAC * _style.boxspace);
|
_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.buttonspacey = (short)(UI_DPI_FAC * _style.buttonspacey);
|
||||||
_style.panelspace = (short)(UI_DPI_FAC * _style.panelspace);
|
_style.panelspace = (short)(UI_DPI_FAC * _style.panelspace);
|
||||||
_style.panelouter = (short)(UI_DPI_FAC * _style.panelouter);
|
_style.panelouter = (short)(UI_DPI_FAC * _style.panelouter);
|
||||||
|
|
||||||
return &_style;
|
return &_style;
|
||||||
}
|
}
|
||||||
|
|
||||||
int UI_fontstyle_string_width(const uiFontStyle *fs, const char *str)
|
int UI_fontstyle_string_width(const uiFontStyle *fs, const char *str)
|
||||||
{
|
{
|
||||||
int width;
|
int width;
|
||||||
|
|
||||||
if (fs->kerning == 1) /* for BLF_width */
|
if (fs->kerning == 1) /* for BLF_width */
|
||||||
BLF_enable(fs->uifont_id, BLF_KERNING_DEFAULT);
|
BLF_enable(fs->uifont_id, BLF_KERNING_DEFAULT);
|
||||||
|
|
||||||
UI_fontstyle_set(fs);
|
UI_fontstyle_set(fs);
|
||||||
width = BLF_width(fs->uifont_id, str, BLF_DRAW_STR_DUMMY_MAX);
|
width = BLF_width(fs->uifont_id, str, BLF_DRAW_STR_DUMMY_MAX);
|
||||||
|
|
||||||
if (fs->kerning == 1)
|
if (fs->kerning == 1)
|
||||||
BLF_disable(fs->uifont_id, BLF_KERNING_DEFAULT);
|
BLF_disable(fs->uifont_id, BLF_KERNING_DEFAULT);
|
||||||
|
|
||||||
return width;
|
return width;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -402,12 +402,12 @@ void uiStyleInit(void)
|
|||||||
uiStyle *style = U.uistyles.first;
|
uiStyle *style = U.uistyles.first;
|
||||||
int monofont_size = datatoc_bmonofont_ttf_size;
|
int monofont_size = datatoc_bmonofont_ttf_size;
|
||||||
unsigned char *monofont_ttf = (unsigned char *)datatoc_bmonofont_ttf;
|
unsigned char *monofont_ttf = (unsigned char *)datatoc_bmonofont_ttf;
|
||||||
|
|
||||||
/* recover from uninitialized dpi */
|
/* recover from uninitialized dpi */
|
||||||
if (U.dpi == 0)
|
if (U.dpi == 0)
|
||||||
U.dpi = 72;
|
U.dpi = 72;
|
||||||
CLAMP(U.dpi, 48, 144);
|
CLAMP(U.dpi, 48, 144);
|
||||||
|
|
||||||
for (font = U.uifonts.first; font; font = font->next) {
|
for (font = U.uifonts.first; font; font = font->next) {
|
||||||
BLF_unload_id(font->blf_id);
|
BLF_unload_id(font->blf_id);
|
||||||
}
|
}
|
||||||
@ -438,9 +438,9 @@ void uiStyleInit(void)
|
|||||||
BLI_strncpy(font->filename, "default", sizeof(font->filename));
|
BLI_strncpy(font->filename, "default", sizeof(font->filename));
|
||||||
font->uifont_id = UIFONT_DEFAULT;
|
font->uifont_id = UIFONT_DEFAULT;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (font = U.uifonts.first; font; font = font->next) {
|
for (font = U.uifonts.first; font; font = font->next) {
|
||||||
|
|
||||||
if (font->uifont_id == UIFONT_DEFAULT) {
|
if (font->uifont_id == UIFONT_DEFAULT) {
|
||||||
#ifdef WITH_INTERNATIONAL
|
#ifdef WITH_INTERNATIONAL
|
||||||
int font_size = datatoc_bfont_ttf_size;
|
int font_size = datatoc_bfont_ttf_size;
|
||||||
@ -492,11 +492,11 @@ void uiStyleInit(void)
|
|||||||
BLF_size(font->blf_id, 14 * U.pixelsize, U.dpi);
|
BLF_size(font->blf_id, 14 * U.pixelsize, U.dpi);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (style == NULL) {
|
if (style == NULL) {
|
||||||
ui_style_new(&U.uistyles, "Default Style", UIFONT_DEFAULT);
|
ui_style_new(&U.uistyles, "Default Style", UIFONT_DEFAULT);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef WITH_INTERNATIONAL
|
#ifdef WITH_INTERNATIONAL
|
||||||
/* use unicode font for text editor and interactive console */
|
/* use unicode font for text editor and interactive console */
|
||||||
if (U.transopts & USER_DOTRANSLATE) {
|
if (U.transopts & USER_DOTRANSLATE) {
|
||||||
@ -520,7 +520,7 @@ void uiStyleInit(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
BLF_size(blf_mono_font, 12 * U.pixelsize, 72);
|
BLF_size(blf_mono_font, 12 * U.pixelsize, 72);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Second for rendering else we get threading problems,
|
* Second for rendering else we get threading problems,
|
||||||
*
|
*
|
||||||
@ -536,7 +536,7 @@ void uiStyleInit(void)
|
|||||||
void UI_fontstyle_set(const uiFontStyle *fs)
|
void UI_fontstyle_set(const uiFontStyle *fs)
|
||||||
{
|
{
|
||||||
uiFont *font = uifont_to_blfont(fs->uifont_id);
|
uiFont *font = uifont_to_blfont(fs->uifont_id);
|
||||||
|
|
||||||
BLF_size(font->blf_id, fs->points * U.pixelsize, U.dpi);
|
BLF_size(font->blf_id, fs->points * U.pixelsize, U.dpi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -252,7 +252,7 @@ static uiBlock *id_search_menu(bContext *C, ARegion *ar, void *arg_litem)
|
|||||||
search[0] = 0;
|
search[0] = 0;
|
||||||
/* arg_litem is malloced, can be freed by parent button */
|
/* arg_litem is malloced, can be freed by parent button */
|
||||||
template_ui = *((TemplateID *)arg_litem);
|
template_ui = *((TemplateID *)arg_litem);
|
||||||
|
|
||||||
/* get active id for showing first item */
|
/* get active id for showing first item */
|
||||||
idptr = RNA_property_pointer_get(&template_ui.ptr, template_ui.prop);
|
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);
|
block = UI_block_begin(C, ar, "_popup", UI_EMBOSS);
|
||||||
UI_block_flag_enable(block, UI_BLOCK_LOOP | UI_BLOCK_SEARCH_MENU);
|
UI_block_flag_enable(block, UI_BLOCK_LOOP | UI_BLOCK_SEARCH_MENU);
|
||||||
|
|
||||||
/* preview thumbnails */
|
/* preview thumbnails */
|
||||||
if (template_ui.prv_rows > 0 && template_ui.prv_cols > 0) {
|
if (template_ui.prv_rows > 0 && template_ui.prv_cols > 0) {
|
||||||
int w = 4 * U.widget_unit * template_ui.prv_cols;
|
int w = 4 * U.widget_unit * template_ui.prv_cols;
|
||||||
int h = 5 * U.widget_unit * template_ui.prv_rows;
|
int h = 5 * U.widget_unit * template_ui.prv_rows;
|
||||||
|
|
||||||
/* fake button, it holds space for search items */
|
/* fake button, it holds space for search items */
|
||||||
uiDefBut(block, UI_BTYPE_LABEL, 0, "", 10, 26, w, h, NULL, 0, 0, 0, 0, NULL);
|
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,
|
but = uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, sizeof(search), 10, 0, w, UI_UNIT_Y,
|
||||||
template_ui.prv_rows, template_ui.prv_cols, "");
|
template_ui.prv_rows, template_ui.prv_cols, "");
|
||||||
UI_but_func_search_set(
|
UI_but_func_search_set(
|
||||||
@ -286,7 +286,7 @@ static uiBlock *id_search_menu(bContext *C, ARegion *ar, void *arg_litem)
|
|||||||
else {
|
else {
|
||||||
const int searchbox_width = UI_searchbox_size_x();
|
const int searchbox_width = UI_searchbox_size_x();
|
||||||
const int searchbox_height = UI_searchbox_size_y();
|
const int searchbox_height = UI_searchbox_size_y();
|
||||||
|
|
||||||
/* fake button, it holds space for search items */
|
/* 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);
|
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, "");
|
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,
|
but, ui_searchbox_create_generic, id_search_cb_p,
|
||||||
&template_ui, id_search_call_cb, idptr.data);
|
&template_ui, id_search_call_cb, idptr.data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
UI_block_bounds_set_normal(block, 0.3f * U.widget_unit);
|
UI_block_bounds_set_normal(block, 0.3f * U.widget_unit);
|
||||||
UI_block_direction_set(block, UI_DIR_DOWN);
|
UI_block_direction_set(block, UI_DIR_DOWN);
|
||||||
|
|
||||||
/* give search-field focus */
|
/* give search-field focus */
|
||||||
UI_but_focus_on_enter_event(win, but);
|
UI_but_focus_on_enter_event(win, but);
|
||||||
/* this type of search menu requires undo */
|
/* this type of search menu requires undo */
|
||||||
but->flag |= UI_BUT_UNDO;
|
but->flag |= UI_BUT_UNDO;
|
||||||
|
|
||||||
return block;
|
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);
|
PointerRNA idptr = RNA_property_pointer_get(&template_ui->ptr, template_ui->prop);
|
||||||
ID *id = idptr.data;
|
ID *id = idptr.data;
|
||||||
int event = GET_INT_FROM_POINTER(arg_event);
|
int event = GET_INT_FROM_POINTER(arg_event);
|
||||||
|
|
||||||
switch (event) {
|
switch (event) {
|
||||||
case UI_ID_BROWSE:
|
case UI_ID_BROWSE:
|
||||||
case UI_ID_PIN:
|
case UI_ID_PIN:
|
||||||
@ -504,7 +504,7 @@ static void template_ID(
|
|||||||
|
|
||||||
if ((idfrom && idfrom->lib) || !editable)
|
if ((idfrom && idfrom->lib) || !editable)
|
||||||
UI_but_flag_enable(but, UI_BUT_DISABLED);
|
UI_but_flag_enable(but, UI_BUT_DISABLED);
|
||||||
|
|
||||||
uiLayoutRow(layout, true);
|
uiLayoutRow(layout, true);
|
||||||
}
|
}
|
||||||
else if (flag & UI_ID_BROWSE) {
|
else if (flag & UI_ID_BROWSE) {
|
||||||
@ -569,17 +569,17 @@ static void template_ID(
|
|||||||
UI_but_flag_enable(but, UI_BUT_DISABLED);
|
UI_but_flag_enable(but, UI_BUT_DISABLED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (user_alert) UI_but_flag_enable(but, UI_BUT_REDALERT);
|
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))) {
|
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);
|
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) {
|
if (flag & UI_ID_ADD_NEW) {
|
||||||
int w = id ? UI_UNIT_X : (flag & UI_ID_OPEN) ? UI_UNIT_X * 3 : UI_UNIT_X * 6;
|
int w = id ? UI_UNIT_X : (flag & UI_ID_OPEN) ? UI_UNIT_X * 3 : UI_UNIT_X * 6;
|
||||||
|
|
||||||
/* i18n markup, does nothing! */
|
/* i18n markup, does nothing! */
|
||||||
BLT_I18N_MSGID_MULTI_CTXT("New", BLT_I18NCONTEXT_DEFAULT,
|
BLT_I18N_MSGID_MULTI_CTXT("New", BLT_I18NCONTEXT_DEFAULT,
|
||||||
BLT_I18NCONTEXT_ID_SCENE,
|
BLT_I18NCONTEXT_ID_SCENE,
|
||||||
@ -607,7 +607,7 @@ static void template_ID(
|
|||||||
BLT_I18NCONTEXT_ID_GPENCIL,
|
BLT_I18NCONTEXT_ID_GPENCIL,
|
||||||
BLT_I18NCONTEXT_ID_FREESTYLELINESTYLE,
|
BLT_I18NCONTEXT_ID_FREESTYLELINESTYLE,
|
||||||
);
|
);
|
||||||
|
|
||||||
if (newop) {
|
if (newop) {
|
||||||
but = uiDefIconTextButO(block, UI_BTYPE_BUT, newop, WM_OP_INVOKE_DEFAULT, ICON_ZOOMIN,
|
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);
|
(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,
|
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_UNIT_X, UI_UNIT_Y, TIP_("Packed File, click to unpack"));
|
||||||
UI_but_operator_ptr_get(but);
|
UI_but_operator_ptr_get(but);
|
||||||
|
|
||||||
RNA_string_set(but->opptr, "id_name", id->name + 2);
|
RNA_string_set(but->opptr, "id_name", id->name + 2);
|
||||||
RNA_int_set(but->opptr, "id_type", GS(id->name));
|
RNA_int_set(but->opptr, "id_type", GS(id->name));
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (flag & UI_ID_OPEN) {
|
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;
|
int w = id ? UI_UNIT_X : (flag & UI_ID_ADD_NEW) ? UI_UNIT_X * 3 : UI_UNIT_X * 6;
|
||||||
|
|
||||||
if (openop) {
|
if (openop) {
|
||||||
but = uiDefIconTextButO(block, UI_BTYPE_BUT, openop, WM_OP_INVOKE_DEFAULT, ICON_FILESEL, (id) ? "" : IFACE_("Open"),
|
but = uiDefIconTextButO(block, UI_BTYPE_BUT, openop, WM_OP_INVOKE_DEFAULT, ICON_FILESEL, (id) ? "" : IFACE_("Open"),
|
||||||
0, 0, w, UI_UNIT_Y, NULL);
|
0, 0, w, UI_UNIT_Y, NULL);
|
||||||
@ -651,7 +651,7 @@ static void template_ID(
|
|||||||
if ((idfrom && idfrom->lib) || !editable)
|
if ((idfrom && idfrom->lib) || !editable)
|
||||||
UI_but_flag_enable(but, UI_BUT_DISABLED);
|
UI_but_flag_enable(but, UI_BUT_DISABLED);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* delete button */
|
/* delete button */
|
||||||
/* don't use RNA_property_is_unlink here */
|
/* don't use RNA_property_is_unlink here */
|
||||||
if (id && (flag & UI_ID_DELETE)) {
|
if (id && (flag & UI_ID_DELETE)) {
|
||||||
@ -776,7 +776,7 @@ void uiTemplateAnyID(
|
|||||||
{
|
{
|
||||||
PropertyRNA *propID, *propType;
|
PropertyRNA *propID, *propType;
|
||||||
uiLayout *split, *row, *sub;
|
uiLayout *split, *row, *sub;
|
||||||
|
|
||||||
/* get properties... */
|
/* get properties... */
|
||||||
propID = RNA_struct_find_property(ptr, propname);
|
propID = RNA_struct_find_property(ptr, propname);
|
||||||
propType = RNA_struct_find_property(ptr, proptypename);
|
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);
|
RNA_warning("pointer-type property not found: %s.%s", RNA_struct_identifier(ptr->type), proptypename);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Start drawing UI Elements using standard defines */
|
/* Start drawing UI Elements using standard defines */
|
||||||
split = uiLayoutSplit(layout, 0.33f, false); /* NOTE: split amount here needs to be synced with normal labels */
|
split = uiLayoutSplit(layout, 0.33f, false); /* NOTE: split amount here needs to be synced with normal labels */
|
||||||
|
|
||||||
/* FIRST PART ................................................ */
|
/* FIRST PART ................................................ */
|
||||||
row = uiLayoutRow(split, false);
|
row = uiLayoutRow(split, false);
|
||||||
|
|
||||||
/* Label - either use the provided text, or will become "ID-Block:" */
|
/* Label - either use the provided text, or will become "ID-Block:" */
|
||||||
if (text) {
|
if (text) {
|
||||||
if (text[0])
|
if (text[0])
|
||||||
@ -804,20 +804,20 @@ void uiTemplateAnyID(
|
|||||||
else {
|
else {
|
||||||
uiItemL(row, IFACE_("ID-Block:"), ICON_NONE);
|
uiItemL(row, IFACE_("ID-Block:"), ICON_NONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* SECOND PART ................................................ */
|
/* SECOND PART ................................................ */
|
||||||
row = uiLayoutRow(split, true);
|
row = uiLayoutRow(split, true);
|
||||||
|
|
||||||
/* ID-Type Selector - just have a menu of icons */
|
/* ID-Type Selector - just have a menu of icons */
|
||||||
sub = uiLayoutRow(row, true); /* HACK: special group just for the enum, otherwise we */
|
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... */
|
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);
|
uiItemFullR(sub, ptr, propType, 0, 0, UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
|
||||||
|
|
||||||
/* ID-Block Selector - just use pointer widget... */
|
/* ID-Block Selector - just use pointer widget... */
|
||||||
sub = uiLayoutRow(row, true); /* HACK: special group to counteract the effects of the previous */
|
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 */
|
uiLayoutSetAlignment(sub, UI_LAYOUT_ALIGN_EXPAND); /* enum, which now pushes everything too far right */
|
||||||
|
|
||||||
uiItemFullR(sub, ptr, propID, 0, 0, 0, "", ICON_NONE);
|
uiItemFullR(sub, ptr, propID, 0, 0, 0, "", ICON_NONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -837,20 +837,20 @@ void uiTemplatePathBuilder(uiLayout *layout, PointerRNA *ptr, const char *propna
|
|||||||
{
|
{
|
||||||
PropertyRNA *propPath;
|
PropertyRNA *propPath;
|
||||||
uiLayout *row;
|
uiLayout *row;
|
||||||
|
|
||||||
/* check that properties are valid */
|
/* check that properties are valid */
|
||||||
propPath = RNA_struct_find_property(ptr, propname);
|
propPath = RNA_struct_find_property(ptr, propname);
|
||||||
if (!propPath || RNA_property_type(propPath) != PROP_STRING) {
|
if (!propPath || RNA_property_type(propPath) != PROP_STRING) {
|
||||||
RNA_warning("path property not found: %s.%s", RNA_struct_identifier(ptr->type), propname);
|
RNA_warning("path property not found: %s.%s", RNA_struct_identifier(ptr->type), propname);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Start drawing UI Elements using standard defines */
|
/* Start drawing UI Elements using standard defines */
|
||||||
row = uiLayoutRow(layout, true);
|
row = uiLayoutRow(layout, true);
|
||||||
|
|
||||||
/* Path (existing string) Widget */
|
/* Path (existing string) Widget */
|
||||||
uiItemR(row, ptr, propname, 0, text, ICON_RNA);
|
uiItemR(row, ptr, propname, 0, text, ICON_RNA);
|
||||||
|
|
||||||
/* TODO: attach something to this to make allow searching of nested properties to 'build' the path */
|
/* 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;
|
nmd->mode &= ~eModifierMode_Virtual;
|
||||||
|
|
||||||
BLI_addhead(&ob->modifiers, nmd);
|
BLI_addhead(&ob->modifiers, nmd);
|
||||||
|
|
||||||
modifier_unique_name(&ob->modifiers, nmd);
|
modifier_unique_name(&ob->modifiers, nmd);
|
||||||
|
|
||||||
ob->partype = PAROBJECT;
|
ob->partype = PAROBJECT;
|
||||||
@ -928,7 +928,7 @@ static uiLayout *draw_modifier(
|
|||||||
|
|
||||||
/* rounded header ------------------------------------------------------------------- */
|
/* rounded header ------------------------------------------------------------------- */
|
||||||
box = uiLayoutBox(column);
|
box = uiLayoutBox(column);
|
||||||
|
|
||||||
if (isVirtual) {
|
if (isVirtual) {
|
||||||
row = uiLayoutRow(box, false);
|
row = uiLayoutRow(box, false);
|
||||||
uiLayoutSetAlignment(row, UI_LAYOUT_ALIGN_EXPAND);
|
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 */
|
/* XXX this is not used now, since these cannot be accessed via RNA */
|
||||||
BLI_snprintf(str, sizeof(str), IFACE_("%s parent deform"), md->name);
|
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"));
|
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,
|
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"));
|
TIP_("Convert virtual modifier to a real modifier"));
|
||||||
UI_but_func_set(but, modifiers_convertToReal, ob, md);
|
UI_but_func_set(but, modifiers_convertToReal, ob, md);
|
||||||
@ -946,15 +946,15 @@ static uiLayout *draw_modifier(
|
|||||||
/* REAL MODIFIER */
|
/* REAL MODIFIER */
|
||||||
row = uiLayoutRow(box, false);
|
row = uiLayoutRow(box, false);
|
||||||
block = uiLayoutGetBlock(row);
|
block = uiLayoutGetBlock(row);
|
||||||
|
|
||||||
UI_block_emboss_set(block, UI_EMBOSS_NONE);
|
UI_block_emboss_set(block, UI_EMBOSS_NONE);
|
||||||
/* Open/Close ................................. */
|
/* Open/Close ................................. */
|
||||||
uiItemR(row, &ptr, "show_expanded", 0, "", ICON_NONE);
|
uiItemR(row, &ptr, "show_expanded", 0, "", ICON_NONE);
|
||||||
|
|
||||||
/* modifier-type icon */
|
/* modifier-type icon */
|
||||||
uiItemL(row, "", RNA_struct_ui_icon(ptr.type));
|
uiItemL(row, "", RNA_struct_ui_icon(ptr.type));
|
||||||
UI_block_emboss_set(block, UI_EMBOSS);
|
UI_block_emboss_set(block, UI_EMBOSS);
|
||||||
|
|
||||||
/* modifier name */
|
/* modifier name */
|
||||||
md->scene = scene;
|
md->scene = scene;
|
||||||
if (mti->isDisabled && mti->isDisabled(md, 0)) {
|
if (mti->isDisabled && mti->isDisabled(md, 0)) {
|
||||||
@ -962,7 +962,7 @@ static uiLayout *draw_modifier(
|
|||||||
}
|
}
|
||||||
uiItemR(row, &ptr, "name", 0, "", ICON_NONE);
|
uiItemR(row, &ptr, "name", 0, "", ICON_NONE);
|
||||||
uiLayoutSetRedAlert(row, false);
|
uiLayoutSetRedAlert(row, false);
|
||||||
|
|
||||||
/* mode enabling buttons */
|
/* mode enabling buttons */
|
||||||
UI_block_align_begin(block);
|
UI_block_align_begin(block);
|
||||||
/* Collision and Surface are always enabled, hide buttons! */
|
/* 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_render", 0, "", ICON_NONE);
|
||||||
uiItemR(row, &ptr, "show_viewport", 0, "", ICON_NONE);
|
uiItemR(row, &ptr, "show_viewport", 0, "", ICON_NONE);
|
||||||
|
|
||||||
if (mti->flags & eModifierTypeFlag_SupportsEditmode) {
|
if (mti->flags & eModifierTypeFlag_SupportsEditmode) {
|
||||||
sub = uiLayoutRow(row, true);
|
sub = uiLayoutRow(row, true);
|
||||||
if (!(md->mode & eModifierMode_Realtime)) {
|
if (!(md->mode & eModifierMode_Realtime)) {
|
||||||
@ -1007,13 +1007,13 @@ static uiLayout *draw_modifier(
|
|||||||
}
|
}
|
||||||
|
|
||||||
UI_block_align_end(block);
|
UI_block_align_end(block);
|
||||||
|
|
||||||
/* Up/Down + Delete ........................... */
|
/* Up/Down + Delete ........................... */
|
||||||
UI_block_align_begin(block);
|
UI_block_align_begin(block);
|
||||||
uiItemO(row, "", ICON_TRIA_UP, "OBJECT_OT_modifier_move_up");
|
uiItemO(row, "", ICON_TRIA_UP, "OBJECT_OT_modifier_move_up");
|
||||||
uiItemO(row, "", ICON_TRIA_DOWN, "OBJECT_OT_modifier_move_down");
|
uiItemO(row, "", ICON_TRIA_DOWN, "OBJECT_OT_modifier_move_down");
|
||||||
UI_block_align_end(block);
|
UI_block_align_end(block);
|
||||||
|
|
||||||
UI_block_emboss_set(block, UI_EMBOSS_NONE);
|
UI_block_emboss_set(block, UI_EMBOSS_NONE);
|
||||||
/* When Modifier is a simulation, show button to switch to context rather than the delete button. */
|
/* When Modifier is a simulation, show button to switch to context rather than the delete button. */
|
||||||
if (modifier_can_delete(md) &&
|
if (modifier_can_delete(md) &&
|
||||||
@ -1031,20 +1031,20 @@ static uiLayout *draw_modifier(
|
|||||||
UI_block_emboss_set(block, UI_EMBOSS);
|
UI_block_emboss_set(block, UI_EMBOSS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* modifier settings (under the header) --------------------------------------------------- */
|
/* modifier settings (under the header) --------------------------------------------------- */
|
||||||
if (!isVirtual && (md->mode & eModifierMode_Expanded)) {
|
if (!isVirtual && (md->mode & eModifierMode_Expanded)) {
|
||||||
/* apply/convert/copy */
|
/* apply/convert/copy */
|
||||||
box = uiLayoutBox(column);
|
box = uiLayoutBox(column);
|
||||||
row = uiLayoutRow(box, false);
|
row = uiLayoutRow(box, false);
|
||||||
|
|
||||||
if (!ELEM(md->type, eModifierType_Collision, eModifierType_Surface)) {
|
if (!ELEM(md->type, eModifierType_Collision, eModifierType_Surface)) {
|
||||||
/* only here obdata, the rest of modifiers is ob level */
|
/* only here obdata, the rest of modifiers is ob level */
|
||||||
UI_block_lock_set(block, BKE_object_obdata_is_libdata(ob), ERROR_LIBDATA_MESSAGE);
|
UI_block_lock_set(block, BKE_object_obdata_is_libdata(ob), ERROR_LIBDATA_MESSAGE);
|
||||||
|
|
||||||
if (md->type == eModifierType_ParticleSystem) {
|
if (md->type == eModifierType_ParticleSystem) {
|
||||||
ParticleSystem *psys = ((ParticleSystemModifierData *)md)->psys;
|
ParticleSystem *psys = ((ParticleSystemModifierData *)md)->psys;
|
||||||
|
|
||||||
if (!(ob->mode & OB_MODE_PARTICLE_EDIT)) {
|
if (!(ob->mode & OB_MODE_PARTICLE_EDIT)) {
|
||||||
if (ELEM(psys->part->ren_as, PART_DRAW_GR, PART_DRAW_OB))
|
if (ELEM(psys->part->ren_as, PART_DRAW_GR, PART_DRAW_OB))
|
||||||
uiItemO(row, CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Convert"), ICON_NONE,
|
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);
|
uiLayoutSetOperatorContext(row, WM_OP_INVOKE_DEFAULT);
|
||||||
uiItemEnumO(row, "OBJECT_OT_modifier_apply", CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Apply"),
|
uiItemEnumO(row, "OBJECT_OT_modifier_apply", CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Apply"),
|
||||||
0, "apply_as", MODIFIER_APPLY_DATA);
|
0, "apply_as", MODIFIER_APPLY_DATA);
|
||||||
|
|
||||||
if (modifier_isSameTopology(md) && !modifier_isNonGeometrical(md)) {
|
if (modifier_isSameTopology(md) && !modifier_isNonGeometrical(md)) {
|
||||||
uiItemEnumO(row, "OBJECT_OT_modifier_apply",
|
uiItemEnumO(row, "OBJECT_OT_modifier_apply",
|
||||||
CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Apply as Shape Key"),
|
CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Apply as Shape Key"),
|
||||||
0, "apply_as", MODIFIER_APPLY_SHAPE);
|
0, "apply_as", MODIFIER_APPLY_SHAPE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
UI_block_lock_clear(block);
|
UI_block_lock_clear(block);
|
||||||
UI_block_lock_set(block, ob && ID_IS_LINKED(ob), ERROR_LIBDATA_MESSAGE);
|
UI_block_lock_set(block, ob && ID_IS_LINKED(ob), ERROR_LIBDATA_MESSAGE);
|
||||||
|
|
||||||
if (!ELEM(md->type, eModifierType_Fluidsim, eModifierType_Softbody, eModifierType_ParticleSystem,
|
if (!ELEM(md->type, eModifierType_Fluidsim, eModifierType_Softbody, eModifierType_ParticleSystem,
|
||||||
eModifierType_Cloth, eModifierType_Smoke))
|
eModifierType_Cloth, eModifierType_Smoke))
|
||||||
{
|
{
|
||||||
@ -1076,19 +1076,19 @@ static uiLayout *draw_modifier(
|
|||||||
"OBJECT_OT_modifier_copy");
|
"OBJECT_OT_modifier_copy");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* result is the layout block inside the box, that we return so that modifier settings can be drawn */
|
/* result is the layout block inside the box, that we return so that modifier settings can be drawn */
|
||||||
result = uiLayoutColumn(box, false);
|
result = uiLayoutColumn(box, false);
|
||||||
block = uiLayoutAbsoluteBlock(box);
|
block = uiLayoutAbsoluteBlock(box);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* error messages */
|
/* error messages */
|
||||||
if (md->error) {
|
if (md->error) {
|
||||||
box = uiLayoutBox(column);
|
box = uiLayoutBox(column);
|
||||||
row = uiLayoutRow(box, false);
|
row = uiLayoutRow(box, false);
|
||||||
uiItemL(row, md->error, ICON_ERROR);
|
uiItemL(row, md->error, ICON_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1113,9 +1113,9 @@ uiLayout *uiTemplateModifier(uiLayout *layout, bContext *C, PointerRNA *ptr)
|
|||||||
RNA_warning("Expected modifier on object");
|
RNA_warning("Expected modifier on object");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
UI_block_lock_set(uiLayoutGetBlock(layout), (ob && ID_IS_LINKED(ob)), ERROR_LIBDATA_MESSAGE);
|
UI_block_lock_set(uiLayoutGetBlock(layout), (ob && ID_IS_LINKED(ob)), ERROR_LIBDATA_MESSAGE);
|
||||||
|
|
||||||
/* find modifier and draw it */
|
/* find modifier and draw it */
|
||||||
cageIndex = modifiers_getCageIndex(scene, ob, &lastCageIndex, 0);
|
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);
|
* object_test_constraints(ob);
|
||||||
* if (ob->pose) BKE_pose_update_constraint_flags(ob->pose); */
|
* 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);
|
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);
|
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
|
else
|
||||||
BLI_strncpy(typestr, IFACE_(cti->name), sizeof(typestr));
|
BLI_strncpy(typestr, IFACE_(cti->name), sizeof(typestr));
|
||||||
|
|
||||||
/* determine whether constraint is proxy protected or not */
|
/* determine whether constraint is proxy protected or not */
|
||||||
if (BKE_constraints_proxylocked_owner(ob, pchan))
|
if (BKE_constraints_proxylocked_owner(ob, pchan))
|
||||||
proxy_protected = (con->flag & CONSTRAINT_PROXY_LOCAL) == 0;
|
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)
|
if (con->flag & CONSTRAINT_DISABLE)
|
||||||
uiLayoutSetRedAlert(row, true);
|
uiLayoutSetRedAlert(row, true);
|
||||||
|
|
||||||
if (proxy_protected == 0) {
|
if (proxy_protected == 0) {
|
||||||
uiItemR(row, &ptr, "name", 0, "", ICON_NONE);
|
uiItemR(row, &ptr, "name", 0, "", ICON_NONE);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
uiItemL(row, con->name, ICON_NONE);
|
uiItemL(row, con->name, ICON_NONE);
|
||||||
|
|
||||||
uiLayoutSetRedAlert(row, false);
|
uiLayoutSetRedAlert(row, false);
|
||||||
|
|
||||||
/* proxy-protected constraints cannot be edited, so hide up/down + close buttons */
|
/* proxy-protected constraints cannot be edited, so hide up/down + close buttons */
|
||||||
if (proxy_protected) {
|
if (proxy_protected) {
|
||||||
UI_block_emboss_set(block, UI_EMBOSS_NONE);
|
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" */
|
/* 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,
|
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"));
|
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,
|
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"));
|
NULL, 0.0, 0.0, 0.0, 0.0, TIP_("Proxy Protected"));
|
||||||
|
|
||||||
UI_block_emboss_set(block, UI_EMBOSS);
|
UI_block_emboss_set(block, UI_EMBOSS);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
short prev_proxylock, show_upbut, show_downbut;
|
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
|
* 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
|
* 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.
|
* 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
|
else
|
||||||
prev_proxylock = 0;
|
prev_proxylock = 0;
|
||||||
|
|
||||||
show_upbut = ((prev_proxylock == 0) && (con->prev));
|
show_upbut = ((prev_proxylock == 0) && (con->prev));
|
||||||
show_downbut = (con->next) ? 1 : 0;
|
show_downbut = (con->next) ? 1 : 0;
|
||||||
|
|
||||||
/* enabled */
|
/* enabled */
|
||||||
UI_block_emboss_set(block, UI_EMBOSS_NONE);
|
UI_block_emboss_set(block, UI_EMBOSS_NONE);
|
||||||
uiItemR(row, &ptr, "mute", 0, "",
|
uiItemR(row, &ptr, "mute", 0, "",
|
||||||
(con->flag & CONSTRAINT_OFF) ? ICON_RESTRICT_VIEW_ON : ICON_RESTRICT_VIEW_OFF);
|
(con->flag & CONSTRAINT_OFF) ? ICON_RESTRICT_VIEW_ON : ICON_RESTRICT_VIEW_OFF);
|
||||||
UI_block_emboss_set(block, UI_EMBOSS);
|
UI_block_emboss_set(block, UI_EMBOSS);
|
||||||
|
|
||||||
uiLayoutSetOperatorContext(row, WM_OP_INVOKE_DEFAULT);
|
uiLayoutSetOperatorContext(row, WM_OP_INVOKE_DEFAULT);
|
||||||
|
|
||||||
/* up/down */
|
/* up/down */
|
||||||
if (show_upbut || show_downbut) {
|
if (show_upbut || show_downbut) {
|
||||||
UI_block_align_begin(block);
|
UI_block_align_begin(block);
|
||||||
if (show_upbut)
|
if (show_upbut)
|
||||||
uiItemO(row, "", ICON_TRIA_UP, "CONSTRAINT_OT_move_up");
|
uiItemO(row, "", ICON_TRIA_UP, "CONSTRAINT_OT_move_up");
|
||||||
|
|
||||||
if (show_downbut)
|
if (show_downbut)
|
||||||
uiItemO(row, "", ICON_TRIA_DOWN, "CONSTRAINT_OT_move_down");
|
uiItemO(row, "", ICON_TRIA_DOWN, "CONSTRAINT_OT_move_down");
|
||||||
UI_block_align_end(block);
|
UI_block_align_end(block);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Close 'button' - emboss calls here disable drawing of 'button' behind X */
|
/* Close 'button' - emboss calls here disable drawing of 'button' behind X */
|
||||||
UI_block_emboss_set(block, UI_EMBOSS_NONE);
|
UI_block_emboss_set(block, UI_EMBOSS_NONE);
|
||||||
uiItemO(row, "", ICON_X, "CONSTRAINT_OT_delete");
|
uiItemO(row, "", ICON_X, "CONSTRAINT_OT_delete");
|
||||||
@ -1341,7 +1341,7 @@ uiLayout *uiTemplateConstraint(uiLayout *layout, PointerRNA *ptr)
|
|||||||
RNA_warning("Expected constraint on object");
|
RNA_warning("Expected constraint on object");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
UI_block_lock_set(uiLayoutGetBlock(layout), (ob && ID_IS_LINKED(ob)), ERROR_LIBDATA_MESSAGE);
|
UI_block_lock_set(uiLayoutGetBlock(layout), (ob && ID_IS_LINKED(ob)), ERROR_LIBDATA_MESSAGE);
|
||||||
|
|
||||||
/* hrms, the temporal constraint should not draw! */
|
/* 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 || (pparent && GS(pparent->name) == ID_MA)) {
|
||||||
if (GS(pid->name) == ID_MA) ma = (Material *)pid;
|
if (GS(pid->name) == ID_MA) ma = (Material *)pid;
|
||||||
else ma = (Material *)pparent;
|
else ma = (Material *)pparent;
|
||||||
|
|
||||||
/* Create RNA Pointer */
|
/* Create RNA Pointer */
|
||||||
RNA_pointer_create(&ma->id, &RNA_Material, ma, &material_ptr);
|
RNA_pointer_create(&ma->id, &RNA_Material, ma, &material_ptr);
|
||||||
|
|
||||||
@ -1472,7 +1472,7 @@ void uiTemplatePreview(
|
|||||||
if (pr_texture) {
|
if (pr_texture) {
|
||||||
/* Create RNA Pointer */
|
/* Create RNA Pointer */
|
||||||
RNA_pointer_create(id, &RNA_Texture, tex, &texture_ptr);
|
RNA_pointer_create(id, &RNA_Texture, tex, &texture_ptr);
|
||||||
|
|
||||||
uiLayoutRow(layout, true);
|
uiLayoutRow(layout, true);
|
||||||
uiDefButS(block, UI_BTYPE_ROW, B_MATPRV, IFACE_("Texture"), 0, 0, UI_UNIT_X * 10, UI_UNIT_Y,
|
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, "");
|
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,
|
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, "");
|
pr_texture, 10, TEX_PR_BOTH, 0, 0, "");
|
||||||
|
|
||||||
/* Alpha button for texture preview */
|
/* Alpha button for texture preview */
|
||||||
if (*pr_texture != TEX_PR_OTHER) {
|
if (*pr_texture != TEX_PR_OTHER) {
|
||||||
row = uiLayoutRow(layout, false);
|
row = uiLayoutRow(layout, false);
|
||||||
@ -1776,7 +1776,7 @@ static uiBlock *ui_icon_view_menu_cb(bContext *C, ARegion *ar, void *arg_litem)
|
|||||||
if (free) {
|
if (free) {
|
||||||
MEM_freeN((void *)item);
|
MEM_freeN((void *)item);
|
||||||
}
|
}
|
||||||
|
|
||||||
return block;
|
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)) {
|
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);
|
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)
|
if (cumap->curr.xmin - d < cumap->clipr.xmin)
|
||||||
d1 = cumap->curr.xmin - cumap->clipr.xmin;
|
d1 = cumap->curr.xmin - cumap->clipr.xmin;
|
||||||
cumap->curr.xmin -= d1;
|
cumap->curr.xmin -= d1;
|
||||||
|
|
||||||
d1 = d;
|
d1 = d;
|
||||||
if (cumap->flag & CUMA_DO_CLIP)
|
if (cumap->flag & CUMA_DO_CLIP)
|
||||||
if (cumap->curr.xmax + d > cumap->clipr.xmax)
|
if (cumap->curr.xmax + d > cumap->clipr.xmax)
|
||||||
d1 = -cumap->curr.xmax + cumap->clipr.xmax;
|
d1 = -cumap->curr.xmax + cumap->clipr.xmax;
|
||||||
cumap->curr.xmax += d1;
|
cumap->curr.xmax += d1;
|
||||||
|
|
||||||
d = d1 = 0.15f * BLI_rctf_size_y(&cumap->curr);
|
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)
|
if (cumap->curr.ymin - d < cumap->clipr.ymin)
|
||||||
d1 = cumap->curr.ymin - cumap->clipr.ymin;
|
d1 = cumap->curr.ymin - cumap->clipr.ymin;
|
||||||
cumap->curr.ymin -= d1;
|
cumap->curr.ymin -= d1;
|
||||||
|
|
||||||
d1 = d;
|
d1 = d;
|
||||||
if (cumap->flag & CUMA_DO_CLIP)
|
if (cumap->flag & CUMA_DO_CLIP)
|
||||||
if (cumap->curr.ymax + d > cumap->clipr.ymax)
|
if (cumap->curr.ymax + d > cumap->clipr.ymax)
|
||||||
d1 = -cumap->curr.ymax + cumap->clipr.ymax;
|
d1 = -cumap->curr.ymax + cumap->clipr.ymax;
|
||||||
cumap->curr.ymax += d1;
|
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 *cumap = cumap_v;
|
||||||
|
|
||||||
curvemapping_changed(cumap, false);
|
curvemapping_changed(cumap, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void curvemap_buttons_delete(bContext *C, void *cb_v, void *cumap_v)
|
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;
|
CurveMapping *cumap = cumap_v;
|
||||||
int a;
|
int a;
|
||||||
|
|
||||||
cumap->preset = CURVE_PRESET_LINE;
|
cumap->preset = CURVE_PRESET_LINE;
|
||||||
for (a = 0; a < CM_TOT; a++)
|
for (a = 0; a < CM_TOT; a++)
|
||||||
curvemap_reset(cumap->cm + a, &cumap->clipr, cumap->preset, CURVEMAP_SLOPE_POSITIVE);
|
curvemap_reset(cumap->cm + a, &cumap->clipr, cumap->preset, CURVEMAP_SLOPE_POSITIVE);
|
||||||
|
|
||||||
cumap->black[0] = cumap->black[1] = cumap->black[2] = 0.0f;
|
cumap->black[0] = cumap->black[1] = cumap->black[2] = 0.0f;
|
||||||
cumap->white[0] = cumap->white[1] = cumap->white[2] = 1.0f;
|
cumap->white[0] = cumap->white[1] = cumap->white[2] = 1.0f;
|
||||||
curvemapping_set_black_white(cumap, NULL, NULL);
|
curvemapping_set_black_white(cumap, NULL, NULL);
|
||||||
|
|
||||||
curvemapping_changed(cumap, false);
|
curvemapping_changed(cumap, false);
|
||||||
|
|
||||||
rna_update_cb(C, cb_v, NULL);
|
rna_update_cb(C, cb_v, NULL);
|
||||||
@ -2238,7 +2238,7 @@ static void curvemap_buttons_layout(
|
|||||||
/* HSV */
|
/* HSV */
|
||||||
sub = uiLayoutRow(row, true);
|
sub = uiLayoutRow(row, true);
|
||||||
uiLayoutSetAlignment(sub, UI_LAYOUT_ALIGN_LEFT);
|
uiLayoutSetAlignment(sub, UI_LAYOUT_ALIGN_LEFT);
|
||||||
|
|
||||||
if (cumap->cm[0].curve) {
|
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, "");
|
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);
|
UI_but_func_set(bt, curvemap_buttons_redraw, NULL, NULL);
|
||||||
@ -2254,7 +2254,7 @@ static void curvemap_buttons_layout(
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
uiLayoutSetAlignment(row, UI_LAYOUT_ALIGN_RIGHT);
|
uiLayoutSetAlignment(row, UI_LAYOUT_ALIGN_RIGHT);
|
||||||
|
|
||||||
if (labeltype == 'h')
|
if (labeltype == 'h')
|
||||||
bg = UI_GRAD_H;
|
bg = UI_GRAD_H;
|
||||||
|
|
||||||
@ -2444,7 +2444,7 @@ void uiTemplateColorPicker(
|
|||||||
if (cubic)
|
if (cubic)
|
||||||
but->flag |= UI_BUT_COLOR_CUBIC;
|
but->flag |= UI_BUT_COLOR_CUBIC;
|
||||||
|
|
||||||
|
|
||||||
if (value_slider) {
|
if (value_slider) {
|
||||||
switch (U.color_picker_type) {
|
switch (U.color_picker_type) {
|
||||||
case USER_CP_CIRCLE_HSL:
|
case USER_CP_CIRCLE_HSL:
|
||||||
@ -2543,7 +2543,7 @@ static void handle_layer_buttons(bContext *C, void *arg1, void *arg2)
|
|||||||
|
|
||||||
if (!shift) {
|
if (!shift) {
|
||||||
tot = RNA_property_array_length(&but->rnapoin, but->rnaprop);
|
tot = RNA_property_array_length(&but->rnapoin, but->rnaprop);
|
||||||
|
|
||||||
/* Normally clicking only selects one layer */
|
/* Normally clicking only selects one layer */
|
||||||
RNA_property_boolean_set_index(&but->rnapoin, but->rnaprop, cur, true);
|
RNA_property_boolean_set_index(&but->rnapoin, but->rnaprop, cur, true);
|
||||||
for (i = 0; i < tot; ++i) {
|
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);
|
RNA_warning("layers property not found: %s.%s", RNA_struct_identifier(ptr->type), propname);
|
||||||
return;
|
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)
|
* - we want 2 rows only (for now)
|
||||||
* - the number of columns (cols) is the total number of buttons per row
|
* - 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
|
* 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)
|
if (RNA_property_array_length(used_ptr, used_prop) < layers)
|
||||||
used_prop = NULL;
|
used_prop = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* layers are laid out going across rows, with the columns being divided into groups */
|
/* layers are laid out going across rows, with the columns being divided into groups */
|
||||||
|
|
||||||
for (group = 0; group < groups; group++) {
|
for (group = 0; group < groups; group++) {
|
||||||
uCol = uiLayoutColumn(layout, true);
|
uCol = uiLayoutColumn(layout, true);
|
||||||
|
|
||||||
for (row = 0; row < 2; row++) {
|
for (row = 0; row < 2; row++) {
|
||||||
uiBlock *block;
|
uiBlock *block;
|
||||||
uiBut *but;
|
uiBut *but;
|
||||||
@ -2609,7 +2609,7 @@ void uiTemplateLayers(
|
|||||||
uRow = uiLayoutRow(uCol, true);
|
uRow = uiLayoutRow(uCol, true);
|
||||||
block = uiLayoutGetBlock(uRow);
|
block = uiLayoutGetBlock(uRow);
|
||||||
layer = groups * cols_per_group * row + cols_per_group * group;
|
layer = groups * cols_per_group * row + cols_per_group * group;
|
||||||
|
|
||||||
/* add layers as toggle buts */
|
/* add layers as toggle buts */
|
||||||
for (col = 0; (col < cols_per_group) && (layer < layers); col++, layer++) {
|
for (col = 0; (col < cols_per_group) && (layer < layers); col++, layer++) {
|
||||||
int icon = 0;
|
int icon = 0;
|
||||||
@ -2619,7 +2619,7 @@ void uiTemplateLayers(
|
|||||||
icon = ICON_LAYER_ACTIVE;
|
icon = ICON_LAYER_ACTIVE;
|
||||||
else if (used_prop && RNA_property_boolean_get_index(used_ptr, used_prop, layer))
|
else if (used_prop && RNA_property_boolean_get_index(used_ptr, used_prop, layer))
|
||||||
icon = ICON_LAYER_USED;
|
icon = ICON_LAYER_USED;
|
||||||
|
|
||||||
but = uiDefAutoButR(block, ptr, prop, layer, "", icon, 0, 0, UI_UNIT_X / 2, UI_UNIT_Y / 2);
|
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));
|
UI_but_func_set(but, handle_layer_buttons, but, SET_INT_IN_POINTER(layer));
|
||||||
but->type = UI_BTYPE_TOGGLE;
|
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);
|
RNA_warning("states property not found: %s.%s", RNA_struct_identifier(ptr->type), propname);
|
||||||
return;
|
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)
|
* - we want 2 rows only (for now)
|
||||||
* - the number of columns (cols) is the total number of buttons per row
|
* - 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
|
* 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)
|
if (RNA_property_array_length(used_ptr, used_prop) < states)
|
||||||
used_prop = NULL;
|
used_prop = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* layers are laid out going across rows, with the columns being divided into groups */
|
/* layers are laid out going across rows, with the columns being divided into groups */
|
||||||
|
|
||||||
for (group = 0; group < groups; group++) {
|
for (group = 0; group < groups; group++) {
|
||||||
uCol = uiLayoutColumn(layout, true);
|
uCol = uiLayoutColumn(layout, true);
|
||||||
|
|
||||||
for (row = 0; row < 2; row++) {
|
for (row = 0; row < 2; row++) {
|
||||||
uiBlock *block;
|
uiBlock *block;
|
||||||
uiBut *but;
|
uiBut *but;
|
||||||
@ -2678,7 +2678,7 @@ void uiTemplateGameStates(
|
|||||||
uRow = uiLayoutRow(uCol, true);
|
uRow = uiLayoutRow(uCol, true);
|
||||||
block = uiLayoutGetBlock(uRow);
|
block = uiLayoutGetBlock(uRow);
|
||||||
state = groups * cols_per_group * row + cols_per_group * group;
|
state = groups * cols_per_group * row + cols_per_group * group;
|
||||||
|
|
||||||
/* add layers as toggle buts */
|
/* add layers as toggle buts */
|
||||||
for (col = 0; (col < cols_per_group) && (state < states); col++, state++) {
|
for (col = 0; (col < cols_per_group) && (state < states); col++, state++) {
|
||||||
int icon = 0;
|
int icon = 0;
|
||||||
@ -2688,7 +2688,7 @@ void uiTemplateGameStates(
|
|||||||
icon = ICON_LAYER_ACTIVE;
|
icon = ICON_LAYER_ACTIVE;
|
||||||
else if (used_prop && RNA_property_boolean_get_index(used_ptr, used_prop, state))
|
else if (used_prop && RNA_property_boolean_get_index(used_ptr, used_prop, state))
|
||||||
icon = ICON_LAYER_USED;
|
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,
|
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));
|
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));
|
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)
|
static void operator_call_cb(bContext *C, void *UNUSED(arg1), void *arg2)
|
||||||
{
|
{
|
||||||
wmOperatorType *ot = arg2;
|
wmOperatorType *ot = arg2;
|
||||||
|
|
||||||
if (ot)
|
if (ot)
|
||||||
WM_operator_name_call_ptr(C, ot, WM_OP_INVOKE_DEFAULT, NULL);
|
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)) {
|
if (WM_operator_poll((bContext *)C, ot)) {
|
||||||
char name[256];
|
char name[256];
|
||||||
int len = strlen(ot_ui_name);
|
int len = strlen(ot_ui_name);
|
||||||
|
|
||||||
/* display name for menu, can hold hotkey */
|
/* display name for menu, can hold hotkey */
|
||||||
BLI_strncpy(name, ot_ui_name, sizeof(name));
|
BLI_strncpy(name, ot_ui_name, sizeof(name));
|
||||||
|
|
||||||
/* check for hotkey */
|
/* check for hotkey */
|
||||||
if (len < sizeof(name) - 6) {
|
if (len < sizeof(name) - 6) {
|
||||||
if (WM_key_event_operator_string(
|
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;
|
name[len] = UI_SEP_CHAR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (false == UI_search_item_add(items, name, ot, 0))
|
if (false == UI_search_item_add(items, name, ot, 0))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -3469,7 +3469,7 @@ void uiTemplateOperatorSearch(uiLayout *layout)
|
|||||||
uiBlock *block;
|
uiBlock *block;
|
||||||
uiBut *but;
|
uiBut *but;
|
||||||
static char search[256] = "";
|
static char search[256] = "";
|
||||||
|
|
||||||
block = uiLayoutGetBlock(layout);
|
block = uiLayoutGetBlock(layout);
|
||||||
UI_block_layout_set_current(block, layout);
|
UI_block_layout_set_current(block, layout);
|
||||||
|
|
||||||
@ -3679,7 +3679,7 @@ void uiTemplateRunningJobs(uiLayout *layout, bContext *C)
|
|||||||
uiBlock *block;
|
uiBlock *block;
|
||||||
void *owner = NULL;
|
void *owner = NULL;
|
||||||
int handle_event, icon = 0;
|
int handle_event, icon = 0;
|
||||||
|
|
||||||
block = uiLayoutGetBlock(layout);
|
block = uiLayoutGetBlock(layout);
|
||||||
UI_block_layout_set_current(block, layout);
|
UI_block_layout_set_current(block, layout);
|
||||||
|
|
||||||
@ -3763,7 +3763,7 @@ void uiTemplateRunningJobs(uiLayout *layout, bContext *C)
|
|||||||
if (owner) {
|
if (owner) {
|
||||||
const uiFontStyle *fstyle = UI_FSTYLE_WIDGET;
|
const uiFontStyle *fstyle = UI_FSTYLE_WIDGET;
|
||||||
bool active = !(G.is_break || WM_jobs_is_stopped(wm, owner));
|
bool active = !(G.is_break || WM_jobs_is_stopped(wm, owner));
|
||||||
|
|
||||||
uiLayout *row = uiLayoutRow(layout, false);
|
uiLayout *row = uiLayoutRow(layout, false);
|
||||||
block = uiLayoutGetBlock(row);
|
block = uiLayoutGetBlock(row);
|
||||||
|
|
||||||
@ -3815,29 +3815,29 @@ void uiTemplateReportsBanner(uiLayout *layout, bContext *C)
|
|||||||
ReportList *reports = CTX_wm_reports(C);
|
ReportList *reports = CTX_wm_reports(C);
|
||||||
Report *report = BKE_reports_last_displayable(reports);
|
Report *report = BKE_reports_last_displayable(reports);
|
||||||
ReportTimerInfo *rti;
|
ReportTimerInfo *rti;
|
||||||
|
|
||||||
uiLayout *ui_abs;
|
uiLayout *ui_abs;
|
||||||
uiBlock *block;
|
uiBlock *block;
|
||||||
uiBut *but;
|
uiBut *but;
|
||||||
uiStyle *style = UI_style_get();
|
uiStyle *style = UI_style_get();
|
||||||
int width;
|
int width;
|
||||||
int icon;
|
int icon;
|
||||||
|
|
||||||
/* if the report display has timed out, don't show */
|
/* if the report display has timed out, don't show */
|
||||||
if (!reports->reporttimer) return;
|
if (!reports->reporttimer) return;
|
||||||
|
|
||||||
rti = (ReportTimerInfo *)reports->reporttimer->customdata;
|
rti = (ReportTimerInfo *)reports->reporttimer->customdata;
|
||||||
|
|
||||||
if (!rti || rti->widthfac == 0.0f || !report) return;
|
if (!rti || rti->widthfac == 0.0f || !report) return;
|
||||||
|
|
||||||
ui_abs = uiLayoutAbsolute(layout, false);
|
ui_abs = uiLayoutAbsolute(layout, false);
|
||||||
block = uiLayoutGetBlock(ui_abs);
|
block = uiLayoutGetBlock(ui_abs);
|
||||||
|
|
||||||
UI_fontstyle_set(&style->widgetlabel);
|
UI_fontstyle_set(&style->widgetlabel);
|
||||||
width = BLF_width(style->widgetlabel.uifont_id, report->message, report->len);
|
width = BLF_width(style->widgetlabel.uifont_id, report->message, report->len);
|
||||||
width = min_ii((int)(rti->widthfac * width), width);
|
width = min_ii((int)(rti->widthfac * width), width);
|
||||||
width = max_ii(width, 10);
|
width = max_ii(width, 10);
|
||||||
|
|
||||||
/* make a box around the report to make it stand out */
|
/* make a box around the report to make it stand out */
|
||||||
UI_block_align_begin(block);
|
UI_block_align_begin(block);
|
||||||
but = uiDefBut(block, UI_BTYPE_ROUNDBOX, 0, "", 0, 0, UI_UNIT_X + 10, UI_UNIT_Y, NULL, 0.0f, 0.0f, 0, 0, "");
|
but = uiDefBut(block, UI_BTYPE_ROUNDBOX, 0, "", 0, 0, UI_UNIT_X + 10, UI_UNIT_Y, NULL, 0.0f, 0.0f, 0, 0, "");
|
||||||
@ -3851,12 +3851,12 @@ void uiTemplateReportsBanner(uiLayout *layout, bContext *C)
|
|||||||
but->col[3] = 255;
|
but->col[3] = 255;
|
||||||
|
|
||||||
UI_block_align_end(block);
|
UI_block_align_end(block);
|
||||||
|
|
||||||
|
|
||||||
/* icon and report message on top */
|
/* icon and report message on top */
|
||||||
icon = UI_icon_from_report_type(report->type);
|
icon = UI_icon_from_report_type(report->type);
|
||||||
|
|
||||||
/* XXX: temporary operator to dump all reports to a text block, but only if more than 1 report
|
/* XXX: temporary operator to dump all reports to a text block, but only if more than 1 report
|
||||||
* to be shown instead of icon when appropriate...
|
* to be shown instead of icon when appropriate...
|
||||||
*/
|
*/
|
||||||
UI_block_emboss_set(block, UI_EMBOSS_NONE);
|
UI_block_emboss_set(block, UI_EMBOSS_NONE);
|
||||||
@ -3868,7 +3868,7 @@ void uiTemplateReportsBanner(uiLayout *layout, bContext *C)
|
|||||||
uiDefIconBut(block, UI_BTYPE_LABEL, 0, icon, 2, 0, UI_UNIT_X, UI_UNIT_Y, NULL, 0.0f, 0.0f, 0, 0, "");
|
uiDefIconBut(block, UI_BTYPE_LABEL, 0, icon, 2, 0, UI_UNIT_X, UI_UNIT_Y, NULL, 0.0f, 0.0f, 0, 0, "");
|
||||||
|
|
||||||
UI_block_emboss_set(block, UI_EMBOSS);
|
UI_block_emboss_set(block, UI_EMBOSS);
|
||||||
|
|
||||||
uiDefBut(block, UI_BTYPE_LABEL, 0, report->message, UI_UNIT_X + 10, 0, UI_UNIT_X + width, UI_UNIT_Y,
|
uiDefBut(block, UI_BTYPE_LABEL, 0, report->message, UI_UNIT_X + 10, 0, UI_UNIT_X + width, UI_UNIT_Y,
|
||||||
NULL, 0.0f, 0.0f, 0, 0, "");
|
NULL, 0.0f, 0.0f, 0, 0, "");
|
||||||
}
|
}
|
||||||
@ -3889,7 +3889,7 @@ static void template_keymap_item_properties(uiLayout *layout, const char *title,
|
|||||||
|
|
||||||
if (title)
|
if (title)
|
||||||
uiItemL(layout, title, ICON_NONE);
|
uiItemL(layout, title, ICON_NONE);
|
||||||
|
|
||||||
flow = uiLayoutColumnFlow(layout, 2, false);
|
flow = uiLayoutColumnFlow(layout, 2, false);
|
||||||
|
|
||||||
RNA_STRUCT_BEGIN (ptr, prop)
|
RNA_STRUCT_BEGIN (ptr, prop)
|
||||||
@ -4018,17 +4018,17 @@ static uiBlock *component_menu(bContext *C, ARegion *ar, void *args_v)
|
|||||||
ComponentMenuArgs *args = (ComponentMenuArgs *)args_v;
|
ComponentMenuArgs *args = (ComponentMenuArgs *)args_v;
|
||||||
uiBlock *block;
|
uiBlock *block;
|
||||||
uiLayout *layout;
|
uiLayout *layout;
|
||||||
|
|
||||||
block = UI_block_begin(C, ar, __func__, UI_EMBOSS);
|
block = UI_block_begin(C, ar, __func__, UI_EMBOSS);
|
||||||
UI_block_flag_enable(block, UI_BLOCK_KEEP_OPEN);
|
UI_block_flag_enable(block, UI_BLOCK_KEEP_OPEN);
|
||||||
|
|
||||||
layout = uiLayoutColumn(UI_block_layout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, 0, 0, UI_UNIT_X * 6, UI_UNIT_Y, 0, UI_style_get()), 0);
|
layout = uiLayoutColumn(UI_block_layout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, 0, 0, UI_UNIT_X * 6, UI_UNIT_Y, 0, UI_style_get()), 0);
|
||||||
|
|
||||||
uiItemR(layout, &args->ptr, args->propname, UI_ITEM_R_EXPAND, "", ICON_NONE);
|
uiItemR(layout, &args->ptr, args->propname, UI_ITEM_R_EXPAND, "", ICON_NONE);
|
||||||
|
|
||||||
UI_block_bounds_set_normal(block, 6);
|
UI_block_bounds_set_normal(block, 6);
|
||||||
UI_block_direction_set(block, UI_DIR_DOWN);
|
UI_block_direction_set(block, UI_DIR_DOWN);
|
||||||
|
|
||||||
return block;
|
return block;
|
||||||
}
|
}
|
||||||
void uiTemplateComponentMenu(uiLayout *layout, PointerRNA *ptr, const char *propname, const char *name)
|
void uiTemplateComponentMenu(uiLayout *layout, PointerRNA *ptr, const char *propname, const char *name)
|
||||||
@ -4036,10 +4036,10 @@ void uiTemplateComponentMenu(uiLayout *layout, PointerRNA *ptr, const char *prop
|
|||||||
ComponentMenuArgs *args = MEM_callocN(sizeof(ComponentMenuArgs), "component menu template args");
|
ComponentMenuArgs *args = MEM_callocN(sizeof(ComponentMenuArgs), "component menu template args");
|
||||||
uiBlock *block;
|
uiBlock *block;
|
||||||
uiBut *but;
|
uiBut *but;
|
||||||
|
|
||||||
args->ptr = *ptr;
|
args->ptr = *ptr;
|
||||||
BLI_strncpy(args->propname, propname, sizeof(args->propname));
|
BLI_strncpy(args->propname, propname, sizeof(args->propname));
|
||||||
|
|
||||||
block = uiLayoutGetBlock(layout);
|
block = uiLayoutGetBlock(layout);
|
||||||
UI_block_align_begin(block);
|
UI_block_align_begin(block);
|
||||||
|
|
||||||
@ -4048,7 +4048,7 @@ void uiTemplateComponentMenu(uiLayout *layout, PointerRNA *ptr, const char *prop
|
|||||||
but->rnapoin = *ptr;
|
but->rnapoin = *ptr;
|
||||||
but->rnaprop = RNA_struct_find_property(ptr, propname);
|
but->rnaprop = RNA_struct_find_property(ptr, propname);
|
||||||
but->rnaindex = 0;
|
but->rnaindex = 0;
|
||||||
|
|
||||||
UI_block_align_end(block);
|
UI_block_align_end(block);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4058,17 +4058,17 @@ void uiTemplateNodeSocket(uiLayout *layout, bContext *UNUSED(C), float *color)
|
|||||||
{
|
{
|
||||||
uiBlock *block;
|
uiBlock *block;
|
||||||
uiBut *but;
|
uiBut *but;
|
||||||
|
|
||||||
block = uiLayoutGetBlock(layout);
|
block = uiLayoutGetBlock(layout);
|
||||||
UI_block_align_begin(block);
|
UI_block_align_begin(block);
|
||||||
|
|
||||||
/* XXX using explicit socket colors is not quite ideal.
|
/* XXX using explicit socket colors is not quite ideal.
|
||||||
* Eventually it should be possible to use theme colors for this purpose,
|
* Eventually it should be possible to use theme colors for this purpose,
|
||||||
* but this requires a better design for extendable color palettes in user prefs.
|
* but this requires a better design for extendable color palettes in user prefs.
|
||||||
*/
|
*/
|
||||||
but = uiDefBut(block, UI_BTYPE_NODE_SOCKET, 0, "", 0, 0, UI_UNIT_X, UI_UNIT_Y, NULL, 0, 0, 0, 0, "");
|
but = uiDefBut(block, UI_BTYPE_NODE_SOCKET, 0, "", 0, 0, UI_UNIT_X, UI_UNIT_Y, NULL, 0, 0, 0, 0, "");
|
||||||
rgba_float_to_uchar(but->col, color);
|
rgba_float_to_uchar(but->col, color);
|
||||||
|
|
||||||
UI_block_align_end(block);
|
UI_block_align_end(block);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
* as published by the Free Software Foundation; either version 2
|
* 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,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
@ -17,7 +17,7 @@
|
|||||||
*
|
*
|
||||||
* The Original Code is Copyright (C) 2009 Blender Foundation.
|
* The Original Code is Copyright (C) 2009 Blender Foundation.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Contributor(s): Blender Foundation
|
* Contributor(s): Blender Foundation
|
||||||
*
|
*
|
||||||
* ***** END GPL LICENSE BLOCK *****
|
* ***** END GPL LICENSE BLOCK *****
|
||||||
@ -71,7 +71,7 @@ uiBut *uiDefAutoButR(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, int ind
|
|||||||
|
|
||||||
if (arraylen && index == -1)
|
if (arraylen && index == -1)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (icon && name && name[0] == '\0')
|
if (icon && name && name[0] == '\0')
|
||||||
but = uiDefIconButR_prop(block, UI_BTYPE_ICON_TOGGLE, 0, icon, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
|
but = uiDefIconButR_prop(block, UI_BTYPE_ICON_TOGGLE, 0, icon, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
|
||||||
else if (icon)
|
else if (icon)
|
||||||
@ -225,7 +225,7 @@ int UI_icon_from_id(ID *id)
|
|||||||
|
|
||||||
if (id == NULL)
|
if (id == NULL)
|
||||||
return ICON_NONE;
|
return ICON_NONE;
|
||||||
|
|
||||||
idcode = GS(id->name);
|
idcode = GS(id->name);
|
||||||
|
|
||||||
/* exception for objects */
|
/* exception for objects */
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -96,16 +96,16 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
|
|||||||
static char headerdesel[4] = {0, 0, 0, 255};
|
static char headerdesel[4] = {0, 0, 0, 255};
|
||||||
static char setting = 0;
|
static char setting = 0;
|
||||||
const char *cp = error;
|
const char *cp = error;
|
||||||
|
|
||||||
/* ensure we're not getting a color after running BKE_blender_userdef_free */
|
/* ensure we're not getting a color after running BKE_blender_userdef_free */
|
||||||
BLI_assert(BLI_findindex(&U.themes, theme_active) != -1);
|
BLI_assert(BLI_findindex(&U.themes, theme_active) != -1);
|
||||||
BLI_assert(colorid != TH_UNDEFINED);
|
BLI_assert(colorid != TH_UNDEFINED);
|
||||||
|
|
||||||
if (btheme) {
|
if (btheme) {
|
||||||
|
|
||||||
/* first check for ui buttons theme */
|
/* first check for ui buttons theme */
|
||||||
if (colorid < TH_THEMEUI) {
|
if (colorid < TH_THEMEUI) {
|
||||||
|
|
||||||
switch (colorid) {
|
switch (colorid) {
|
||||||
|
|
||||||
case TH_REDALERT:
|
case TH_REDALERT:
|
||||||
@ -113,7 +113,7 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
||||||
switch (spacetype) {
|
switch (spacetype) {
|
||||||
case SPACE_BUTS:
|
case SPACE_BUTS:
|
||||||
ts = &btheme->tbuts;
|
ts = &btheme->tbuts;
|
||||||
@ -250,7 +250,7 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
|
|||||||
cp = &setting;
|
cp = &setting;
|
||||||
setting = ts->panelcolors.show_back;
|
setting = ts->panelcolors.show_back;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TH_BUTBACK:
|
case TH_BUTBACK:
|
||||||
cp = ts->button; break;
|
cp = ts->button; break;
|
||||||
case TH_BUTBACK_TEXT:
|
case TH_BUTBACK_TEXT:
|
||||||
@ -273,7 +273,7 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
|
|||||||
cp = ts->shade2; break;
|
cp = ts->shade2; break;
|
||||||
case TH_HILITE:
|
case TH_HILITE:
|
||||||
cp = ts->hilite; break;
|
cp = ts->hilite; break;
|
||||||
|
|
||||||
case TH_GRID:
|
case TH_GRID:
|
||||||
cp = ts->grid; break;
|
cp = ts->grid; break;
|
||||||
case TH_VIEW_OVERLAY:
|
case TH_VIEW_OVERLAY:
|
||||||
@ -524,7 +524,7 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
|
|||||||
case TH_HANDLE_VERTEX_SIZE:
|
case TH_HANDLE_VERTEX_SIZE:
|
||||||
cp = &ts->handle_vertex_size;
|
cp = &ts->handle_vertex_size;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TH_GP_VERTEX:
|
case TH_GP_VERTEX:
|
||||||
cp = ts->gp_vertex;
|
cp = ts->gp_vertex;
|
||||||
break;
|
break;
|
||||||
@ -534,7 +534,7 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
|
|||||||
case TH_GP_VERTEX_SIZE:
|
case TH_GP_VERTEX_SIZE:
|
||||||
cp = &ts->gp_vertex_size;
|
cp = &ts->gp_vertex_size;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TH_DOPESHEET_CHANNELOB:
|
case TH_DOPESHEET_CHANNELOB:
|
||||||
cp = ts->ds_channel;
|
cp = ts->ds_channel;
|
||||||
break;
|
break;
|
||||||
@ -622,21 +622,21 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
|
|||||||
case TH_SKIN_ROOT:
|
case TH_SKIN_ROOT:
|
||||||
cp = ts->skin_root;
|
cp = ts->skin_root;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TH_ANIM_ACTIVE:
|
case TH_ANIM_ACTIVE:
|
||||||
cp = ts->anim_active;
|
cp = ts->anim_active;
|
||||||
break;
|
break;
|
||||||
case TH_ANIM_INACTIVE:
|
case TH_ANIM_INACTIVE:
|
||||||
cp = ts->anim_non_active;
|
cp = ts->anim_non_active;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TH_NLA_TWEAK:
|
case TH_NLA_TWEAK:
|
||||||
cp = ts->nla_tweaking;
|
cp = ts->nla_tweaking;
|
||||||
break;
|
break;
|
||||||
case TH_NLA_TWEAK_DUPLI:
|
case TH_NLA_TWEAK_DUPLI:
|
||||||
cp = ts->nla_tweakdupli;
|
cp = ts->nla_tweakdupli;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TH_NLA_TRANSITION:
|
case TH_NLA_TRANSITION:
|
||||||
cp = ts->nla_transition;
|
cp = ts->nla_transition;
|
||||||
break;
|
break;
|
||||||
@ -655,7 +655,7 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
|
|||||||
case TH_NLA_SOUND_SEL:
|
case TH_NLA_SOUND_SEL:
|
||||||
cp = ts->nla_sound_sel;
|
cp = ts->nla_sound_sel;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TH_WIDGET_EMBOSS:
|
case TH_WIDGET_EMBOSS:
|
||||||
cp = btheme->tui.widget_emboss; break;
|
cp = btheme->tui.widget_emboss; break;
|
||||||
|
|
||||||
@ -702,7 +702,7 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return (const unsigned char *)cp;
|
return (const unsigned char *)cp;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -710,7 +710,7 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
|
|||||||
static void ui_theme_init_boneColorSets(bTheme *btheme)
|
static void ui_theme_init_boneColorSets(bTheme *btheme)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
/* define default color sets - currently we only define 15 of these, though that should be ample */
|
/* define default color sets - currently we only define 15 of these, though that should be ample */
|
||||||
/* set 1 */
|
/* set 1 */
|
||||||
rgba_char_args_set(btheme->tarm[0].solid, 0x9a, 0x00, 0x00, 255);
|
rgba_char_args_set(btheme->tarm[0].solid, 0x9a, 0x00, 0x00, 255);
|
||||||
@ -772,7 +772,7 @@ static void ui_theme_init_boneColorSets(bTheme *btheme)
|
|||||||
rgba_char_args_set(btheme->tarm[14].solid, 0x08, 0x31, 0x0e, 255);
|
rgba_char_args_set(btheme->tarm[14].solid, 0x08, 0x31, 0x0e, 255);
|
||||||
rgba_char_args_set(btheme->tarm[14].select, 0x1c, 0x43, 0x0b, 255);
|
rgba_char_args_set(btheme->tarm[14].select, 0x1c, 0x43, 0x0b, 255);
|
||||||
rgba_char_args_set(btheme->tarm[14].active, 0x34, 0x62, 0x2b, 255);
|
rgba_char_args_set(btheme->tarm[14].active, 0x34, 0x62, 0x2b, 255);
|
||||||
|
|
||||||
/* reset flags too */
|
/* reset flags too */
|
||||||
for (i = 0; i < 20; i++)
|
for (i = 0; i < 20; i++)
|
||||||
btheme->tarm[i].flag = 0;
|
btheme->tarm[i].flag = 0;
|
||||||
@ -844,16 +844,16 @@ static void ui_theme_space_init_handles_color(ThemeSpace *theme_space)
|
|||||||
void ui_theme_init_default(void)
|
void ui_theme_init_default(void)
|
||||||
{
|
{
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
|
|
||||||
/* we search for the theme with name Default */
|
/* we search for the theme with name Default */
|
||||||
btheme = BLI_findstring(&U.themes, "Default", offsetof(bTheme, name));
|
btheme = BLI_findstring(&U.themes, "Default", offsetof(bTheme, name));
|
||||||
|
|
||||||
if (btheme == NULL) {
|
if (btheme == NULL) {
|
||||||
btheme = MEM_callocN(sizeof(bTheme), "theme");
|
btheme = MEM_callocN(sizeof(bTheme), "theme");
|
||||||
BLI_addtail(&U.themes, btheme);
|
BLI_addtail(&U.themes, btheme);
|
||||||
strcpy(btheme->name, "Default");
|
strcpy(btheme->name, "Default");
|
||||||
}
|
}
|
||||||
|
|
||||||
UI_SetTheme(0, 0); /* make sure the global used in this file is set */
|
UI_SetTheme(0, 0); /* make sure the global used in this file is set */
|
||||||
|
|
||||||
/* UI buttons */
|
/* UI buttons */
|
||||||
@ -869,22 +869,22 @@ void ui_theme_init_default(void)
|
|||||||
|
|
||||||
btheme->tui.menu_shadow_fac = 0.5f;
|
btheme->tui.menu_shadow_fac = 0.5f;
|
||||||
btheme->tui.menu_shadow_width = 12;
|
btheme->tui.menu_shadow_width = 12;
|
||||||
|
|
||||||
/* Bone Color Sets */
|
/* Bone Color Sets */
|
||||||
ui_theme_init_boneColorSets(btheme);
|
ui_theme_init_boneColorSets(btheme);
|
||||||
|
|
||||||
/* common (new) variables */
|
/* common (new) variables */
|
||||||
ui_theme_init_new(btheme);
|
ui_theme_init_new(btheme);
|
||||||
|
|
||||||
/* space view3d */
|
/* space view3d */
|
||||||
rgba_char_args_set_fl(btheme->tv3d.back, 0.225, 0.225, 0.225, 1.0);
|
rgba_char_args_set_fl(btheme->tv3d.back, 0.225, 0.225, 0.225, 1.0);
|
||||||
rgba_char_args_set(btheme->tv3d.text, 0, 0, 0, 255);
|
rgba_char_args_set(btheme->tv3d.text, 0, 0, 0, 255);
|
||||||
rgba_char_args_set(btheme->tv3d.text_hi, 255, 255, 255, 255);
|
rgba_char_args_set(btheme->tv3d.text_hi, 255, 255, 255, 255);
|
||||||
|
|
||||||
rgba_char_args_set_fl(btheme->tv3d.header, 0.45, 0.45, 0.45, 1.0);
|
rgba_char_args_set_fl(btheme->tv3d.header, 0.45, 0.45, 0.45, 1.0);
|
||||||
rgba_char_args_set_fl(btheme->tv3d.button, 0.45, 0.45, 0.45, 0.5);
|
rgba_char_args_set_fl(btheme->tv3d.button, 0.45, 0.45, 0.45, 0.5);
|
||||||
// rgba_char_args_set(btheme->tv3d.panel, 165, 165, 165, 127);
|
// rgba_char_args_set(btheme->tv3d.panel, 165, 165, 165, 127);
|
||||||
|
|
||||||
rgba_char_args_set(btheme->tv3d.shade1, 160, 160, 160, 100);
|
rgba_char_args_set(btheme->tv3d.shade1, 160, 160, 160, 100);
|
||||||
rgba_char_args_set(btheme->tv3d.shade2, 0x7f, 0x70, 0x70, 100);
|
rgba_char_args_set(btheme->tv3d.shade2, 0x7f, 0x70, 0x70, 100);
|
||||||
|
|
||||||
@ -997,7 +997,7 @@ void ui_theme_init_default(void)
|
|||||||
rgba_char_args_set(btheme->tipo.handle_auto_clamped, 0x99, 0x40, 0x30, 255);
|
rgba_char_args_set(btheme->tipo.handle_auto_clamped, 0x99, 0x40, 0x30, 255);
|
||||||
rgba_char_args_set(btheme->tipo.handle_sel_auto_clamped, 0xf0, 0xaf, 0x90, 255);
|
rgba_char_args_set(btheme->tipo.handle_sel_auto_clamped, 0xf0, 0xaf, 0x90, 255);
|
||||||
btheme->tipo.handle_vertex_size = 5;
|
btheme->tipo.handle_vertex_size = 5;
|
||||||
|
|
||||||
rgba_char_args_set(btheme->tipo.ds_channel, 82, 96, 110, 255);
|
rgba_char_args_set(btheme->tipo.ds_channel, 82, 96, 110, 255);
|
||||||
rgba_char_args_set(btheme->tipo.ds_subchannel, 124, 137, 150, 255);
|
rgba_char_args_set(btheme->tipo.ds_subchannel, 124, 137, 150, 255);
|
||||||
rgba_char_args_set(btheme->tipo.group, 79, 101, 73, 255);
|
rgba_char_args_set(btheme->tipo.group, 79, 101, 73, 255);
|
||||||
@ -1007,9 +1007,9 @@ void ui_theme_init_default(void)
|
|||||||
btheme->tact = btheme->tipo;
|
btheme->tact = btheme->tipo;
|
||||||
rgba_char_args_set(btheme->tact.strip, 12, 10, 10, 128);
|
rgba_char_args_set(btheme->tact.strip, 12, 10, 10, 128);
|
||||||
rgba_char_args_set(btheme->tact.strip_select, 255, 140, 0, 255);
|
rgba_char_args_set(btheme->tact.strip_select, 255, 140, 0, 255);
|
||||||
|
|
||||||
rgba_char_args_set(btheme->tact.anim_active, 204, 112, 26, 102);
|
rgba_char_args_set(btheme->tact.anim_active, 204, 112, 26, 102);
|
||||||
|
|
||||||
rgba_char_args_set(btheme->tact.keytype_keyframe, 232, 232, 232, 255);
|
rgba_char_args_set(btheme->tact.keytype_keyframe, 232, 232, 232, 255);
|
||||||
rgba_char_args_set(btheme->tact.keytype_keyframe_select, 255, 190, 50, 255);
|
rgba_char_args_set(btheme->tact.keytype_keyframe_select, 255, 190, 50, 255);
|
||||||
rgba_char_args_set(btheme->tact.keytype_extreme, 232, 179, 204, 255);
|
rgba_char_args_set(btheme->tact.keytype_extreme, 232, 179, 204, 255);
|
||||||
@ -1018,31 +1018,31 @@ void ui_theme_init_default(void)
|
|||||||
rgba_char_args_set(btheme->tact.keytype_breakdown_select, 84, 191, 237, 255);
|
rgba_char_args_set(btheme->tact.keytype_breakdown_select, 84, 191, 237, 255);
|
||||||
rgba_char_args_set(btheme->tact.keytype_jitter, 148, 229, 117, 255);
|
rgba_char_args_set(btheme->tact.keytype_jitter, 148, 229, 117, 255);
|
||||||
rgba_char_args_set(btheme->tact.keytype_jitter_select, 97, 192, 66, 255);
|
rgba_char_args_set(btheme->tact.keytype_jitter_select, 97, 192, 66, 255);
|
||||||
|
|
||||||
rgba_char_args_set(btheme->tact.keyborder, 0, 0, 0, 255);
|
rgba_char_args_set(btheme->tact.keyborder, 0, 0, 0, 255);
|
||||||
rgba_char_args_set(btheme->tact.keyborder_select, 0, 0, 0, 255);
|
rgba_char_args_set(btheme->tact.keyborder_select, 0, 0, 0, 255);
|
||||||
|
|
||||||
btheme->tact.keyframe_scale_fac = 1.0f;
|
btheme->tact.keyframe_scale_fac = 1.0f;
|
||||||
|
|
||||||
/* space nla */
|
/* space nla */
|
||||||
btheme->tnla = btheme->tact;
|
btheme->tnla = btheme->tact;
|
||||||
|
|
||||||
rgba_char_args_set(btheme->tnla.anim_active, 204, 112, 26, 102); /* same as for dopesheet; duplicate here for easier reference */
|
rgba_char_args_set(btheme->tnla.anim_active, 204, 112, 26, 102); /* same as for dopesheet; duplicate here for easier reference */
|
||||||
rgba_char_args_set(btheme->tnla.anim_non_active, 153, 135, 97, 77);
|
rgba_char_args_set(btheme->tnla.anim_non_active, 153, 135, 97, 77);
|
||||||
|
|
||||||
rgba_char_args_set(btheme->tnla.nla_tweaking, 77, 243, 26, 77);
|
rgba_char_args_set(btheme->tnla.nla_tweaking, 77, 243, 26, 77);
|
||||||
rgba_char_args_set(btheme->tnla.nla_tweakdupli, 217, 0, 0, 255);
|
rgba_char_args_set(btheme->tnla.nla_tweakdupli, 217, 0, 0, 255);
|
||||||
|
|
||||||
rgba_char_args_set(btheme->tnla.nla_transition, 28, 38, 48, 255);
|
rgba_char_args_set(btheme->tnla.nla_transition, 28, 38, 48, 255);
|
||||||
rgba_char_args_set(btheme->tnla.nla_transition_sel, 46, 117, 219, 255);
|
rgba_char_args_set(btheme->tnla.nla_transition_sel, 46, 117, 219, 255);
|
||||||
rgba_char_args_set(btheme->tnla.nla_meta, 51, 38, 66, 255);
|
rgba_char_args_set(btheme->tnla.nla_meta, 51, 38, 66, 255);
|
||||||
rgba_char_args_set(btheme->tnla.nla_meta_sel, 105, 33, 150, 255);
|
rgba_char_args_set(btheme->tnla.nla_meta_sel, 105, 33, 150, 255);
|
||||||
rgba_char_args_set(btheme->tnla.nla_sound, 43, 61, 61, 255);
|
rgba_char_args_set(btheme->tnla.nla_sound, 43, 61, 61, 255);
|
||||||
rgba_char_args_set(btheme->tnla.nla_sound_sel, 31, 122, 122, 255);
|
rgba_char_args_set(btheme->tnla.nla_sound_sel, 31, 122, 122, 255);
|
||||||
|
|
||||||
rgba_char_args_set(btheme->tnla.keyborder, 0, 0, 0, 255);
|
rgba_char_args_set(btheme->tnla.keyborder, 0, 0, 0, 255);
|
||||||
rgba_char_args_set(btheme->tnla.keyborder_select, 0, 0, 0, 255);
|
rgba_char_args_set(btheme->tnla.keyborder_select, 0, 0, 0, 255);
|
||||||
|
|
||||||
/* space file */
|
/* space file */
|
||||||
/* to have something initialized */
|
/* to have something initialized */
|
||||||
btheme->tfile = btheme->tv3d;
|
btheme->tfile = btheme->tv3d;
|
||||||
@ -1058,7 +1058,7 @@ void ui_theme_init_default(void)
|
|||||||
rgba_char_args_set(btheme->tfile.movie, 250, 250, 250, 255);
|
rgba_char_args_set(btheme->tfile.movie, 250, 250, 250, 255);
|
||||||
rgba_char_args_set(btheme->tfile.scene, 250, 250, 250, 255);
|
rgba_char_args_set(btheme->tfile.scene, 250, 250, 250, 255);
|
||||||
|
|
||||||
|
|
||||||
/* space seq */
|
/* space seq */
|
||||||
btheme->tseq = btheme->tv3d;
|
btheme->tseq = btheme->tv3d;
|
||||||
rgba_char_args_set(btheme->tseq.back, 116, 116, 116, 255);
|
rgba_char_args_set(btheme->tseq.back, 116, 116, 116, 255);
|
||||||
@ -1107,7 +1107,7 @@ void ui_theme_init_default(void)
|
|||||||
rgba_char_args_set(btheme->text.shade1, 143, 143, 143, 255);
|
rgba_char_args_set(btheme->text.shade1, 143, 143, 143, 255);
|
||||||
rgba_char_args_set(btheme->text.shade2, 0xc6, 0x77, 0x77, 255);
|
rgba_char_args_set(btheme->text.shade2, 0xc6, 0x77, 0x77, 255);
|
||||||
rgba_char_args_set(btheme->text.hilite, 255, 0, 0, 255);
|
rgba_char_args_set(btheme->text.hilite, 255, 0, 0, 255);
|
||||||
|
|
||||||
/* syntax highlighting */
|
/* syntax highlighting */
|
||||||
rgba_char_args_set(btheme->text.syntaxn, 0, 0, 200, 255); /* Numbers Blue*/
|
rgba_char_args_set(btheme->text.syntaxn, 0, 0, 200, 255); /* Numbers Blue*/
|
||||||
rgba_char_args_set(btheme->text.syntaxl, 100, 0, 0, 255); /* Strings Red */
|
rgba_char_args_set(btheme->text.syntaxl, 100, 0, 0, 255); /* Strings Red */
|
||||||
@ -1117,11 +1117,11 @@ void ui_theme_init_default(void)
|
|||||||
rgba_char_args_set(btheme->text.syntaxr, 140, 60, 0, 255); /* Reserved Orange*/
|
rgba_char_args_set(btheme->text.syntaxr, 140, 60, 0, 255); /* Reserved Orange*/
|
||||||
rgba_char_args_set(btheme->text.syntaxb, 128, 0, 80, 255); /* Builtin Red-purple */
|
rgba_char_args_set(btheme->text.syntaxb, 128, 0, 80, 255); /* Builtin Red-purple */
|
||||||
rgba_char_args_set(btheme->text.syntaxs, 76, 76, 76, 255); /* Gray (mix between fg/bg) */
|
rgba_char_args_set(btheme->text.syntaxs, 76, 76, 76, 255); /* Gray (mix between fg/bg) */
|
||||||
|
|
||||||
/* space oops */
|
/* space oops */
|
||||||
btheme->toops = btheme->tv3d;
|
btheme->toops = btheme->tv3d;
|
||||||
rgba_char_args_set_fl(btheme->toops.back, 0.45, 0.45, 0.45, 1.0);
|
rgba_char_args_set_fl(btheme->toops.back, 0.45, 0.45, 0.45, 1.0);
|
||||||
|
|
||||||
rgba_char_args_set_fl(btheme->toops.match, 0.2, 0.5, 0.2, 0.3); /* highlighting search match - soft green*/
|
rgba_char_args_set_fl(btheme->toops.match, 0.2, 0.5, 0.2, 0.3); /* highlighting search match - soft green*/
|
||||||
rgba_char_args_set_fl(btheme->toops.selected_highlight, 0.51, 0.53, 0.55, 0.3);
|
rgba_char_args_set_fl(btheme->toops.selected_highlight, 0.51, 0.53, 0.55, 0.3);
|
||||||
|
|
||||||
@ -1142,7 +1142,7 @@ void ui_theme_init_default(void)
|
|||||||
/* space user preferences */
|
/* space user preferences */
|
||||||
btheme->tuserpref = btheme->tv3d;
|
btheme->tuserpref = btheme->tv3d;
|
||||||
rgba_char_args_set_fl(btheme->tuserpref.back, 0.45, 0.45, 0.45, 1.0);
|
rgba_char_args_set_fl(btheme->tuserpref.back, 0.45, 0.45, 0.45, 1.0);
|
||||||
|
|
||||||
/* space console */
|
/* space console */
|
||||||
btheme->tconsole = btheme->tv3d;
|
btheme->tconsole = btheme->tv3d;
|
||||||
rgba_char_args_set(btheme->tconsole.back, 0, 0, 0, 255);
|
rgba_char_args_set(btheme->tconsole.back, 0, 0, 0, 255);
|
||||||
@ -1152,16 +1152,16 @@ void ui_theme_init_default(void)
|
|||||||
rgba_char_args_set(btheme->tconsole.console_error, 220, 96, 96, 255);
|
rgba_char_args_set(btheme->tconsole.console_error, 220, 96, 96, 255);
|
||||||
rgba_char_args_set(btheme->tconsole.console_cursor, 220, 96, 96, 255);
|
rgba_char_args_set(btheme->tconsole.console_cursor, 220, 96, 96, 255);
|
||||||
rgba_char_args_set(btheme->tconsole.console_select, 255, 255, 255, 48);
|
rgba_char_args_set(btheme->tconsole.console_select, 255, 255, 255, 48);
|
||||||
|
|
||||||
/* space time */
|
/* space time */
|
||||||
btheme->ttime = btheme->tv3d;
|
btheme->ttime = btheme->tv3d;
|
||||||
rgba_char_args_set_fl(btheme->ttime.back, 0.45, 0.45, 0.45, 1.0);
|
rgba_char_args_set_fl(btheme->ttime.back, 0.45, 0.45, 0.45, 1.0);
|
||||||
rgba_char_args_set_fl(btheme->ttime.grid, 0.36, 0.36, 0.36, 1.0);
|
rgba_char_args_set_fl(btheme->ttime.grid, 0.36, 0.36, 0.36, 1.0);
|
||||||
rgba_char_args_set(btheme->ttime.shade1, 173, 173, 173, 255); /* sliders */
|
rgba_char_args_set(btheme->ttime.shade1, 173, 173, 173, 255); /* sliders */
|
||||||
|
|
||||||
rgba_char_args_set(btheme->ttime.time_keyframe, 0xDD, 0xD7, 0x00, 0xFF);
|
rgba_char_args_set(btheme->ttime.time_keyframe, 0xDD, 0xD7, 0x00, 0xFF);
|
||||||
rgba_char_args_set(btheme->ttime.time_gp_keyframe, 0xB5, 0xE6, 0x1D, 0xFF);
|
rgba_char_args_set(btheme->ttime.time_gp_keyframe, 0xB5, 0xE6, 0x1D, 0xFF);
|
||||||
|
|
||||||
/* space node, re-uses syntax and console color storage */
|
/* space node, re-uses syntax and console color storage */
|
||||||
btheme->tnode = btheme->tv3d;
|
btheme->tnode = btheme->tv3d;
|
||||||
rgba_char_args_set(btheme->tnode.syntaxr, 115, 115, 115, 255); /* wire inner color */
|
rgba_char_args_set(btheme->tnode.syntaxr, 115, 115, 115, 255); /* wire inner color */
|
||||||
@ -1188,7 +1188,7 @@ void ui_theme_init_default(void)
|
|||||||
/* space logic */
|
/* space logic */
|
||||||
btheme->tlogic = btheme->tv3d;
|
btheme->tlogic = btheme->tv3d;
|
||||||
rgba_char_args_set(btheme->tlogic.back, 100, 100, 100, 255);
|
rgba_char_args_set(btheme->tlogic.back, 100, 100, 100, 255);
|
||||||
|
|
||||||
/* space clip */
|
/* space clip */
|
||||||
btheme->tclip = btheme->tv3d;
|
btheme->tclip = btheme->tv3d;
|
||||||
|
|
||||||
@ -1260,7 +1260,7 @@ void UI_Theme_Restore(struct bThemeState *theme_state)
|
|||||||
void UI_ThemeColor(int colorid)
|
void UI_ThemeColor(int colorid)
|
||||||
{
|
{
|
||||||
const unsigned char *cp;
|
const unsigned char *cp;
|
||||||
|
|
||||||
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
||||||
glColor3ubv(cp);
|
glColor3ubv(cp);
|
||||||
|
|
||||||
@ -1270,7 +1270,7 @@ void UI_ThemeColor(int colorid)
|
|||||||
void UI_ThemeColor4(int colorid)
|
void UI_ThemeColor4(int colorid)
|
||||||
{
|
{
|
||||||
const unsigned char *cp;
|
const unsigned char *cp;
|
||||||
|
|
||||||
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
||||||
glColor4ubv(cp);
|
glColor4ubv(cp);
|
||||||
|
|
||||||
@ -1281,7 +1281,7 @@ void UI_ThemeColorShade(int colorid, int offset)
|
|||||||
{
|
{
|
||||||
int r, g, b;
|
int r, g, b;
|
||||||
const unsigned char *cp;
|
const unsigned char *cp;
|
||||||
|
|
||||||
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
||||||
r = offset + (int) cp[0];
|
r = offset + (int) cp[0];
|
||||||
CLAMP(r, 0, 255);
|
CLAMP(r, 0, 255);
|
||||||
@ -1295,7 +1295,7 @@ void UI_ThemeColorShadeAlpha(int colorid, int coloffset, int alphaoffset)
|
|||||||
{
|
{
|
||||||
int r, g, b, a;
|
int r, g, b, a;
|
||||||
const unsigned char *cp;
|
const unsigned char *cp;
|
||||||
|
|
||||||
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
||||||
r = coloffset + (int) cp[0];
|
r = coloffset + (int) cp[0];
|
||||||
CLAMP(r, 0, 255);
|
CLAMP(r, 0, 255);
|
||||||
@ -1334,7 +1334,7 @@ void UI_ThemeColorBlendShade(int colorid1, int colorid2, float fac, int offset)
|
|||||||
{
|
{
|
||||||
int r, g, b;
|
int r, g, b;
|
||||||
const unsigned char *cp1, *cp2;
|
const unsigned char *cp1, *cp2;
|
||||||
|
|
||||||
cp1 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid1);
|
cp1 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid1);
|
||||||
cp2 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid2);
|
cp2 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid2);
|
||||||
|
|
||||||
@ -1342,11 +1342,11 @@ void UI_ThemeColorBlendShade(int colorid1, int colorid2, float fac, int offset)
|
|||||||
r = offset + floorf((1.0f - fac) * cp1[0] + fac * cp2[0]);
|
r = offset + floorf((1.0f - fac) * cp1[0] + fac * cp2[0]);
|
||||||
g = offset + floorf((1.0f - fac) * cp1[1] + fac * cp2[1]);
|
g = offset + floorf((1.0f - fac) * cp1[1] + fac * cp2[1]);
|
||||||
b = offset + floorf((1.0f - fac) * cp1[2] + fac * cp2[2]);
|
b = offset + floorf((1.0f - fac) * cp1[2] + fac * cp2[2]);
|
||||||
|
|
||||||
CLAMP(r, 0, 255);
|
CLAMP(r, 0, 255);
|
||||||
CLAMP(g, 0, 255);
|
CLAMP(g, 0, 255);
|
||||||
CLAMP(b, 0, 255);
|
CLAMP(b, 0, 255);
|
||||||
|
|
||||||
glColor3ub(r, g, b);
|
glColor3ub(r, g, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1355,7 +1355,7 @@ void UI_ThemeColorBlendShadeAlpha(int colorid1, int colorid2, float fac, int off
|
|||||||
{
|
{
|
||||||
int r, g, b, a;
|
int r, g, b, a;
|
||||||
const unsigned char *cp1, *cp2;
|
const unsigned char *cp1, *cp2;
|
||||||
|
|
||||||
cp1 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid1);
|
cp1 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid1);
|
||||||
cp2 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid2);
|
cp2 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid2);
|
||||||
|
|
||||||
@ -1364,7 +1364,7 @@ void UI_ThemeColorBlendShadeAlpha(int colorid1, int colorid2, float fac, int off
|
|||||||
g = offset + floorf((1.0f - fac) * cp1[1] + fac * cp2[1]);
|
g = offset + floorf((1.0f - fac) * cp1[1] + fac * cp2[1]);
|
||||||
b = offset + floorf((1.0f - fac) * cp1[2] + fac * cp2[2]);
|
b = offset + floorf((1.0f - fac) * cp1[2] + fac * cp2[2]);
|
||||||
a = alphaoffset + floorf((1.0f - fac) * cp1[3] + fac * cp2[3]);
|
a = alphaoffset + floorf((1.0f - fac) * cp1[3] + fac * cp2[3]);
|
||||||
|
|
||||||
CLAMP(r, 0, 255);
|
CLAMP(r, 0, 255);
|
||||||
CLAMP(g, 0, 255);
|
CLAMP(g, 0, 255);
|
||||||
CLAMP(b, 0, 255);
|
CLAMP(b, 0, 255);
|
||||||
@ -1378,7 +1378,7 @@ void UI_ThemeColorBlendShadeAlpha(int colorid1, int colorid2, float fac, int off
|
|||||||
float UI_GetThemeValuef(int colorid)
|
float UI_GetThemeValuef(int colorid)
|
||||||
{
|
{
|
||||||
const unsigned char *cp;
|
const unsigned char *cp;
|
||||||
|
|
||||||
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
||||||
return ((float)cp[0]);
|
return ((float)cp[0]);
|
||||||
}
|
}
|
||||||
@ -1387,7 +1387,7 @@ float UI_GetThemeValuef(int colorid)
|
|||||||
int UI_GetThemeValue(int colorid)
|
int UI_GetThemeValue(int colorid)
|
||||||
{
|
{
|
||||||
const unsigned char *cp;
|
const unsigned char *cp;
|
||||||
|
|
||||||
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
||||||
return ((int) cp[0]);
|
return ((int) cp[0]);
|
||||||
}
|
}
|
||||||
@ -1414,7 +1414,7 @@ int UI_GetThemeValueType(int colorid, int spacetype)
|
|||||||
void UI_GetThemeColor3fv(int colorid, float col[3])
|
void UI_GetThemeColor3fv(int colorid, float col[3])
|
||||||
{
|
{
|
||||||
const unsigned char *cp;
|
const unsigned char *cp;
|
||||||
|
|
||||||
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
||||||
col[0] = ((float)cp[0]) / 255.0f;
|
col[0] = ((float)cp[0]) / 255.0f;
|
||||||
col[1] = ((float)cp[1]) / 255.0f;
|
col[1] = ((float)cp[1]) / 255.0f;
|
||||||
@ -1424,7 +1424,7 @@ void UI_GetThemeColor3fv(int colorid, float col[3])
|
|||||||
void UI_GetThemeColor4fv(int colorid, float col[4])
|
void UI_GetThemeColor4fv(int colorid, float col[4])
|
||||||
{
|
{
|
||||||
const unsigned char *cp;
|
const unsigned char *cp;
|
||||||
|
|
||||||
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
||||||
col[0] = ((float)cp[0]) / 255.0f;
|
col[0] = ((float)cp[0]) / 255.0f;
|
||||||
col[1] = ((float)cp[1]) / 255.0f;
|
col[1] = ((float)cp[1]) / 255.0f;
|
||||||
@ -1437,16 +1437,16 @@ void UI_GetThemeColorShade3fv(int colorid, int offset, float col[3])
|
|||||||
{
|
{
|
||||||
int r, g, b;
|
int r, g, b;
|
||||||
const unsigned char *cp;
|
const unsigned char *cp;
|
||||||
|
|
||||||
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
||||||
|
|
||||||
r = offset + (int) cp[0];
|
r = offset + (int) cp[0];
|
||||||
CLAMP(r, 0, 255);
|
CLAMP(r, 0, 255);
|
||||||
g = offset + (int) cp[1];
|
g = offset + (int) cp[1];
|
||||||
CLAMP(g, 0, 255);
|
CLAMP(g, 0, 255);
|
||||||
b = offset + (int) cp[2];
|
b = offset + (int) cp[2];
|
||||||
CLAMP(b, 0, 255);
|
CLAMP(b, 0, 255);
|
||||||
|
|
||||||
col[0] = ((float)r) / 255.0f;
|
col[0] = ((float)r) / 255.0f;
|
||||||
col[1] = ((float)g) / 255.0f;
|
col[1] = ((float)g) / 255.0f;
|
||||||
col[2] = ((float)b) / 255.0f;
|
col[2] = ((float)b) / 255.0f;
|
||||||
@ -1475,7 +1475,7 @@ void UI_GetThemeColorShade3ubv(int colorid, int offset, unsigned char col[3])
|
|||||||
void UI_GetThemeColor3ubv(int colorid, unsigned char col[3])
|
void UI_GetThemeColor3ubv(int colorid, unsigned char col[3])
|
||||||
{
|
{
|
||||||
const unsigned char *cp;
|
const unsigned char *cp;
|
||||||
|
|
||||||
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
||||||
col[0] = cp[0];
|
col[0] = cp[0];
|
||||||
col[1] = cp[1];
|
col[1] = cp[1];
|
||||||
@ -1487,19 +1487,19 @@ void UI_GetThemeColorShade4fv(int colorid, int offset, float col[4])
|
|||||||
{
|
{
|
||||||
int r, g, b, a;
|
int r, g, b, a;
|
||||||
const unsigned char *cp;
|
const unsigned char *cp;
|
||||||
|
|
||||||
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
||||||
|
|
||||||
r = offset + (int) cp[0];
|
r = offset + (int) cp[0];
|
||||||
CLAMP(r, 0, 255);
|
CLAMP(r, 0, 255);
|
||||||
g = offset + (int) cp[1];
|
g = offset + (int) cp[1];
|
||||||
CLAMP(g, 0, 255);
|
CLAMP(g, 0, 255);
|
||||||
b = offset + (int) cp[2];
|
b = offset + (int) cp[2];
|
||||||
CLAMP(b, 0, 255);
|
CLAMP(b, 0, 255);
|
||||||
|
|
||||||
a = (int) cp[3]; /* no shading offset... */
|
a = (int) cp[3]; /* no shading offset... */
|
||||||
CLAMP(a, 0, 255);
|
CLAMP(a, 0, 255);
|
||||||
|
|
||||||
col[0] = ((float)r) / 255.0f;
|
col[0] = ((float)r) / 255.0f;
|
||||||
col[1] = ((float)g) / 255.0f;
|
col[1] = ((float)g) / 255.0f;
|
||||||
col[2] = ((float)b) / 255.0f;
|
col[2] = ((float)b) / 255.0f;
|
||||||
@ -1510,7 +1510,7 @@ void UI_GetThemeColorShade4fv(int colorid, int offset, float col[4])
|
|||||||
void UI_GetThemeColor4ubv(int colorid, unsigned char col[4])
|
void UI_GetThemeColor4ubv(int colorid, unsigned char col[4])
|
||||||
{
|
{
|
||||||
const unsigned char *cp;
|
const unsigned char *cp;
|
||||||
|
|
||||||
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
||||||
col[0] = cp[0];
|
col[0] = cp[0];
|
||||||
col[1] = cp[1];
|
col[1] = cp[1];
|
||||||
@ -1521,7 +1521,7 @@ void UI_GetThemeColor4ubv(int colorid, unsigned char col[4])
|
|||||||
void UI_GetThemeColorType4ubv(int colorid, int spacetype, char col[4])
|
void UI_GetThemeColorType4ubv(int colorid, int spacetype, char col[4])
|
||||||
{
|
{
|
||||||
const unsigned char *cp;
|
const unsigned char *cp;
|
||||||
|
|
||||||
cp = UI_ThemeGetColorPtr(theme_active, spacetype, colorid);
|
cp = UI_ThemeGetColorPtr(theme_active, spacetype, colorid);
|
||||||
col[0] = cp[0];
|
col[0] = cp[0];
|
||||||
col[1] = cp[1];
|
col[1] = cp[1];
|
||||||
@ -1541,7 +1541,7 @@ void UI_ColorPtrBlendShade3ubv(const unsigned char cp1[3], const unsigned char c
|
|||||||
r = r < 0 ? 0 : (r > 255 ? 255 : r);
|
r = r < 0 ? 0 : (r > 255 ? 255 : r);
|
||||||
g = g < 0 ? 0 : (g > 255 ? 255 : g);
|
g = g < 0 ? 0 : (g > 255 ? 255 : g);
|
||||||
b = b < 0 ? 0 : (b > 255 ? 255 : b);
|
b = b < 0 ? 0 : (b > 255 ? 255 : b);
|
||||||
|
|
||||||
glColor3ub(r, g, b);
|
glColor3ub(r, g, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1586,7 +1586,7 @@ void UI_GetColorPtrBlendShade3ubv(
|
|||||||
void UI_ThemeClearColor(int colorid)
|
void UI_ThemeClearColor(int colorid)
|
||||||
{
|
{
|
||||||
float col[3];
|
float col[3];
|
||||||
|
|
||||||
UI_GetThemeColor3fv(colorid, col);
|
UI_GetThemeColor3fv(colorid, col);
|
||||||
glClearColor(col[0], col[1], col[2], 0.0f);
|
glClearColor(col[0], col[1], col[2], 0.0f);
|
||||||
}
|
}
|
||||||
@ -1608,7 +1608,7 @@ int UI_ThemeMenuShadowWidth(void)
|
|||||||
void UI_make_axis_color(const unsigned char src_col[3], unsigned char dst_col[3], const char axis)
|
void UI_make_axis_color(const unsigned char src_col[3], unsigned char dst_col[3], const char axis)
|
||||||
{
|
{
|
||||||
unsigned char col[3];
|
unsigned char col[3];
|
||||||
|
|
||||||
switch (axis) {
|
switch (axis) {
|
||||||
case 'X':
|
case 'X':
|
||||||
UI_GetThemeColor3ubv(TH_AXIS_X, col);
|
UI_GetThemeColor3ubv(TH_AXIS_X, col);
|
||||||
@ -1634,7 +1634,7 @@ void UI_make_axis_color(const unsigned char src_col[3], unsigned char dst_col[3]
|
|||||||
void init_userdef_do_versions(void)
|
void init_userdef_do_versions(void)
|
||||||
{
|
{
|
||||||
Main *bmain = G.main;
|
Main *bmain = G.main;
|
||||||
|
|
||||||
#define USER_VERSION_ATLEAST(ver, subver) MAIN_VERSION_ATLEAST(bmain, ver, subver)
|
#define USER_VERSION_ATLEAST(ver, subver) MAIN_VERSION_ATLEAST(bmain, ver, subver)
|
||||||
|
|
||||||
/* the UserDef struct is not corrected with do_versions() .... ugh! */
|
/* the UserDef struct is not corrected with do_versions() .... ugh! */
|
||||||
@ -1667,12 +1667,12 @@ void init_userdef_do_versions(void)
|
|||||||
}
|
}
|
||||||
if (U.pad_rot_angle == 0.0f)
|
if (U.pad_rot_angle == 0.0f)
|
||||||
U.pad_rot_angle = 15.0f;
|
U.pad_rot_angle = 15.0f;
|
||||||
|
|
||||||
/* graph editor - unselected F-Curve visibility */
|
/* graph editor - unselected F-Curve visibility */
|
||||||
if (U.fcu_inactive_alpha == 0) {
|
if (U.fcu_inactive_alpha == 0) {
|
||||||
U.fcu_inactive_alpha = 0.25f;
|
U.fcu_inactive_alpha = 0.25f;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* signal for derivedmesh to use colorband */
|
/* signal for derivedmesh to use colorband */
|
||||||
/* run in case this was on and is now off in the user prefs [#28096] */
|
/* run in case this was on and is now off in the user prefs [#28096] */
|
||||||
vDM_ColorBand_store((U.flag & USER_CUSTOM_RANGE) ? (&U.coba_weight) : NULL, UI_GetTheme()->tv3d.vertex_unreferenced);
|
vDM_ColorBand_store((U.flag & USER_CUSTOM_RANGE) ? (&U.coba_weight) : NULL, UI_GetTheme()->tv3d.vertex_unreferenced);
|
||||||
@ -1680,19 +1680,19 @@ void init_userdef_do_versions(void)
|
|||||||
if (!USER_VERSION_ATLEAST(192, 0)) {
|
if (!USER_VERSION_ATLEAST(192, 0)) {
|
||||||
strcpy(U.sounddir, "/");
|
strcpy(U.sounddir, "/");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* patch to set Dupli Armature */
|
/* patch to set Dupli Armature */
|
||||||
if (!USER_VERSION_ATLEAST(220, 0)) {
|
if (!USER_VERSION_ATLEAST(220, 0)) {
|
||||||
U.dupflag |= USER_DUP_ARM;
|
U.dupflag |= USER_DUP_ARM;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* added seam, normal color, undo */
|
/* added seam, normal color, undo */
|
||||||
if (!USER_VERSION_ATLEAST(235, 0)) {
|
if (!USER_VERSION_ATLEAST(235, 0)) {
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
|
|
||||||
U.uiflag |= USER_GLOBALUNDO;
|
U.uiflag |= USER_GLOBALUNDO;
|
||||||
if (U.undosteps == 0) U.undosteps = 32;
|
if (U.undosteps == 0) U.undosteps = 32;
|
||||||
|
|
||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
||||||
/* check for (alpha == 0) is safe, then color was never set */
|
/* check for (alpha == 0) is safe, then color was never set */
|
||||||
if (btheme->tv3d.edge_seam[3] == 0) {
|
if (btheme->tv3d.edge_seam[3] == 0) {
|
||||||
@ -1712,7 +1712,7 @@ void init_userdef_do_versions(void)
|
|||||||
}
|
}
|
||||||
if (!USER_VERSION_ATLEAST(236, 0)) {
|
if (!USER_VERSION_ATLEAST(236, 0)) {
|
||||||
/* illegal combo... */
|
/* illegal combo... */
|
||||||
if (U.flag & USER_LMOUSESELECT)
|
if (U.flag & USER_LMOUSESELECT)
|
||||||
U.flag &= ~USER_TWOBUTTONMOUSE;
|
U.flag &= ~USER_TWOBUTTONMOUSE;
|
||||||
}
|
}
|
||||||
if (!USER_VERSION_ATLEAST(237, 0)) {
|
if (!USER_VERSION_ATLEAST(237, 0)) {
|
||||||
@ -1760,15 +1760,15 @@ void init_userdef_do_versions(void)
|
|||||||
}
|
}
|
||||||
if (!USER_VERSION_ATLEAST(240, 0)) {
|
if (!USER_VERSION_ATLEAST(240, 0)) {
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
|
|
||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
||||||
/* Lamp theme, check for alpha==0 is safe, then color was never set */
|
/* Lamp theme, check for alpha==0 is safe, then color was never set */
|
||||||
if (btheme->tv3d.lamp[3] == 0) {
|
if (btheme->tv3d.lamp[3] == 0) {
|
||||||
rgba_char_args_set(btheme->tv3d.lamp, 0, 0, 0, 40);
|
rgba_char_args_set(btheme->tv3d.lamp, 0, 0, 0, 40);
|
||||||
/* TEMPORAL, remove me! (ton) */
|
/* TEMPORAL, remove me! (ton) */
|
||||||
U.uiflag |= USER_PLAINMENUS;
|
U.uiflag |= USER_PLAINMENUS;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if (U.obcenter_dia == 0) U.obcenter_dia = 6;
|
if (U.obcenter_dia == 0) U.obcenter_dia = 6;
|
||||||
}
|
}
|
||||||
@ -1802,19 +1802,19 @@ void init_userdef_do_versions(void)
|
|||||||
rgba_char_args_set(btheme->tseq.meta, 109, 145, 131, 255);
|
rgba_char_args_set(btheme->tseq.meta, 109, 145, 131, 255);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* set defaults for 3D View rotating axis indicator */
|
/* set defaults for 3D View rotating axis indicator */
|
||||||
/* since size can't be set to 0, this indicates it's not saved in startup.blend */
|
/* since size can't be set to 0, this indicates it's not saved in startup.blend */
|
||||||
if (U.rvisize == 0) {
|
if (U.rvisize == 0) {
|
||||||
U.rvisize = 15;
|
U.rvisize = 15;
|
||||||
U.rvibright = 8;
|
U.rvibright = 8;
|
||||||
U.uiflag |= USER_SHOW_ROTVIEWICON;
|
U.uiflag |= USER_SHOW_ROTVIEWICON;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if (!USER_VERSION_ATLEAST(243, 0)) {
|
if (!USER_VERSION_ATLEAST(243, 0)) {
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
|
|
||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
||||||
/* long keyframe color */
|
/* long keyframe color */
|
||||||
/* check for alpha==0 is safe, then color was never set */
|
/* check for alpha==0 is safe, then color was never set */
|
||||||
@ -1823,7 +1823,7 @@ void init_userdef_do_versions(void)
|
|||||||
rgba_char_args_set(btheme->tact.strip_select, 0xff, 0xff, 0xaa, 204);
|
rgba_char_args_set(btheme->tact.strip_select, 0xff, 0xff, 0xaa, 204);
|
||||||
rgba_char_args_set(btheme->tact.strip, 0xe4, 0x9c, 0xc6, 204);
|
rgba_char_args_set(btheme->tact.strip, 0xe4, 0x9c, 0xc6, 204);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* IPO-Editor - Vertex Size*/
|
/* IPO-Editor - Vertex Size*/
|
||||||
if (btheme->tipo.vertex_size == 0) {
|
if (btheme->tipo.vertex_size == 0) {
|
||||||
btheme->tipo.vertex_size = 3;
|
btheme->tipo.vertex_size = 3;
|
||||||
@ -1861,7 +1861,7 @@ void init_userdef_do_versions(void)
|
|||||||
/* action channel groups (recolor anyway) */
|
/* action channel groups (recolor anyway) */
|
||||||
rgba_char_args_set(btheme->tact.group, 0x39, 0x7d, 0x1b, 255);
|
rgba_char_args_set(btheme->tact.group, 0x39, 0x7d, 0x1b, 255);
|
||||||
rgba_char_args_set(btheme->tact.group_active, 0x7d, 0xe9, 0x60, 255);
|
rgba_char_args_set(btheme->tact.group_active, 0x7d, 0xe9, 0x60, 255);
|
||||||
|
|
||||||
/* bone custom-color sets */
|
/* bone custom-color sets */
|
||||||
if (btheme->tarm[0].solid[3] == 0)
|
if (btheme->tarm[0].solid[3] == 0)
|
||||||
ui_theme_init_boneColorSets(btheme);
|
ui_theme_init_boneColorSets(btheme);
|
||||||
@ -1872,18 +1872,18 @@ void init_userdef_do_versions(void)
|
|||||||
}
|
}
|
||||||
if (!USER_VERSION_ATLEAST(245, 3)) {
|
if (!USER_VERSION_ATLEAST(245, 3)) {
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
|
|
||||||
/* adjust themes */
|
/* adjust themes */
|
||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
||||||
const char *col;
|
const char *col;
|
||||||
|
|
||||||
/* IPO Editor: Handles/Vertices */
|
/* IPO Editor: Handles/Vertices */
|
||||||
col = btheme->tipo.vertex;
|
col = btheme->tipo.vertex;
|
||||||
rgba_char_args_set(btheme->tipo.handle_vertex, col[0], col[1], col[2], 255);
|
rgba_char_args_set(btheme->tipo.handle_vertex, col[0], col[1], col[2], 255);
|
||||||
col = btheme->tipo.vertex_select;
|
col = btheme->tipo.vertex_select;
|
||||||
rgba_char_args_set(btheme->tipo.handle_vertex_select, col[0], col[1], col[2], 255);
|
rgba_char_args_set(btheme->tipo.handle_vertex_select, col[0], col[1], col[2], 255);
|
||||||
btheme->tipo.handle_vertex_size = btheme->tipo.vertex_size;
|
btheme->tipo.handle_vertex_size = btheme->tipo.vertex_size;
|
||||||
|
|
||||||
/* Sequence/Image Editor: colors for GPencil text */
|
/* Sequence/Image Editor: colors for GPencil text */
|
||||||
col = btheme->tv3d.bone_pose;
|
col = btheme->tv3d.bone_pose;
|
||||||
rgba_char_args_set(btheme->tseq.bone_pose, col[0], col[1], col[2], 255);
|
rgba_char_args_set(btheme->tseq.bone_pose, col[0], col[1], col[2], 255);
|
||||||
@ -1894,7 +1894,7 @@ void init_userdef_do_versions(void)
|
|||||||
}
|
}
|
||||||
if (!USER_VERSION_ATLEAST(250, 0)) {
|
if (!USER_VERSION_ATLEAST(250, 0)) {
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
|
|
||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
||||||
/* this was not properly initialized in 2.45 */
|
/* this was not properly initialized in 2.45 */
|
||||||
if (btheme->tima.face_dot[3] == 0) {
|
if (btheme->tima.face_dot[3] == 0) {
|
||||||
@ -1902,21 +1902,21 @@ void init_userdef_do_versions(void)
|
|||||||
rgba_char_args_set(btheme->tima.face_dot, 255, 133, 0, 255);
|
rgba_char_args_set(btheme->tima.face_dot, 255, 133, 0, 255);
|
||||||
btheme->tima.facedot_size = 2;
|
btheme->tima.facedot_size = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* DopeSheet - (Object) Channel color */
|
/* DopeSheet - (Object) Channel color */
|
||||||
rgba_char_args_set(btheme->tact.ds_channel, 82, 96, 110, 255);
|
rgba_char_args_set(btheme->tact.ds_channel, 82, 96, 110, 255);
|
||||||
rgba_char_args_set(btheme->tact.ds_subchannel, 124, 137, 150, 255);
|
rgba_char_args_set(btheme->tact.ds_subchannel, 124, 137, 150, 255);
|
||||||
/* DopeSheet - Group Channel color (saner version) */
|
/* DopeSheet - Group Channel color (saner version) */
|
||||||
rgba_char_args_set(btheme->tact.group, 79, 101, 73, 255);
|
rgba_char_args_set(btheme->tact.group, 79, 101, 73, 255);
|
||||||
rgba_char_args_set(btheme->tact.group_active, 135, 177, 125, 255);
|
rgba_char_args_set(btheme->tact.group_active, 135, 177, 125, 255);
|
||||||
|
|
||||||
/* Graph Editor - (Object) Channel color */
|
/* Graph Editor - (Object) Channel color */
|
||||||
rgba_char_args_set(btheme->tipo.ds_channel, 82, 96, 110, 255);
|
rgba_char_args_set(btheme->tipo.ds_channel, 82, 96, 110, 255);
|
||||||
rgba_char_args_set(btheme->tipo.ds_subchannel, 124, 137, 150, 255);
|
rgba_char_args_set(btheme->tipo.ds_subchannel, 124, 137, 150, 255);
|
||||||
/* Graph Editor - Group Channel color */
|
/* Graph Editor - Group Channel color */
|
||||||
rgba_char_args_set(btheme->tipo.group, 79, 101, 73, 255);
|
rgba_char_args_set(btheme->tipo.group, 79, 101, 73, 255);
|
||||||
rgba_char_args_set(btheme->tipo.group_active, 135, 177, 125, 255);
|
rgba_char_args_set(btheme->tipo.group_active, 135, 177, 125, 255);
|
||||||
|
|
||||||
/* Nla Editor - (Object) Channel color */
|
/* Nla Editor - (Object) Channel color */
|
||||||
rgba_char_args_set(btheme->tnla.ds_channel, 82, 96, 110, 255);
|
rgba_char_args_set(btheme->tnla.ds_channel, 82, 96, 110, 255);
|
||||||
rgba_char_args_set(btheme->tnla.ds_subchannel, 124, 137, 150, 255);
|
rgba_char_args_set(btheme->tnla.ds_subchannel, 124, 137, 150, 255);
|
||||||
@ -1924,26 +1924,26 @@ void init_userdef_do_versions(void)
|
|||||||
rgba_char_args_set(btheme->tnla.strip, 12, 10, 10, 128);
|
rgba_char_args_set(btheme->tnla.strip, 12, 10, 10, 128);
|
||||||
rgba_char_args_set(btheme->tnla.strip_select, 255, 140, 0, 255);
|
rgba_char_args_set(btheme->tnla.strip_select, 255, 140, 0, 255);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* adjust grease-pencil distances */
|
/* adjust grease-pencil distances */
|
||||||
U.gp_manhattendist = 1;
|
U.gp_manhattendist = 1;
|
||||||
U.gp_euclideandist = 2;
|
U.gp_euclideandist = 2;
|
||||||
|
|
||||||
/* adjust default interpolation for new IPO-curves */
|
/* adjust default interpolation for new IPO-curves */
|
||||||
U.ipo_new = BEZT_IPO_BEZ;
|
U.ipo_new = BEZT_IPO_BEZ;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!USER_VERSION_ATLEAST(250, 1)) {
|
if (!USER_VERSION_ATLEAST(250, 1)) {
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
|
|
||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
||||||
|
|
||||||
/* common (new) variables, it checks for alpha==0 */
|
/* common (new) variables, it checks for alpha==0 */
|
||||||
ui_theme_init_new(btheme);
|
ui_theme_init_new(btheme);
|
||||||
|
|
||||||
if (btheme->tui.wcol_num.outline[3] == 0)
|
if (btheme->tui.wcol_num.outline[3] == 0)
|
||||||
ui_widget_color_init(&btheme->tui);
|
ui_widget_color_init(&btheme->tui);
|
||||||
|
|
||||||
/* Logic editor theme, check for alpha==0 is safe, then color was never set */
|
/* Logic editor theme, check for alpha==0 is safe, then color was never set */
|
||||||
if (btheme->tlogic.syntaxn[3] == 0) {
|
if (btheme->tlogic.syntaxn[3] == 0) {
|
||||||
/* re-uses syntax color storage */
|
/* re-uses syntax color storage */
|
||||||
@ -1973,10 +1973,10 @@ void init_userdef_do_versions(void)
|
|||||||
if (U.audiorate == 0)
|
if (U.audiorate == 0)
|
||||||
U.audiorate = 48000;
|
U.audiorate = 48000;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!USER_VERSION_ATLEAST(250, 8)) {
|
if (!USER_VERSION_ATLEAST(250, 8)) {
|
||||||
wmKeyMap *km;
|
wmKeyMap *km;
|
||||||
|
|
||||||
for (km = U.user_keymaps.first; km; km = km->next) {
|
for (km = U.user_keymaps.first; km; km = km->next) {
|
||||||
if (STREQ(km->idname, "Armature_Sketch"))
|
if (STREQ(km->idname, "Armature_Sketch"))
|
||||||
strcpy(km->idname, "Armature Sketch");
|
strcpy(km->idname, "Armature Sketch");
|
||||||
@ -2018,17 +2018,17 @@ void init_userdef_do_versions(void)
|
|||||||
if (U.wmdrawmethod == USER_DRAW_TRIPLE)
|
if (U.wmdrawmethod == USER_DRAW_TRIPLE)
|
||||||
U.wmdrawmethod = USER_DRAW_AUTOMATIC;
|
U.wmdrawmethod = USER_DRAW_AUTOMATIC;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!USER_VERSION_ATLEAST(252, 3)) {
|
if (!USER_VERSION_ATLEAST(252, 3)) {
|
||||||
if (U.flag & USER_LMOUSESELECT)
|
if (U.flag & USER_LMOUSESELECT)
|
||||||
U.flag &= ~USER_TWOBUTTONMOUSE;
|
U.flag &= ~USER_TWOBUTTONMOUSE;
|
||||||
}
|
}
|
||||||
if (!USER_VERSION_ATLEAST(252, 4)) {
|
if (!USER_VERSION_ATLEAST(252, 4)) {
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
|
|
||||||
/* default new handle type is auto handles */
|
/* default new handle type is auto handles */
|
||||||
U.keyhandles_new = HD_AUTO;
|
U.keyhandles_new = HD_AUTO;
|
||||||
|
|
||||||
/* init new curve colors */
|
/* init new curve colors */
|
||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
||||||
ui_theme_space_init_handles_color(&btheme->tv3d);
|
ui_theme_space_init_handles_color(&btheme->tv3d);
|
||||||
@ -2049,21 +2049,21 @@ void init_userdef_do_versions(void)
|
|||||||
}
|
}
|
||||||
if (!USER_VERSION_ATLEAST(252, 5)) {
|
if (!USER_VERSION_ATLEAST(252, 5)) {
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
|
|
||||||
/* interface_widgets.c */
|
/* interface_widgets.c */
|
||||||
struct uiWidgetColors wcol_progress = {
|
struct uiWidgetColors wcol_progress = {
|
||||||
{0, 0, 0, 255},
|
{0, 0, 0, 255},
|
||||||
{190, 190, 190, 255},
|
{190, 190, 190, 255},
|
||||||
{100, 100, 100, 180},
|
{100, 100, 100, 180},
|
||||||
{128, 128, 128, 255},
|
{128, 128, 128, 255},
|
||||||
|
|
||||||
{0, 0, 0, 255},
|
{0, 0, 0, 255},
|
||||||
{255, 255, 255, 255},
|
{255, 255, 255, 255},
|
||||||
|
|
||||||
0,
|
0,
|
||||||
5, -5
|
5, -5
|
||||||
};
|
};
|
||||||
|
|
||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
||||||
/* init progress bar theme */
|
/* init progress bar theme */
|
||||||
btheme->tui.wcol_progress = wcol_progress;
|
btheme->tui.wcol_progress = wcol_progress;
|
||||||
@ -2078,7 +2078,7 @@ void init_userdef_do_versions(void)
|
|||||||
rgba_char_args_set(btheme->tv3d.extra_face_area, 0, 0, 128, 255);
|
rgba_char_args_set(btheme->tv3d.extra_face_area, 0, 0, 128, 255);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!USER_VERSION_ATLEAST(256, 4)) {
|
if (!USER_VERSION_ATLEAST(256, 4)) {
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
||||||
@ -2101,7 +2101,7 @@ void init_userdef_do_versions(void)
|
|||||||
|
|
||||||
if (!USER_VERSION_ATLEAST(259, 1)) {
|
if (!USER_VERSION_ATLEAST(259, 1)) {
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
|
|
||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
||||||
btheme->tv3d.speaker[3] = 255;
|
btheme->tv3d.speaker[3] = 255;
|
||||||
}
|
}
|
||||||
@ -2109,23 +2109,23 @@ void init_userdef_do_versions(void)
|
|||||||
|
|
||||||
if (!USER_VERSION_ATLEAST(260, 3)) {
|
if (!USER_VERSION_ATLEAST(260, 3)) {
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
|
|
||||||
/* if new keyframes handle default is stuff "auto", make it "auto-clamped" instead
|
/* if new keyframes handle default is stuff "auto", make it "auto-clamped" instead
|
||||||
* was changed in 260 as part of GSoC11, but version patch was wrong
|
* was changed in 260 as part of GSoC11, but version patch was wrong
|
||||||
*/
|
*/
|
||||||
if (U.keyhandles_new == HD_AUTO)
|
if (U.keyhandles_new == HD_AUTO)
|
||||||
U.keyhandles_new = HD_AUTO_ANIM;
|
U.keyhandles_new = HD_AUTO_ANIM;
|
||||||
|
|
||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
||||||
if (btheme->tv3d.bundle_solid[3] == 0)
|
if (btheme->tv3d.bundle_solid[3] == 0)
|
||||||
rgba_char_args_set(btheme->tv3d.bundle_solid, 200, 200, 200, 255);
|
rgba_char_args_set(btheme->tv3d.bundle_solid, 200, 200, 200, 255);
|
||||||
|
|
||||||
if (btheme->tv3d.camera_path[3] == 0)
|
if (btheme->tv3d.camera_path[3] == 0)
|
||||||
rgba_char_args_set(btheme->tv3d.camera_path, 0x00, 0x00, 0x00, 255);
|
rgba_char_args_set(btheme->tv3d.camera_path, 0x00, 0x00, 0x00, 255);
|
||||||
|
|
||||||
if ((btheme->tclip.back[3]) == 0) {
|
if ((btheme->tclip.back[3]) == 0) {
|
||||||
btheme->tclip = btheme->tv3d;
|
btheme->tclip = btheme->tv3d;
|
||||||
|
|
||||||
rgba_char_args_set(btheme->tclip.marker_outline, 0x00, 0x00, 0x00, 255);
|
rgba_char_args_set(btheme->tclip.marker_outline, 0x00, 0x00, 0x00, 255);
|
||||||
rgba_char_args_set(btheme->tclip.marker, 0x7f, 0x7f, 0x00, 255);
|
rgba_char_args_set(btheme->tclip.marker, 0x7f, 0x7f, 0x00, 255);
|
||||||
rgba_char_args_set(btheme->tclip.act_marker, 0xff, 0xff, 0xff, 255);
|
rgba_char_args_set(btheme->tclip.act_marker, 0xff, 0xff, 0xff, 255);
|
||||||
@ -2140,7 +2140,7 @@ void init_userdef_do_versions(void)
|
|||||||
rgba_char_args_set(btheme->tclip.handle_vertex_select, 0xff, 0xff, 0, 0xff);
|
rgba_char_args_set(btheme->tclip.handle_vertex_select, 0xff, 0xff, 0, 0xff);
|
||||||
btheme->tclip.handle_vertex_size = 5;
|
btheme->tclip.handle_vertex_size = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* auto-clamped handles -> based on auto */
|
/* auto-clamped handles -> based on auto */
|
||||||
if (btheme->tipo.handle_auto_clamped[3] == 0)
|
if (btheme->tipo.handle_auto_clamped[3] == 0)
|
||||||
rgba_char_args_set(btheme->tipo.handle_auto_clamped, 0x99, 0x40, 0x30, 255);
|
rgba_char_args_set(btheme->tipo.handle_auto_clamped, 0x99, 0x40, 0x30, 255);
|
||||||
@ -2151,16 +2151,16 @@ void init_userdef_do_versions(void)
|
|||||||
/* enable (Cycles) addon by default */
|
/* enable (Cycles) addon by default */
|
||||||
BKE_addon_ensure(&U.addons, "cycles");
|
BKE_addon_ensure(&U.addons, "cycles");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!USER_VERSION_ATLEAST(260, 5)) {
|
if (!USER_VERSION_ATLEAST(260, 5)) {
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
|
|
||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
||||||
rgba_char_args_set(btheme->tui.panel.header, 0, 0, 0, 25);
|
rgba_char_args_set(btheme->tui.panel.header, 0, 0, 0, 25);
|
||||||
btheme->tui.icon_alpha = 1.0;
|
btheme->tui.icon_alpha = 1.0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!USER_VERSION_ATLEAST(261, 4)) {
|
if (!USER_VERSION_ATLEAST(261, 4)) {
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
||||||
@ -2170,11 +2170,11 @@ void init_userdef_do_versions(void)
|
|||||||
rgba_char_args_set_fl(btheme->tima.preview_stitch_stitchable, 0.0, 1.0, 0.0, 1.0);
|
rgba_char_args_set_fl(btheme->tima.preview_stitch_stitchable, 0.0, 1.0, 0.0, 1.0);
|
||||||
rgba_char_args_set_fl(btheme->tima.preview_stitch_unstitchable, 1.0, 0.0, 0.0, 1.0);
|
rgba_char_args_set_fl(btheme->tima.preview_stitch_unstitchable, 1.0, 0.0, 0.0, 1.0);
|
||||||
rgba_char_args_set_fl(btheme->tima.preview_stitch_active, 0.886, 0.824, 0.765, 0.140);
|
rgba_char_args_set_fl(btheme->tima.preview_stitch_active, 0.886, 0.824, 0.765, 0.140);
|
||||||
|
|
||||||
rgba_char_args_set_fl(btheme->toops.match, 0.2, 0.5, 0.2, 0.3);
|
rgba_char_args_set_fl(btheme->toops.match, 0.2, 0.5, 0.2, 0.3);
|
||||||
rgba_char_args_set_fl(btheme->toops.selected_highlight, 0.51, 0.53, 0.55, 0.3);
|
rgba_char_args_set_fl(btheme->toops.selected_highlight, 0.51, 0.53, 0.55, 0.3);
|
||||||
}
|
}
|
||||||
|
|
||||||
U.use_16bit_textures = true;
|
U.use_16bit_textures = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2223,21 +2223,21 @@ void init_userdef_do_versions(void)
|
|||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next)
|
for (btheme = U.themes.first; btheme; btheme = btheme->next)
|
||||||
rgba_char_args_set(btheme->tv3d.skin_root, 180, 77, 77, 255);
|
rgba_char_args_set(btheme->tv3d.skin_root, 180, 77, 77, 255);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!USER_VERSION_ATLEAST(263, 7)) {
|
if (!USER_VERSION_ATLEAST(263, 7)) {
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
|
|
||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
||||||
/* DopeSheet Summary */
|
/* DopeSheet Summary */
|
||||||
rgba_char_args_set(btheme->tact.anim_active, 204, 112, 26, 102);
|
rgba_char_args_set(btheme->tact.anim_active, 204, 112, 26, 102);
|
||||||
|
|
||||||
/* NLA Colors */
|
/* NLA Colors */
|
||||||
rgba_char_args_set(btheme->tnla.anim_active, 204, 112, 26, 102); /* same as dopesheet above */
|
rgba_char_args_set(btheme->tnla.anim_active, 204, 112, 26, 102); /* same as dopesheet above */
|
||||||
rgba_char_args_set(btheme->tnla.anim_non_active, 153, 135, 97, 77);
|
rgba_char_args_set(btheme->tnla.anim_non_active, 153, 135, 97, 77);
|
||||||
|
|
||||||
rgba_char_args_set(btheme->tnla.nla_tweaking, 77, 243, 26, 77);
|
rgba_char_args_set(btheme->tnla.nla_tweaking, 77, 243, 26, 77);
|
||||||
rgba_char_args_set(btheme->tnla.nla_tweakdupli, 217, 0, 0, 255);
|
rgba_char_args_set(btheme->tnla.nla_tweakdupli, 217, 0, 0, 255);
|
||||||
|
|
||||||
rgba_char_args_set(btheme->tnla.nla_transition, 28, 38, 48, 255);
|
rgba_char_args_set(btheme->tnla.nla_transition, 28, 38, 48, 255);
|
||||||
rgba_char_args_set(btheme->tnla.nla_transition_sel, 46, 117, 219, 255);
|
rgba_char_args_set(btheme->tnla.nla_transition_sel, 46, 117, 219, 255);
|
||||||
rgba_char_args_set(btheme->tnla.nla_meta, 51, 38, 66, 255);
|
rgba_char_args_set(btheme->tnla.nla_meta, 51, 38, 66, 255);
|
||||||
@ -2286,10 +2286,10 @@ void init_userdef_do_versions(void)
|
|||||||
rgba_char_args_set(btheme->tv3d.skin_root, 180, 77, 77, 255);
|
rgba_char_args_set(btheme->tv3d.skin_root, 180, 77, 77, 255);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!USER_VERSION_ATLEAST(264, 9)) {
|
if (!USER_VERSION_ATLEAST(264, 9)) {
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
|
|
||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
||||||
rgba_char_args_set(btheme->tui.xaxis, 220, 0, 0, 255);
|
rgba_char_args_set(btheme->tui.xaxis, 220, 0, 0, 255);
|
||||||
rgba_char_args_set(btheme->tui.yaxis, 0, 220, 0, 255);
|
rgba_char_args_set(btheme->tui.yaxis, 0, 220, 0, 255);
|
||||||
@ -2345,7 +2345,7 @@ void init_userdef_do_versions(void)
|
|||||||
U.ndof_sensitivity = 1.0f;
|
U.ndof_sensitivity = 1.0f;
|
||||||
U.ndof_flag = (NDOF_LOCK_HORIZON | NDOF_SHOULD_PAN | NDOF_SHOULD_ZOOM | NDOF_SHOULD_ROTATE);
|
U.ndof_flag = (NDOF_LOCK_HORIZON | NDOF_SHOULD_PAN | NDOF_SHOULD_ZOOM | NDOF_SHOULD_ROTATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (U.ndof_orbit_sensitivity == 0.0f) {
|
if (U.ndof_orbit_sensitivity == 0.0f) {
|
||||||
U.ndof_orbit_sensitivity = U.ndof_sensitivity;
|
U.ndof_orbit_sensitivity = U.ndof_sensitivity;
|
||||||
|
|
||||||
@ -2358,7 +2358,7 @@ void init_userdef_do_versions(void)
|
|||||||
|
|
||||||
if (!USER_VERSION_ATLEAST(265, 1)) {
|
if (!USER_VERSION_ATLEAST(265, 1)) {
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
|
|
||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
||||||
/* note: the toggle operator for transparent backdrops limits to these spacetypes */
|
/* note: the toggle operator for transparent backdrops limits to these spacetypes */
|
||||||
if (btheme->tnode.button[3] == 255) {
|
if (btheme->tnode.button[3] == 255) {
|
||||||
@ -2370,18 +2370,18 @@ void init_userdef_do_versions(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* panel header/backdrop supported locally per editor now */
|
/* panel header/backdrop supported locally per editor now */
|
||||||
if (!USER_VERSION_ATLEAST(265, 2)) {
|
if (!USER_VERSION_ATLEAST(265, 2)) {
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
|
|
||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
||||||
ThemeSpace *ts;
|
ThemeSpace *ts;
|
||||||
|
|
||||||
/* new color, panel backdrop. Not used anywhere yet, until you enable it */
|
/* new color, panel backdrop. Not used anywhere yet, until you enable it */
|
||||||
copy_v3_v3_char(btheme->tui.panel.back, btheme->tbuts.button);
|
copy_v3_v3_char(btheme->tui.panel.back, btheme->tbuts.button);
|
||||||
btheme->tui.panel.back[3] = 128;
|
btheme->tui.panel.back[3] = 128;
|
||||||
|
|
||||||
for (ts = UI_THEMESPACE_START(btheme); ts != UI_THEMESPACE_END(btheme); ts++) {
|
for (ts = UI_THEMESPACE_START(btheme); ts != UI_THEMESPACE_END(btheme); ts++) {
|
||||||
ts->panelcolors = btheme->tui.panel;
|
ts->panelcolors = btheme->tui.panel;
|
||||||
}
|
}
|
||||||
@ -2394,7 +2394,7 @@ void init_userdef_do_versions(void)
|
|||||||
|
|
||||||
if (!USER_VERSION_ATLEAST(266, 0)) {
|
if (!USER_VERSION_ATLEAST(266, 0)) {
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
|
|
||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
||||||
/* rna definition limits fac to 0.01 */
|
/* rna definition limits fac to 0.01 */
|
||||||
if (btheme->tui.menu_shadow_fac == 0.0f) {
|
if (btheme->tui.menu_shadow_fac == 0.0f) {
|
||||||
@ -2494,12 +2494,12 @@ void init_userdef_do_versions(void)
|
|||||||
rgba_char_args_test_set(btheme->tinfo.info_debug_text, 0, 0, 0, 255);
|
rgba_char_args_test_set(btheme->tinfo.info_debug_text, 0, 0, 0, 255);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!USER_VERSION_ATLEAST(269, 9)) {
|
if (!USER_VERSION_ATLEAST(269, 9)) {
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
|
|
||||||
U.tw_size = U.tw_size * 5.0f;
|
U.tw_size = U.tw_size * 5.0f;
|
||||||
|
|
||||||
/* Action Editor (and NLA Editor) - Keyframe Colors */
|
/* Action Editor (and NLA Editor) - Keyframe Colors */
|
||||||
/* Graph Editor - larger vertex size defaults */
|
/* Graph Editor - larger vertex size defaults */
|
||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
||||||
@ -2513,21 +2513,21 @@ void init_userdef_do_versions(void)
|
|||||||
rgba_char_args_set(btheme->tact.keytype_breakdown_select, 84, 191, 237, 255);
|
rgba_char_args_set(btheme->tact.keytype_breakdown_select, 84, 191, 237, 255);
|
||||||
rgba_char_args_set(btheme->tact.keytype_jitter, 148, 229, 117, 255);
|
rgba_char_args_set(btheme->tact.keytype_jitter, 148, 229, 117, 255);
|
||||||
rgba_char_args_set(btheme->tact.keytype_jitter_select, 97, 192, 66, 255);
|
rgba_char_args_set(btheme->tact.keytype_jitter_select, 97, 192, 66, 255);
|
||||||
|
|
||||||
/* key border */
|
/* key border */
|
||||||
rgba_char_args_set(btheme->tact.keyborder, 0, 0, 0, 255);
|
rgba_char_args_set(btheme->tact.keyborder, 0, 0, 0, 255);
|
||||||
rgba_char_args_set(btheme->tact.keyborder_select, 0, 0, 0, 255);
|
rgba_char_args_set(btheme->tact.keyborder_select, 0, 0, 0, 255);
|
||||||
|
|
||||||
/* NLA ............................ */
|
/* NLA ............................ */
|
||||||
/* key border */
|
/* key border */
|
||||||
rgba_char_args_set(btheme->tnla.keyborder, 0, 0, 0, 255);
|
rgba_char_args_set(btheme->tnla.keyborder, 0, 0, 0, 255);
|
||||||
rgba_char_args_set(btheme->tnla.keyborder_select, 0, 0, 0, 255);
|
rgba_char_args_set(btheme->tnla.keyborder_select, 0, 0, 0, 255);
|
||||||
|
|
||||||
/* Graph Editor ................... */
|
/* Graph Editor ................... */
|
||||||
btheme->tipo.vertex_size = 6;
|
btheme->tipo.vertex_size = 6;
|
||||||
btheme->tipo.handle_vertex_size = 5;
|
btheme->tipo.handle_vertex_size = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* grease pencil - new layer color */
|
/* grease pencil - new layer color */
|
||||||
if (U.gpencil_new_layer_col[3] < 0.1f) {
|
if (U.gpencil_new_layer_col[3] < 0.1f) {
|
||||||
/* defaults to black, but must at least be visible! */
|
/* defaults to black, but must at least be visible! */
|
||||||
@ -2613,7 +2613,7 @@ void init_userdef_do_versions(void)
|
|||||||
rgba_char_args_set_fl(btheme->tui.widget_emboss, 1.0f, 1.0f, 1.0f, 0.02f);
|
rgba_char_args_set_fl(btheme->tui.widget_emboss, 1.0f, 1.0f, 1.0f, 0.02f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!USER_VERSION_ATLEAST(273, 1)) {
|
if (!USER_VERSION_ATLEAST(273, 1)) {
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
||||||
@ -2621,19 +2621,19 @@ void init_userdef_do_versions(void)
|
|||||||
rgba_char_args_set(btheme->tv3d.gp_vertex, 0, 0, 0, 255);
|
rgba_char_args_set(btheme->tv3d.gp_vertex, 0, 0, 0, 255);
|
||||||
rgba_char_args_set(btheme->tv3d.gp_vertex_select, 255, 133, 0, 255);
|
rgba_char_args_set(btheme->tv3d.gp_vertex_select, 255, 133, 0, 255);
|
||||||
btheme->tv3d.gp_vertex_size = 3;
|
btheme->tv3d.gp_vertex_size = 3;
|
||||||
|
|
||||||
rgba_char_args_set(btheme->tseq.gp_vertex, 0, 0, 0, 255);
|
rgba_char_args_set(btheme->tseq.gp_vertex, 0, 0, 0, 255);
|
||||||
rgba_char_args_set(btheme->tseq.gp_vertex_select, 255, 133, 0, 255);
|
rgba_char_args_set(btheme->tseq.gp_vertex_select, 255, 133, 0, 255);
|
||||||
btheme->tseq.gp_vertex_size = 3;
|
btheme->tseq.gp_vertex_size = 3;
|
||||||
|
|
||||||
rgba_char_args_set(btheme->tima.gp_vertex, 0, 0, 0, 255);
|
rgba_char_args_set(btheme->tima.gp_vertex, 0, 0, 0, 255);
|
||||||
rgba_char_args_set(btheme->tima.gp_vertex_select, 255, 133, 0, 255);
|
rgba_char_args_set(btheme->tima.gp_vertex_select, 255, 133, 0, 255);
|
||||||
btheme->tima.gp_vertex_size = 3;
|
btheme->tima.gp_vertex_size = 3;
|
||||||
|
|
||||||
rgba_char_args_set(btheme->tnode.gp_vertex, 0, 0, 0, 255);
|
rgba_char_args_set(btheme->tnode.gp_vertex, 0, 0, 0, 255);
|
||||||
rgba_char_args_set(btheme->tnode.gp_vertex_select, 255, 133, 0, 255);
|
rgba_char_args_set(btheme->tnode.gp_vertex_select, 255, 133, 0, 255);
|
||||||
btheme->tnode.gp_vertex_size = 3;
|
btheme->tnode.gp_vertex_size = 3;
|
||||||
|
|
||||||
/* Timeline Keyframe Indicators */
|
/* Timeline Keyframe Indicators */
|
||||||
rgba_char_args_set(btheme->ttime.time_keyframe, 0xDD, 0xD7, 0x00, 0xFF);
|
rgba_char_args_set(btheme->ttime.time_keyframe, 0xDD, 0xD7, 0x00, 0xFF);
|
||||||
rgba_char_args_set(btheme->ttime.time_gp_keyframe, 0xB5, 0xE6, 0x1D, 0xFF);
|
rgba_char_args_set(btheme->ttime.time_gp_keyframe, 0xB5, 0xE6, 0x1D, 0xFF);
|
||||||
@ -2730,7 +2730,7 @@ void init_userdef_do_versions(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!USER_VERSION_ATLEAST(277, 2)) {
|
if (!USER_VERSION_ATLEAST(277, 2)) {
|
||||||
bTheme *btheme;
|
bTheme *btheme;
|
||||||
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
for (btheme = U.themes.first; btheme; btheme = btheme->next) {
|
||||||
@ -2782,10 +2782,10 @@ void init_userdef_do_versions(void)
|
|||||||
|
|
||||||
if (U.pixelsize == 0.0f)
|
if (U.pixelsize == 0.0f)
|
||||||
U.pixelsize = 1.0f;
|
U.pixelsize = 1.0f;
|
||||||
|
|
||||||
if (U.image_draw_method == 0)
|
if (U.image_draw_method == 0)
|
||||||
U.image_draw_method = IMAGE_DRAW_METHOD_2DTEXTURE;
|
U.image_draw_method = IMAGE_DRAW_METHOD_2DTEXTURE;
|
||||||
|
|
||||||
// keep the following until the new audaspace is default to be built with
|
// keep the following until the new audaspace is default to be built with
|
||||||
#ifdef WITH_SYSTEM_AUDASPACE
|
#ifdef WITH_SYSTEM_AUDASPACE
|
||||||
// we default to the first audio device
|
// we default to the first audio device
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user