Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2021-10-06 02:44:11 +0300
committerCampbell Barton <ideasman42@gmail.com>2021-10-06 02:55:34 +0300
commitfd592538d983bec51e331f1d073c39582d43520f (patch)
tree9e767692b403fd25ba559be64030f832f5fb3ce6 /source/blender
parent26dac33ce18f8a5655883b759d271da4a9b94982 (diff)
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).
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/blenkernel/BKE_vfontdata.h (renamed from source/blender/blenlib/BLI_vfontdata.h)10
-rw-r--r--source/blender/blenkernel/CMakeLists.txt8
-rw-r--r--source/blender/blenkernel/intern/font.c12
-rw-r--r--source/blender/blenkernel/intern/vfontdata_freetype.c (renamed from source/blender/blenlib/intern/freetypefont.c)19
-rw-r--r--source/blender/blenlib/CMakeLists.txt4
5 files changed, 27 insertions, 26 deletions
diff --git a/source/blender/blenlib/BLI_vfontdata.h b/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
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}
)