forked from bartvdbraak/blender
Draw icons in the layer button to show used layers as well as layer of active object, this is a feature from apricot but used button color instead which was confusing.
This commit is contained in:
parent
91c8eea325
commit
d0b3ce3c48
Binary file not shown.
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 67 KiB |
@ -266,8 +266,8 @@ typedef enum {
|
||||
ICON_WINDOW_WINDOW,
|
||||
ICON_PANEL_CLOSE,
|
||||
ICON_PHYSICS,
|
||||
ICON_BLANK36,
|
||||
ICON_BLANK37,
|
||||
ICON_LAYER_USED,
|
||||
ICON_LAYER_ACTIVE,
|
||||
ICON_BLANK38,
|
||||
|
||||
ICON_BLENDER,
|
||||
|
@ -86,7 +86,8 @@ typedef struct View3D {
|
||||
float winmat1[4][4]; // persp(1) storage, for swap matrices
|
||||
float viewmat1[4][4];
|
||||
|
||||
float viewquat[4], dist, zfac, pad0; /* zfac is initgrabz() result */
|
||||
float viewquat[4], dist, zfac; /* zfac is initgrabz() result */
|
||||
int lay_used; /* used while drawing */
|
||||
|
||||
short persp;
|
||||
short view;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -3023,9 +3023,12 @@ void drawview3dspace(ScrArea *sa, void *spacedata)
|
||||
for(SETLOOPER(G.scene->set, base))
|
||||
object_handle_update(base->object); // bke_object.h
|
||||
}
|
||||
|
||||
for(base= G.scene->base.first; base; base= base->next)
|
||||
|
||||
v3d->lay_used = 0;
|
||||
for(base= G.scene->base.first; base; base= base->next) {
|
||||
object_handle_update(base->object); // bke_object.h
|
||||
v3d->lay_used |= base->lay;
|
||||
}
|
||||
|
||||
/* shadow buffers, before we setup matrices */
|
||||
if(draw_glsl_material(NULL, v3d->drawtype))
|
||||
|
@ -5567,6 +5567,16 @@ static void view3d_header_pulldowns(uiBlock *block, short *xcoord)
|
||||
*xcoord= xco;
|
||||
}
|
||||
|
||||
static int view3d_layer_icon(int but_lay, int ob_lay, int used_lay)
|
||||
{
|
||||
if (but_lay & ob_lay)
|
||||
return ICON_LAYER_ACTIVE;
|
||||
else if (but_lay & used_lay)
|
||||
return ICON_LAYER_USED;
|
||||
else
|
||||
return ICON_BLANK1;
|
||||
}
|
||||
|
||||
void view3d_buttons(void)
|
||||
{
|
||||
uiBlock *block;
|
||||
@ -5733,19 +5743,22 @@ void view3d_buttons(void)
|
||||
|
||||
/* LAYERS */
|
||||
if(G.obedit==NULL && G.vd->localview==0) {
|
||||
int ob_lay = ob ? ob->lay : 0;
|
||||
uiBlockBeginAlign(block);
|
||||
for(a=0; a<5; a++)
|
||||
uiDefButBitI(block, TOG, 1<<a, B_LAY+a, "", (short)(xco+a*(XIC/2)), (short)(YIC/2),(short)(XIC/2),(short)(YIC/2), &(G.vd->lay), 0, 0, 0, 0, "Toggles Layer visibility (Num, Shift Num)");
|
||||
for(a=0; a<5; a++)
|
||||
uiDefButBitI(block, TOG, 1<<(a+10), B_LAY+10+a, "",(short)(xco+a*(XIC/2)), 0, XIC/2, (YIC)/2, &(G.vd->lay), 0, 0, 0, 0, "Toggles Layer visibility (Alt Num, Alt Shift Num)");
|
||||
|
||||
for(a=0; a<5; a++) {
|
||||
uiDefIconButBitI(block, TOG, 1<<a, B_LAY+a, view3d_layer_icon(1<<a, ob_lay, G.vd->lay_used), (short)(xco+a*(XIC/2)), (short)(YIC/2),(short)(XIC/2),(short)(YIC/2), &(G.vd->lay), 0, 0, 0, 0, "Toggles Layer visibility (Alt Num, Alt Shift Num)");
|
||||
}
|
||||
for(a=0; a<5; a++) {
|
||||
uiDefIconButBitI(block, TOG, 1<<(a+10), B_LAY+10+a, view3d_layer_icon(1<<(a+10), ob_lay, G.vd->lay_used), (short)(xco+a*(XIC/2)), 0, XIC/2, (YIC)/2, &(G.vd->lay), 0, 0, 0, 0, "Toggles Layer visibility (Alt Num, Alt Shift Num)");
|
||||
}
|
||||
xco+= 5;
|
||||
uiBlockBeginAlign(block);
|
||||
for(a=5; a<10; a++)
|
||||
uiDefButBitI(block, TOG, 1<<a, B_LAY+a, "", (short)(xco+a*(XIC/2)), (short)(YIC/2),(short)(XIC/2),(short)(YIC/2), &(G.vd->lay), 0, 0, 0, 0, "Toggles Layer visibility (Num, Shift Num)");
|
||||
for(a=5; a<10; a++)
|
||||
uiDefButBitI(block, TOG, 1<<(a+10), B_LAY+10+a, "",(short)(xco+a*(XIC/2)), 0, XIC/2, (YIC)/2, &(G.vd->lay), 0, 0, 0, 0, "Toggles Layer visibility (Alt Num, Alt Shift Num)");
|
||||
|
||||
for(a=5; a<10; a++) {
|
||||
uiDefIconButBitI(block, TOG, 1<<a, B_LAY+a, view3d_layer_icon(1<<a, ob_lay, G.vd->lay_used), (short)(xco+a*(XIC/2)), (short)(YIC/2),(short)(XIC/2),(short)(YIC/2), &(G.vd->lay), 0, 0, 0, 0, "Toggles Layer visibility (Alt Num, Alt Shift Num)");
|
||||
}
|
||||
for(a=5; a<10; a++) {
|
||||
uiDefIconButBitI(block, TOG, 1<<(a+10), B_LAY+10+a, view3d_layer_icon(1<<(a+10), ob_lay, G.vd->lay_used), (short)(xco+a*(XIC/2)), 0, XIC/2, (YIC)/2, &(G.vd->lay), 0, 0, 0, 0, "Toggles Layer visibility (Alt Num, Alt Shift Num)");
|
||||
}
|
||||
uiBlockEndAlign(block);
|
||||
|
||||
xco+= (a-2)*(XIC/2)+3;
|
||||
|
Loading…
Reference in New Issue
Block a user