[Bf-blender-cvs] [fd592538d98] master: Cleanup: move BLI_vfontdata.h to BKE_vfontdata.h

Campbell Barton noreply at git.blender.org
Wed Oct 6 01:56:18 CEST 2021


Commit: fd592538d983bec51e331f1d073c39582d43520f
Author: Campbell Barton
Date:   Wed Oct 6 10:44:11 2021 +1100
Branches: master
https://developer.blender.org/rBfd592538d983bec51e331f1d073c39582d43520f

Cleanup: move BLI_vfontdata.h to BKE_vfontdata.h

This didn't belong on blenlib since it uses DNA data types
and included a bad-level call to BKE_curve.h.

It also meant linking in blenlib would depend on the freetype library,
noticeable for thumbnail extraction (see D6408).

===================================================================

R081	source/blender/blenlib/BLI_vfontdata.h	source/blender/blenkernel/BKE_vfontdata.h
M	source/blender/blenkernel/CMakeLists.txt
M	source/blender/blenkernel/intern/font.c
R096	source/blender/blenlib/intern/freetypefont.c	source/blender/blenkernel/intern/vfontdata_freetype.c
M	source/blender/blenlib/CMakeLists.txt

===================================================================

diff --git a/source/blender/blenlib/BLI_vfontdata.h b/source/blender/blenkernel/BKE_vfontdata.h
similarity index 81%
rename from source/blender/blenlib/BLI_vfontdata.h
rename to source/blender/blenkernel/BKE_vfontdata.h
index 0bb32ca24b7..b162958f69d 100644
--- a/source/blender/blenlib/BLI_vfontdata.h
+++ b/source/blender/blenkernel/BKE_vfontdata.h
@@ -20,7 +20,7 @@
 #pragma once
 
 /** \file
- * \ingroup bli
+ * \ingroup bke
  * \brief A structure to represent vector fonts,
  *   and to load them from PostScript fonts.
  */
@@ -49,11 +49,11 @@ typedef struct VChar {
   float width;
 } VChar;
 
-VFontData *BLI_vfontdata_from_freetypefont(struct PackedFile *pf);
-VFontData *BLI_vfontdata_copy(const VFontData *vfont_src, const int flag);
+VFontData *BKE_vfontdata_from_freetypefont(struct PackedFile *pf);
+VFontData *BKE_vfontdata_copy(const VFontData *vfont_src, const int flag);
 
-VChar *BLI_vfontchar_from_freetypefont(struct VFont *vfont, unsigned long character);
-VChar *BLI_vfontchar_copy(const VChar *vchar_src, const int flag);
+VChar *BKE_vfontdata_char_from_freetypefont(struct VFont *vfont, unsigned long character);
+VChar *BKE_vfontdata_char_copy(const VChar *vchar_src, const int flag);
 
 #ifdef __cplusplus
 }
diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt
index 37581ad5c00..e727730770c 100644
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@ -60,6 +60,9 @@ set(INC
 
 set(INC_SYS
   ${ZLIB_INCLUDE_DIRS}
+
+  # For `vfontdata_freetype.c`.
+  ${FREETYPE_INCLUDE_DIRS}
 )
 
 set(SRC
@@ -286,6 +289,7 @@ set(SRC
   intern/tracking_util.c
   intern/undo_system.c
   intern/unit.c
+  intern/vfontdata_freetype.c
   intern/volume.cc
   intern/volume_render.cc
   intern/volume_to_mesh.cc
@@ -453,6 +457,7 @@ set(SRC
   BKE_tracking.h
   BKE_undo_system.h
   BKE_unit.h
+  BKE_vfontdata.h
   BKE_volume.h
   BKE_volume_render.h
   BKE_volume_to_mesh.hh
@@ -502,6 +507,9 @@ set(LIB
   bf_rna
   bf_shader_fx
   bf_simulation
+
+  # For `vfontdata_freetype.c`.
+  ${FREETYPE_LIBRARY}
 )
 
 if(WITH_BINRELOC)
diff --git a/source/blender/blenkernel/intern/font.c b/source/blender/blenkernel/intern/font.c
index 0e159418724..d749237971a 100644
--- a/source/blender/blenkernel/intern/font.c
+++ b/source/blender/blenkernel/intern/font.c
@@ -40,7 +40,6 @@
 #include "BLI_string_utf8.h"
 #include "BLI_threads.h"
 #include "BLI_utildefines.h"
-#include "BLI_vfontdata.h"
 
 #include "BLT_translation.h"
 
@@ -57,6 +56,7 @@
 #include "BKE_lib_id.h"
 #include "BKE_main.h"
 #include "BKE_packedFile.h"
+#include "BKE_vfontdata.h"
 
 #include "BLO_read_write.h"
 
@@ -77,7 +77,7 @@ static void vfont_init_data(ID *id)
   if (pf) {
     VFontData *vfd;
 
-    vfd = BLI_vfontdata_from_freetypefont(pf);
+    vfd = BKE_vfontdata_from_freetypefont(pf);
     if (vfd) {
       vfont->data = vfd;
 
@@ -107,7 +107,7 @@ static void vfont_copy_data(Main *UNUSED(bmain),
   }
 
   if (vfont_dst->data) {
-    vfont_dst->data = BLI_vfontdata_copy(vfont_dst->data, flag_subdata);
+    vfont_dst->data = BKE_vfontdata_copy(vfont_dst->data, flag_subdata);
   }
 }
 
@@ -300,7 +300,7 @@ static VFontData *vfont_get_data(VFont *vfont)
     }
 
     if (pf) {
-      vfont->data = BLI_vfontdata_from_freetypefont(pf);
+      vfont->data = BKE_vfontdata_from_freetypefont(pf);
       if (pf != vfont->packedfile) {
         BKE_packedfile_free(pf);
       }
@@ -335,7 +335,7 @@ VFont *BKE_vfont_load(Main *bmain, const char *filepath)
   if (pf) {
     VFontData *vfd;
 
-    vfd = BLI_vfontdata_from_freetypefont(pf);
+    vfd = BKE_vfontdata_from_freetypefont(pf);
     if (vfd) {
       /* If there's a font name, use it for the ID name. */
       vfont = BKE_libblock_alloc(bmain, ID_VF, vfd->name[0] ? vfd->name : filename, 0);
@@ -954,7 +954,7 @@ static bool vfont_to_curve(Object *ob,
          * happen often once all the chars are load.
          */
         if ((che = find_vfont_char(vfd, ascii)) == NULL) {
-          che = BLI_vfontchar_from_freetypefont(vfont, ascii);
+          che = BKE_vfontdata_char_from_freetypefont(vfont, ascii);
         }
         BLI_rw_mutex_unlock(&vfont_rwlock);
       }
diff --git a/source/blender/blenlib/intern/freetypefont.c b/source/blender/blenkernel/intern/vfontdata_freetype.c
similarity index 96%
rename from source/blender/blenlib/intern/freetypefont.c
rename to source/blender/blenkernel/intern/vfontdata_freetype.c
index 34de8fe7f6d..bba6768017d 100644
--- a/source/blender/blenlib/intern/freetypefont.c
+++ b/source/blender/blenkernel/intern/vfontdata_freetype.c
@@ -42,7 +42,9 @@
 #include "BLI_string.h"
 #include "BLI_string_utf8.h"
 #include "BLI_utildefines.h"
-#include "BLI_vfontdata.h"
+
+#include "BKE_curve.h"
+#include "BKE_vfontdata.h"
 
 #include "DNA_curve_types.h"
 #include "DNA_packedFile_types.h"
@@ -402,7 +404,7 @@ static bool check_freetypefont(PackedFile *pf)
  * \retval A new VFontData structure, or NULL
  * if unable to load.
  */
-VFontData *BLI_vfontdata_from_freetypefont(PackedFile *pf)
+VFontData *BKE_vfontdata_from_freetypefont(PackedFile *pf)
 {
   VFontData *vfd = NULL;
 
@@ -425,10 +427,10 @@ VFontData *BLI_vfontdata_from_freetypefont(PackedFile *pf)
 
 static void *vfontdata_copy_characters_value_cb(const void *src)
 {
-  return BLI_vfontchar_copy(src, 0);
+  return BKE_vfontdata_char_copy(src, 0);
 }
 
-VFontData *BLI_vfontdata_copy(const VFontData *vfont_src, const int UNUSED(flag))
+VFontData *BKE_vfontdata_copy(const VFontData *vfont_src, const int UNUSED(flag))
 {
   VFontData *vfont_dst = MEM_dupallocN(vfont_src);
 
@@ -440,7 +442,7 @@ VFontData *BLI_vfontdata_copy(const VFontData *vfont_src, const int UNUSED(flag)
   return vfont_dst;
 }
 
-VChar *BLI_vfontchar_from_freetypefont(VFont *vfont, unsigned long character)
+VChar *BKE_vfontdata_char_from_freetypefont(VFont *vfont, unsigned long character)
 {
   VChar *che = NULL;
 
@@ -464,12 +466,7 @@ VChar *BLI_vfontchar_from_freetypefont(VFont *vfont, unsigned long character)
   return che;
 }
 
-/* Yeah, this is very bad... But why is this in BLI in the first place, since it uses Nurb data?
- * Anyway, do not feel like duplicating whole Nurb copy code here,
- * so unless someone has a better idea... */
-#include "../../blenkernel/BKE_curve.h"
-
-VChar *BLI_vfontchar_copy(const VChar *vchar_src, const int UNUSED(flag))
+VChar *BKE_vfontdata_char_copy(const VChar *vchar_src, const int UNUSED(flag))
 {
   VChar *vchar_dst = MEM_dupallocN(vchar_src);
 
diff --git a/source/blender/blenlib/CMakeLists.txt b/source/blender/blenlib/CMakeLists.txt
index c886732365e..c01052f0111 100644
--- a/source/blender/blenlib/CMakeLists.txt
+++ b/source/blender/blenlib/CMakeLists.txt
@@ -32,7 +32,6 @@ set(INC
 set(INC_SYS
   ${ZLIB_INCLUDE_DIRS}
   ${ZSTD_INCLUDE_DIRS}
-  ${FREETYPE_INCLUDE_DIRS}
   ${GMP_INCLUDE_DIRS}
 )
 
@@ -81,7 +80,6 @@ set(SRC
   intern/filereader_memory.c
   intern/filereader_zstd.c
   intern/fnmatch.c
-  intern/freetypefont.c
   intern/gsqueue.c
   intern/hash_md5.c
   intern/hash_mm2a.c
@@ -318,7 +316,6 @@ set(SRC
   BLI_vector_adaptor.hh
   BLI_vector_set.hh
   BLI_vector_set_slots.hh
-  BLI_vfontdata.h
   BLI_virtual_array.hh
   BLI_virtual_vector_array.hh
   BLI_voronoi_2d.h
@@ -334,7 +331,6 @@ set(LIB
   bf_intern_numaapi
   extern_wcwidth
 
-  ${FREETYPE_LIBRARY}
   ${ZLIB_LIBRARIES}
   ${ZSTD_LIBRARIES}
 )



More information about the Bf-blender-cvs mailing list