Fix for [#8303] stamp gives wrong file name when using unsaved files

Also made alpha color work with OpenGL render caused by buf_rectfill_area not working on char rect's.
This commit is contained in:
Campbell Barton 2008-02-21 23:19:06 +00:00
parent 71ca81019d
commit ae464adffd
2 changed files with 14 additions and 7 deletions

View File

@ -906,8 +906,13 @@ static void stampdata(StampData *stamp_data, int do_prefix)
#endif /* WIN32 */
if (G.scene->r.stamp & R_STAMP_FILENAME) {
if (do_prefix) sprintf(stamp_data->file, "File %s", G.sce);
else sprintf(stamp_data->file, "%s", G.sce);
if (G.relbase_valid) {
if (do_prefix) sprintf(stamp_data->file, "File %s", G.sce);
else sprintf(stamp_data->file, "%s", G.sce);
} else {
if (do_prefix) strcpy(stamp_data->file, "File <untitled>");
else strcpy(stamp_data->file, "<untitled>");
}
stamp_data->note[0] = '\0';
} else {
stamp_data->file[0] = '\0';

View File

@ -525,7 +525,9 @@ void IMB_rectfill(struct ImBuf *drect, float col[4])
void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height, float *col, int x1, int y1, int x2, int y2)
{
int i, j;
float a, ai;
float a; /* alpha */
float ai; /* alpha inverted */
float aich; /* alpha, inverted, ai/255.0 - Convert char to float at the same time */
if ((!rect && !rectf) || (!col) || col[3]==0.0)
return;
@ -541,7 +543,7 @@ void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height,
a = col[3];
ai = 1-a;
aich = ai/255.0f;
if (rect) {
unsigned char *pixel;
@ -566,9 +568,9 @@ void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height,
pixel[1] = chg;
pixel[2] = chb;
} else {
pixel[0] = (char)(fr + ((float)pixel[0]*ai));
pixel[1] = (char)(fg + ((float)pixel[1]*ai));
pixel[2] = (char)(fb + ((float)pixel[2]*ai));
pixel[0] = (char)((fr + ((float)pixel[0]*aich))*255.0f);
pixel[1] = (char)((fg + ((float)pixel[1]*aich))*255.0f);
pixel[2] = (char)((fb + ((float)pixel[2]*aich))*255.0f);
}
}
}