BLF can use Theme colors

For anything fancier than regular Theme colors (shading, alpha, etc.) do this:

unsigned char color[4]
UI_GetThemeColor[Fancy]4ubv(... color)
BLF_color4ubv(fontid, color)

That way the BLF color API stays simple.
This commit is contained in:
Mike Erwin 2017-02-01 16:44:00 -05:00
parent 7493a2b3c0
commit 4935e2449b
2 changed files with 12 additions and 1 deletions

View File

@ -65,6 +65,7 @@ void BLF_position(int fontid, float x, float y, float z);
void BLF_size(int fontid, int size, int dpi);
/* goal: small but useful color API */
void BLF_ThemeColor(int fontid, int colorid);
void BLF_color4ubv(int fontid, const unsigned char rgba[4]);
void BLF_color3ubv(int fontid, const unsigned char rgb[3]);
void BLF_color3ubv_alpha(int fontid, const unsigned char rgb[3], unsigned char alpha);

View File

@ -50,9 +50,10 @@
#include "BLI_math.h"
#include "BLI_threads.h"
#include "BIF_gl.h"
#include "BLF_api.h"
#include "UI_resources.h"
#include "IMB_colormanagement.h"
#ifndef BLF_STANDALONE
@ -466,6 +467,15 @@ void BLF_blur(int fontid, int size)
}
#endif
void BLF_ThemeColor(int fontid, int colorid)
{
FontBLF *font = blf_get(fontid);
if (font) {
UI_GetThemeColor4ubv(colorid, font->color);
}
}
void BLF_color4ubv(int fontid, const unsigned char rgba[4])
{
FontBLF *font = blf_get(fontid);