Image Stamping patch by Diego (and peach request)- stamps image info into metadata and optionally

draws into the
frame.

This patch includes some changes I made...   
* use blenders bitmap fonts (rather then own fonts)
* select font size
* user interface layout changes
* Marker as another image stamp option

Also added some new API calls   
BMF_GetFontHeight(font);
BMF_DrawStringBuf(...);  - so we can draw text into an imbuf's image buffer.
get_frame_marker(frame) - get the last marker from the frame.
IMB_rectfill_area(...) - fill in an image buffer with a rectangle area of color.

TODO - draw stamp info in 3d view, at the moment it just displays in the animation.
This commit is contained in:
2007-10-20 16:17:27 +00:00
parent e5a9e0b12a
commit 46deddcc62
23 changed files with 582 additions and 20 deletions

View File

@@ -107,3 +107,52 @@ int IMB_imginfo_add_field(struct ImBuf* img, const char* key, const char* field)
return 1;
}
int IMB_imginfo_del_field(struct ImBuf *img, const char *key)
{
ImgInfo *p, *p1;
if ((!img) || (!img->img_info))
return (0);
p = img->img_info;
p1 = NULL;
while (p) {
if (!strcmp (key, p->key)) {
if (p1)
p1->next = p->next;
else
img->img_info = p->next;
MEM_freeN(p->key);
MEM_freeN(p->value);
MEM_freeN(p);
return (1);
}
p1 = p;
p = p->next;
}
return (0);
}
int IMB_imginfo_change_field(struct ImBuf *img, const char *key, const char *field)
{
ImgInfo *p;
if (!img)
return (0);
if (!img->img_info)
return (IMB_imginfo_add_field (img, key, field));
p = img->img_info;
while (p) {
if (!strcmp (key, p->key)) {
MEM_freeN (p->value);
p->value = BLI_strdup (field);
return (1);
}
p = p->next;
}
return (IMB_imginfo_add_field (img, key, field));
}