initial
This commit is contained in:
parent
c1ab01fb63
commit
acd44c34b9
|
|
@ -1,20 +1,33 @@
|
|||
# TODO : add as library!!
|
||||
|
||||
cmake_minimum_required(VERSION 3.20)
|
||||
|
||||
file(GLOB_RECURSE MSDFGEN_CORE_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/msdfgen "core/*.h" "core/*.hpp")
|
||||
file(GLOB_RECURSE MSDFGEN_CORE_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/msdfgen "core/*.cpp")
|
||||
file(GLOB_RECURSE MSDFGEN_EXT_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/msdfgen "ext/*.h" "ext/*.hpp")
|
||||
file(GLOB_RECURSE MSDFGEN_EXT_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/msdfgen "ext/*.cpp" "lib/*.cpp")
|
||||
file(GLOB_RECURSE MSDFGEN_CORE_HEADERS "${CMAKE_CURRENT_LIST_DIR}/msdfgen/core/*.h" "${CMAKE_CURRENT_LIST_DIR}/msdfgen/core/*.hpp")
|
||||
file(GLOB_RECURSE MSDFGEN_CORE_SOURCES "${CMAKE_CURRENT_LIST_DIR}/msdfgen/core/*.cpp")
|
||||
file(GLOB_RECURSE MSDFGEN_EXT_HEADERS "${CMAKE_CURRENT_LIST_DIR}/msdfgen/ext/*.h" "${CMAKE_CURRENT_LIST_DIR}/msdfgen/ext/*.hpp")
|
||||
file(GLOB_RECURSE MSDFGEN_EXT_SOURCES "${CMAKE_CURRENT_LIST_DIR}/msdfgen/ext/*.cpp" "${CMAKE_CURRENT_LIST_DIR}/msdfgen/lib/*.cpp")
|
||||
|
||||
file(GLOB_RECURSE MSDF_ATLAS_GEN_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "msdf-atlas-gen/*.h" "msdf-atlas-gen/*.hpp")
|
||||
file(GLOB_RECURSE MSDF_ATLAS_GEN_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "msdf-atlas-gen/*.cpp")
|
||||
file(GLOB_RECURSE MSDF_ATLAS_GEN_HEADERS "${CMAKE_CURRENT_LIST_DIR}/msdf-atlas-gen/*.h" "${CMAKE_CURRENT_LIST_DIR}/msdf-atlas-gen/*.hpp")
|
||||
file(GLOB_RECURSE MSDF_ATLAS_GEN_SOURCES "${CMAKE_CURRENT_LIST_DIR}/msdf-atlas-gen/*.cpp")
|
||||
|
||||
message(Files ${MSDFGEN_CORE_HEADERS})
|
||||
|
||||
target_include_directories(${PROJECT_NAME} PUBLIC
|
||||
${CMAKE_CURRENT_LIST_DIR}
|
||||
"${CMAKE_CURRENT_LIST_DIR}/msdfgen"
|
||||
"${CMAKE_CURRENT_LIST_DIR}/msdfgen/include"
|
||||
"${CMAKE_CURRENT_LIST_DIR}/msdfgen/core"
|
||||
"${CMAKE_CURRENT_LIST_DIR}/artery-font-format"
|
||||
)
|
||||
|
||||
target_sources(${PROJECT_NAME} PUBLIC
|
||||
MSDFGEN_CORE_HEADERS
|
||||
MSDFGEN_CORE_SOURCES
|
||||
MSDFGEN_EXT_HEADERS
|
||||
MSDFGEN_EXT_SOURCES
|
||||
MSDF_ATLAS_GEN_HEADERS
|
||||
MSDF_ATLAS_GEN_SOURCES
|
||||
"${CMAKE_CURRENT_LIST_DIR}/msdfgen/msdfgen.h"
|
||||
${MSDFGEN_CORE_HEADERS}
|
||||
${MSDFGEN_CORE_SOURCES}
|
||||
${MSDFGEN_EXT_HEADERS}
|
||||
${MSDFGEN_EXT_SOURCES}
|
||||
${MSDF_ATLAS_GEN_HEADERS}
|
||||
${MSDF_ATLAS_GEN_SOURCES}
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -30,13 +30,16 @@ void ImmediateAtlasGenerator<T, N, GEN_FN, AtlasStorage>::generate(const GlyphGe
|
|||
threadAttributes[i].config.errorCorrection.buffer = errorCorrectionBuffer.data()+i*maxBoxArea;
|
||||
}
|
||||
|
||||
Workload([this, glyphs, &threadAttributes, threadBufferSize](int i, int threadNo) -> bool {
|
||||
// necessary for it to be captured or else weird error
|
||||
auto foo = GEN_FN;
|
||||
|
||||
Workload([this, foo, glyphs, &threadAttributes, threadBufferSize](int i, int threadNo) -> bool {
|
||||
const GlyphGeometry &glyph = glyphs[i];
|
||||
if (!glyph.isWhitespace()) {
|
||||
int l, b, w, h;
|
||||
glyph.getBoxRect(l, b, w, h);
|
||||
msdfgen::BitmapRef<T, N> glyphBitmap(glyphBuffer.data()+threadNo*threadBufferSize, w, h);
|
||||
GEN_FN(glyphBitmap, glyph, threadAttributes[threadNo]);
|
||||
foo(glyphBitmap, glyph, threadAttributes[threadNo]);
|
||||
storage.put(l, b, msdfgen::BitmapConstRef<T, N>(glyphBitmap));
|
||||
}
|
||||
return true;
|
||||
|
|
|
|||
Loading…
Reference in New Issue