fix build: BLF Theme color
authorMike Erwin <significant.bit@gmail.com>
Thu, 2 Feb 2017 00:00:30 +0000 (19:00 -0500)
committerMike Erwin <significant.bit@gmail.com>
Thu, 2 Feb 2017 00:00:51 +0000 (19:00 -0500)
blenderplayer uses BLF but not Editor UI, so we got a link error for the missing UI_GetThemeColor function.

Moved the new function from BLF to UI.

@Blendify reported problem in IRC

source/blender/blenfont/BLF_api.h
source/blender/blenfont/intern/blf.c
source/blender/editors/include/UI_resources.h
source/blender/editors/interface/resources.c

index 856234dad48d0dd0a0f16db3c0e48bbe508ec3de..b6fc42d774e6692c981ee3ee8b23be63affe0276 100644 (file)
@@ -65,7 +65,6 @@ 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);
@@ -73,6 +72,7 @@ void BLF_color3ub(int fontid, unsigned char r, unsigned char g, unsigned char b)
 void BLF_color4fv(int fontid, const float rgba[4]);
 void BLF_color3f(int fontid, float r, float g, float b);
 void BLF_color3fv_alpha(int fontid, const float rgb[3], float alpha);
+/* also available: UI_FontThemeColor(fontid, colorid) */
 
 /* Set a 4x4 matrix to be multiplied before draw the text.
  * Remember that you need call BLF_enable(BLF_MATRIX)
index 01feb652f31f2475d64d350c617b5152066f64c5..4b3a965efdf72f23fcf755f84a5a2f7bd75beea3 100644 (file)
@@ -52,8 +52,6 @@
 
 #include "BLF_api.h"
 
-#include "UI_resources.h"
-
 #include "IMB_colormanagement.h"
 
 #ifndef BLF_STANDALONE
@@ -467,15 +465,6 @@ 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);
index dbd3d7d99340e1984258cfebb6184fc8a58f5645..5924529ddcca75285455f83e4149f0078a067054 100644 (file)
@@ -379,6 +379,10 @@ void    UI_GetColorPtrShade3ubv(const unsigned char cp1[3], unsigned char col[3]
 // get a 3 byte color, blended and shaded between two other char color pointers
 void    UI_GetColorPtrBlendShade3ubv(const unsigned char cp1[3], const unsigned char cp2[3], unsigned char col[3], float fac, int offset);
 
+// sets the font color
+// (for anything fancy use UI_GetThemeColor[Fancy] then BLF_color)
+void UI_FontThemeColor(int fontid, int colorid);
+
 // clear the openGL ClearColor using the input colorid
 void    UI_ThemeClearColor(int colorid);
 
index 38df7620ed6ec8e444917dfc79d856479efbb72b..76b8f348c9c2556c04d47d573c6ab886a35c3014 100644 (file)
@@ -53,6 +53,8 @@
 
 #include "BIF_gl.h"
 
+#include "BLF_api.h"
+
 #include "UI_interface.h"
 #include "UI_interface_icons.h"
 
@@ -1393,6 +1395,12 @@ void UI_ThemeColorBlendShadeAlpha(int colorid1, int colorid2, float fac, int off
        glColor4ub(r, g, b, a);
 }
 
+void UI_FontThemeColor(int fontid, int colorid)
+{
+       unsigned char color[4];
+       UI_GetThemeColor4ubv(colorid, color);
+       BLF_color4ubv(fontid, color);
+}
 
 /* get individual values, not scaled */
 float UI_GetThemeValuef(int colorid)