├── Preview.gif
├── .gitmodules
├── LVGL.Windows.Desktop
├── LVGL.ico
├── LVGL.Windows.Desktop.rc
├── Mile.Project.Properties.h
├── resource.h
├── LVGL.Windows.Desktop.vcxproj.filters
├── LVGL.Windows.Desktop.manifest
├── LVGL.Windows.Desktop.vcxproj
└── LVGL.Windows.Desktop.cpp
├── LVGL.Windows
├── LVGL.Resource.FontAwesome5Free.ttf
├── LVGL.Resource.FontAwesome5FreeLVGL.ttf
├── LVGL.Windows.props
├── LVGL.Resource.FontAwesome5Free.h
├── LVGL.Resource.FontAwesome5FreeLVGL.h
├── LVGL.Windows.Font.h
├── LVGL.Windows.vcxproj.filters
├── LVGL.Windows.vcxproj
├── LVGL.Windows.Font.cpp
├── lv_conf.h
└── LVGL.Portable.vcxitems
├── Mile.Project.Windows.Legacy
├── Mile.Project.Version.rc
├── Mile.Project.Manifest.rc
├── Mile.Project.Platform.ARM.props
├── Mile.Project.Platform.x64.props
├── Mile.Project.Platform.ARM64.props
├── Mile.Project.Platform.Win32.props
├── Mile.Project.Cpp.targets
├── Mile.Project.Version.h
└── Mile.Project.Cpp.props
├── .github
├── stale.yml
├── auto-comment.yml
└── workflows
│ └── CI.yml
├── BuildAllTargets.cmd
├── LICENSE
├── .editorconfig
├── BuildAllTargets.proj
├── Directory.Build.props
├── LVGL.Windows.sln
├── README.md
└── .gitignore
/Preview.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lvgl/lv_port_windows/HEAD/Preview.gif
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "LVGL.Windows/lvgl"]
2 | path = LVGL.Windows/lvgl
3 | url = https://github.com/lvgl/lvgl
4 |
--------------------------------------------------------------------------------
/LVGL.Windows.Desktop/LVGL.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lvgl/lv_port_windows/HEAD/LVGL.Windows.Desktop/LVGL.ico
--------------------------------------------------------------------------------
/LVGL.Windows.Desktop/LVGL.Windows.Desktop.rc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lvgl/lv_port_windows/HEAD/LVGL.Windows.Desktop/LVGL.Windows.Desktop.rc
--------------------------------------------------------------------------------
/LVGL.Windows.Desktop/Mile.Project.Properties.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lvgl/lv_port_windows/HEAD/LVGL.Windows.Desktop/Mile.Project.Properties.h
--------------------------------------------------------------------------------
/LVGL.Windows/LVGL.Resource.FontAwesome5Free.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lvgl/lv_port_windows/HEAD/LVGL.Windows/LVGL.Resource.FontAwesome5Free.ttf
--------------------------------------------------------------------------------
/LVGL.Windows/LVGL.Resource.FontAwesome5FreeLVGL.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lvgl/lv_port_windows/HEAD/LVGL.Windows/LVGL.Resource.FontAwesome5FreeLVGL.ttf
--------------------------------------------------------------------------------
/Mile.Project.Windows.Legacy/Mile.Project.Version.rc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lvgl/lv_port_windows/HEAD/Mile.Project.Windows.Legacy/Mile.Project.Version.rc
--------------------------------------------------------------------------------
/Mile.Project.Windows.Legacy/Mile.Project.Manifest.rc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lvgl/lv_port_windows/HEAD/Mile.Project.Windows.Legacy/Mile.Project.Manifest.rc
--------------------------------------------------------------------------------
/LVGL.Windows.Desktop/resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Visual C++ 生成的包含文件。
3 | // 供 LVGL.Windows.Desktop.rc 使用
4 | //
5 | #define IDI_LVGL 101
6 |
7 | // Next default values for new objects
8 | //
9 | #ifdef APSTUDIO_INVOKED
10 | #ifndef APSTUDIO_READONLY_SYMBOLS
11 | #define _APS_NEXT_RESOURCE_VALUE 102
12 | #define _APS_NEXT_COMMAND_VALUE 40001
13 | #define _APS_NEXT_CONTROL_VALUE 1001
14 | #define _APS_NEXT_SYMED_VALUE 101
15 | #endif
16 | #endif
17 |
--------------------------------------------------------------------------------
/LVGL.Windows/LVGL.Windows.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)lvgl\;$(IncludePath)
5 |
6 |
7 |
8 | LV_LVGL_H_INCLUDE_SIMPLE;%(PreprocessorDefinitions)
9 |
10 |
11 | $(OutDir)LVGL.Windows.lib;%(AdditionalDependencies)
12 |
13 |
14 |
--------------------------------------------------------------------------------
/LVGL.Windows.Desktop/LVGL.Windows.Desktop.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/.github/stale.yml:
--------------------------------------------------------------------------------
1 | # Number of days of inactivity before an issue becomes stale
2 | daysUntilStale: 21
3 | # Number of days of inactivity before a stale issue is closed
4 | daysUntilClose: 7
5 | # Issues with these labels will never be considered stale
6 | exemptLabels:
7 | - architecture
8 | - pinned
9 | # Label to use when marking an issue as stale
10 | staleLabel: stale
11 | # Comment to post when marking an issue as stale. Set to `false` to disable
12 | markComment: >
13 | This issue or pull request has been automatically marked as stale because it has not had
14 | recent activity. It will be closed if no further activity occurs. Thank you
15 | for your contributions.
16 | # Comment to post when closing a stale issue. Set to `false` to disable
17 | closeComment: false
18 |
--------------------------------------------------------------------------------
/.github/auto-comment.yml:
--------------------------------------------------------------------------------
1 | # Comment to a new issue.
2 | pullRequestOpened: |
3 | Thank you for raising your pull request.
4 |
5 | To ensure that all licensing criteria is met all repositories of the LVGL project apply a process called DCO (Developer's Certificate of Origin).
6 |
7 | The text of DCO can be read here: https://developercertificate.org/
8 | For a more detailed description see the [Documentation](https://docs.lvgl.io/latest/en/html/contributing/index.html#developer-certification-of-origin-dco) site.
9 |
10 | By contributing to any repositories of the LVGL project you state that your contribution corresponds with the DCO.
11 |
12 | No further action is required if your contribution fulfills the DCO. If you are not sure about it feel free to ask us in a comment.
13 |
--------------------------------------------------------------------------------
/Mile.Project.Windows.Legacy/Mile.Project.Platform.ARM.props:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 | Debug
15 | ARM
16 |
17 |
18 | Release
19 | ARM
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Mile.Project.Windows.Legacy/Mile.Project.Platform.x64.props:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 | Debug
15 | x64
16 |
17 |
18 | Release
19 | x64
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Mile.Project.Windows.Legacy/Mile.Project.Platform.ARM64.props:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 | Debug
15 | ARM64
16 |
17 |
18 | Release
19 | ARM64
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Mile.Project.Windows.Legacy/Mile.Project.Platform.Win32.props:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
14 | Debug
15 | Win32
16 |
17 |
18 | Release
19 | Win32
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/.github/workflows/CI.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 |
3 | on:
4 | push:
5 | paths-ignore:
6 | - '.github/*'
7 | - '*.md'
8 | pull_request:
9 | paths-ignore:
10 | - '.github/*'
11 | - '*.md'
12 |
13 | jobs:
14 | build:
15 | runs-on: windows-latest
16 | env:
17 | POWERSHELL_TELEMETRY_OPTOUT: 1
18 | steps:
19 | - uses: actions/checkout@v2
20 | with:
21 | submodules: 'recursive'
22 | - uses: microsoft/setup-msbuild@v1
23 | - name: Clear local NuGet cache (workaround for failed restores on windows-latest)
24 | run: dotnet nuget locals all --clear
25 | - name: Build
26 | run: msbuild /m BuildAllTargets.proj
27 | - name: Prepare artifacts
28 | run: rm Output\* -vb -Recurse -Force -Include *.exp, *.idb, *.ilk, *.iobj, *.ipdb, *.lastbuildstate, *.lib, *.obj, *.res, *.tlog
29 | - uses: actions/upload-artifact@v2
30 | with:
31 | name: LVGL_CI_Build
32 | path: Output
33 |
--------------------------------------------------------------------------------
/LVGL.Windows/LVGL.Resource.FontAwesome5Free.h:
--------------------------------------------------------------------------------
1 | /*
2 | * PROJECT: LVGL ported to Windows
3 | * FILE: LVGL.Resource.FontAwesome5Free.h
4 | * PURPOSE: Definition for embedded resource - Font Awesome 5 Free
5 | *
6 | * LICENSE: The MIT License
7 | *
8 | * DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
9 | */
10 |
11 | #ifndef LVGL_RESOURCE_FONT_AWESOME_5_FREE
12 | #define LVGL_RESOURCE_FONT_AWESOME_5_FREE
13 |
14 | #include
15 | #include
16 |
17 | #ifndef EXTERN_C
18 | #ifdef __cplusplus
19 | #define EXTERN_C extern "C"
20 | #else
21 | #define EXTERN_C extern
22 | #endif
23 | #endif // !EXTERN_C
24 |
25 | /**
26 | * @brief The resource of Font Awesome 5 Free font.
27 | */
28 | EXTERN_C const uint8_t* LvglFontAwesome5FreeFontResource;
29 |
30 | /**
31 | * @brief The resource size of Font Awesome 5 Free font.
32 | */
33 | EXTERN_C const size_t LvglFontAwesome5FreeFontResourceSize;
34 |
35 | /**
36 | * @brief The name of Font Awesome 5 Free font.
37 | */
38 | EXTERN_C const wchar_t* LvglFontAwesome5FreeFontName;
39 |
40 | #endif // !LVGL_RESOURCE_FONT_AWESOME_5_FREE
41 |
--------------------------------------------------------------------------------
/BuildAllTargets.cmd:
--------------------------------------------------------------------------------
1 | @rem
2 | @rem PROJECT: Mouri Internal Library Essentials
3 | @rem FILE: BuildAllTargets.cmd
4 | @rem PURPOSE: Build all targets script for Visual Studio C++ Project
5 | @rem
6 | @rem LICENSE: The MIT License
7 | @rem
8 | @rem DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
9 | @rem
10 |
11 | @setlocal
12 | @echo off
13 |
14 | rem Change to the current folder.
15 | cd "%~dp0"
16 |
17 | rem Remove the output folder for a fresh compile.
18 | rd /s /q Output
19 |
20 | set VisualStudioInstallerFolder="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer"
21 | if %PROCESSOR_ARCHITECTURE%==x86 set VisualStudioInstallerFolder="%ProgramFiles%\Microsoft Visual Studio\Installer"
22 |
23 | pushd %VisualStudioInstallerFolder%
24 | for /f "usebackq tokens=*" %%i in (`vswhere -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do (
25 | set VisualStudioInstallDir=%%i
26 | )
27 | popd
28 |
29 | call "%VisualStudioInstallDir%\VC\Auxiliary\Build\vcvarsall.bat" x86
30 |
31 | rem Build all targets
32 | MSBuild -m BuildAllTargets.proj
33 |
34 | @endlocal
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 LVGL
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | ##
2 | ## PROJECT: Mouri Internal Library Essentials
3 | ## FILE: .editorconfig
4 | ## PURPOSE: The root .editorconfig file for C++ Project
5 | ##
6 | ## LICENSE: The MIT License
7 | ##
8 | ## DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
9 | ##
10 |
11 | root = true
12 |
13 | [*]
14 | charset = utf-8-bom
15 | end_of_line = crlf
16 |
17 | [*.md]
18 | insert_final_newline = true
19 |
20 | [*.{c,c++,cc,cpp,cxx,h,h++,hh,hpp,hxx,idl,inl,ipp,tlh,tli}]
21 | indent_style = space
22 | indent_size = 4
23 | insert_final_newline = true
24 | trim_trailing_whitespace = true
25 | vc_generate_documentation_comments = doxygen_slash_star
26 |
27 | [*.{js,json,xml,toml,xaml}]
28 | indent_style = space
29 | indent_size = 2
30 | insert_final_newline = true
31 | trim_trailing_whitespace = true
32 |
33 | [*.rc]
34 | charset = utf-16le
35 |
36 | [Mile.Project.Properties.Template.h]
37 | charset = utf-16le
38 |
39 | [Mile.Project.Properties.h]
40 | charset = utf-16le
41 |
42 | [*.bat]
43 | charset = utf-8
44 | insert_final_newline = true
45 |
46 | [*.sh]
47 | charset = utf-8
48 | end_of_line = lf
49 | insert_final_newline = true
50 |
--------------------------------------------------------------------------------
/LVGL.Windows/LVGL.Resource.FontAwesome5FreeLVGL.h:
--------------------------------------------------------------------------------
1 | /*
2 | * PROJECT: LVGL ported to Windows
3 | * FILE: LVGL.Resource.FontAwesome5FreeLVGL.h
4 | * PURPOSE: Definition for embedded resource - Font Awesome 5 Free LVGL
5 | *
6 | * LICENSE: The MIT License
7 | *
8 | * DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
9 | */
10 |
11 | #ifndef LVGL_RESOURCE_FONT_AWESOME_5_FREE_LVGL
12 | #define LVGL_RESOURCE_FONT_AWESOME_5_FREE_LVGL
13 |
14 | #include
15 | #include
16 |
17 | #ifndef EXTERN_C
18 | #ifdef __cplusplus
19 | #define EXTERN_C extern "C"
20 | #else
21 | #define EXTERN_C extern
22 | #endif
23 | #endif // !EXTERN_C
24 |
25 | /**
26 | * @brief The resource of Font Awesome 5 Free LVGL font.
27 | */
28 | EXTERN_C const uint8_t* LvglFontAwesome5FreeLvglFontResource;
29 |
30 | /**
31 | * @brief The resource size of Font Awesome 5 Free LVGL font.
32 | */
33 | EXTERN_C const size_t LvglFontAwesome5FreeLvglFontResourceSize;
34 |
35 | /**
36 | * @brief The name of Font Awesome 5 Free LVGL font.
37 | */
38 | EXTERN_C const wchar_t* LvglFontAwesome5FreeLvglFontName;
39 |
40 | #endif // !LVGL_RESOURCE_FONT_AWESOME_5_FREE_LVGL
41 |
--------------------------------------------------------------------------------
/LVGL.Windows.Desktop/LVGL.Windows.Desktop.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
12 |
13 |
14 |
15 |
16 | True/PM
17 | PerMonitorV2, PerMonitor
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/Mile.Project.Windows.Legacy/Mile.Project.Cpp.targets:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
17 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/LVGL.Windows/LVGL.Windows.Font.h:
--------------------------------------------------------------------------------
1 | /*
2 | * PROJECT: LVGL ported to Windows
3 | * FILE: LVGL.Windows.Font.h
4 | * PURPOSE: Definition for Windows LVGL font utility functions
5 | *
6 | * LICENSE: The MIT License
7 | *
8 | * DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
9 | */
10 |
11 | #ifndef LVGL_WINDOWS_FONT
12 | #define LVGL_WINDOWS_FONT
13 |
14 | #include
15 |
16 | #if _MSC_VER >= 1200
17 | // Disable compilation warnings.
18 | #pragma warning(push)
19 | // nonstandard extension used : bit field types other than int
20 | #pragma warning(disable:4214)
21 | // 'conversion' conversion from 'type1' to 'type2', possible loss of data
22 | #pragma warning(disable:4244)
23 | #endif
24 |
25 | #include "lvgl/lvgl.h"
26 |
27 | #if _MSC_VER >= 1200
28 | // Restore compilation warnings.
29 | #pragma warning(pop)
30 | #endif
31 |
32 | #ifndef EXTERN_C
33 | #ifdef __cplusplus
34 | #define EXTERN_C extern "C"
35 | #else
36 | #define EXTERN_C extern
37 | #endif
38 | #endif // !EXTERN_C
39 |
40 | /**
41 | * @brief Default font for LVGL default theme.
42 | */
43 |
44 | extern lv_font_t LvglDefaultFont;
45 |
46 | /**
47 | * @brief Initialize the Windows GDI font engine.
48 | * @param FontName The default font name.
49 | */
50 | EXTERN_C void WINAPI LvglWindowsGdiFontInitialize(
51 | _In_opt_ LPCWSTR FontName);
52 |
53 | /**
54 | * @brief Creates a LVGL font object.
55 | * @param FontObject The LVGL font object.
56 | * @param FontSize The font size.
57 | * @param FontName The font name.
58 | * @return If succeed, return TRUE, otherwise return FALSE.
59 | */
60 | EXTERN_C BOOL WINAPI LvglWindowsGdiFontCreateFont(
61 | _Out_ lv_font_t* FontObject,
62 | _In_ int FontSize,
63 | _In_opt_ LPCWSTR FontName);
64 |
65 | #endif // !LVGL_WINDOWS_SYMBOL_FONT
66 |
--------------------------------------------------------------------------------
/LVGL.Windows.Desktop/LVGL.Windows.Desktop.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | {3CA6E070-4AC1-475E-BB17-CF29AE4806DF}
8 | LVGL
9 | WindowsApplication
10 | LVGL.Windows.Desktop.manifest
11 | true
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | /utf-8 %(AdditionalOptions)
20 | _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
21 | MinSpace
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/LVGL.Windows/LVGL.Windows.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | LVGL.Resource.FontAwesome5Free
8 |
9 |
10 | LVGL.Resource.FontAwesome5FreeLVGL
11 |
12 |
13 | LVGL.Windows.Font
14 |
15 |
16 |
17 |
18 | LVGL.Resource.FontAwesome5Free
19 |
20 |
21 | LVGL.Resource.FontAwesome5FreeLVGL
22 |
23 |
24 | LVGL.Windows.Font
25 |
26 |
27 |
28 |
29 | {4fe19ff6-75e3-4093-9d85-9fc02a92a9fe}
30 |
31 |
32 | {81011523-6013-4c65-b43e-6b3dac1ef893}
33 |
34 |
35 | {20a6a3c2-16d9-4766-8d6b-246666ef17b9}
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 | LVGL.Resource.FontAwesome5Free
44 |
45 |
46 | LVGL.Resource.FontAwesome5FreeLVGL
47 |
48 |
49 |
--------------------------------------------------------------------------------
/LVGL.Windows/LVGL.Windows.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | {AAE3B2DC-AEFC-49B0-89F9-9675CE3A0EAA}
8 | LVGL.Windows
9 | StaticLibrary
10 | true
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | Level3
19 | false
20 | /utf-8 %(AdditionalOptions)
21 | _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
22 | MinSpace
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/BuildAllTargets.proj:
--------------------------------------------------------------------------------
1 |
2 |
11 |
14 |
15 | $(MSBuildThisFileDirectory)*.sln
16 |
17 |
18 |
19 | Configuration=Debug;Platform=x86
20 |
21 |
22 | Configuration=Release;Platform=x86
23 |
24 |
25 | Configuration=Debug;Platform=x64
26 |
27 |
28 | Configuration=Release;Platform=x64
29 |
30 |
31 | Configuration=Debug;Platform=ARM64
32 |
33 |
34 | Configuration=Release;Platform=ARM64
35 |
36 |
37 |
38 |
43 |
44 |
45 |
51 |
52 |
53 |
59 |
60 |
--------------------------------------------------------------------------------
/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 | $(MSBuildThisFileDirectory)Output\
14 | $(MileProjectOutputPath)Binaries\
15 | $(MileProjectOutputPath)Objects\
16 | False
17 | $(MileProjectObjectsPath)$(Configuration)\$(MSBuildProjectName)\obj\
18 | $(MileProjectBinariesPath)AppPackages\$(ProjectName)\
19 |
20 |
21 | $(MileProjectBinariesPath)$(Configuration)\$(Platform)\
22 | $(MileProjectObjectsPath)$(Configuration)\$(MSBuildProjectName)\$(Platform)\
23 | $(IntDir)Generated Files\
24 |
25 |
26 | $(MileProjectBinariesPath)$(Configuration)\$(MSBuildProjectName)\$(Platform)\
27 | $(MileProjectObjectsPath)$(Configuration)\$(MSBuildProjectName)\
28 | $(IntermediateOutputPath)
29 |
30 |
31 |
32 |
33 |
34 |
35 | $(AssetTargetFallback);native;uap$(TargetPlatformVersion);
36 |
37 | native,Version=v0.0
38 | native,Version=v0.0
39 | .NETCore,Version=v5.0
40 | .NETCore,Version=v5.0
41 | win;win-x86;win-x64;win-arm;win-arm64;win10-x86;win10-x64;win10-arm;win10-arm64
42 |
43 |
--------------------------------------------------------------------------------
/LVGL.Windows.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 17
4 | VisualStudioVersion = 17.2.32505.173
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LVGL.Windows", "LVGL.Windows\LVGL.Windows.vcxproj", "{AAE3B2DC-AEFC-49B0-89F9-9675CE3A0EAA}"
7 | EndProject
8 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LVGL.Windows.Desktop", "LVGL.Windows.Desktop\LVGL.Windows.Desktop.vcxproj", "{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}"
9 | ProjectSection(ProjectDependencies) = postProject
10 | {AAE3B2DC-AEFC-49B0-89F9-9675CE3A0EAA} = {AAE3B2DC-AEFC-49B0-89F9-9675CE3A0EAA}
11 | EndProjectSection
12 | EndProject
13 | Global
14 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
15 | Debug|ARM64 = Debug|ARM64
16 | Debug|x64 = Debug|x64
17 | Debug|x86 = Debug|x86
18 | Release|ARM64 = Release|ARM64
19 | Release|x64 = Release|x64
20 | Release|x86 = Release|x86
21 | EndGlobalSection
22 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
23 | {AAE3B2DC-AEFC-49B0-89F9-9675CE3A0EAA}.Debug|ARM64.ActiveCfg = Debug|ARM64
24 | {AAE3B2DC-AEFC-49B0-89F9-9675CE3A0EAA}.Debug|ARM64.Build.0 = Debug|ARM64
25 | {AAE3B2DC-AEFC-49B0-89F9-9675CE3A0EAA}.Debug|x64.ActiveCfg = Debug|x64
26 | {AAE3B2DC-AEFC-49B0-89F9-9675CE3A0EAA}.Debug|x64.Build.0 = Debug|x64
27 | {AAE3B2DC-AEFC-49B0-89F9-9675CE3A0EAA}.Debug|x86.ActiveCfg = Debug|Win32
28 | {AAE3B2DC-AEFC-49B0-89F9-9675CE3A0EAA}.Debug|x86.Build.0 = Debug|Win32
29 | {AAE3B2DC-AEFC-49B0-89F9-9675CE3A0EAA}.Release|ARM64.ActiveCfg = Release|ARM64
30 | {AAE3B2DC-AEFC-49B0-89F9-9675CE3A0EAA}.Release|ARM64.Build.0 = Release|ARM64
31 | {AAE3B2DC-AEFC-49B0-89F9-9675CE3A0EAA}.Release|x64.ActiveCfg = Release|x64
32 | {AAE3B2DC-AEFC-49B0-89F9-9675CE3A0EAA}.Release|x64.Build.0 = Release|x64
33 | {AAE3B2DC-AEFC-49B0-89F9-9675CE3A0EAA}.Release|x86.ActiveCfg = Release|Win32
34 | {AAE3B2DC-AEFC-49B0-89F9-9675CE3A0EAA}.Release|x86.Build.0 = Release|Win32
35 | {3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Debug|ARM64.ActiveCfg = Debug|ARM64
36 | {3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Debug|ARM64.Build.0 = Debug|ARM64
37 | {3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Debug|x64.ActiveCfg = Debug|x64
38 | {3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Debug|x64.Build.0 = Debug|x64
39 | {3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Debug|x86.ActiveCfg = Debug|Win32
40 | {3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Debug|x86.Build.0 = Debug|Win32
41 | {3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Release|ARM64.ActiveCfg = Release|ARM64
42 | {3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Release|ARM64.Build.0 = Release|ARM64
43 | {3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Release|x64.ActiveCfg = Release|x64
44 | {3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Release|x64.Build.0 = Release|x64
45 | {3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Release|x86.ActiveCfg = Release|Win32
46 | {3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Release|x86.Build.0 = Release|Win32
47 | EndGlobalSection
48 | GlobalSection(SolutionProperties) = preSolution
49 | HideSolutionNode = FALSE
50 | EndGlobalSection
51 | GlobalSection(ExtensibilityGlobals) = postSolution
52 | SolutionGuid = {70FFD65D-3759-4E50-A636-9CDF84DAD626}
53 | EndGlobalSection
54 | EndGlobal
55 |
--------------------------------------------------------------------------------
/Mile.Project.Windows.Legacy/Mile.Project.Version.h:
--------------------------------------------------------------------------------
1 | /*
2 | * PROJECT: Mouri Internal Library Essentials
3 | * FILE: Mile.Project.Version.h
4 | * PURPOSE: Version Definition for Mile.Project
5 | *
6 | * LICENSE: The MIT License
7 | *
8 | * DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
9 | */
10 |
11 | #ifndef MILE_PROJECT_VERSION
12 | #define MILE_PROJECT_VERSION
13 |
14 | #ifndef MILE_PROJECT_MACRO_TO_STRING
15 | #define _MILE_PROJECT_MACRO_TO_STRING(arg) L#arg
16 | #define MILE_PROJECT_MACRO_TO_STRING(arg) _MILE_PROJECT_MACRO_TO_STRING(arg)
17 | #endif
18 |
19 | #ifndef MILE_PROJECT_MACRO_TO_UTF8_STRING
20 | #define _MILE_PROJECT_MACRO_TO_UTF8_STRING(arg) #arg
21 | #define MILE_PROJECT_MACRO_TO_UTF8_STRING(arg) \
22 | _MILE_PROJECT_MACRO_TO_UTF8_STRING(arg)
23 | #endif
24 |
25 | #ifndef MILE_PROJECT_DEFINE_COMMA_VERSION
26 | #define MILE_PROJECT_DEFINE_COMMA_VERSION(MAJOR,MINOR,BUILD,REVISION) \
27 | MAJOR,MINOR,BUILD,REVISION
28 | #endif
29 |
30 | #ifndef MILE_PROJECT_DEFINE_DOT_VERSION
31 | #define MILE_PROJECT_DEFINE_DOT_VERSION(MAJOR,MINOR,BUILD,REVISION) \
32 | MAJOR.MINOR.BUILD.REVISION
33 | #endif
34 |
35 | #ifndef MILE_PROJECT_COMMA_VERSION
36 | #define MILE_PROJECT_COMMA_VERSION \
37 | MILE_PROJECT_DEFINE_COMMA_VERSION( \
38 | MILE_PROJECT_VERSION_MAJOR, \
39 | MILE_PROJECT_VERSION_MINOR, \
40 | MILE_PROJECT_VERSION_BUILD, \
41 | MILE_PROJECT_VERSION_REVISION)
42 | #endif
43 |
44 | #ifndef MILE_PROJECT_DOT_VERSION
45 | #define MILE_PROJECT_DOT_VERSION \
46 | MILE_PROJECT_DEFINE_DOT_VERSION( \
47 | MILE_PROJECT_VERSION_MAJOR, \
48 | MILE_PROJECT_VERSION_MINOR, \
49 | MILE_PROJECT_VERSION_BUILD, \
50 | MILE_PROJECT_VERSION_REVISION)
51 | #endif
52 |
53 | #ifndef MILE_PROJECT_COMMA_VERSION_STRING
54 | #define MILE_PROJECT_COMMA_VERSION_STRING \
55 | MILE_PROJECT_MACRO_TO_STRING(MILE_PROJECT_COMMA_VERSION)
56 | #endif
57 |
58 | #ifndef MILE_PROJECT_DOT_VERSION_STRING
59 | #define MILE_PROJECT_DOT_VERSION_STRING \
60 | MILE_PROJECT_MACRO_TO_STRING(MILE_PROJECT_DOT_VERSION)
61 | #endif
62 |
63 | #ifndef MILE_PROJECT_COMMA_VERSION_UTF8_STRING
64 | #define MILE_PROJECT_COMMA_VERSION_UTF8_STRING \
65 | MILE_PROJECT_MACRO_TO_UTF8_STRING(MILE_PROJECT_COMMA_VERSION)
66 | #endif
67 |
68 | #ifndef MILE_PROJECT_DOT_VERSION_UTF8_STRING
69 | #define MILE_PROJECT_DOT_VERSION_UTF8_STRING \
70 | MILE_PROJECT_MACRO_TO_UTF8_STRING(MILE_PROJECT_DOT_VERSION)
71 | #endif
72 |
73 | #ifndef MILE_PROJECT_DEFINE_SIMPLE_VERSION
74 | #define MILE_PROJECT_DEFINE_SIMPLE_VERSION(MAJOR,MINOR) \
75 | MAJOR.MINOR
76 | #endif
77 |
78 | #ifndef MILE_PROJECT_SIMPLE_VERSION
79 | #define MILE_PROJECT_SIMPLE_VERSION \
80 | MILE_PROJECT_DEFINE_SIMPLE_VERSION( \
81 | MILE_PROJECT_VERSION_MAJOR, \
82 | MILE_PROJECT_VERSION_MINOR)
83 | #endif
84 |
85 | #ifndef MILE_PROJECT_SIMPLE_VERSION_STRING
86 | #define MILE_PROJECT_SIMPLE_VERSION_STRING \
87 | MILE_PROJECT_MACRO_TO_STRING(MILE_PROJECT_SIMPLE_VERSION)
88 | #endif
89 |
90 | #ifdef MILE_PROJECT_VERSION_TAG
91 | #define MILE_PROJECT_VERSION_TAG_STRING L" " MILE_PROJECT_VERSION_TAG
92 | #else
93 | #define MILE_PROJECT_VERSION_TAG_STRING
94 | #endif
95 |
96 | #ifndef MILE_PROJECT_VERSION_STRING
97 | #define MILE_PROJECT_VERSION_STRING \
98 | MILE_PROJECT_SIMPLE_VERSION_STRING \
99 | MILE_PROJECT_VERSION_TAG_STRING
100 | #endif
101 |
102 | #ifndef MILE_PROJECT_SIMPLE_VERSION_UTF8_STRING
103 | #define MILE_PROJECT_SIMPLE_VERSION_UTF8_STRING \
104 | MILE_PROJECT_MACRO_TO_UTF8_STRING(MILE_PROJECT_SIMPLE_VERSION)
105 | #endif
106 |
107 | #ifdef MILE_PROJECT_VERSION_TAG
108 | #define MILE_PROJECT_VERSION_TAG_UTF8_STRING " " MILE_PROJECT_VERSION_TAG
109 | #else
110 | #define MILE_PROJECT_VERSION_TAG_UTF8_STRING
111 | #endif
112 |
113 | #ifndef MILE_PROJECT_VERSION_UTF8_STRING
114 | #define MILE_PROJECT_VERSION_UTF8_STRING \
115 | MILE_PROJECT_SIMPLE_VERSION_UTF8_STRING \
116 | MILE_PROJECT_VERSION_TAG_UTF8_STRING
117 | #endif
118 |
119 | #endif
120 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # LVGL ported to Windows
2 |
3 | **Warning**
4 |
5 | **This repository is deprecated due to all implementations had been migrated.**
6 |
7 | **Please go to https://github.com/lvgl/lv_port_pc_visual_studio.**
8 |
9 | 
10 |
11 | ## Introduction
12 |
13 | This is a pre-configured Visual Studio project to try LVGL on a Windows PC. The
14 | project only depend on Win32 API, C Runtime and C++ STL, so you can compile it
15 | without any extra dependencies.
16 |
17 | The project is currently maintained using Visual Studio 2019. It may well work
18 | without modification in Visual Studio 2017 but it is not actively supported
19 | with that version, so please install and test with Visual Studio 2019 before
20 | reporting any bugs.
21 |
22 | **This project is not for Visual Studio Code, it is for Visual Studio 2019.**
23 |
24 | Instructions for cloning, building and running the application are found below.
25 |
26 | ## Roadmap
27 |
28 | - [ ] Accessibility support for grouped LVGL widgets.
29 | - [ ] Improve the input experience.
30 | - [x] IME Support.
31 | - [x] Touch input support.
32 | - [ ] The desktop style mouse wheel user experience.
33 | - [ ] Improve the UI performance.
34 | - [x] Split LVGL task schedule loop to the separate thread.
35 | - [ ] Use Windows GDI and Direct2D to implement the custom drawing interface.
36 | - [ ] Implement the DirectWrite as extended font support backend.
37 | - [ ] Make a specialized UI demo.
38 | - [ ] Implement the LVGL file system interface.
39 | - [ ] Implement the Windows resource support for LVGL.
40 |
41 | ## Supported Features
42 |
43 | This repo is designed for developing a Windows desktop application. If you
44 | wonder to use the LVGL simulator for Windows, please visit
45 | [lvgl/lv_sim_visual_studio](https://github.com/lvgl/lv_sim_visual_studio).
46 |
47 | - [x] Only depends on Win32 API, C Runtime and C++ STL.
48 | - [x] Native support for x86, x64 and ARM64 Windows.
49 | - [x] Support compiling with [VC-LTL](https://github.com/Chuyu-Team/VC-LTL)
50 | toolchain to make the binary size as smaller as using MinGW.
51 | - [x] Support resizing the Window in the HAL level.
52 | - [x] Support Per-monitor DPI Aware in the HAL level.
53 | - [x] Support Windows keyboard and mouse wheel event in the HAL level.
54 | - [x] Provide the easy way to reference lvgl, lv_examples project for Visual
55 | Studio.
56 | - [x] Provide Windows GDI font engine support.
57 | - [x] Support Windows touch input in the HAL level.
58 | - [x] Support Windows IME input in the HAL level.
59 |
60 | ## Drop the ARM32 Windows support
61 |
62 | For my deliberate consideration, The lv_port_windows project will drop the ARM32
63 | support on the Windows platform. Here are the reasons:
64 |
65 | - The latest version of ARM32 version for Windows desktop is Redstone 2 Insider
66 | Build 15035. I know Windows RT 8.1 and Windows 10 IoT Core aren't in the
67 | stage of end of support, but most of daily users are drop their devices
68 | (Windows RT 8.x tablets) or have a better solution (Windows 10 IoT Core users
69 | on Raspberry Pi devices should migrate to Linux or ARM64 version for Windows
70 | 10 desktop).
71 | - Future ARM processors are deprecating ARM32 ISA support, and Apple Silicon M1
72 | had dropped the ARM32 support at all. So we can't run ARM32 version of Windows
73 | desktop applications on these devices.
74 | - Reduce the size of release package and make the continuous integration faster.
75 |
76 | ## How to Clone
77 |
78 | This repository contains other, necessary LVGL software repositories as
79 | [git submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules). Those
80 | submodules are not pulled in with the normal git clone command and they will
81 | be needed. There are a couple of techniques to pull in the submodules.
82 |
83 | ### Everything at Once
84 |
85 | This command will clone the lv_port_windows repository and all submodules in a
86 | single step.
87 |
88 | ```
89 | git clone --recurse-submodules https://github.com/lvgl/lv_port_windows.git
90 | ```
91 |
92 | ### Main Repository First, Submodules Second
93 |
94 | If you've already cloned the main repository you can pull in the submodules
95 | with a second command. Both commands are shown below.
96 |
97 | ```
98 | git clone https://github.com/lvgl/lv_port_windows.git
99 | cd lv_port_windows
100 | git submodule update --init --recursive
101 | ```
102 |
103 | ### Keeping Your Clone Up-To-Date
104 |
105 | If you have cloned this repository and would like to pull in the latest
106 | changes,you will have to do this in two steps. The first step will pull in
107 | updates to the main repo, including updated _references_ to the submodules. The
108 | second step will update the code in the submodules to match those references.
109 | The two commands needed to accomplish this are shown below, run these commands
110 | from inside the main repository's directory (top level lv_port_windows
111 | directory works fine).
112 |
113 | ```
114 | git pull
115 | git submodule update --init --recursive
116 | ```
117 |
118 | If you have chosen to fork this repository then updating the fork from upstream
119 | will require a different, more involved procedure.
120 |
121 | ## How To Build & Run
122 |
123 | Open the `LVGL.Windows.sln` solution file in Visual Studio. Set the
124 | `LVGL.Windows.Desktop` project as the startup project. Click on the _Local
125 | windows Debugger_ button in the top toolbar. The included project will be
126 | built and run, launching from a cmd window.
127 |
128 | ## Trying Things Out
129 |
130 | There are a list of possible test applications in the
131 | [LVGL.Windows.Desktop.cpp](LVGL.Windows.Desktop/LVGL.Windows.Desktop.cpp) file.
132 | Each test or demo is launched via a single function call. By default the
133 | `lv_demo_widgets` function is the one that runs, but you can comment that one
134 | out and choose any of the others to compile and run.
135 |
136 | Use these examples to start building your own application test code.
137 |
138 | ## A Note About Versions
139 |
140 | This repository has its submodule references updated shortly afk with minor
141 | version updates. When submodule updates take place a matching version tag is
142 | added tter the release of new, major releases of LittlevGL's core
143 | [lvgl](https://github.com/lvgl/lvgl) project. Occasionally it is updated to
144 | woro this repository.
145 |
146 | If you need to pull in bug fixes in more recent changes to the submodules you
147 | will have to update the references on your own. If source files are added or
148 | removed in the submodules then the visual studio project will likely need
149 | adjusting. See the commit log for examples of submodule updates and associated
150 | visual studio file changes to guide you.
151 |
--------------------------------------------------------------------------------
/Mile.Project.Windows.Legacy/Mile.Project.Cpp.props:
--------------------------------------------------------------------------------
1 |
2 |
11 |
34 |
35 |
36 |
40 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
41 |
42 |
43 | Win32Proj
44 | 10.0
45 | true
46 |
47 |
48 |
49 | Application
50 | DynamicLibrary
51 | StaticLibrary
52 | v143
53 | v142
54 | v141
55 | v140
56 | x64
57 | Unicode
58 | true
59 | false
60 | true
61 |
62 |
63 |
64 | true
65 | false
66 | false
67 | $(MSBuildThisFileDirectory);$(IncludePath)
68 |
69 |
70 |
71 | true
72 | NotUsing
73 | Level4
74 | true
75 | true
76 | NoExtensions
77 | WIN32;%(PreprocessorDefinitions)
78 | _CONSOLE;%(PreprocessorDefinitions)
79 | _WINDOWS;%(PreprocessorDefinitions)
80 | _WINDOWS;_USRDLL;%(PreprocessorDefinitions)
81 | _LIB;%(PreprocessorDefinitions)
82 | true
83 |
84 |
85 | true
86 | Console
87 | Windows
88 | Windows
89 |
90 |
91 |
92 | _MILE_PROJECT_MANIFEST_ID=1;%(PreprocessorDefinitions)
93 | _MILE_PROJECT_MANIFEST_ID=2;%(PreprocessorDefinitions)
94 | _MILE_PROJECT_MANIFEST_FILE=$([System.String]::Copy('$(MileProjectManifestFile)').Replace('\','\\'));%(PreprocessorDefinitions)
95 | $(ProjectDir);$(MSBuildThisFileDirectory);%(AdditionalIncludeDirectories)
96 |
97 |
98 |
99 |
100 | _DEBUG;%(PreprocessorDefinitions)
101 | Disabled
102 | MultiThreadedDebug
103 |
104 |
105 |
106 |
107 | NDEBUG;%(PreprocessorDefinitions)
108 | MaxSpeed
109 | true
110 | true
111 | MultiThreaded
112 |
113 |
114 | true
115 | true
116 |
117 |
118 |
119 |
120 | 5.0.5
121 |
122 |
123 |
124 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ##
2 | ## PROJECT: Mouri Internal Library Essentials
3 | ## FILE: .gitignore
4 | ## PURPOSE: The root .gitignore file for Visual Studio C++ Project
5 | ##
6 | ## LICENSE: The MIT License
7 | ##
8 | ## DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
9 | ##
10 |
11 | ##
12 | ## Ignore Mile.Project specific temporary files, build results,
13 | ## and files generated by popular Visual Studio add-ons.
14 | ##
15 | Output/
16 |
17 | ##
18 | ## Ignore Visual Studio temporary files, build results, and
19 | ## files generated by popular Visual Studio add-ons.
20 | ##
21 |
22 | # User-specific files
23 | *.rsuser
24 | *.suo
25 | *.user
26 | *.userosscache
27 | *.sln.docstates
28 |
29 | # User-specific files (MonoDevelop/Xamarin Studio)
30 | *.userprefs
31 |
32 | # Mono auto generated files
33 | mono_crash.*
34 |
35 | # Build results
36 | [Dd]ebug/
37 | [Dd]ebugPublic/
38 | [Rr]elease/
39 | [Rr]eleases/
40 | x64/
41 | x86/
42 | [Ww][Ii][Nn]32/
43 | [Aa][Rr][Mm]/
44 | [Aa][Rr][Mm]64/
45 | bld/
46 | [Bb]in/
47 | [Oo]bj/
48 | [Ll]og/
49 | [Ll]ogs/
50 |
51 | # Visual Studio 2015/2017 cache/options directory
52 | .vs/
53 | # Uncomment if you have tasks that create the project's static files in wwwroot
54 | #wwwroot/
55 |
56 | # Visual Studio 2017 auto generated files
57 | Generated\ Files/
58 |
59 | # MSTest test Results
60 | [Tt]est[Rr]esult*/
61 | [Bb]uild[Ll]og.*
62 |
63 | # NUnit
64 | *.VisualState.xml
65 | TestResult.xml
66 | nunit-*.xml
67 |
68 | # Build Results of an ATL Project
69 | [Dd]ebugPS/
70 | [Rr]eleasePS/
71 | dlldata.c
72 |
73 | # Benchmark Results
74 | BenchmarkDotNet.Artifacts/
75 |
76 | # .NET Core
77 | project.lock.json
78 | project.fragment.lock.json
79 | artifacts/
80 |
81 | # ASP.NET Scaffolding
82 | ScaffoldingReadMe.txt
83 |
84 | # StyleCop
85 | StyleCopReport.xml
86 |
87 | # Files built by Visual Studio
88 | *_i.c
89 | *_p.c
90 | *_h.h
91 | *.ilk
92 | *.meta
93 | *.obj
94 | *.iobj
95 | *.pch
96 | *.pdb
97 | *.ipdb
98 | *.pgc
99 | *.pgd
100 | *.rsp
101 | *.sbr
102 | *.tlb
103 | *.tli
104 | *.tlh
105 | *.tmp
106 | *.tmp_proj
107 | *_wpftmp.csproj
108 | *.log
109 | *.tlog
110 | *.vspscc
111 | *.vssscc
112 | .builds
113 | *.pidb
114 | *.svclog
115 | *.scc
116 |
117 | # Chutzpah Test files
118 | _Chutzpah*
119 |
120 | # Visual C++ cache files
121 | ipch/
122 | *.aps
123 | *.ncb
124 | *.opendb
125 | *.opensdf
126 | *.sdf
127 | *.cachefile
128 | *.VC.db
129 | *.VC.VC.opendb
130 |
131 | # Visual Studio profiler
132 | *.psess
133 | *.vsp
134 | *.vspx
135 | *.sap
136 |
137 | # Visual Studio Trace Files
138 | *.e2e
139 |
140 | # TFS 2012 Local Workspace
141 | $tf/
142 |
143 | # Guidance Automation Toolkit
144 | *.gpState
145 |
146 | # ReSharper is a .NET coding add-in
147 | _ReSharper*/
148 | *.[Rr]e[Ss]harper
149 | *.DotSettings.user
150 |
151 | # TeamCity is a build add-in
152 | _TeamCity*
153 |
154 | # DotCover is a Code Coverage Tool
155 | *.dotCover
156 |
157 | # AxoCover is a Code Coverage Tool
158 | .axoCover/*
159 | !.axoCover/settings.json
160 |
161 | # Coverlet is a free, cross platform Code Coverage Tool
162 | coverage*.json
163 | coverage*.xml
164 | coverage*.info
165 |
166 | # Visual Studio code coverage results
167 | *.coverage
168 | *.coveragexml
169 |
170 | # NCrunch
171 | _NCrunch_*
172 | .*crunch*.local.xml
173 | nCrunchTemp_*
174 |
175 | # MightyMoose
176 | *.mm.*
177 | AutoTest.Net/
178 |
179 | # Web workbench (sass)
180 | .sass-cache/
181 |
182 | # Installshield output folder
183 | [Ee]xpress/
184 |
185 | # DocProject is a documentation generator add-in
186 | DocProject/buildhelp/
187 | DocProject/Help/*.HxT
188 | DocProject/Help/*.HxC
189 | DocProject/Help/*.hhc
190 | DocProject/Help/*.hhk
191 | DocProject/Help/*.hhp
192 | DocProject/Help/Html2
193 | DocProject/Help/html
194 |
195 | # Click-Once directory
196 | publish/
197 |
198 | # Publish Web Output
199 | *.[Pp]ublish.xml
200 | *.azurePubxml
201 | # Note: Comment the next line if you want to checkin your web deploy settings,
202 | # but database connection strings (with potential passwords) will be unencrypted
203 | *.pubxml
204 | *.publishproj
205 |
206 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
207 | # checkin your Azure Web App publish settings, but sensitive information contained
208 | # in these scripts will be unencrypted
209 | PublishScripts/
210 |
211 | # NuGet Packages
212 | *.nupkg
213 | # NuGet Symbol Packages
214 | *.snupkg
215 | # The packages folder can be ignored because of Package Restore
216 | **/[Pp]ackages/*
217 | # except build/, which is used as an MSBuild target.
218 | !**/[Pp]ackages/build/
219 | # Uncomment if necessary however generally it will be regenerated when needed
220 | #!**/[Pp]ackages/repositories.config
221 | # NuGet v3's project.json files produces more ignorable files
222 | *.nuget.props
223 | *.nuget.targets
224 |
225 | # Microsoft Azure Build Output
226 | csx/
227 | *.build.csdef
228 |
229 | # Microsoft Azure Emulator
230 | ecf/
231 | rcf/
232 |
233 | # Windows Store app package directories and files
234 | AppPackages/
235 | BundleArtifacts/
236 | Package.StoreAssociation.xml
237 | _pkginfo.txt
238 | *.appx
239 | *.appxbundle
240 | *.appxupload
241 |
242 | # Visual Studio cache files
243 | # files ending in .cache can be ignored
244 | *.[Cc]ache
245 | # but keep track of directories ending in .cache
246 | !?*.[Cc]ache/
247 |
248 | # Others
249 | ClientBin/
250 | ~$*
251 | *~
252 | *.dbmdl
253 | *.dbproj.schemaview
254 | *.jfm
255 | *.pfx
256 | *.publishsettings
257 | orleans.codegen.cs
258 |
259 | # Including strong name files can present a security risk
260 | # (https://github.com/github/gitignore/pull/2483#issue-259490424)
261 | #*.snk
262 |
263 | # Since there are multiple workflows, uncomment next line to ignore bower_components
264 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
265 | #bower_components/
266 |
267 | # RIA/Silverlight projects
268 | Generated_Code/
269 |
270 | # Backup & report files from converting an old project file
271 | # to a newer Visual Studio version. Backup files are not needed,
272 | # because we have git ;-)
273 | _UpgradeReport_Files/
274 | Backup*/
275 | UpgradeLog*.XML
276 | UpgradeLog*.htm
277 | ServiceFabricBackup/
278 | *.rptproj.bak
279 |
280 | # SQL Server files
281 | *.mdf
282 | *.ldf
283 | *.ndf
284 |
285 | # Business Intelligence projects
286 | *.rdl.data
287 | *.bim.layout
288 | *.bim_*.settings
289 | *.rptproj.rsuser
290 | *- [Bb]ackup.rdl
291 | *- [Bb]ackup ([0-9]).rdl
292 | *- [Bb]ackup ([0-9][0-9]).rdl
293 |
294 | # Microsoft Fakes
295 | FakesAssemblies/
296 |
297 | # GhostDoc plugin setting file
298 | *.GhostDoc.xml
299 |
300 | # Node.js Tools for Visual Studio
301 | .ntvs_analysis.dat
302 | node_modules/
303 |
304 | # Visual Studio 6 build log
305 | *.plg
306 |
307 | # Visual Studio 6 workspace options file
308 | *.opt
309 |
310 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
311 | *.vbw
312 |
313 | # Visual Studio 6 auto-generated project file (contains which files were open etc.)
314 | *.vbp
315 |
316 | # Visual Studio 6 workspace and project file (working project files containing files to include in project)
317 | *.dsw
318 | *.dsp
319 |
320 | # Visual Studio 6 technical files
321 | *.ncb
322 | *.aps
323 |
324 | # Visual Studio LightSwitch build output
325 | **/*.HTMLClient/GeneratedArtifacts
326 | **/*.DesktopClient/GeneratedArtifacts
327 | **/*.DesktopClient/ModelManifest.xml
328 | **/*.Server/GeneratedArtifacts
329 | **/*.Server/ModelManifest.xml
330 | _Pvt_Extensions
331 |
332 | # Paket dependency manager
333 | .paket/paket.exe
334 | paket-files/
335 |
336 | # FAKE - F# Make
337 | .fake/
338 |
339 | # CodeRush personal settings
340 | .cr/personal
341 |
342 | # Python Tools for Visual Studio (PTVS)
343 | __pycache__/
344 | *.pyc
345 |
346 | # Cake - Uncomment if you are using it
347 | # tools/**
348 | # !tools/packages.config
349 |
350 | # Tabs Studio
351 | *.tss
352 |
353 | # Telerik's JustMock configuration file
354 | *.jmconfig
355 |
356 | # BizTalk build output
357 | *.btp.cs
358 | *.btm.cs
359 | *.odx.cs
360 | *.xsd.cs
361 |
362 | # OpenCover UI analysis results
363 | OpenCover/
364 |
365 | # Azure Stream Analytics local run output
366 | ASALocalRun/
367 |
368 | # MSBuild Binary and Structured Log
369 | *.binlog
370 |
371 | # NVidia Nsight GPU debugger configuration file
372 | *.nvuser
373 |
374 | # MFractors (Xamarin productivity tool) working folder
375 | .mfractor/
376 |
377 | # Local History for Visual Studio
378 | .localhistory/
379 |
380 | # Visual Studio History (VSHistory) files
381 | .vshistory/
382 |
383 | # BeatPulse healthcheck temp database
384 | healthchecksdb
385 |
386 | # Backup folder for Package Reference Convert tool in Visual Studio 2017
387 | MigrationBackup/
388 |
389 | # Ionide (cross platform F# VS Code tools) working folder
390 | .ionide/
391 |
392 | # Fody - auto-generated XML schema
393 | FodyWeavers.xsd
394 |
395 | # VS Code files for those working on multiple tools
396 | .vscode/*
397 | !.vscode/settings.json
398 | !.vscode/tasks.json
399 | !.vscode/launch.json
400 | !.vscode/extensions.json
401 | *.code-workspace
402 |
403 | # Local History for Visual Studio Code
404 | .history/
405 |
406 | # Windows Installer files from build outputs
407 | *.cab
408 | *.msi
409 | *.msix
410 | *.msm
411 | *.msp
412 |
413 | # JetBrains Rider
414 | *.sln.iml
415 |
--------------------------------------------------------------------------------
/LVGL.Windows/LVGL.Windows.Font.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * PROJECT: LVGL ported to Windows
3 | * FILE: LVGL.Windows.Font.cpp
4 | * PURPOSE: Implementation for Windows LVGL font utility functions
5 | *
6 | * LICENSE: The MIT License
7 | *
8 | * DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
9 | */
10 |
11 | #include "LVGL.Windows.Font.h"
12 |
13 | #include "LVGL.Resource.FontAwesome5Free.h"
14 | #include "LVGL.Resource.FontAwesome5FreeLVGL.h"
15 |
16 | #include
17 | #include