mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2024-11-22 06:05:38 +00:00
Merge commit '2c16a78282ae7ea0dd62a90124ba162fb51c0d7a' into lunasvg-update
This commit is contained in:
commit
72aa149d48
2
external/lunasvg/.gitignore
vendored
Normal file
2
external/lunasvg/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
.vscode
|
||||
build/*
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include <limits.h>
|
||||
#include <math.h>
|
||||
#include <float.h>
|
||||
|
||||
#define COLOR_TABLE_SIZE 1024
|
||||
typedef struct {
|
||||
|
@ -243,6 +244,7 @@ static void fetch_radial_gradient(uint32_t* buffer, const radial_gradient_values
|
|||
while(buffer < end)
|
||||
{
|
||||
uint32_t result = 0;
|
||||
det = fabs(det) < DBL_EPSILON ? 0.0 : det;
|
||||
if(det >= 0)
|
||||
{
|
||||
double w = sqrt(det) - b;
|
||||
|
@ -261,7 +263,11 @@ static void fetch_radial_gradient(uint32_t* buffer, const radial_gradient_values
|
|||
{
|
||||
while(buffer < end)
|
||||
{
|
||||
*buffer++ = gradient_pixel(gradient, sqrt(det) - b);
|
||||
det = fabs(det) < DBL_EPSILON ? 0.0 : det;
|
||||
uint32_t result = 0;
|
||||
if (det >= 0)
|
||||
result = gradient_pixel(gradient, sqrt(det) - b);
|
||||
*buffer++ = result;
|
||||
det += delta_det;
|
||||
delta_det += delta_delta_det;
|
||||
b += delta_b;
|
||||
|
|
|
@ -629,10 +629,12 @@ static void ft_stroke_border_export(PVG_FT_StrokeBorder border,
|
|||
PVG_FT_Outline* outline)
|
||||
{
|
||||
/* copy point locations */
|
||||
memcpy(outline->points + outline->n_points, border->points,
|
||||
border->num_points * sizeof(PVG_FT_Vector));
|
||||
if (outline->points != NULL && border->points != NULL)
|
||||
memcpy(outline->points + outline->n_points, border->points,
|
||||
border->num_points * sizeof(PVG_FT_Vector));
|
||||
|
||||
/* copy tags */
|
||||
if (outline->tags)
|
||||
{
|
||||
PVG_FT_UInt count = border->num_points;
|
||||
PVG_FT_Byte* read = border->tags;
|
||||
|
@ -649,6 +651,7 @@ static void ft_stroke_border_export(PVG_FT_StrokeBorder border,
|
|||
}
|
||||
|
||||
/* copy contours */
|
||||
if (outline->contours)
|
||||
{
|
||||
PVG_FT_UInt count = border->num_points;
|
||||
PVG_FT_Byte* tags = border->tags;
|
||||
|
|
10
external/lunasvg/3rdparty/plutovg/plutovg-rle.c
vendored
10
external/lunasvg/3rdparty/plutovg/plutovg-rle.c
vendored
|
@ -21,9 +21,13 @@ static void ft_outline_init(PVG_FT_Outline* outline, plutovg_t* pluto, int point
|
|||
|
||||
PVG_FT_Byte* data = pluto->outline_data;
|
||||
outline->points = (PVG_FT_Vector*)(data);
|
||||
outline->tags = (char*)(data + size_a);
|
||||
outline->contours = (int*)(data + size_a + size_b);
|
||||
outline->contours_flag = (char*)(data + size_a + size_b + size_c);
|
||||
outline->tags = outline->contours_flag = NULL;
|
||||
outline->contours = NULL;
|
||||
if(data){
|
||||
outline->tags = (char*)(data + size_a);
|
||||
outline->contours = (int*)(data + size_a + size_b);
|
||||
outline->contours_flag = (char*)(data + size_a + size_b + size_c);
|
||||
}
|
||||
outline->n_points = 0;
|
||||
outline->n_contours = 0;
|
||||
outline->flags = 0x0;
|
||||
|
|
67
external/lunasvg/CMakeLists.txt
vendored
67
external/lunasvg/CMakeLists.txt
vendored
|
@ -1,10 +1,15 @@
|
|||
cmake_minimum_required(VERSION 3.3)
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
|
||||
project(lunasvg VERSION 2.3.5 LANGUAGES CXX C)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
|
||||
# Default to hidden visibility for symbols
|
||||
set(CMAKE_C_VISIBILITY_PRESET hidden)
|
||||
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
|
||||
set(CMAKE_VISIBILITY_INLINES_HIDDEN 1)
|
||||
|
||||
option(BUILD_SHARED_LIBS "Builds as shared library" OFF)
|
||||
option(LUNASVG_BUILD_EXAMPLES "Builds examples" OFF)
|
||||
|
||||
|
@ -14,25 +19,61 @@ add_subdirectory(include)
|
|||
add_subdirectory(source)
|
||||
add_subdirectory(3rdparty/plutovg)
|
||||
|
||||
if(BUILD_SHARED_LIBS)
|
||||
target_compile_definitions(lunasvg PUBLIC LUNASVG_SHARED)
|
||||
target_compile_definitions(lunasvg PRIVATE LUNASVG_EXPORT)
|
||||
set_target_properties(lunasvg
|
||||
PROPERTIES
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
||||
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
|
||||
)
|
||||
|
||||
add_library(lunasvg::lunasvg ALIAS lunasvg)
|
||||
|
||||
if(NOT BUILD_SHARED_LIBS)
|
||||
target_compile_definitions(lunasvg PUBLIC LUNASVG_STATIC_DEFINE)
|
||||
endif()
|
||||
|
||||
if(LUNASVG_BUILD_EXAMPLES)
|
||||
add_subdirectory(example)
|
||||
endif()
|
||||
|
||||
set(LUNASVG_LIBDIR ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
set(LUNASVG_INCDIR ${CMAKE_INSTALL_PREFIX}/include)
|
||||
#
|
||||
# Installation
|
||||
#
|
||||
include(GNUInstallDirs)
|
||||
install(
|
||||
FILES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/include/lunasvg.h
|
||||
${CMAKE_CURRENT_BINARY_DIR}/include/lunasvg_export.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lunasvg
|
||||
)
|
||||
install(
|
||||
TARGETS lunasvg
|
||||
EXPORT lunasvg-targets
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
)
|
||||
install(
|
||||
EXPORT lunasvg-targets
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/lunasvg NAMESPACE lunasvg:: FILE lunasvgTargets.cmake
|
||||
)
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
configure_package_config_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake/lunasvgConfig.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/lunasvgConfig.cmake
|
||||
INSTALL_DESTINATION
|
||||
${CMAKE_INSTALL_LIBDIR}/cmake/lunasvg
|
||||
)
|
||||
|
||||
write_basic_package_version_file(lunasvgConfigVersion.cmake
|
||||
VERSION ${PROJECT_VERSION}
|
||||
COMPATIBILITY SameMajorVersion
|
||||
)
|
||||
|
||||
install(FILES
|
||||
include/lunasvg.h
|
||||
DESTINATION ${LUNASVG_INCDIR}
|
||||
${CMAKE_CURRENT_BINARY_DIR}/lunasvgConfig.cmake
|
||||
${CMAKE_CURRENT_BINARY_DIR}/lunasvgConfigVersion.cmake
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/lunasvg
|
||||
)
|
||||
|
||||
install(TARGETS lunasvg
|
||||
LIBRARY DESTINATION ${LUNASVG_LIBDIR}
|
||||
ARCHIVE DESTINATION ${LUNASVG_LIBDIR}
|
||||
INCLUDES DESTINATION ${LUNASVG_INCDIR}
|
||||
)
|
||||
export(EXPORT lunasvg-targets FILE ${CMAKE_CURRENT_BINARY_DIR}/lunasvgTargets.cmake NAMESPACE lunasvg::)
|
||||
|
|
3
external/lunasvg/cmake/lunasvgConfig.cmake.in
vendored
Normal file
3
external/lunasvg/cmake/lunasvgConfig.cmake.in
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
@PACKAGE_INIT@
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/lunasvgTargets.cmake")
|
2
external/lunasvg/example/CMakeLists.txt
vendored
2
external/lunasvg/example/CMakeLists.txt
vendored
|
@ -1,4 +1,4 @@
|
|||
cmake_minimum_required(VERSION 3.3)
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
|
||||
|
|
16
external/lunasvg/include/CMakeLists.txt
vendored
16
external/lunasvg/include/CMakeLists.txt
vendored
|
@ -1,4 +1,16 @@
|
|||
# Generate a standard header with export macros
|
||||
include(GenerateExportHeader)
|
||||
generate_export_header(lunasvg)
|
||||
|
||||
target_include_directories(lunasvg
|
||||
PUBLIC
|
||||
"${CMAKE_CURRENT_LIST_DIR}"
|
||||
# When building a project that uses the lunasvg library,
|
||||
# we need to look in the installed include directory
|
||||
PUBLIC
|
||||
$<INSTALL_INTERFACE:include>
|
||||
|
||||
# When building the lunasvg library we need to look in the
|
||||
# build dir for the lunasvg_export.h header and in the source
|
||||
# dir for other headers
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
|
||||
)
|
||||
|
|
12
external/lunasvg/include/lunasvg.h
vendored
12
external/lunasvg/include/lunasvg.h
vendored
|
@ -25,16 +25,10 @@
|
|||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <cstdint>
|
||||
|
||||
#if defined(_MSC_VER) && defined(LUNASVG_SHARED)
|
||||
#ifdef LUNASVG_EXPORT
|
||||
#define LUNASVG_API __declspec(dllexport)
|
||||
#else
|
||||
#define LUNASVG_API __declspec(dllimport)
|
||||
#endif
|
||||
#else
|
||||
#define LUNASVG_API
|
||||
#endif
|
||||
#include <lunasvg_export.h>
|
||||
#define LUNASVG_API LUNASVG_EXPORT
|
||||
|
||||
namespace lunasvg {
|
||||
|
||||
|
|
1
external/lunasvg/source/property.h
vendored
1
external/lunasvg/source/property.h
vendored
|
@ -4,6 +4,7 @@
|
|||
#include <vector>
|
||||
#include <string>
|
||||
#include <array>
|
||||
#include <cstdint>
|
||||
|
||||
namespace lunasvg {
|
||||
|
||||
|
|
Loading…
Reference in a new issue