add visualc solution
parent
fb56fe0397
commit
a30c901173
|
@ -1,2 +1,4 @@
|
||||||
.vscode
|
.vscode
|
||||||
|
.vs
|
||||||
build
|
build
|
||||||
|
x64
|
||||||
|
|
|
@ -9,17 +9,19 @@ Wellspring uses stb_truetype to rasterize and pack fonts quickly.
|
||||||
|
|
||||||
Dependencies
|
Dependencies
|
||||||
------------
|
------------
|
||||||
Wellspring depends on the C runtime, but SDL2 can be optionally depended upon instead if your application prefers it.
|
Wellspring depends on the C runtime, but SDL2 can be optionally depended upon instead if your application prefers it by defining USE_SDL2.
|
||||||
|
|
||||||
Building Wellspring
|
Building Wellspring
|
||||||
-------------------
|
-------------------
|
||||||
For *nix platforms, use Cmake:
|
For *nix platforms, use CMake:
|
||||||
|
|
||||||
$ mkdir build/
|
$ mkdir build/
|
||||||
$ cd build
|
$ cd build
|
||||||
$ cmake ../
|
$ cmake ../
|
||||||
$ make
|
$ make
|
||||||
|
|
||||||
|
For Windows, see the 'visualc/' directory.
|
||||||
|
|
||||||
License
|
License
|
||||||
-------
|
-------
|
||||||
Wellspring is licensed under the zlib license. See LICENSE for details.
|
Wellspring is licensed under the zlib license. See LICENSE for details.
|
||||||
|
|
|
@ -142,47 +142,6 @@ WELLSPRINGAPI void Wellspring_GetBufferData(
|
||||||
WELLSPRINGAPI void Wellspring_DestroyTextBatch(Wellspring_TextBatch *textBatch);
|
WELLSPRINGAPI void Wellspring_DestroyTextBatch(Wellspring_TextBatch *textBatch);
|
||||||
WELLSPRINGAPI void Wellspring_DestroyPacker(Wellspring_Packer *packer);
|
WELLSPRINGAPI void Wellspring_DestroyPacker(Wellspring_Packer *packer);
|
||||||
|
|
||||||
/* Function defines */
|
|
||||||
|
|
||||||
#ifdef USE_SDL2
|
|
||||||
|
|
||||||
#define Wellspring_malloc SDL_malloc
|
|
||||||
#define Wellspring_realloc SDL_realloc
|
|
||||||
#define Wellspring_free SDL_free
|
|
||||||
#define Wellspring_memcpy SDL_memcpy
|
|
||||||
#define Wellspring_memset SDL_memset
|
|
||||||
#define Wellspring_ifloor(x) ((int) SDL_floorf(x))
|
|
||||||
#define Wellspring_iceil(x) ((int) SDL_ceilf(x))
|
|
||||||
#define Wellspring_sqrt SDL_sqrt
|
|
||||||
#define Wellspring_pow SDL_pow
|
|
||||||
#define Wellspring_fmod SDL_fmod
|
|
||||||
#define Wellspring_cos SDL_cos
|
|
||||||
#define Wellspring_acos SDL_acos
|
|
||||||
#define Wellspring_fabs SDL_fabs
|
|
||||||
#define Wellspring_assert SDL_assert
|
|
||||||
#define Wellspring_strlen SDL_strlen
|
|
||||||
#define Wellspring_sort SDL_qsort
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
#define Wellspring_malloc malloc
|
|
||||||
#define Wellspring_realloc realloc
|
|
||||||
#define Wellspring_free free
|
|
||||||
#define Wellspring_memcpy memcpy
|
|
||||||
#define Wellspring_ifloor(x) ((int) floor(x))
|
|
||||||
#define Wellspring_iceil(x) ((int) ceil(x))
|
|
||||||
#define Wellspring_sqrt sqrt
|
|
||||||
#define Wellspring_pow pow
|
|
||||||
#define Wellspring_fmod fmod
|
|
||||||
#define Wellspring_cos cos
|
|
||||||
#define Wellspring_acos acos
|
|
||||||
#define Wellspring_fabs fabs
|
|
||||||
#define Wellspring_assert assert
|
|
||||||
#define Wellspring_strlen strlen
|
|
||||||
#define Wellspring_sort qsort
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif /* __cplusplus */
|
#endif /* __cplusplus */
|
||||||
|
|
|
@ -26,6 +26,57 @@
|
||||||
|
|
||||||
#include "Wellspring.h"
|
#include "Wellspring.h"
|
||||||
|
|
||||||
|
/* Function defines */
|
||||||
|
|
||||||
|
#ifdef USE_SDL2
|
||||||
|
|
||||||
|
#define Wellspring_malloc SDL_malloc
|
||||||
|
#define Wellspring_realloc SDL_realloc
|
||||||
|
#define Wellspring_free SDL_free
|
||||||
|
#define Wellspring_memcpy SDL_memcpy
|
||||||
|
#define Wellspring_memset SDL_memset
|
||||||
|
#define Wellspring_ifloor(x) ((int) SDL_floorf(x))
|
||||||
|
#define Wellspring_iceil(x) ((int) SDL_ceilf(x))
|
||||||
|
#define Wellspring_sqrt SDL_sqrt
|
||||||
|
#define Wellspring_pow SDL_pow
|
||||||
|
#define Wellspring_fmod SDL_fmod
|
||||||
|
#define Wellspring_cos SDL_cos
|
||||||
|
#define Wellspring_acos SDL_acos
|
||||||
|
#define Wellspring_fabs SDL_fabs
|
||||||
|
#define Wellspring_assert SDL_assert
|
||||||
|
#define Wellspring_strlen SDL_strlen
|
||||||
|
#define Wellspring_sort SDL_qsort
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <search.h>
|
||||||
|
#include <math.h>
|
||||||
|
#include <string.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define Wellspring_malloc malloc
|
||||||
|
#define Wellspring_realloc realloc
|
||||||
|
#define Wellspring_free free
|
||||||
|
#define Wellspring_memcpy memcpy
|
||||||
|
#define Wellspring_memset memset
|
||||||
|
#define Wellspring_ifloor(x) ((int) floor(x))
|
||||||
|
#define Wellspring_iceil(x) ((int) ceil(x))
|
||||||
|
#define Wellspring_sqrt sqrt
|
||||||
|
#define Wellspring_pow pow
|
||||||
|
#define Wellspring_fmod fmod
|
||||||
|
#define Wellspring_cos cos
|
||||||
|
#define Wellspring_acos acos
|
||||||
|
#define Wellspring_fabs fabs
|
||||||
|
#define Wellspring_assert assert
|
||||||
|
#define Wellspring_strlen strlen
|
||||||
|
#define Wellspring_sort qsort
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#define STBTT_malloc(x,u) ((void)(u),Wellspring_malloc(x))
|
#define STBTT_malloc(x,u) ((void)(u),Wellspring_malloc(x))
|
||||||
#define STBTT_free(x,u) ((void)(u),Wellspring_free(x))
|
#define STBTT_free(x,u) ((void)(u),Wellspring_free(x))
|
||||||
#define STBTT_memcpy Wellspring_memcpy
|
#define STBTT_memcpy Wellspring_memcpy
|
||||||
|
@ -70,7 +121,7 @@ typedef int32_t stbtt_int32;
|
||||||
typedef struct CharRange
|
typedef struct CharRange
|
||||||
{
|
{
|
||||||
stbtt_packedchar *data;
|
stbtt_packedchar *data;
|
||||||
int32_t firstCodepoint;
|
uint32_t firstCodepoint;
|
||||||
uint32_t charCount;
|
uint32_t charCount;
|
||||||
} CharRange;
|
} CharRange;
|
||||||
|
|
||||||
|
@ -183,14 +234,14 @@ uint32_t Wellspring_PackFontRanges(
|
||||||
) {
|
) {
|
||||||
Packer *myPacker = (Packer*) packer;
|
Packer *myPacker = (Packer*) packer;
|
||||||
Wellspring_FontRange *currentFontRange;
|
Wellspring_FontRange *currentFontRange;
|
||||||
stbtt_pack_range stbPackRanges[numRanges];
|
stbtt_pack_range* stbPackRanges = Wellspring_malloc(sizeof(stbtt_pack_range) * numRanges);
|
||||||
CharRange *currentCharRange;
|
CharRange *currentCharRange;
|
||||||
uint32_t i;
|
uint32_t i;
|
||||||
|
|
||||||
for (i = 0; i < numRanges; i += 1)
|
for (i = 0; i < numRanges; i += 1)
|
||||||
{
|
{
|
||||||
currentFontRange = &ranges[i];
|
currentFontRange = &ranges[i];
|
||||||
stbPackRanges[i].font_size = currentFontRange->fontSize;
|
stbPackRanges[i].font_size = (float) currentFontRange->fontSize;
|
||||||
stbPackRanges[i].first_unicode_codepoint_in_range = currentFontRange->firstCodepoint;
|
stbPackRanges[i].first_unicode_codepoint_in_range = currentFontRange->firstCodepoint;
|
||||||
stbPackRanges[i].array_of_unicode_codepoints = NULL;
|
stbPackRanges[i].array_of_unicode_codepoints = NULL;
|
||||||
stbPackRanges[i].num_chars = currentFontRange->numChars;
|
stbPackRanges[i].num_chars = currentFontRange->numChars;
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 16
|
||||||
|
VisualStudioVersion = 16.0.30717.126
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Wellspring", "Wellspring.vcxproj", "{6DB15344-E000-45CB-A48A-1D72F7D6E945}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|x64 = Debug|x64
|
||||||
|
MinSizeRel|x64 = MinSizeRel|x64
|
||||||
|
Release|x64 = Release|x64
|
||||||
|
RelWithDebInfo|x64 = RelWithDebInfo|x64
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{6DB15344-E000-45CB-A48A-1D72F7D6E945}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{6DB15344-E000-45CB-A48A-1D72F7D6E945}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{6DB15344-E000-45CB-A48A-1D72F7D6E945}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
|
||||||
|
{6DB15344-E000-45CB-A48A-1D72F7D6E945}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
|
||||||
|
{6DB15344-E000-45CB-A48A-1D72F7D6E945}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{6DB15344-E000-45CB-A48A-1D72F7D6E945}.Release|x64.Build.0 = Release|x64
|
||||||
|
{6DB15344-E000-45CB-A48A-1D72F7D6E945}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
|
||||||
|
{6DB15344-E000-45CB-A48A-1D72F7D6E945}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {7B2DB465-0A55-3811-9EF4-A520B47653D2}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
|
@ -0,0 +1,84 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{6DB15344-E000-45CB-A48A-1D72F7D6E945}</ProjectGuid>
|
||||||
|
<RootNamespace>FNA3D</RootNamespace>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<IncludePath>..\lib\;..\..\SDL2\include;..\include;$(IncludePath)</IncludePath>
|
||||||
|
<LibraryPath>..\..\SDL2\lib\$(PlatformShortName);$(LibraryPath)</LibraryPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>USE_SDL2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<AdditionalDependencies>SDL2.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<PreprocessorDefinitions>USE_SDL2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<AdditionalDependencies>SDL2.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\src\Wellspring.c" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\lib\stb_rect_pack.h" />
|
||||||
|
<ClCompile Include="..\lib\stb_truetype.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\include\Wellspring.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
|
@ -0,0 +1,4 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup />
|
||||||
|
</Project>
|
Loading…
Reference in New Issue