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_WINDOW_WINDOW,
|
||||||
ICON_PANEL_CLOSE,
|
ICON_PANEL_CLOSE,
|
||||||
ICON_PHYSICS,
|
ICON_PHYSICS,
|
||||||
ICON_BLANK36,
|
ICON_LAYER_USED,
|
||||||
ICON_BLANK37,
|
ICON_LAYER_ACTIVE,
|
||||||
ICON_BLANK38,
|
ICON_BLANK38,
|
||||||
|
|
||||||
ICON_BLENDER,
|
ICON_BLENDER,
|
||||||
|
@ -86,7 +86,8 @@ typedef struct View3D {
|
|||||||
float winmat1[4][4]; // persp(1) storage, for swap matrices
|
float winmat1[4][4]; // persp(1) storage, for swap matrices
|
||||||
float viewmat1[4][4];
|
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 persp;
|
||||||
short view;
|
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))
|
for(SETLOOPER(G.scene->set, base))
|
||||||
object_handle_update(base->object); // bke_object.h
|
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
|
object_handle_update(base->object); // bke_object.h
|
||||||
|
v3d->lay_used |= base->lay;
|
||||||
|
}
|
||||||
|
|
||||||
/* shadow buffers, before we setup matrices */
|
/* shadow buffers, before we setup matrices */
|
||||||
if(draw_glsl_material(NULL, v3d->drawtype))
|
if(draw_glsl_material(NULL, v3d->drawtype))
|
||||||
|
@ -5567,6 +5567,16 @@ static void view3d_header_pulldowns(uiBlock *block, short *xcoord)
|
|||||||
*xcoord= xco;
|
*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)
|
void view3d_buttons(void)
|
||||||
{
|
{
|
||||||
uiBlock *block;
|
uiBlock *block;
|
||||||
@ -5733,19 +5743,22 @@ void view3d_buttons(void)
|
|||||||
|
|
||||||
/* LAYERS */
|
/* LAYERS */
|
||||||
if(G.obedit==NULL && G.vd->localview==0) {
|
if(G.obedit==NULL && G.vd->localview==0) {
|
||||||
|
int ob_lay = ob ? ob->lay : 0;
|
||||||
uiBlockBeginAlign(block);
|
uiBlockBeginAlign(block);
|
||||||
for(a=0; a<5; a++)
|
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)");
|
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++)
|
}
|
||||||
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+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;
|
xco+= 5;
|
||||||
uiBlockBeginAlign(block);
|
uiBlockBeginAlign(block);
|
||||||
for(a=5; a<10; a++)
|
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)");
|
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++)
|
}
|
||||||
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+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);
|
uiBlockEndAlign(block);
|
||||||
|
|
||||||
xco+= (a-2)*(XIC/2)+3;
|
xco+= (a-2)*(XIC/2)+3;
|
||||||
|
Loading…
Reference in New Issue
Block a user