- simplified Theme API. No need to include 'current active area' anymore.
like: BIF_ThemeColor(TH_GRID); will be sufficient. Blender does the rest. - fixed bug in CTRL-X (reload home file) with themes - fixed bug in horizontal alignment of different height panels. Seems also to solve the drawing error with constraints...
This commit is contained in:
@@ -362,24 +362,39 @@ enum {
|
||||
|
||||
struct bTheme;
|
||||
|
||||
void BIF_InitThemeColors(void);
|
||||
void BIF_ThemeColor(struct ScrArea *sa, int colorid);
|
||||
void BIF_ThemeColor4(struct ScrArea *sa, int colorid);
|
||||
void BIF_ThemeColorShade(struct ScrArea *sa, int colorid, int offset);
|
||||
void BIF_ThemeColorBlend(struct ScrArea *sa, int colorid1, int colorid2, float fac);
|
||||
// THE CODERS API FOR THEMES:
|
||||
|
||||
// sets the color
|
||||
void BIF_ThemeColor(int colorid);
|
||||
|
||||
// sets the color plus alpha
|
||||
void BIF_ThemeColor4(int colorid);
|
||||
|
||||
// sets color plus offset for shade
|
||||
void BIF_ThemeColorShade(int colorid, int offset);
|
||||
|
||||
// sets color, which is blend between two theme colors
|
||||
void BIF_ThemeColorBlend(int colorid1, int colorid2, float fac);
|
||||
|
||||
// returns one value, not scaled
|
||||
float BIF_GetThemeColorf(int colorid);
|
||||
|
||||
// get only one value, not scaled
|
||||
float BIF_GetThemeColorf(struct ScrArea *sa, int colorid);
|
||||
// get three color values, scaled to 0.0-1.0 range
|
||||
void BIF_GetThemeColor3fv(struct ScrArea *sa, int colorid, float *col);
|
||||
// get the byte values
|
||||
void BIF_GetThemeColor3ubv(struct ScrArea *sa, int colorid, char *col);
|
||||
void BIF_GetThemeColor4ubv(struct ScrArea *sa, int colorid, char *col);
|
||||
void BIF_GetThemeColor3fv(int colorid, float *col);
|
||||
|
||||
// get the 3 or 4 byte values
|
||||
void BIF_GetThemeColor3ubv(int colorid, char *col);
|
||||
void BIF_GetThemeColor4ubv(int colorid, char *col);
|
||||
|
||||
|
||||
// internal (blender) usage only, for init and set active
|
||||
void BIF_InitTheme(void);
|
||||
void BIF_SetTheme(struct ScrArea *sa);
|
||||
void BIF_resources_init (void);
|
||||
void BIF_resources_free (void);
|
||||
|
||||
|
||||
// icon API
|
||||
int BIF_get_icon_width (BIFIconID icon);
|
||||
int BIF_get_icon_height (BIFIconID icon);
|
||||
void BIF_draw_icon (BIFIconID icon);
|
||||
|
@@ -378,7 +378,7 @@ void drawbutspace(ScrArea *sa, void *spacedata)
|
||||
|
||||
myortho2(v2d->cur.xmin, v2d->cur.xmax, v2d->cur.ymin, v2d->cur.ymax);
|
||||
|
||||
BIF_GetThemeColor3fv(sa, TH_BACK, col);
|
||||
BIF_GetThemeColor3fv(TH_BACK, col);
|
||||
glClearColor(col[0], col[1], col[2], 0.0);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
|
||||
|
@@ -206,7 +206,7 @@ void draw_ipogrid(void)
|
||||
step= (G.v2d->mask.xmax-G.v2d->mask.xmin+1)/IPOSTEP;
|
||||
|
||||
if(curarea->spacetype==SPACE_SOUND) glColor3ub(0x70, 0x70, 0x60);
|
||||
else BIF_ThemeColor(curarea, TH_GRID);
|
||||
else BIF_ThemeColor(TH_GRID);
|
||||
|
||||
for(a=0; a<step; a++) {
|
||||
glBegin(GL_LINE_STRIP);
|
||||
@@ -218,7 +218,7 @@ void draw_ipogrid(void)
|
||||
vec2[0]= vec1[0]-= 0.5*ipogrid_dx;
|
||||
|
||||
if(curarea->spacetype==SPACE_SOUND) glColor3ub(0x80, 0x80, 0x70);
|
||||
else BIF_ThemeColorShade(curarea, TH_GRID, 16);
|
||||
else BIF_ThemeColorShade(TH_GRID, 16);
|
||||
|
||||
step++;
|
||||
for(a=0; a<=step; a++) {
|
||||
@@ -235,7 +235,7 @@ void draw_ipogrid(void)
|
||||
|
||||
step= (curarea->winy+1)/IPOSTEP;
|
||||
|
||||
BIF_ThemeColor(curarea, TH_GRID);
|
||||
BIF_ThemeColor(TH_GRID);
|
||||
for(a=0; a<=step; a++) {
|
||||
glBegin(GL_LINE_STRIP);
|
||||
glVertex2fv(vec1); glVertex2fv(vec2);
|
||||
@@ -246,7 +246,7 @@ void draw_ipogrid(void)
|
||||
step++;
|
||||
|
||||
if(curarea->spacetype==SPACE_IPO) {
|
||||
BIF_ThemeColorShade(curarea, TH_GRID, 16);
|
||||
BIF_ThemeColorShade(TH_GRID, 16);
|
||||
for(a=0; a<step; a++) {
|
||||
glBegin(GL_LINE_STRIP);
|
||||
glVertex2fv(vec1); glVertex2fv(vec2);
|
||||
@@ -256,7 +256,7 @@ void draw_ipogrid(void)
|
||||
}
|
||||
}
|
||||
|
||||
BIF_ThemeColorShade(curarea, TH_GRID, -50);
|
||||
BIF_ThemeColorShade(TH_GRID, -50);
|
||||
|
||||
if (curarea->spacetype!=SPACE_ACTION && curarea->spacetype!=SPACE_NLA)
|
||||
{ /* Horizontal axis */
|
||||
@@ -615,7 +615,7 @@ void drawscroll(int disptype)
|
||||
|
||||
if(G.v2d->scroll & HOR_SCROLL) {
|
||||
|
||||
BIF_ThemeColorShade(curarea, TH_SHADE1, light);
|
||||
BIF_ThemeColorShade(TH_SHADE1, light);
|
||||
glRecti(hor.xmin, hor.ymin, hor.xmax, hor.ymax);
|
||||
|
||||
/* slider */
|
||||
@@ -629,11 +629,11 @@ void drawscroll(int disptype)
|
||||
|
||||
if(horxmin > horxmax) horxmin= horxmax;
|
||||
|
||||
BIF_ThemeColorShade(curarea, TH_SHADE1, dark);
|
||||
BIF_ThemeColorShade(TH_SHADE1, dark);
|
||||
glRecti(horxmin, hor.ymin, horxmax, hor.ymax);
|
||||
|
||||
/* decoration bright line */
|
||||
BIF_ThemeColorShade(curarea, TH_SHADE1, lighter);
|
||||
BIF_ThemeColorShade(TH_SHADE1, lighter);
|
||||
sdrawline(hor.xmin, hor.ymax, hor.xmax, hor.ymax);
|
||||
|
||||
/* the numbers: convert ipogrid_startx and -dx to scroll coordinates */
|
||||
@@ -643,7 +643,7 @@ void drawscroll(int disptype)
|
||||
dfac= (ipogrid_dx)/(G.v2d->cur.xmax-G.v2d->cur.xmin);
|
||||
dfac= dfac*(hor.xmax-hor.xmin);
|
||||
|
||||
BIF_ThemeColor(curarea, TH_TEXT);
|
||||
BIF_ThemeColor(TH_TEXT);
|
||||
val= ipogrid_startx;
|
||||
while(fac < hor.xmax) {
|
||||
|
||||
@@ -675,7 +675,7 @@ void drawscroll(int disptype)
|
||||
}
|
||||
|
||||
if(G.v2d->scroll & VERT_SCROLL) {
|
||||
BIF_ThemeColorShade(curarea, TH_SHADE1, light);
|
||||
BIF_ThemeColorShade(TH_SHADE1, light);
|
||||
glRecti(vert.xmin, vert.ymin, vert.xmax, vert.ymax);
|
||||
|
||||
/* slider */
|
||||
@@ -689,11 +689,11 @@ void drawscroll(int disptype)
|
||||
|
||||
if(vertymin > vertymax) vertymin= vertymax;
|
||||
|
||||
BIF_ThemeColorShade(curarea, TH_SHADE1, dark);
|
||||
BIF_ThemeColorShade(TH_SHADE1, dark);
|
||||
glRecti(vert.xmin, vertymin, vert.xmax, vertymax);
|
||||
|
||||
/* decoration black line */
|
||||
BIF_ThemeColorShade(curarea, TH_SHADE1, darker);
|
||||
BIF_ThemeColorShade(TH_SHADE1, darker);
|
||||
if(G.v2d->scroll & HOR_SCROLL)
|
||||
sdrawline(vert.xmax, vert.ymin+SCROLLH, vert.xmax, vert.ymax);
|
||||
else
|
||||
@@ -707,7 +707,7 @@ void drawscroll(int disptype)
|
||||
dfac= dfac*(vert.ymax-vert.ymin-SCROLLH);
|
||||
|
||||
if(curarea->spacetype==SPACE_SEQ) {
|
||||
BIF_ThemeColor(curarea, TH_TEXT);
|
||||
BIF_ThemeColor(TH_TEXT);
|
||||
val= ipogrid_starty;
|
||||
fac+= 0.5*dfac;
|
||||
while(fac < vert.ymax) {
|
||||
@@ -722,7 +722,7 @@ void drawscroll(int disptype)
|
||||
/* No digits on vertical axis in action mode! */
|
||||
}
|
||||
else {
|
||||
BIF_ThemeColor(curarea, TH_TEXT);
|
||||
BIF_ThemeColor(TH_TEXT);
|
||||
val= ipogrid_starty;
|
||||
while(fac < vert.ymax) {
|
||||
scroll_prstr((float)(vert.xmax)-14.0, fac, val, 'v', disptype);
|
||||
@@ -750,7 +750,7 @@ static void draw_ipobuts(SpaceIpo *sipo)
|
||||
if(tot<area->winy) sipo->butofs= 0;
|
||||
}
|
||||
|
||||
BIF_ThemeColor(curarea, TH_SHADE2);
|
||||
BIF_ThemeColor(TH_SHADE2);
|
||||
glRects(v2d->mask.xmax, 0, area->winx, area->winy);
|
||||
|
||||
cpack(0x0);
|
||||
@@ -840,14 +840,14 @@ static void draw_ipovertices(int sel)
|
||||
if ISPOIN(ei, flag & IPO_VISIBLE, icu) {
|
||||
|
||||
if(G.sipo->showkey) {
|
||||
if(sel) BIF_ThemeColor(curarea, TH_TEXT_HI);
|
||||
else BIF_ThemeColor(curarea, TH_TEXT);
|
||||
if(sel) BIF_ThemeColor(TH_TEXT_HI);
|
||||
else BIF_ThemeColor(TH_TEXT);
|
||||
} else if(ei->flag & IPO_EDIT) {
|
||||
if(sel) BIF_ThemeColor(curarea, TH_VERTEX_SELECT);
|
||||
else BIF_ThemeColor(curarea, TH_VERTEX);
|
||||
if(sel) BIF_ThemeColor(TH_VERTEX_SELECT);
|
||||
else BIF_ThemeColor(TH_VERTEX);
|
||||
} else {
|
||||
if(sel) BIF_ThemeColor(curarea, TH_TEXT_HI);
|
||||
else BIF_ThemeColor(curarea, TH_TEXT);
|
||||
if(sel) BIF_ThemeColor(TH_TEXT_HI);
|
||||
else BIF_ThemeColor(TH_TEXT);
|
||||
|
||||
val= (ei->icu->flag & IPO_SELECT)!=0;
|
||||
if(sel != val) continue;
|
||||
@@ -1008,7 +1008,7 @@ static void draw_ipocurves(int sel)
|
||||
icu= ei->icu;
|
||||
|
||||
/* curve */
|
||||
if(G.sipo->showkey) BIF_ThemeColor(curarea, TH_TEXT);
|
||||
if(G.sipo->showkey) BIF_ThemeColor(TH_TEXT);
|
||||
else cpack(ei->col);
|
||||
|
||||
/* cyclic */
|
||||
@@ -1204,7 +1204,7 @@ static void draw_cfra(SpaceIpo *sipo)
|
||||
vec[0]*= G.scene->r.framelen;
|
||||
|
||||
vec[1]= v2d->cur.ymin;
|
||||
BIF_ThemeColor(curarea, TH_HILITE);
|
||||
BIF_ThemeColor(TH_HILITE);
|
||||
glLineWidth(2.0);
|
||||
|
||||
glBegin(GL_LINE_STRIP);
|
||||
@@ -1218,7 +1218,7 @@ static void draw_cfra(SpaceIpo *sipo)
|
||||
if(ob && ob->sf!=0.0 && (ob->ipoflag & OB_OFFS_OB) ) {
|
||||
vec[0]-= ob->sf;
|
||||
|
||||
BIF_ThemeColorShade(curarea, TH_HILITE, -30);
|
||||
BIF_ThemeColorShade(TH_HILITE, -30);
|
||||
|
||||
glBegin(GL_LINE_STRIP);
|
||||
glVertex2fv(vec);
|
||||
@@ -1309,7 +1309,7 @@ void drawipospace(ScrArea *sa, void *spacedata)
|
||||
v2d->hor.xmax+=IPOBUTX;
|
||||
calc_scrollrcts(G.v2d, curarea->winx, curarea->winy);
|
||||
|
||||
BIF_GetThemeColor3fv(sa, TH_BACK, col);
|
||||
BIF_GetThemeColor3fv(TH_BACK, col);
|
||||
glClearColor(col[0], col[1], col[2], 0.0);
|
||||
|
||||
if (sipo->pin)
|
||||
|
@@ -732,11 +732,11 @@ static void tekenvertslatt(short sel)
|
||||
float size;
|
||||
int a, uxt, u, vxt, v, wxt, w;
|
||||
|
||||
size= BIF_GetThemeColorf(curarea, TH_VERTEX_SIZE);
|
||||
size= BIF_GetThemeColorf(TH_VERTEX_SIZE);
|
||||
glPointSize(size);
|
||||
|
||||
if(sel) BIF_ThemeColor(curarea, TH_VERTEX_SELECT);
|
||||
else BIF_ThemeColor(curarea, TH_VERTEX);
|
||||
if(sel) BIF_ThemeColor(TH_VERTEX_SELECT);
|
||||
else BIF_ThemeColor(TH_VERTEX);
|
||||
|
||||
glBegin(GL_POINTS);
|
||||
|
||||
@@ -1036,11 +1036,11 @@ void tekenvertices(short sel)
|
||||
EditVert *eve;
|
||||
float size;
|
||||
|
||||
size= BIF_GetThemeColorf(curarea, TH_VERTEX_SIZE);
|
||||
size= BIF_GetThemeColorf(TH_VERTEX_SIZE);
|
||||
glPointSize(size);
|
||||
|
||||
if(sel) BIF_ThemeColor(curarea, TH_VERTEX_SELECT);
|
||||
else BIF_ThemeColor(curarea, TH_VERTEX);
|
||||
if(sel) BIF_ThemeColor(TH_VERTEX_SELECT);
|
||||
else BIF_ThemeColor(TH_VERTEX);
|
||||
|
||||
glBegin(GL_POINTS);
|
||||
|
||||
@@ -2400,8 +2400,8 @@ static void drawmeshwire(Object *ob)
|
||||
if(G.f & (G_FACESELECT+G_DRAWFACES)) { /* faces */
|
||||
char col1[4], col2[4];
|
||||
|
||||
BIF_GetThemeColor4ubv(curarea, TH_FACE, col1);
|
||||
BIF_GetThemeColor4ubv(curarea, TH_FACE_SELECT, col2);
|
||||
BIF_GetThemeColor4ubv(TH_FACE, col1);
|
||||
BIF_GetThemeColor4ubv(TH_FACE_SELECT, col2);
|
||||
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
glEnable(GL_BLEND);
|
||||
@@ -2459,7 +2459,7 @@ static void drawmeshwire(Object *ob)
|
||||
|
||||
if(G.f & G_DRAWEDGES) { /* Use edge Highlighting */
|
||||
char col[4];
|
||||
BIF_GetThemeColor3ubv(curarea, TH_EDGE_SELECT, col);
|
||||
BIF_GetThemeColor3ubv(TH_EDGE_SELECT, col);
|
||||
glShadeModel(GL_SMOOTH);
|
||||
|
||||
eed= G.eded.first;
|
||||
@@ -2785,10 +2785,10 @@ static void tekenvertsN(Nurb *nu, short sel)
|
||||
|
||||
if(nu->hide) return;
|
||||
|
||||
if(sel) BIF_ThemeColor(curarea, TH_VERTEX_SELECT);
|
||||
else BIF_ThemeColor(curarea, TH_VERTEX);
|
||||
if(sel) BIF_ThemeColor(TH_VERTEX_SELECT);
|
||||
else BIF_ThemeColor(TH_VERTEX);
|
||||
|
||||
size= BIF_GetThemeColorf(curarea, TH_VERTEX_SIZE);
|
||||
size= BIF_GetThemeColorf(TH_VERTEX_SIZE);
|
||||
glPointSize(size);
|
||||
|
||||
glBegin(GL_POINTS);
|
||||
@@ -3453,15 +3453,15 @@ void draw_object(Base *base)
|
||||
if((G.f & (G_BACKBUFSEL+G_PICKSEL)) == 0) {
|
||||
project_short(ob->obmat[3], &base->sx);
|
||||
|
||||
if(G.moving==1 && (base->flag & (SELECT+BA_PARSEL))) BIF_ThemeColor(curarea, TH_TRANSFORM);
|
||||
if(G.moving==1 && (base->flag & (SELECT+BA_PARSEL))) BIF_ThemeColor(TH_TRANSFORM);
|
||||
else {
|
||||
|
||||
BIF_ThemeColor(curarea, TH_WIRE);
|
||||
BIF_ThemeColor(TH_WIRE);
|
||||
if((G.scene->basact)==base) {
|
||||
if(base->flag & (SELECT+BA_WASSEL)) BIF_ThemeColor(curarea, TH_ACTIVE);
|
||||
if(base->flag & (SELECT+BA_WASSEL)) BIF_ThemeColor(TH_ACTIVE);
|
||||
}
|
||||
else {
|
||||
if(base->flag & (SELECT+BA_WASSEL)) BIF_ThemeColor(curarea, TH_SELECT);
|
||||
if(base->flag & (SELECT+BA_WASSEL)) BIF_ThemeColor(TH_SELECT);
|
||||
}
|
||||
|
||||
// no theme yet
|
||||
|
@@ -428,7 +428,7 @@ static void drawgrid_draw(float wx, float wy, float x, float y, float dx)
|
||||
|
||||
}
|
||||
|
||||
static void drawgrid(ScrArea *sa)
|
||||
static void drawgrid(void)
|
||||
{
|
||||
/* extern short bgpicmode; */
|
||||
float wx, wy, x, y, fw, fx, fy, dx;
|
||||
@@ -460,7 +460,7 @@ static void drawgrid(ScrArea *sa)
|
||||
if(dx==0) dx= fabs(y-(wy)*fy/fw);
|
||||
|
||||
/* check zoom out */
|
||||
BIF_ThemeColor(sa, TH_GRID);
|
||||
BIF_ThemeColor(TH_GRID);
|
||||
persp(PERSP_WIN);
|
||||
|
||||
if(dx<6.0) {
|
||||
@@ -473,23 +473,23 @@ static void drawgrid(ScrArea *sa)
|
||||
dx*=10;
|
||||
if(dx<6.0);
|
||||
else {
|
||||
BIF_ThemeColor(sa, TH_GRID);
|
||||
BIF_ThemeColor(TH_GRID);
|
||||
drawgrid_draw(wx, wy, x, y, dx);
|
||||
}
|
||||
}
|
||||
else { // start blending out
|
||||
BIF_ThemeColorBlend(curarea, TH_BACK, TH_GRID, dx/60.0);
|
||||
BIF_ThemeColorBlend(TH_BACK, TH_GRID, dx/60.0);
|
||||
drawgrid_draw(wx, wy, x, y, dx);
|
||||
|
||||
BIF_ThemeColor(sa, TH_GRID);
|
||||
BIF_ThemeColor(TH_GRID);
|
||||
drawgrid_draw(wx, wy, x, y, 10*dx);
|
||||
}
|
||||
}
|
||||
else { // start blending out (6 < dx < 60)
|
||||
BIF_ThemeColorBlend(curarea, TH_BACK, TH_GRID, dx/60.0);
|
||||
BIF_ThemeColorBlend(TH_BACK, TH_GRID, dx/60.0);
|
||||
drawgrid_draw(wx, wy, x, y, dx);
|
||||
|
||||
BIF_ThemeColor(sa, TH_GRID);
|
||||
BIF_ThemeColor(TH_GRID);
|
||||
drawgrid_draw(wx, wy, x, y, 10*dx);
|
||||
}
|
||||
}
|
||||
@@ -499,34 +499,34 @@ static void drawgrid(ScrArea *sa)
|
||||
if(dx>60.0) { // start blending in
|
||||
dx/= 10.0;
|
||||
if(dx>60.0) {
|
||||
BIF_ThemeColor(sa, TH_GRID);
|
||||
BIF_ThemeColor(TH_GRID);
|
||||
drawgrid_draw(wx, wy, x, y, dx);
|
||||
}
|
||||
else {
|
||||
BIF_ThemeColorBlend(curarea, TH_BACK, TH_GRID, dx/60.0);
|
||||
BIF_ThemeColorBlend(TH_BACK, TH_GRID, dx/60.0);
|
||||
drawgrid_draw(wx, wy, x, y, dx);
|
||||
BIF_ThemeColor(sa, TH_GRID);
|
||||
BIF_ThemeColor(TH_GRID);
|
||||
drawgrid_draw(wx, wy, x, y, dx*10);
|
||||
}
|
||||
}
|
||||
else {
|
||||
BIF_ThemeColorBlend(curarea, TH_BACK, TH_GRID, dx/60.0);
|
||||
BIF_ThemeColorBlend(TH_BACK, TH_GRID, dx/60.0);
|
||||
drawgrid_draw(wx, wy, x, y, dx);
|
||||
BIF_ThemeColor(sa, TH_GRID);
|
||||
BIF_ThemeColor(TH_GRID);
|
||||
drawgrid_draw(wx, wy, x, y, dx*10);
|
||||
}
|
||||
}
|
||||
else {
|
||||
BIF_ThemeColorBlend(curarea, TH_BACK, TH_GRID, dx/60.0);
|
||||
BIF_ThemeColorBlend(TH_BACK, TH_GRID, dx/60.0);
|
||||
drawgrid_draw(wx, wy, x, y, dx);
|
||||
BIF_ThemeColor(sa, TH_GRID);
|
||||
BIF_ThemeColor(TH_GRID);
|
||||
drawgrid_draw(wx, wy, x, y, dx*10);
|
||||
}
|
||||
}
|
||||
|
||||
x+= (wx);
|
||||
y+= (wy);
|
||||
BIF_GetThemeColor3ubv(curarea, TH_GRID, col);
|
||||
BIF_GetThemeColor3ubv(TH_GRID, col);
|
||||
|
||||
/* center cross */
|
||||
if(G.vd->view==3) glColor3ub(col[0]<36?0:col[0]-36, col[1]>199?255:col[1]+56, col[2]<36?0:col[2]-36); /* y-as */
|
||||
@@ -544,7 +544,7 @@ static void drawgrid(ScrArea *sa)
|
||||
}
|
||||
|
||||
|
||||
static void drawfloor(ScrArea *sa)
|
||||
static void drawfloor(void)
|
||||
{
|
||||
View3D *vd;
|
||||
float vert[3], grid;
|
||||
@@ -560,8 +560,8 @@ static void drawfloor(ScrArea *sa)
|
||||
gridlines= vd->gridlines/2;
|
||||
grid= gridlines*vd->grid;
|
||||
|
||||
BIF_ThemeColor(sa, TH_GRID);
|
||||
BIF_GetThemeColor3ubv(curarea, TH_GRID, col);
|
||||
BIF_ThemeColor(TH_GRID);
|
||||
BIF_GetThemeColor3ubv(TH_GRID, col);
|
||||
|
||||
for(a= -gridlines;a<=gridlines;a++) {
|
||||
|
||||
@@ -569,7 +569,7 @@ static void drawfloor(ScrArea *sa)
|
||||
glColor3ub(col[0]<36?0:col[0]-36, col[1]>199?255:col[1]+56, col[2]<36?0:col[2]-36); /* y-as */
|
||||
}
|
||||
else if(a==1) {
|
||||
BIF_ThemeColor(sa, TH_GRID);
|
||||
BIF_ThemeColor(TH_GRID);
|
||||
}
|
||||
|
||||
|
||||
@@ -582,14 +582,14 @@ static void drawfloor(ScrArea *sa)
|
||||
glEnd();
|
||||
}
|
||||
|
||||
BIF_ThemeColor(sa, TH_GRID);
|
||||
BIF_ThemeColor(TH_GRID);
|
||||
|
||||
for(a= -gridlines;a<=gridlines;a++) {
|
||||
if(a==0) {
|
||||
glColor3ub(col[0]>219?255:col[0]+36, col[1]<26?0:col[1]-26, col[2]<26?0:col[2]-26); /* x-as */
|
||||
}
|
||||
else if(a==1) {
|
||||
BIF_ThemeColor(sa, TH_GRID);
|
||||
BIF_ThemeColor(TH_GRID);
|
||||
}
|
||||
|
||||
glBegin(GL_LINE_STRIP);
|
||||
@@ -846,7 +846,7 @@ static void draw_selected_name(char *name)
|
||||
|
||||
sprintf(info, "(%d) %s", CFRA, name);
|
||||
|
||||
BIF_ThemeColor(curarea, TH_TEXT_HI);
|
||||
BIF_ThemeColor(TH_TEXT_HI);
|
||||
glRasterPos2i(30, 10);
|
||||
BMF_DrawString(G.fonts, info);
|
||||
}
|
||||
@@ -1226,7 +1226,7 @@ void drawview3dspace(ScrArea *sa, void *spacedata)
|
||||
}
|
||||
else {
|
||||
float col[3];
|
||||
BIF_GetThemeColor3fv(sa, TH_BACK, col);
|
||||
BIF_GetThemeColor3fv(TH_BACK, col);
|
||||
glClearColor(col[0], col[1], col[2], 0.0);
|
||||
}
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
@@ -1235,7 +1235,7 @@ void drawview3dspace(ScrArea *sa, void *spacedata)
|
||||
}
|
||||
else {
|
||||
float col[3];
|
||||
BIF_GetThemeColor3fv(sa, TH_BACK, col);
|
||||
BIF_GetThemeColor3fv(TH_BACK, col);
|
||||
glClearColor(col[0], col[1], col[2], 0.0);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
}
|
||||
@@ -1244,7 +1244,7 @@ void drawview3dspace(ScrArea *sa, void *spacedata)
|
||||
persp(PERSP_STORE); // store correct view for persp(PERSP_VIEW) calls
|
||||
|
||||
if(G.vd->view==0 || G.vd->persp!=0) {
|
||||
drawfloor(sa);
|
||||
drawfloor();
|
||||
if(G.vd->persp==2) {
|
||||
if(G.scene->world) {
|
||||
if(G.scene->world->mode & WO_STARS) RE_make_stars(star_stuff_init_func,
|
||||
@@ -1255,7 +1255,7 @@ void drawview3dspace(ScrArea *sa, void *spacedata)
|
||||
}
|
||||
}
|
||||
else {
|
||||
drawgrid(sa);
|
||||
drawgrid();
|
||||
|
||||
if(G.vd->flag & V3D_DISPBGPIC) {
|
||||
draw_bgpic();
|
||||
|
@@ -246,6 +246,8 @@ void areawinset(short win)
|
||||
return;
|
||||
}
|
||||
|
||||
BIF_SetTheme(curarea);
|
||||
|
||||
switch(curarea->spacetype) {
|
||||
case SPACE_VIEW3D:
|
||||
G.vd= curarea->spacedata.first;
|
||||
@@ -300,8 +302,8 @@ void headerbox(ScrArea *area)
|
||||
glClearColor(SCR_BACK, SCR_BACK, SCR_BACK, 0.0);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
|
||||
if(area_is_active_area(area)) BIF_ThemeColor(area, TH_HEADER);
|
||||
else BIF_ThemeColorShade(area, TH_HEADER, -20);
|
||||
if(area_is_active_area(area)) BIF_ThemeColor(TH_HEADER);
|
||||
else BIF_ThemeColorShade(TH_HEADER, -20);
|
||||
|
||||
/* weird values here... is because of window matrix that centres buttons */
|
||||
if(area->headertype==HEADERTOP) {
|
||||
|
@@ -887,12 +887,12 @@ static void draw_filescroll(SpaceFile *sfile)
|
||||
|
||||
if(scrollrct.ymin+10 >= scrollrct.ymax) return;
|
||||
|
||||
BIF_ThemeColor(curarea, TH_BACK);
|
||||
BIF_ThemeColor(TH_BACK);
|
||||
glRecti(scrollrct.xmin, scrollrct.ymin, scrollrct.xmax, scrollrct.ymax);
|
||||
|
||||
uiEmboss(scrollrct.xmin, scrollrct.ymin, scrollrct.xmax, scrollrct.ymax, 1);
|
||||
|
||||
BIF_ThemeColor(curarea, TH_HEADER);
|
||||
BIF_ThemeColor(TH_HEADER);
|
||||
glRecti(bar.xmin+2, bar.ymin+2, bar.xmax-2, bar.ymax-2);
|
||||
|
||||
uiEmboss(bar.xmin+2, bar.ymin+2, bar.xmax-2, bar.ymax-2, filescrollselect);
|
||||
@@ -902,11 +902,11 @@ static void draw_filescroll(SpaceFile *sfile)
|
||||
static void regelrect(int id, int x, int y)
|
||||
{
|
||||
if(id & ACTIVE) {
|
||||
if(id & HILITE) BIF_ThemeColorShade(curarea, TH_HILITE, 20);
|
||||
else BIF_ThemeColor(curarea, TH_HILITE);
|
||||
if(id & HILITE) BIF_ThemeColorShade(TH_HILITE, 20);
|
||||
else BIF_ThemeColor(TH_HILITE);
|
||||
}
|
||||
else if(id & HILITE) BIF_ThemeColorShade(curarea, TH_BACK, 20);
|
||||
else BIF_ThemeColor(curarea, TH_BACK);
|
||||
else if(id & HILITE) BIF_ThemeColorShade(TH_BACK, 20);
|
||||
else BIF_ThemeColor(TH_BACK);
|
||||
|
||||
glRects(x-17, y-3, x+collumwidth-21, y+11);
|
||||
|
||||
@@ -952,8 +952,8 @@ static void printregel(SpaceFile *sfile, struct direntry *files, int x, int y)
|
||||
glRects(x-14, y, x-8, y+7);
|
||||
}
|
||||
|
||||
if(S_ISDIR(files->type)) BIF_ThemeColor(curarea, TH_TEXT_HI);
|
||||
else BIF_ThemeColor(curarea, TH_TEXT);
|
||||
if(S_ISDIR(files->type)) BIF_ThemeColor(TH_TEXT_HI);
|
||||
else BIF_ThemeColor(TH_TEXT);
|
||||
|
||||
s = files->string;
|
||||
if(s) {
|
||||
@@ -1095,7 +1095,7 @@ static void draw_filetext(SpaceFile *sfile)
|
||||
|
||||
|
||||
/* box */
|
||||
BIF_ThemeColor(curarea, TH_BACK);
|
||||
BIF_ThemeColor(TH_BACK);
|
||||
glRecti(textrct.xmin, textrct.ymin, textrct.xmax, textrct.ymax);
|
||||
|
||||
/* collums */
|
||||
@@ -1128,7 +1128,7 @@ static void draw_filetext(SpaceFile *sfile)
|
||||
/* clear drawing errors, with text at the right hand side: */
|
||||
uiEmboss(textrct.xmin, textrct.ymin, textrct.xmax, textrct.ymax, 1);
|
||||
|
||||
BIF_ThemeColor(curarea, TH_HEADER);
|
||||
BIF_ThemeColor(TH_HEADER);
|
||||
glRecti(textrct.xmax+2, textrct.ymin, textrct.xmax+10, textrct.ymax);
|
||||
}
|
||||
|
||||
@@ -1144,7 +1144,7 @@ void drawfilespace(ScrArea *sa, void *spacedata)
|
||||
|
||||
myortho2(-0.5, sa->winx-0.5, -0.5, sa->winy-0.5);
|
||||
|
||||
BIF_GetThemeColor3fv(sa, TH_HEADER, col); // basic undrawn color is border
|
||||
BIF_GetThemeColor3fv(TH_HEADER, col); // basic undrawn color is border
|
||||
glClearColor(col[0], col[1], col[2], 0.0);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
|
||||
|
@@ -677,7 +677,7 @@ static void ui_draw_tria_icon(float x, float y, float aspect, char dir)
|
||||
{
|
||||
|
||||
|
||||
BIF_ThemeColor(curarea, TH_TEXT_HI);
|
||||
BIF_ThemeColor(TH_TEXT_HI);
|
||||
|
||||
if(dir=='h') {
|
||||
ui_draw_anti_tria( x, y, x, y+10.0, x+6, y+5.25);
|
||||
@@ -758,11 +758,11 @@ static void ui_draw_panel_header(uiBlock *block)
|
||||
if(nr==1) {
|
||||
/* active tab */
|
||||
/*uiSetRoundBox(3);
|
||||
BIF_ThemeColorShade(curarea, TH_HEADER, -3);
|
||||
BIF_ThemeColorShade(TH_HEADER, -3);
|
||||
uiRoundBox(2+block->minx+pnl_icons, panel->sizey-1, block->maxx, panel->sizey+PNL_HEADER, 10);
|
||||
*/
|
||||
|
||||
BIF_ThemeColor(curarea, TH_TEXT_HI);
|
||||
BIF_ThemeColor(TH_TEXT_HI);
|
||||
glRasterPos2f(4+block->minx+pnl_icons, block->maxy+5);
|
||||
BIF_DrawString(block->curfont, block->panel->panelname, (U.transopts & TR_BUTTONS), 1);
|
||||
return;
|
||||
@@ -776,10 +776,10 @@ static void ui_draw_panel_header(uiBlock *block)
|
||||
else if(pa==panel) {
|
||||
/* active tab */
|
||||
uiSetRoundBox(3);
|
||||
BIF_ThemeColorShade(curarea, TH_HEADER, -3);
|
||||
BIF_ThemeColorShade(TH_HEADER, -3);
|
||||
uiRoundBox(2+pnl_icons+a*width, panel->sizey-1, pnl_icons+(a+1)*width, panel->sizey+PNL_HEADER-3, 8);
|
||||
|
||||
BIF_ThemeColor(curarea, TH_TEXT);
|
||||
BIF_ThemeColor(TH_TEXT);
|
||||
glRasterPos2f(16+pnl_icons+a*width, panel->sizey+4);
|
||||
str= ui_block_cut_str(block, pa->panelname, (short)(width-10));
|
||||
BIF_DrawString(block->curfont, str, (U.transopts & TR_BUTTONS), 0);
|
||||
@@ -789,10 +789,10 @@ static void ui_draw_panel_header(uiBlock *block)
|
||||
else if(pa->paneltab==panel) {
|
||||
/* not active tab */
|
||||
|
||||
BIF_ThemeColorShade(curarea, TH_HEADER, -60);
|
||||
BIF_ThemeColorShade(TH_HEADER, -60);
|
||||
uiRoundBox(2+pnl_icons+a*width, panel->sizey, pnl_icons+(a+1)*width, panel->sizey+PNL_HEADER-3, 8);
|
||||
|
||||
BIF_ThemeColor(curarea, TH_TEXT_HI);
|
||||
BIF_ThemeColor(TH_TEXT_HI);
|
||||
glRasterPos2f(16+pnl_icons+a*width, panel->sizey+4);
|
||||
str= ui_block_cut_str(block, pa->panelname, (short)(width-10));
|
||||
BIF_DrawString(block->curfont, str, (U.transopts & TR_BUTTONS), 1);
|
||||
@@ -805,7 +805,7 @@ static void ui_draw_panel_header(uiBlock *block)
|
||||
// dragger
|
||||
/*
|
||||
uiSetRoundBox(15);
|
||||
BIF_ThemeColorShade(curarea, TH_HEADER, -70);
|
||||
BIF_ThemeColorShade(TH_HEADER, -70);
|
||||
uiRoundBox(panel->sizex-PNL_ICON+5, panel->sizey+5, panel->sizex-5, panel->sizey+PNL_HEADER-5, 5);
|
||||
*/
|
||||
|
||||
@@ -825,23 +825,23 @@ void ui_draw_panel(uiBlock *block)
|
||||
|
||||
if(panel->flag & PNL_CLOSEDY) {
|
||||
uiSetRoundBox(15);
|
||||
BIF_ThemeColorShade(curarea, TH_HEADER, -30);
|
||||
BIF_ThemeColorShade(TH_HEADER, -30);
|
||||
uiRoundBox(block->minx, block->maxy, block->maxx, block->maxy+PNL_HEADER, 10);
|
||||
|
||||
// title
|
||||
ofsx= PNL_ICON+8;
|
||||
if(panel->control & UI_PNL_CLOSE) ofsx+= PNL_ICON;
|
||||
BIF_ThemeColor(curarea, TH_TEXT_HI);
|
||||
BIF_ThemeColor(TH_TEXT_HI);
|
||||
glRasterPos2f(4+block->minx+ofsx, block->maxy+5);
|
||||
BIF_DrawString(block->curfont, panel->panelname, (U.transopts & TR_BUTTONS), 1);
|
||||
|
||||
// border
|
||||
if(panel->flag & PNL_SELECT) {
|
||||
BIF_ThemeColorShade(curarea, TH_HEADER, -120);
|
||||
BIF_ThemeColorShade(TH_HEADER, -120);
|
||||
uiRoundRect(block->minx, block->maxy, block->maxx, block->maxy+PNL_HEADER, 10);
|
||||
}
|
||||
if(panel->flag & PNL_OVERLAP) {
|
||||
BIF_ThemeColor(curarea, TH_TEXT_HI);
|
||||
BIF_ThemeColor(TH_TEXT_HI);
|
||||
uiRoundRect(block->minx, block->maxy, block->maxx, block->maxy+PNL_HEADER, 10);
|
||||
}
|
||||
|
||||
@@ -851,11 +851,11 @@ void ui_draw_panel(uiBlock *block)
|
||||
int a, end, ofs;
|
||||
|
||||
uiSetRoundBox(15);
|
||||
BIF_ThemeColorShade(curarea, TH_HEADER, -30);
|
||||
BIF_ThemeColorShade(TH_HEADER, -30);
|
||||
uiRoundBox(block->minx, block->miny, block->minx+PNL_HEADER, block->maxy+PNL_HEADER, 10);
|
||||
|
||||
// title, only capitals for now
|
||||
BIF_ThemeColor(curarea, TH_TEXT_HI);
|
||||
BIF_ThemeColor(TH_TEXT_HI);
|
||||
str[1]= 0;
|
||||
end= strlen(panel->panelname);
|
||||
ofs= 20;
|
||||
@@ -870,11 +870,11 @@ void ui_draw_panel(uiBlock *block)
|
||||
|
||||
// border
|
||||
if(panel->flag & PNL_SELECT) {
|
||||
BIF_ThemeColorShade(curarea, TH_HEADER, -120);
|
||||
BIF_ThemeColorShade(TH_HEADER, -120);
|
||||
uiRoundRect(block->minx, block->miny, block->minx+PNL_HEADER, block->maxy+PNL_HEADER, 10);
|
||||
}
|
||||
if(panel->flag & PNL_OVERLAP) {
|
||||
BIF_ThemeColor(curarea, TH_TEXT_HI);
|
||||
BIF_ThemeColor(TH_TEXT_HI);
|
||||
uiRoundRect(block->minx, block->miny, block->minx+PNL_HEADER, block->maxy+PNL_HEADER, 10);
|
||||
}
|
||||
|
||||
@@ -884,12 +884,12 @@ void ui_draw_panel(uiBlock *block)
|
||||
uiSetRoundBox(3);
|
||||
|
||||
if(panel->control & UI_PNL_SOLID) {
|
||||
BIF_ThemeColorShade(curarea, TH_HEADER, -40);
|
||||
BIF_ThemeColorShade(TH_HEADER, -40);
|
||||
uiRoundBox(block->minx, block->maxy, block->maxx, block->maxy+PNL_HEADER, 10);
|
||||
// blend now for panels in 3d window, test...
|
||||
glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
|
||||
glEnable(GL_BLEND);
|
||||
BIF_ThemeColor4(curarea, TH_PANEL);
|
||||
BIF_ThemeColor4(TH_PANEL);
|
||||
glRectf(block->minx, block->miny, block->maxx, block->maxy);
|
||||
|
||||
//if(align) {
|
||||
@@ -903,12 +903,12 @@ void ui_draw_panel(uiBlock *block)
|
||||
glDisable(GL_BLEND);
|
||||
}
|
||||
else if(panel->control & UI_PNL_TRANSP) {
|
||||
BIF_ThemeColorShade(curarea, TH_HEADER, -30);
|
||||
BIF_ThemeColorShade(TH_HEADER, -30);
|
||||
uiRoundBox(block->minx, block->maxy, block->maxx, block->maxy+PNL_HEADER, 10);
|
||||
|
||||
glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
|
||||
glEnable(GL_BLEND);
|
||||
BIF_ThemeColor4(curarea, TH_PANEL);
|
||||
BIF_ThemeColor4(TH_PANEL);
|
||||
glRectf(block->minx, block->miny, block->maxx, block->maxy);
|
||||
|
||||
glDisable(GL_BLEND);
|
||||
@@ -920,11 +920,11 @@ void ui_draw_panel(uiBlock *block)
|
||||
// border
|
||||
uiSetRoundBox(3);
|
||||
if(panel->flag & PNL_SELECT) {
|
||||
BIF_ThemeColorShade(curarea, TH_HEADER, -120);
|
||||
BIF_ThemeColorShade(TH_HEADER, -120);
|
||||
uiRoundRect(block->minx, block->miny, block->maxx, block->maxy+PNL_HEADER, 10);
|
||||
}
|
||||
if(panel->flag & PNL_OVERLAP) {
|
||||
BIF_ThemeColor(curarea, TH_TEXT_HI);
|
||||
BIF_ThemeColor(TH_TEXT_HI);
|
||||
uiRoundRect(block->minx, block->miny, block->maxx, block->maxy+PNL_HEADER, 10);
|
||||
}
|
||||
|
||||
@@ -1085,7 +1085,7 @@ int uiAlignPanelStep(ScrArea *sa, float fac)
|
||||
}
|
||||
else {
|
||||
psnext->pa->ofsx = get_panel_real_ofsx(ps->pa)+PNL_DIST;
|
||||
psnext->pa->ofsy = ps->pa->ofsy;
|
||||
psnext->pa->ofsy = ps->pa->ofsy + ps->pa->sizey - psnext->pa->sizey;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -423,7 +423,7 @@ char *BIF_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
|
||||
#define SETCOL(col, r, g, b, a) col[0]=r; col[1]=g; col[2]= b; col[3]= a;
|
||||
|
||||
// initialize
|
||||
void BIF_InitThemeColors(void)
|
||||
void BIF_InitTheme(void)
|
||||
{
|
||||
bTheme *btheme= U.themes.first;
|
||||
|
||||
@@ -438,6 +438,8 @@ void BIF_InitThemeColors(void)
|
||||
strcpy(btheme->name, "Default");
|
||||
}
|
||||
|
||||
BIF_SetTheme(NULL); // make sure the global used in this file is set
|
||||
|
||||
/* UI buttons (todo) */
|
||||
|
||||
/* space view3d */
|
||||
@@ -560,131 +562,119 @@ char *BIF_ThemeColorsPup(int spacetype)
|
||||
return cp;
|
||||
}
|
||||
|
||||
// for space windows only
|
||||
void BIF_ThemeColor(ScrArea *sa, int colorid)
|
||||
static bTheme *theme_active=NULL;
|
||||
static int theme_spacetype= SPACE_VIEW3D;
|
||||
|
||||
void BIF_SetTheme(ScrArea *sa)
|
||||
{
|
||||
if(sa==NULL) { // called for safety, when delete themes
|
||||
theme_active= U.themes.first;
|
||||
theme_spacetype= SPACE_VIEW3D;
|
||||
}
|
||||
else {
|
||||
// later on, a local theme can be found too
|
||||
theme_active= U.themes.first;
|
||||
theme_spacetype= sa->spacetype;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// for space windows only
|
||||
void BIF_ThemeColor(int colorid)
|
||||
{
|
||||
bTheme *btheme= U.themes.first;
|
||||
char *cp;
|
||||
|
||||
if(btheme) {
|
||||
cp= BIF_ThemeGetColorPtr(btheme, sa->spacetype, colorid);
|
||||
glColor3ub(cp[0], cp[1], cp[2]);
|
||||
}
|
||||
else { // debug mostly, you never know
|
||||
glColor3ub(255, 0, 255);
|
||||
}
|
||||
cp= BIF_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
||||
glColor3ub(cp[0], cp[1], cp[2]);
|
||||
|
||||
}
|
||||
|
||||
// plus alpha
|
||||
void BIF_ThemeColor4(ScrArea *sa, int colorid)
|
||||
void BIF_ThemeColor4(int colorid)
|
||||
{
|
||||
bTheme *btheme= U.themes.first;
|
||||
char *cp;
|
||||
|
||||
if(btheme) {
|
||||
cp= BIF_ThemeGetColorPtr(btheme, sa->spacetype, colorid);
|
||||
glColor4ub(cp[0], cp[1], cp[2], cp[3]);
|
||||
}
|
||||
else { // debug mostly, you never know
|
||||
glColor3ub(255, 0, 255);
|
||||
}
|
||||
cp= BIF_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
||||
glColor4ub(cp[0], cp[1], cp[2], cp[3]);
|
||||
|
||||
}
|
||||
|
||||
void BIF_ThemeColorShade(ScrArea *sa, int colorid, int offset)
|
||||
// set the color with offset for shades
|
||||
void BIF_ThemeColorShade(int colorid, int offset)
|
||||
{
|
||||
bTheme *btheme= U.themes.first;
|
||||
int r, g, b;
|
||||
char *cp;
|
||||
|
||||
if(btheme) {
|
||||
cp= BIF_ThemeGetColorPtr(btheme, sa->spacetype, colorid);
|
||||
r= offset + (int) cp[0];
|
||||
CLAMP(r, 0, 255);
|
||||
g= offset + (int) cp[1];
|
||||
CLAMP(g, 0, 255);
|
||||
b= offset + (int) cp[2];
|
||||
CLAMP(b, 0, 255);
|
||||
glColor3ub(r, g, b);
|
||||
}
|
||||
else { // debug mostly, you never know
|
||||
glColor3ub(255, 0, 255);
|
||||
}
|
||||
cp= BIF_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
||||
r= offset + (int) cp[0];
|
||||
CLAMP(r, 0, 255);
|
||||
g= offset + (int) cp[1];
|
||||
CLAMP(g, 0, 255);
|
||||
b= offset + (int) cp[2];
|
||||
CLAMP(b, 0, 255);
|
||||
glColor3ub(r, g, b);
|
||||
}
|
||||
|
||||
void BIF_ThemeColorBlend(ScrArea *sa, int colorid1, int colorid2, float fac)
|
||||
// blend between to theme colors, and set it
|
||||
void BIF_ThemeColorBlend(int colorid1, int colorid2, float fac)
|
||||
{
|
||||
bTheme *btheme= U.themes.first;
|
||||
int r, g, b;
|
||||
char *cp1, *cp2;
|
||||
|
||||
if(btheme) {
|
||||
cp1= BIF_ThemeGetColorPtr(btheme, sa->spacetype, colorid1);
|
||||
cp2= BIF_ThemeGetColorPtr(btheme, sa->spacetype, colorid2);
|
||||
if(fac<0.0) fac=0.0; else if(fac>1.0) fac= 1.0;
|
||||
r= floor((1.0-fac)*cp1[0] + fac*cp2[0]);
|
||||
g= floor((1.0-fac)*cp1[1] + fac*cp2[1]);
|
||||
b= floor((1.0-fac)*cp1[2] + fac*cp2[2]);
|
||||
|
||||
glColor3ub(r, g, b);
|
||||
}
|
||||
else { // debug mostly, you never know
|
||||
glColor3ub(255, 0, 255);
|
||||
}
|
||||
cp1= BIF_ThemeGetColorPtr(theme_active, theme_spacetype, colorid1);
|
||||
cp2= BIF_ThemeGetColorPtr(theme_active, theme_spacetype, colorid2);
|
||||
|
||||
if(fac<0.0) fac=0.0; else if(fac>1.0) fac= 1.0;
|
||||
r= floor((1.0-fac)*cp1[0] + fac*cp2[0]);
|
||||
g= floor((1.0-fac)*cp1[1] + fac*cp2[1]);
|
||||
b= floor((1.0-fac)*cp1[2] + fac*cp2[2]);
|
||||
|
||||
glColor3ub(r, g, b);
|
||||
}
|
||||
|
||||
|
||||
// get individual values, not scaled
|
||||
float BIF_GetThemeColorf(ScrArea *sa, int colorid)
|
||||
float BIF_GetThemeColorf(int colorid)
|
||||
{
|
||||
bTheme *btheme= U.themes.first;
|
||||
char *cp;
|
||||
|
||||
if(btheme) {
|
||||
cp= BIF_ThemeGetColorPtr(btheme, sa->spacetype, colorid);
|
||||
return ((float)cp[0]);
|
||||
}
|
||||
return 1.0;
|
||||
cp= BIF_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
||||
return ((float)cp[0]);
|
||||
|
||||
}
|
||||
|
||||
// get the color, range 0.0-1.0
|
||||
void BIF_GetThemeColor3fv(ScrArea *sa, int colorid, float *col)
|
||||
void BIF_GetThemeColor3fv(int colorid, float *col)
|
||||
{
|
||||
bTheme *btheme= U.themes.first;
|
||||
char *cp;
|
||||
|
||||
if(btheme) {
|
||||
cp= BIF_ThemeGetColorPtr(btheme, sa->spacetype, colorid);
|
||||
col[0]= ((float)cp[0])/255.0;
|
||||
col[1]= ((float)cp[1])/255.0;
|
||||
col[2]= ((float)cp[2])/255.0;
|
||||
}
|
||||
cp= BIF_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
||||
col[0]= ((float)cp[0])/255.0;
|
||||
col[1]= ((float)cp[1])/255.0;
|
||||
col[2]= ((float)cp[2])/255.0;
|
||||
}
|
||||
|
||||
void BIF_GetThemeColor3ubv(ScrArea *sa, int colorid, char *col)
|
||||
// get the color, in char pointer
|
||||
void BIF_GetThemeColor3ubv(int colorid, char *col)
|
||||
{
|
||||
bTheme *btheme= U.themes.first;
|
||||
char *cp;
|
||||
|
||||
if(btheme) {
|
||||
cp= BIF_ThemeGetColorPtr(btheme, sa->spacetype, colorid);
|
||||
col[0]= cp[0];
|
||||
col[1]= cp[1];
|
||||
col[2]= cp[2];
|
||||
}
|
||||
cp= BIF_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
||||
col[0]= cp[0];
|
||||
col[1]= cp[1];
|
||||
col[2]= cp[2];
|
||||
}
|
||||
|
||||
void BIF_GetThemeColor4ubv(ScrArea *sa, int colorid, char *col)
|
||||
// get the color, in char pointer
|
||||
void BIF_GetThemeColor4ubv(int colorid, char *col)
|
||||
{
|
||||
bTheme *btheme= U.themes.first;
|
||||
char *cp;
|
||||
|
||||
if(btheme) {
|
||||
cp= BIF_ThemeGetColorPtr(btheme, sa->spacetype, colorid);
|
||||
col[0]= cp[0];
|
||||
col[1]= cp[1];
|
||||
col[2]= cp[2];
|
||||
col[3]= cp[3];
|
||||
}
|
||||
cp= BIF_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
|
||||
col[0]= cp[0];
|
||||
col[1]= cp[1];
|
||||
col[2]= cp[2];
|
||||
col[3]= cp[3];
|
||||
}
|
||||
|
||||
|
||||
|
@@ -2209,6 +2209,7 @@ void winqreadinfospace(ScrArea *sa, void *spacedata, BWinEvent *evt)
|
||||
bTheme *btheme= U.themes.first;
|
||||
BLI_remlink(&U.themes, btheme);
|
||||
MEM_freeN(btheme);
|
||||
BIF_SetTheme(curarea); // prevent usage of old theme in calls
|
||||
addqueue(sa->win, REDRAW, 1);
|
||||
}
|
||||
else if(val==B_NAME_THEME) {
|
||||
|
@@ -142,7 +142,6 @@ void BIF_read_file(char *name)
|
||||
|
||||
int BIF_read_homefile(void)
|
||||
{
|
||||
bTheme *btheme;
|
||||
char tstr[FILE_MAXDIR+FILE_MAXFILE], scestr[FILE_MAXDIR];
|
||||
char *home= BLI_gethome();
|
||||
int success;
|
||||
@@ -164,7 +163,9 @@ int BIF_read_homefile(void)
|
||||
success = BKE_read_file_from_memory(datatoc_B_blend, datatoc_B_blend_size, NULL);
|
||||
}
|
||||
strcpy(G.sce, scestr);
|
||||
|
||||
|
||||
BIF_InitTheme(); // sets default again
|
||||
|
||||
if (success) {
|
||||
G.save_over = 0;
|
||||
|
||||
@@ -490,7 +491,6 @@ void BIF_init(void)
|
||||
init_draw_rects(); /* drawobject.c */
|
||||
init_gl_stuff(); /* drawview.c */
|
||||
BIF_read_homefile();
|
||||
BIF_InitThemeColors(); /* after read home file! */
|
||||
readBlog();
|
||||
strcpy(G.lib, G.sce);
|
||||
|
||||
|
Reference in New Issue
Block a user