commit
						4568d0338e
					
				
					 2344 changed files with 9100 additions and 812075 deletions
				
			
		
							
								
								
									
										57
									
								
								.github/workflows/build-platformio-ubuntu.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								.github/workflows/build-platformio-ubuntu.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,57 @@ | ||||||
|  | name: Ubuntu build | ||||||
|  | 
 | ||||||
|  | on: [push,workflow_dispatch] | ||||||
|  | 
 | ||||||
|  | jobs: | ||||||
|  |   build: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     steps: | ||||||
|  |       - uses: actions/checkout@v4 | ||||||
|  |       - uses: actions/cache@v4 | ||||||
|  |         with: | ||||||
|  |           path: | | ||||||
|  |             ~/.cache/pip | ||||||
|  |             ~/.platformio/.cache | ||||||
|  |           key: ${{ runner.os }}-pio | ||||||
|  |       - uses: actions/setup-python@v5 | ||||||
|  |         with: | ||||||
|  |           python-version: "3.12" | ||||||
|  | 
 | ||||||
|  |       - name: Install SDL2 | ||||||
|  |         run: sudo apt install -y libsdl2-dev | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |       - name: Install PlatformIO Core | ||||||
|  |         run: pip install --upgrade platformio | ||||||
|  | 
 | ||||||
|  |       - name: Build PlatformIO env:ESP32 | ||||||
|  |         working-directory: ./Platformio | ||||||
|  |         run: pio run -e esp32 | ||||||
|  | 
 | ||||||
|  |       - name: Build PlatformIO env:linux_64bit | ||||||
|  |         working-directory: ./Platformio | ||||||
|  |         run: pio run -e linux_64bit | ||||||
							
								
								
									
										63
									
								
								.github/workflows/build-platformio-windows.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								.github/workflows/build-platformio-windows.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,63 @@ | ||||||
|  | name: Windows build | ||||||
|  | 
 | ||||||
|  | on: [push,workflow_dispatch] | ||||||
|  | 
 | ||||||
|  | jobs: | ||||||
|  |   build: | ||||||
|  |     runs-on: windows-latest | ||||||
|  | 
 | ||||||
|  |     strategy: | ||||||
|  |       fail-fast: false | ||||||
|  |       matrix: | ||||||
|  |         include: | ||||||
|  |           - { sys: xtensa } | ||||||
|  |           - { sys: mingw64, env: x86_64 } | ||||||
|  |           - { sys: mingw32, env: i686 } | ||||||
|  |     steps: | ||||||
|  |       - uses: actions/checkout@v4 | ||||||
|  |       - uses: actions/cache@v4 | ||||||
|  |         with: | ||||||
|  |           path: | | ||||||
|  |             ~/.cache/pip | ||||||
|  |             ~/.platformio/.cache | ||||||
|  |           key: ${{ runner.os }}-pio | ||||||
|  |       - uses: actions/setup-python@v5 | ||||||
|  |         with: | ||||||
|  |           python-version: "3.12" | ||||||
|  | 
 | ||||||
|  |       - name: Install MSYS2 MINGW64/32 and SDL2 | ||||||
|  |         if: ${{matrix.sys != 'xtensa'}} | ||||||
|  |         uses: msys2/setup-msys2@v2 | ||||||
|  |         with: | ||||||
|  |           update: true | ||||||
|  |           msystem: ${{matrix.sys}} | ||||||
|  |           install: >- | ||||||
|  |             mingw-w64-${{matrix.env}}-gcc | ||||||
|  |             mingw-w64-${{matrix.env}}-SDL2 | ||||||
|  |       - name: Add paths mingw64 | ||||||
|  |         if: ${{matrix.sys == 'mingw64'}} | ||||||
|  |         run: | | ||||||
|  |           echo "${{runner.temp}}\msys64\mingw64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | ||||||
|  |           echo "${{runner.temp}}\msys64\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | ||||||
|  |       - name: Add paths mingw32 | ||||||
|  |         if: ${{matrix.sys == 'mingw32'}} | ||||||
|  |         run: | | ||||||
|  |           echo "${{runner.temp}}\msys64\mingw32\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | ||||||
|  |           echo "${{runner.temp}}\msys64\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | ||||||
|  | 
 | ||||||
|  |       - name: Install PlatformIO Core | ||||||
|  |         run: pip install --upgrade platformio | ||||||
|  | 
 | ||||||
|  |       - name: Build PlatformIO env:ESP32 | ||||||
|  |         working-directory: ./Platformio | ||||||
|  |         run: pio run -e esp32 | ||||||
|  | 
 | ||||||
|  |       - name: Build PlatformIO env:windows_64bit | ||||||
|  |         if: ${{matrix.sys == 'mingw64'}} | ||||||
|  |         working-directory: ./Platformio | ||||||
|  |         run: pio run -e windows_64bit | ||||||
|  | 
 | ||||||
|  |       - name: Build PlatformIO env:windows_32bit | ||||||
|  |         if: ${{matrix.sys == 'mingw32'}} | ||||||
|  |         working-directory: ./Platformio | ||||||
|  |         run: pio run -e windows_32bit | ||||||
							
								
								
									
										25
									
								
								.github/workflows/build-platformio.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										25
									
								
								.github/workflows/build-platformio.yml
									
										
									
									
										vendored
									
									
								
							|  | @ -1,25 +0,0 @@ | ||||||
| name: ESP32 Build |  | ||||||
| 
 |  | ||||||
| on: [push] |  | ||||||
| 
 |  | ||||||
| jobs: |  | ||||||
|   build: |  | ||||||
|     runs-on: ubuntu-latest |  | ||||||
| 
 |  | ||||||
|     steps: |  | ||||||
|       - uses: actions/checkout@v3 |  | ||||||
|       - uses: actions/cache@v3 |  | ||||||
|         with: |  | ||||||
|           path: | |  | ||||||
|             ~/.cache/pip |  | ||||||
|             ~/.platformio/.cache |  | ||||||
|           key: ${{ runner.os }}-pio |  | ||||||
|       - uses: actions/setup-python@v4 |  | ||||||
|         with: |  | ||||||
|           python-version: "3.9" |  | ||||||
|       - name: Install PlatformIO Core |  | ||||||
|         run: pip install --upgrade platformio |  | ||||||
| 
 |  | ||||||
|       - name: Build PlatformIO Project |  | ||||||
|         working-directory: ./Platformio |  | ||||||
|         run: pio run |  | ||||||
							
								
								
									
										37
									
								
								.github/workflows/build-simulator.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										37
									
								
								.github/workflows/build-simulator.yml
									
										
									
									
										vendored
									
									
								
							|  | @ -1,37 +0,0 @@ | ||||||
| name: Simulator Build |  | ||||||
| 
 |  | ||||||
| on: [push] |  | ||||||
| 
 |  | ||||||
| jobs: |  | ||||||
|   build-x64: |  | ||||||
| 
 |  | ||||||
|     runs-on: windows-latest |  | ||||||
| 
 |  | ||||||
|     steps: |  | ||||||
|       - uses: actions/checkout@v3 |  | ||||||
| 
 |  | ||||||
|       - name: Add msbuild to PATH |  | ||||||
|         uses: microsoft/setup-msbuild@v1.1 |  | ||||||
|         with: |  | ||||||
|             msbuild-architecture: x64 |  | ||||||
| 
 |  | ||||||
|       # You can test your matrix by printing the current dotnet version |  | ||||||
|       - name: Build |  | ||||||
|         working-directory: ./LVGL Simulator |  | ||||||
|         run: MSBuild.exe ./LVGL.Simulator.sln -target:Build /p:Platform="x64" |  | ||||||
| 
 |  | ||||||
|   build-x86: |  | ||||||
| 
 |  | ||||||
|     runs-on: windows-latest |  | ||||||
| 
 |  | ||||||
|     steps: |  | ||||||
|       - uses: actions/checkout@v3 |  | ||||||
| 
 |  | ||||||
|       - name: Add msbuild to PATH |  | ||||||
|         uses: microsoft/setup-msbuild@v1.1 |  | ||||||
|         with: |  | ||||||
|             msbuild-architecture: x86 |  | ||||||
| 
 |  | ||||||
|       - name: Build |  | ||||||
|         working-directory: ./LVGL Simulator |  | ||||||
|         run: MSBuild.exe ./LVGL.Simulator.sln -target:Build /p:Platform="x86" |  | ||||||
|  | @ -1,49 +0,0 @@ | ||||||
| ##  |  | ||||||
| ## PROJECT:   Mouri Internal Library Essentials |  | ||||||
| ## FILE:      .editorconfig |  | ||||||
| ## PURPOSE:   The root .editorconfig file for C++ Project |  | ||||||
| ##  |  | ||||||
| ## LICENSE:   The MIT License |  | ||||||
| ##  |  | ||||||
| ## DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com) |  | ||||||
| ##  |  | ||||||
| 
 |  | ||||||
| root = true |  | ||||||
| 
 |  | ||||||
| [*] |  | ||||||
| charset = utf-8-bom |  | ||||||
| end_of_line = crlf |  | ||||||
| 
 |  | ||||||
| [*.md] |  | ||||||
| insert_final_newline = true |  | ||||||
| 
 |  | ||||||
| [*.{c,c++,cc,cpp,cxx,h,h++,hh,hpp,hxx,idl,inl,ipp,tlh,tli}] |  | ||||||
| indent_style = space |  | ||||||
| indent_size = 4 |  | ||||||
| insert_final_newline = true |  | ||||||
| trim_trailing_whitespace = true |  | ||||||
| vc_generate_documentation_comments = doxygen_slash_star |  | ||||||
| 
 |  | ||||||
| [*.{js,json,xml,toml,xaml}] |  | ||||||
| indent_style = space |  | ||||||
| indent_size = 2 |  | ||||||
| insert_final_newline = true |  | ||||||
| trim_trailing_whitespace = true |  | ||||||
| 
 |  | ||||||
| [*.rc] |  | ||||||
| charset = utf-16le |  | ||||||
| 
 |  | ||||||
| [Mile.Project.Properties.Template.h] |  | ||||||
| charset = utf-16le |  | ||||||
| 
 |  | ||||||
| [Mile.Project.Properties.h] |  | ||||||
| charset = utf-16le |  | ||||||
| 
 |  | ||||||
| [*.bat] |  | ||||||
| charset = utf-8 |  | ||||||
| insert_final_newline = true |  | ||||||
| 
 |  | ||||||
| [*.sh] |  | ||||||
| charset = utf-8 |  | ||||||
| end_of_line = lf |  | ||||||
| insert_final_newline = true |  | ||||||
							
								
								
									
										414
									
								
								LVGL Simulator/.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										414
									
								
								LVGL Simulator/.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -1,414 +0,0 @@ | ||||||
| ##  |  | ||||||
| ## PROJECT:   Mouri Internal Library Essentials |  | ||||||
| ## FILE:      .gitignore |  | ||||||
| ## PURPOSE:   The root .gitignore file for Visual Studio C++ Project |  | ||||||
| ##  |  | ||||||
| ## LICENSE:   The MIT License |  | ||||||
| ##  |  | ||||||
| ## DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com) |  | ||||||
| ##  |  | ||||||
| 
 |  | ||||||
| ## |  | ||||||
| ## Ignore Mile.Project specific temporary files, build results, |  | ||||||
| ## and files generated by popular Visual Studio add-ons. |  | ||||||
| ##  |  | ||||||
| Output/ |  | ||||||
| 
 |  | ||||||
| ## |  | ||||||
| ## Ignore Visual Studio temporary files, build results, and |  | ||||||
| ## files generated by popular Visual Studio add-ons. |  | ||||||
| ## |  | ||||||
| 
 |  | ||||||
| # User-specific files |  | ||||||
| *.rsuser |  | ||||||
| *.suo |  | ||||||
| *.user |  | ||||||
| *.userosscache |  | ||||||
| *.sln.docstates |  | ||||||
| 
 |  | ||||||
| # User-specific files (MonoDevelop/Xamarin Studio) |  | ||||||
| *.userprefs |  | ||||||
| 
 |  | ||||||
| # Mono auto generated files |  | ||||||
| mono_crash.* |  | ||||||
| 
 |  | ||||||
| # Build results |  | ||||||
| [Dd]ebug/ |  | ||||||
| [Dd]ebugPublic/ |  | ||||||
| [Rr]elease/ |  | ||||||
| [Rr]eleases/ |  | ||||||
| x64/ |  | ||||||
| x86/ |  | ||||||
| [Ww][Ii][Nn]32/ |  | ||||||
| [Aa][Rr][Mm]/ |  | ||||||
| [Aa][Rr][Mm]64/ |  | ||||||
| bld/ |  | ||||||
| [Bb]in/ |  | ||||||
| [Oo]bj/ |  | ||||||
| [Ll]og/ |  | ||||||
| [Ll]ogs/ |  | ||||||
| 
 |  | ||||||
| # Visual Studio 2015/2017 cache/options directory |  | ||||||
| .vs/ |  | ||||||
| # Uncomment if you have tasks that create the project's static files in wwwroot |  | ||||||
| #wwwroot/ |  | ||||||
| 
 |  | ||||||
| # Visual Studio 2017 auto generated files |  | ||||||
| Generated\ Files/ |  | ||||||
| 
 |  | ||||||
| # MSTest test Results |  | ||||||
| [Tt]est[Rr]esult*/ |  | ||||||
| [Bb]uild[Ll]og.* |  | ||||||
| 
 |  | ||||||
| # NUnit |  | ||||||
| *.VisualState.xml |  | ||||||
| TestResult.xml |  | ||||||
| nunit-*.xml |  | ||||||
| 
 |  | ||||||
| # Build Results of an ATL Project |  | ||||||
| [Dd]ebugPS/ |  | ||||||
| [Rr]eleasePS/ |  | ||||||
| dlldata.c |  | ||||||
| 
 |  | ||||||
| # Benchmark Results |  | ||||||
| BenchmarkDotNet.Artifacts/ |  | ||||||
| 
 |  | ||||||
| # .NET Core |  | ||||||
| project.lock.json |  | ||||||
| project.fragment.lock.json |  | ||||||
| artifacts/ |  | ||||||
| 
 |  | ||||||
| # ASP.NET Scaffolding |  | ||||||
| ScaffoldingReadMe.txt |  | ||||||
| 
 |  | ||||||
| # StyleCop |  | ||||||
| StyleCopReport.xml |  | ||||||
| 
 |  | ||||||
| # Files built by Visual Studio |  | ||||||
| *_i.c |  | ||||||
| *_p.c |  | ||||||
| *_h.h |  | ||||||
| *.ilk |  | ||||||
| *.meta |  | ||||||
| *.obj |  | ||||||
| *.iobj |  | ||||||
| *.pch |  | ||||||
| *.pdb |  | ||||||
| *.ipdb |  | ||||||
| *.pgc |  | ||||||
| *.pgd |  | ||||||
| *.rsp |  | ||||||
| *.sbr |  | ||||||
| *.tlb |  | ||||||
| *.tli |  | ||||||
| *.tlh |  | ||||||
| *.tmp |  | ||||||
| *.tmp_proj |  | ||||||
| *_wpftmp.csproj |  | ||||||
| *.log |  | ||||||
| *.tlog |  | ||||||
| *.vspscc |  | ||||||
| *.vssscc |  | ||||||
| .builds |  | ||||||
| *.pidb |  | ||||||
| *.svclog |  | ||||||
| *.scc |  | ||||||
| 
 |  | ||||||
| # Chutzpah Test files |  | ||||||
| _Chutzpah* |  | ||||||
| 
 |  | ||||||
| # Visual C++ cache files |  | ||||||
| ipch/ |  | ||||||
| *.aps |  | ||||||
| *.ncb |  | ||||||
| *.opendb |  | ||||||
| *.opensdf |  | ||||||
| *.sdf |  | ||||||
| *.cachefile |  | ||||||
| *.VC.db |  | ||||||
| *.VC.VC.opendb |  | ||||||
| 
 |  | ||||||
| # Visual Studio profiler |  | ||||||
| *.psess |  | ||||||
| *.vsp |  | ||||||
| *.vspx |  | ||||||
| *.sap |  | ||||||
| 
 |  | ||||||
| # Visual Studio Trace Files |  | ||||||
| *.e2e |  | ||||||
| 
 |  | ||||||
| # TFS 2012 Local Workspace |  | ||||||
| $tf/ |  | ||||||
| 
 |  | ||||||
| # Guidance Automation Toolkit |  | ||||||
| *.gpState |  | ||||||
| 
 |  | ||||||
| # ReSharper is a .NET coding add-in |  | ||||||
| _ReSharper*/ |  | ||||||
| *.[Rr]e[Ss]harper |  | ||||||
| *.DotSettings.user |  | ||||||
| 
 |  | ||||||
| # TeamCity is a build add-in |  | ||||||
| _TeamCity* |  | ||||||
| 
 |  | ||||||
| # DotCover is a Code Coverage Tool |  | ||||||
| *.dotCover |  | ||||||
| 
 |  | ||||||
| # AxoCover is a Code Coverage Tool |  | ||||||
| .axoCover/* |  | ||||||
| !.axoCover/settings.json |  | ||||||
| 
 |  | ||||||
| # Coverlet is a free, cross platform Code Coverage Tool |  | ||||||
| coverage*.json |  | ||||||
| coverage*.xml |  | ||||||
| coverage*.info |  | ||||||
| 
 |  | ||||||
| # Visual Studio code coverage results |  | ||||||
| *.coverage |  | ||||||
| *.coveragexml |  | ||||||
| 
 |  | ||||||
| # NCrunch |  | ||||||
| _NCrunch_* |  | ||||||
| .*crunch*.local.xml |  | ||||||
| nCrunchTemp_* |  | ||||||
| 
 |  | ||||||
| # MightyMoose |  | ||||||
| *.mm.* |  | ||||||
| AutoTest.Net/ |  | ||||||
| 
 |  | ||||||
| # Web workbench (sass) |  | ||||||
| .sass-cache/ |  | ||||||
| 
 |  | ||||||
| # Installshield output folder |  | ||||||
| [Ee]xpress/ |  | ||||||
| 
 |  | ||||||
| # DocProject is a documentation generator add-in |  | ||||||
| DocProject/buildhelp/ |  | ||||||
| DocProject/Help/*.HxT |  | ||||||
| DocProject/Help/*.HxC |  | ||||||
| DocProject/Help/*.hhc |  | ||||||
| DocProject/Help/*.hhk |  | ||||||
| DocProject/Help/*.hhp |  | ||||||
| DocProject/Help/Html2 |  | ||||||
| DocProject/Help/html |  | ||||||
| 
 |  | ||||||
| # Click-Once directory |  | ||||||
| publish/ |  | ||||||
| 
 |  | ||||||
| # Publish Web Output |  | ||||||
| *.[Pp]ublish.xml |  | ||||||
| *.azurePubxml |  | ||||||
| # Note: Comment the next line if you want to checkin your web deploy settings, |  | ||||||
| # but database connection strings (with potential passwords) will be unencrypted |  | ||||||
| *.pubxml |  | ||||||
| *.publishproj |  | ||||||
| 
 |  | ||||||
| # Microsoft Azure Web App publish settings. Comment the next line if you want to |  | ||||||
| # checkin your Azure Web App publish settings, but sensitive information contained |  | ||||||
| # in these scripts will be unencrypted |  | ||||||
| PublishScripts/ |  | ||||||
| 
 |  | ||||||
| # NuGet Packages |  | ||||||
| *.nupkg |  | ||||||
| # NuGet Symbol Packages |  | ||||||
| *.snupkg |  | ||||||
| # The packages folder can be ignored because of Package Restore |  | ||||||
| **/[Pp]ackages/* |  | ||||||
| # except build/, which is used as an MSBuild target. |  | ||||||
| !**/[Pp]ackages/build/ |  | ||||||
| # Uncomment if necessary however generally it will be regenerated when needed |  | ||||||
| #!**/[Pp]ackages/repositories.config |  | ||||||
| # NuGet v3's project.json files produces more ignorable files |  | ||||||
| *.nuget.props |  | ||||||
| *.nuget.targets |  | ||||||
| 
 |  | ||||||
| # Microsoft Azure Build Output |  | ||||||
| csx/ |  | ||||||
| *.build.csdef |  | ||||||
| 
 |  | ||||||
| # Microsoft Azure Emulator |  | ||||||
| ecf/ |  | ||||||
| rcf/ |  | ||||||
| 
 |  | ||||||
| # Windows Store app package directories and files |  | ||||||
| AppPackages/ |  | ||||||
| BundleArtifacts/ |  | ||||||
| Package.StoreAssociation.xml |  | ||||||
| _pkginfo.txt |  | ||||||
| *.appx |  | ||||||
| *.appxbundle |  | ||||||
| *.appxupload |  | ||||||
| 
 |  | ||||||
| # Visual Studio cache files |  | ||||||
| # files ending in .cache can be ignored |  | ||||||
| *.[Cc]ache |  | ||||||
| # but keep track of directories ending in .cache |  | ||||||
| !?*.[Cc]ache/ |  | ||||||
| 
 |  | ||||||
| # Others |  | ||||||
| ClientBin/ |  | ||||||
| ~$* |  | ||||||
| *~ |  | ||||||
| *.dbmdl |  | ||||||
| *.dbproj.schemaview |  | ||||||
| *.jfm |  | ||||||
| *.pfx |  | ||||||
| *.publishsettings |  | ||||||
| orleans.codegen.cs |  | ||||||
| 
 |  | ||||||
| # Including strong name files can present a security risk |  | ||||||
| # (https://github.com/github/gitignore/pull/2483#issue-259490424) |  | ||||||
| #*.snk |  | ||||||
| 
 |  | ||||||
| # Since there are multiple workflows, uncomment next line to ignore bower_components |  | ||||||
| # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) |  | ||||||
| #bower_components/ |  | ||||||
| 
 |  | ||||||
| # RIA/Silverlight projects |  | ||||||
| Generated_Code/ |  | ||||||
| 
 |  | ||||||
| # Backup & report files from converting an old project file |  | ||||||
| # to a newer Visual Studio version. Backup files are not needed, |  | ||||||
| # because we have git ;-) |  | ||||||
| _UpgradeReport_Files/ |  | ||||||
| Backup*/ |  | ||||||
| UpgradeLog*.XML |  | ||||||
| UpgradeLog*.htm |  | ||||||
| ServiceFabricBackup/ |  | ||||||
| *.rptproj.bak |  | ||||||
| 
 |  | ||||||
| # SQL Server files |  | ||||||
| *.mdf |  | ||||||
| *.ldf |  | ||||||
| *.ndf |  | ||||||
| 
 |  | ||||||
| # Business Intelligence projects |  | ||||||
| *.rdl.data |  | ||||||
| *.bim.layout |  | ||||||
| *.bim_*.settings |  | ||||||
| *.rptproj.rsuser |  | ||||||
| *- [Bb]ackup.rdl |  | ||||||
| *- [Bb]ackup ([0-9]).rdl |  | ||||||
| *- [Bb]ackup ([0-9][0-9]).rdl |  | ||||||
| 
 |  | ||||||
| # Microsoft Fakes |  | ||||||
| FakesAssemblies/ |  | ||||||
| 
 |  | ||||||
| # GhostDoc plugin setting file |  | ||||||
| *.GhostDoc.xml |  | ||||||
| 
 |  | ||||||
| # Node.js Tools for Visual Studio |  | ||||||
| .ntvs_analysis.dat |  | ||||||
| node_modules/ |  | ||||||
| 
 |  | ||||||
| # Visual Studio 6 build log |  | ||||||
| *.plg |  | ||||||
| 
 |  | ||||||
| # Visual Studio 6 workspace options file |  | ||||||
| *.opt |  | ||||||
| 
 |  | ||||||
| # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) |  | ||||||
| *.vbw |  | ||||||
| 
 |  | ||||||
| # Visual Studio 6 auto-generated project file (contains which files were open etc.) |  | ||||||
| *.vbp |  | ||||||
| 
 |  | ||||||
| # Visual Studio 6 workspace and project file (working project files containing files to include in project) |  | ||||||
| *.dsw |  | ||||||
| *.dsp |  | ||||||
| 
 |  | ||||||
| # Visual Studio 6 technical files |  | ||||||
| *.ncb |  | ||||||
| *.aps |  | ||||||
| 
 |  | ||||||
| # Visual Studio LightSwitch build output |  | ||||||
| **/*.HTMLClient/GeneratedArtifacts |  | ||||||
| **/*.DesktopClient/GeneratedArtifacts |  | ||||||
| **/*.DesktopClient/ModelManifest.xml |  | ||||||
| **/*.Server/GeneratedArtifacts |  | ||||||
| **/*.Server/ModelManifest.xml |  | ||||||
| _Pvt_Extensions |  | ||||||
| 
 |  | ||||||
| # Paket dependency manager |  | ||||||
| .paket/paket.exe |  | ||||||
| paket-files/ |  | ||||||
| 
 |  | ||||||
| # FAKE - F# Make |  | ||||||
| .fake/ |  | ||||||
| 
 |  | ||||||
| # CodeRush personal settings |  | ||||||
| .cr/personal |  | ||||||
| 
 |  | ||||||
| # Python Tools for Visual Studio (PTVS) |  | ||||||
| __pycache__/ |  | ||||||
| *.pyc |  | ||||||
| 
 |  | ||||||
| # Cake - Uncomment if you are using it |  | ||||||
| # tools/** |  | ||||||
| # !tools/packages.config |  | ||||||
| 
 |  | ||||||
| # Tabs Studio |  | ||||||
| *.tss |  | ||||||
| 
 |  | ||||||
| # Telerik's JustMock configuration file |  | ||||||
| *.jmconfig |  | ||||||
| 
 |  | ||||||
| # BizTalk build output |  | ||||||
| *.btp.cs |  | ||||||
| *.btm.cs |  | ||||||
| *.odx.cs |  | ||||||
| *.xsd.cs |  | ||||||
| 
 |  | ||||||
| # OpenCover UI analysis results |  | ||||||
| OpenCover/ |  | ||||||
| 
 |  | ||||||
| # Azure Stream Analytics local run output |  | ||||||
| ASALocalRun/ |  | ||||||
| 
 |  | ||||||
| # MSBuild Binary and Structured Log |  | ||||||
| *.binlog |  | ||||||
| 
 |  | ||||||
| # NVidia Nsight GPU debugger configuration file |  | ||||||
| *.nvuser |  | ||||||
| 
 |  | ||||||
| # MFractors (Xamarin productivity tool) working folder |  | ||||||
| .mfractor/ |  | ||||||
| 
 |  | ||||||
| # Local History for Visual Studio |  | ||||||
| .localhistory/ |  | ||||||
| 
 |  | ||||||
| # Visual Studio History (VSHistory) files |  | ||||||
| .vshistory/ |  | ||||||
| 
 |  | ||||||
| # BeatPulse healthcheck temp database |  | ||||||
| healthchecksdb |  | ||||||
| 
 |  | ||||||
| # Backup folder for Package Reference Convert tool in Visual Studio 2017 |  | ||||||
| MigrationBackup/ |  | ||||||
| 
 |  | ||||||
| # Ionide (cross platform F# VS Code tools) working folder |  | ||||||
| .ionide/ |  | ||||||
| 
 |  | ||||||
| # Fody - auto-generated XML schema |  | ||||||
| FodyWeavers.xsd |  | ||||||
| 
 |  | ||||||
| # VS Code files for those working on multiple tools |  | ||||||
| .vscode/* |  | ||||||
| !.vscode/settings.json |  | ||||||
| !.vscode/tasks.json |  | ||||||
| !.vscode/launch.json |  | ||||||
| !.vscode/extensions.json |  | ||||||
| *.code-workspace |  | ||||||
| 
 |  | ||||||
| # Local History for Visual Studio Code |  | ||||||
| .history/ |  | ||||||
| 
 |  | ||||||
| # Windows Installer files from build outputs |  | ||||||
| *.cab |  | ||||||
| *.msi |  | ||||||
| *.msix |  | ||||||
| *.msm |  | ||||||
| *.msp |  | ||||||
| 
 |  | ||||||
| # JetBrains Rider |  | ||||||
| *.sln.iml |  | ||||||
							
								
								
									
										9
									
								
								LVGL Simulator/.gitmodules
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								LVGL Simulator/.gitmodules
									
										
									
									
										vendored
									
									
								
							|  | @ -1,9 +0,0 @@ | ||||||
| [submodule "LvglPlatform/lvgl"] |  | ||||||
| 	path = LvglPlatform/lvgl |  | ||||||
| 	url = https://github.com/lvgl/lvgl |  | ||||||
| [submodule "LvglPlatform/lv_drivers"] |  | ||||||
| 	path = LvglPlatform/lv_drivers |  | ||||||
| 	url = https://github.com/lvgl/lv_drivers |  | ||||||
| [submodule "LvglPlatform/freetype"] |  | ||||||
| 	path = LvglPlatform/freetype |  | ||||||
| 	url = https://github.com/freetype/freetype |  | ||||||
|  | @ -1,34 +0,0 @@ | ||||||
| @rem  |  | ||||||
| @rem PROJECT:   Mouri Internal Library Essentials |  | ||||||
| @rem FILE:      BuildAllTargets.cmd |  | ||||||
| @rem PURPOSE:   Build all targets script for Visual Studio C++ Project |  | ||||||
| @rem  |  | ||||||
| @rem LICENSE:   The MIT License |  | ||||||
| @rem  |  | ||||||
| @rem DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com) |  | ||||||
| @rem  |  | ||||||
| 
 |  | ||||||
| @setlocal |  | ||||||
| @echo off |  | ||||||
| 
 |  | ||||||
| rem Change to the current folder. |  | ||||||
| cd "%~dp0" |  | ||||||
| 
 |  | ||||||
| rem Remove the output folder for a fresh compile. |  | ||||||
| rd /s /q Output |  | ||||||
| 
 |  | ||||||
| set VisualStudioInstallerFolder="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer" |  | ||||||
| if %PROCESSOR_ARCHITECTURE%==x86 set VisualStudioInstallerFolder="%ProgramFiles%\Microsoft Visual Studio\Installer" |  | ||||||
| 
 |  | ||||||
| pushd %VisualStudioInstallerFolder% |  | ||||||
| for /f "usebackq tokens=*" %%i in (`vswhere -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do ( |  | ||||||
|   set VisualStudioInstallDir=%%i |  | ||||||
| ) |  | ||||||
| popd |  | ||||||
| 
 |  | ||||||
| call "%VisualStudioInstallDir%\VC\Auxiliary\Build\vcvarsall.bat" x86 |  | ||||||
| 
 |  | ||||||
| rem Build all targets |  | ||||||
| MSBuild -m BuildAllTargets.proj |  | ||||||
| 
 |  | ||||||
| @endlocal |  | ||||||
|  | @ -1,60 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <!-- |  | ||||||
|   PROJECT:   Mouri Internal Library Essentials |  | ||||||
|   FILE:      BuildAllTargets.proj |  | ||||||
|   PURPOSE:   Build all targets script for Visual Studio C++ Project |  | ||||||
| 
 |  | ||||||
|   LICENSE:   The MIT License |  | ||||||
| 
 |  | ||||||
|   DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com) |  | ||||||
| --> |  | ||||||
| <Project  |  | ||||||
|   DefaultTargets="Restore;Build" |  | ||||||
|   xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |  | ||||||
|   <PropertyGroup> |  | ||||||
|     <SolutionPath>$(MSBuildThisFileDirectory)*.sln</SolutionPath> |  | ||||||
|   </PropertyGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <ProjectReference Include="$(SolutionPath)"> |  | ||||||
|       <AdditionalProperties>Configuration=Debug;Platform=x86</AdditionalProperties>    |  | ||||||
|     </ProjectReference> |  | ||||||
|     <ProjectReference Include="$(SolutionPath)"> |  | ||||||
|       <AdditionalProperties>Configuration=Release;Platform=x86</AdditionalProperties>    |  | ||||||
|     </ProjectReference> |  | ||||||
|     <ProjectReference Include="$(SolutionPath)"> |  | ||||||
|       <AdditionalProperties>Configuration=Debug;Platform=x64</AdditionalProperties>    |  | ||||||
|     </ProjectReference> |  | ||||||
|     <ProjectReference Include="$(SolutionPath)"> |  | ||||||
|       <AdditionalProperties>Configuration=Release;Platform=x64</AdditionalProperties>    |  | ||||||
|     </ProjectReference> |  | ||||||
|     <ProjectReference Include="$(SolutionPath)"> |  | ||||||
|       <AdditionalProperties>Configuration=Debug;Platform=ARM64</AdditionalProperties>    |  | ||||||
|     </ProjectReference> |  | ||||||
|     <ProjectReference Include="$(SolutionPath)"> |  | ||||||
|       <AdditionalProperties>Configuration=Release;Platform=ARM64</AdditionalProperties>    |  | ||||||
|     </ProjectReference> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <Target Name="Restore" > |  | ||||||
|     <MSBuild |  | ||||||
|       Projects="@(ProjectReference)" |  | ||||||
|       Targets="Restore" |  | ||||||
|       StopOnFirstFailure="True" |  | ||||||
|       Properties="PreferredToolArchitecture=x64" /> |  | ||||||
|   </Target> |  | ||||||
|   <Target Name="Build" > |  | ||||||
|     <MSBuild |  | ||||||
|       Projects="@(ProjectReference)" |  | ||||||
|       Targets="Build" |  | ||||||
|       BuildInParallel="True" |  | ||||||
|       StopOnFirstFailure="True" |  | ||||||
|       Properties="PreferredToolArchitecture=x64" /> |  | ||||||
|   </Target> |  | ||||||
|   <Target Name="Rebuild" > |  | ||||||
|     <MSBuild |  | ||||||
|       Projects="@(ProjectReference)" |  | ||||||
|       Targets="Rebuild" |  | ||||||
|       BuildInParallel="True" |  | ||||||
|       StopOnFirstFailure="True" |  | ||||||
|       Properties="PreferredToolArchitecture=x64" /> |  | ||||||
|   </Target> |  | ||||||
| </Project> |  | ||||||
|  | @ -1,43 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <!-- |  | ||||||
|   PROJECT:   Mouri Internal Library Essentials |  | ||||||
|   FILE:      Directory.Build.props |  | ||||||
|   PURPOSE:   Global settings for Visual Studio C++ Project |  | ||||||
| 
 |  | ||||||
|   LICENSE:   The MIT License |  | ||||||
| 
 |  | ||||||
|   DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com) |  | ||||||
| --> |  | ||||||
| <Project> |  | ||||||
|   <PropertyGroup> |  | ||||||
|     <MileProjectOutputPath>$(MSBuildThisFileDirectory)Output\</MileProjectOutputPath> |  | ||||||
|     <MileProjectBinariesPath>$(MileProjectOutputPath)Binaries\</MileProjectBinariesPath> |  | ||||||
|     <MileProjectObjectsPath>$(MileProjectOutputPath)Objects\</MileProjectObjectsPath> |  | ||||||
|     <GenerateProjectSpecificOutputFolder>False</GenerateProjectSpecificOutputFolder> |  | ||||||
|     <MSBuildProjectExtensionsPath>$(MileProjectObjectsPath)$(Configuration)\$(MSBuildProjectName)\obj\</MSBuildProjectExtensionsPath> |  | ||||||
|     <AppxPackageDir>$(MileProjectBinariesPath)AppPackages\$(ProjectName)\</AppxPackageDir> |  | ||||||
|   </PropertyGroup> |  | ||||||
|     <PropertyGroup Condition="'$(MSBuildProjectExtension)' == '.vcxproj'"> |  | ||||||
|     <OutDir>$(MileProjectBinariesPath)$(Configuration)\$(Platform)\</OutDir> |  | ||||||
|     <IntDir>$(MileProjectObjectsPath)$(Configuration)\$(MSBuildProjectName)\$(Platform)\</IntDir> |  | ||||||
|     <GeneratedFilesDir>$(IntDir)Generated Files\</GeneratedFilesDir> |  | ||||||
|   </PropertyGroup> |  | ||||||
|   <PropertyGroup Condition="'$(MSBuildProjectExtension)' == '.wapproj'"> |  | ||||||
|     <OutputPath>$(MileProjectBinariesPath)$(Configuration)\$(MSBuildProjectName)\$(Platform)\</OutputPath> |  | ||||||
|     <IntermediateOutputPath>$(MileProjectObjectsPath)$(Configuration)\$(MSBuildProjectName)\</IntermediateOutputPath> |  | ||||||
|     <BaseIntermediateOutputPath>$(IntermediateOutputPath)</BaseIntermediateOutputPath> |  | ||||||
|   </PropertyGroup> |  | ||||||
|   <ItemGroup Label="NuGet" Condition="'$(MSBuildProjectExtension)' == '.vcxproj'"> |  | ||||||
|     <ProjectCapability Include="PackageReferences" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <PropertyGroup Label="NuGet" Condition="('$(MSBuildProjectExtension)' == '.vcxproj') Or ('$(MSBuildProjectExtension)' == '.wapproj')"> |  | ||||||
|     <!-- https://github.com/microsoft/react-native-windows/pull/8195 --> |  | ||||||
|     <AssetTargetFallback>$(AssetTargetFallback);native;uap$(TargetPlatformVersion);</AssetTargetFallback> |  | ||||||
|     <!-- https://github.com/microsoft/react-native-windows/pull/8195 --> |  | ||||||
|     <TargetFrameworkMoniker>native,Version=v0.0</TargetFrameworkMoniker> |  | ||||||
|     <NuGetTargetMoniker>native,Version=v0.0</NuGetTargetMoniker> |  | ||||||
|     <TargetFrameworkMoniker Condition ="'$(DesignTimeBuild)' == 'true'">.NETCore,Version=v5.0</TargetFrameworkMoniker> |  | ||||||
|     <NuGetTargetMoniker Condition ="'$(DesignTimeBuild)' == 'true'">.NETCore,Version=v5.0</NuGetTargetMoniker> |  | ||||||
|     <RuntimeIdentifiers>win;win-x86;win-x64;win-arm;win-arm64;win10-x86;win10-x64;win10-arm;win10-arm64</RuntimeIdentifiers> |  | ||||||
|   </PropertyGroup> |  | ||||||
| </Project> |  | ||||||
|  | @ -1,18 +0,0 @@ | ||||||
| # ARM32 Support Removed Notice |  | ||||||
| 
 |  | ||||||
| For deliberated consideration, This project will remove the ARM32 support on |  | ||||||
| the Windows platform. Here are the reasons: |  | ||||||
| 
 |  | ||||||
| - The latest version of ARM32 version for Windows desktop is Redstone 2 Insider |  | ||||||
|   Build 15035. I know Windows RT 8.1 and Windows 10 IoT Core aren't in the  |  | ||||||
|   stage of end of support, but most of daily users are drop their devices  |  | ||||||
|   (Windows RT 8.x tablets) or have a better solution (Windows 10 IoT Core users |  | ||||||
|   on Raspberry Pi devices should migrate to Linux or ARM64 version for Windows  |  | ||||||
|   10 desktop). |  | ||||||
| - Future ARM processors are deprecating ARM32 ISA support, and Apple Silicon M1 |  | ||||||
|   had dropped the ARM32 support at all. So we can't run ARM32 version of Windows |  | ||||||
|   desktop applications on these devices. According to |  | ||||||
|   https://learn.microsoft.com/en-us/windows/arm/arm32-to-arm64, we will know |  | ||||||
|   Microsoft will remove the support for 32-bit ARM versions of applications in |  | ||||||
|   a future release of Windows 11. |  | ||||||
| - Reduce the size of release package and make the continuous integration faster. |  | ||||||
|  | @ -1,21 +0,0 @@ | ||||||
| MIT License |  | ||||||
| 
 |  | ||||||
| Copyright (c) 2019 Littlev Graphics Library |  | ||||||
| 
 |  | ||||||
| Permission is hereby granted, free of charge, to any person obtaining a copy |  | ||||||
| of this software and associated documentation files (the "Software"), to deal |  | ||||||
| in the Software without restriction, including without limitation the rights |  | ||||||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |  | ||||||
| copies of the Software, and to permit persons to whom the Software is |  | ||||||
| furnished to do so, subject to the following conditions: |  | ||||||
| 
 |  | ||||||
| The above copyright notice and this permission notice shall be included in all |  | ||||||
| copies or substantial portions of the Software. |  | ||||||
| 
 |  | ||||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |  | ||||||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |  | ||||||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |  | ||||||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |  | ||||||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |  | ||||||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |  | ||||||
| SOFTWARE. |  | ||||||
|  | @ -1,37 +0,0 @@ | ||||||
|  |  | ||||||
| Microsoft Visual Studio Solution File, Format Version 12.00 |  | ||||||
| # Visual Studio Version 16 |  | ||||||
| VisualStudioVersion = 16.0.30907.101 |  | ||||||
| MinimumVisualStudioVersion = 10.0.40219.1 |  | ||||||
| Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LVGL.Simulator", "LVGL.Simulator\LVGL.Simulator.vcxproj", "{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}" |  | ||||||
| EndProject |  | ||||||
| Global |  | ||||||
| 	GlobalSection(SolutionConfigurationPlatforms) = preSolution |  | ||||||
| 		Debug|ARM64 = Debug|ARM64 |  | ||||||
| 		Debug|x64 = Debug|x64 |  | ||||||
| 		Debug|x86 = Debug|x86 |  | ||||||
| 		Release|ARM64 = Release|ARM64 |  | ||||||
| 		Release|x64 = Release|x64 |  | ||||||
| 		Release|x86 = Release|x86 |  | ||||||
| 	EndGlobalSection |  | ||||||
| 	GlobalSection(ProjectConfigurationPlatforms) = postSolution |  | ||||||
| 		{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Debug|ARM64.ActiveCfg = Debug|ARM64 |  | ||||||
| 		{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Debug|ARM64.Build.0 = Debug|ARM64 |  | ||||||
| 		{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Debug|x64.ActiveCfg = Debug|x64 |  | ||||||
| 		{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Debug|x64.Build.0 = Debug|x64 |  | ||||||
| 		{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Debug|x86.ActiveCfg = Debug|Win32 |  | ||||||
| 		{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Debug|x86.Build.0 = Debug|Win32 |  | ||||||
| 		{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Release|ARM64.ActiveCfg = Release|ARM64 |  | ||||||
| 		{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Release|ARM64.Build.0 = Release|ARM64 |  | ||||||
| 		{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Release|x64.ActiveCfg = Release|x64 |  | ||||||
| 		{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Release|x64.Build.0 = Release|x64 |  | ||||||
| 		{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Release|x86.ActiveCfg = Release|Win32 |  | ||||||
| 		{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Release|x86.Build.0 = Release|Win32 |  | ||||||
| 	EndGlobalSection |  | ||||||
| 	GlobalSection(SolutionProperties) = preSolution |  | ||||||
| 		HideSolutionNode = FALSE |  | ||||||
| 	EndGlobalSection |  | ||||||
| 	GlobalSection(ExtensibilityGlobals) = postSolution |  | ||||||
| 		SolutionGuid = {F07B2868-97B2-414D-A20F-85B77051DE80} |  | ||||||
| 	EndGlobalSection |  | ||||||
| EndGlobal |  | ||||||
|  | @ -1,75 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\drm.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\fbdev.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\GC9A01.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\ILI9341.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\monitor.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\R61581.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\SHARP_MIP.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\SSD1963.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\ST7565.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\UC1610.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\gtkdrv\gtkdrv.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\AD_touch.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\evdev.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\FT5406EE8.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\keyboard.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\libinput_drv.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\mouse.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\mousewheel.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\xkb.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\XPT2046.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl_common.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl_common_internal.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl_gpu.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\wayland\wayland.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\win32drv\win32drv.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\lv_drv_conf_template.h" /> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\win_drv.h" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\drm.c" /> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\fbdev.c" /> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\GC9A01.c" /> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\ILI9341.c" /> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\R61581.c" /> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\SHARP_MIP.c" /> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\SSD1963.c" /> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\ST7565.c" /> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\UC1610.c" /> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\gtkdrv\gtkdrv.c" /> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\AD_touch.c" /> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\evdev.c" /> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\FT5406EE8.c" /> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\libinput.c" /> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\xkb.c" /> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\XPT2046.c" /> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl.c" /> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl_common.c" /> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl_gpu.c" /> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\wayland\wayland.c" /> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\win32drv\win32drv.c" /> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\win_drv.c" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\.github\auto-comment.yml" /> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\.github\stale.yml" /> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\docs\astyle_c" /> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\docs\astyle_h" /> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\gtkdrv\broadway.png" /> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\gtkdrv\README.md" /> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\wayland\.gitignore" /> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\wayland\CMakeLists.txt" /> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\wayland\README.md" /> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\.git" /> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\.gitignore" /> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\CMakeLists.txt" /> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\library.json" /> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\LICENSE" /> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\lv_drivers.mk" /> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\README.md" /> |  | ||||||
|   </ItemGroup> |  | ||||||
| </Project> |  | ||||||
|  | @ -1,236 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <Filter Include="lv_drivers"> |  | ||||||
|       <UniqueIdentifier>{7566e42d-eb8e-4f4d-9033-cd06054697d8}</UniqueIdentifier> |  | ||||||
|     </Filter> |  | ||||||
|     <Filter Include="lv_drivers\.github"> |  | ||||||
|       <UniqueIdentifier>{74500504-af40-4255-9f53-4d92c5e229f8}</UniqueIdentifier> |  | ||||||
|     </Filter> |  | ||||||
|     <Filter Include="lv_drivers\display"> |  | ||||||
|       <UniqueIdentifier>{ca30f9f2-a3d9-4bca-80b5-f382e189249d}</UniqueIdentifier> |  | ||||||
|     </Filter> |  | ||||||
|     <Filter Include="lv_drivers\docs"> |  | ||||||
|       <UniqueIdentifier>{5f6b676a-921b-48d7-a991-daf4a08dfca1}</UniqueIdentifier> |  | ||||||
|     </Filter> |  | ||||||
|     <Filter Include="lv_drivers\gtkdrv"> |  | ||||||
|       <UniqueIdentifier>{fd61c315-6817-4014-ab7d-1b3caefe224c}</UniqueIdentifier> |  | ||||||
|     </Filter> |  | ||||||
|     <Filter Include="lv_drivers\indev"> |  | ||||||
|       <UniqueIdentifier>{074645d5-764c-40e1-9bc3-937ae2d66eb8}</UniqueIdentifier> |  | ||||||
|     </Filter> |  | ||||||
|     <Filter Include="lv_drivers\sdl"> |  | ||||||
|       <UniqueIdentifier>{8c46100e-c005-4d33-92a5-bbea97ac768d}</UniqueIdentifier> |  | ||||||
|     </Filter> |  | ||||||
|     <Filter Include="lv_drivers\wayland"> |  | ||||||
|       <UniqueIdentifier>{d40a3a90-9405-47e0-83b4-0ff7f537e61a}</UniqueIdentifier> |  | ||||||
|     </Filter> |  | ||||||
|     <Filter Include="lv_drivers\win32drv"> |  | ||||||
|       <UniqueIdentifier>{d67ee931-45e6-400d-b41c-4c1e0237f695}</UniqueIdentifier> |  | ||||||
|     </Filter> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\drm.h"> |  | ||||||
|       <Filter>lv_drivers\display</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\fbdev.h"> |  | ||||||
|       <Filter>lv_drivers\display</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\GC9A01.h"> |  | ||||||
|       <Filter>lv_drivers\display</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\ILI9341.h"> |  | ||||||
|       <Filter>lv_drivers\display</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\monitor.h"> |  | ||||||
|       <Filter>lv_drivers\display</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\R61581.h"> |  | ||||||
|       <Filter>lv_drivers\display</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\SHARP_MIP.h"> |  | ||||||
|       <Filter>lv_drivers\display</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\SSD1963.h"> |  | ||||||
|       <Filter>lv_drivers\display</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\ST7565.h"> |  | ||||||
|       <Filter>lv_drivers\display</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\UC1610.h"> |  | ||||||
|       <Filter>lv_drivers\display</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\gtkdrv\gtkdrv.h"> |  | ||||||
|       <Filter>lv_drivers\gtkdrv</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\AD_touch.h"> |  | ||||||
|       <Filter>lv_drivers\indev</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\evdev.h"> |  | ||||||
|       <Filter>lv_drivers\indev</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\FT5406EE8.h"> |  | ||||||
|       <Filter>lv_drivers\indev</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\keyboard.h"> |  | ||||||
|       <Filter>lv_drivers\indev</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\libinput_drv.h"> |  | ||||||
|       <Filter>lv_drivers\indev</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\mouse.h"> |  | ||||||
|       <Filter>lv_drivers\indev</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\mousewheel.h"> |  | ||||||
|       <Filter>lv_drivers\indev</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\xkb.h"> |  | ||||||
|       <Filter>lv_drivers\indev</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\XPT2046.h"> |  | ||||||
|       <Filter>lv_drivers\indev</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl.h"> |  | ||||||
|       <Filter>lv_drivers\sdl</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl_common.h"> |  | ||||||
|       <Filter>lv_drivers\sdl</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl_common_internal.h"> |  | ||||||
|       <Filter>lv_drivers\sdl</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl_gpu.h"> |  | ||||||
|       <Filter>lv_drivers\sdl</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\wayland\wayland.h"> |  | ||||||
|       <Filter>lv_drivers\wayland</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\win32drv\win32drv.h"> |  | ||||||
|       <Filter>lv_drivers\win32drv</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\lv_drv_conf_template.h"> |  | ||||||
|       <Filter>lv_drivers</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|     <ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\win_drv.h"> |  | ||||||
|       <Filter>lv_drivers</Filter> |  | ||||||
|     </ClInclude> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\drm.c"> |  | ||||||
|       <Filter>lv_drivers\display</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\fbdev.c"> |  | ||||||
|       <Filter>lv_drivers\display</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\GC9A01.c"> |  | ||||||
|       <Filter>lv_drivers\display</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\ILI9341.c"> |  | ||||||
|       <Filter>lv_drivers\display</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\R61581.c"> |  | ||||||
|       <Filter>lv_drivers\display</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\SHARP_MIP.c"> |  | ||||||
|       <Filter>lv_drivers\display</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\SSD1963.c"> |  | ||||||
|       <Filter>lv_drivers\display</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\ST7565.c"> |  | ||||||
|       <Filter>lv_drivers\display</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\UC1610.c"> |  | ||||||
|       <Filter>lv_drivers\display</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\gtkdrv\gtkdrv.c"> |  | ||||||
|       <Filter>lv_drivers\gtkdrv</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\AD_touch.c"> |  | ||||||
|       <Filter>lv_drivers\indev</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\evdev.c"> |  | ||||||
|       <Filter>lv_drivers\indev</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\FT5406EE8.c"> |  | ||||||
|       <Filter>lv_drivers\indev</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\libinput.c"> |  | ||||||
|       <Filter>lv_drivers\indev</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\xkb.c"> |  | ||||||
|       <Filter>lv_drivers\indev</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\XPT2046.c"> |  | ||||||
|       <Filter>lv_drivers\indev</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl.c"> |  | ||||||
|       <Filter>lv_drivers\sdl</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl_common.c"> |  | ||||||
|       <Filter>lv_drivers\sdl</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl_gpu.c"> |  | ||||||
|       <Filter>lv_drivers\sdl</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\wayland\wayland.c"> |  | ||||||
|       <Filter>lv_drivers\wayland</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\win32drv\win32drv.c"> |  | ||||||
|       <Filter>lv_drivers\win32drv</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|     <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\win_drv.c"> |  | ||||||
|       <Filter>lv_drivers</Filter> |  | ||||||
|     </ClCompile> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\.github\auto-comment.yml"> |  | ||||||
|       <Filter>lv_drivers\.github</Filter> |  | ||||||
|     </None> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\.github\stale.yml"> |  | ||||||
|       <Filter>lv_drivers\.github</Filter> |  | ||||||
|     </None> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\docs\astyle_c"> |  | ||||||
|       <Filter>lv_drivers\docs</Filter> |  | ||||||
|     </None> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\docs\astyle_h"> |  | ||||||
|       <Filter>lv_drivers\docs</Filter> |  | ||||||
|     </None> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\gtkdrv\broadway.png"> |  | ||||||
|       <Filter>lv_drivers\gtkdrv</Filter> |  | ||||||
|     </None> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\gtkdrv\README.md"> |  | ||||||
|       <Filter>lv_drivers\gtkdrv</Filter> |  | ||||||
|     </None> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\wayland\.gitignore"> |  | ||||||
|       <Filter>lv_drivers\wayland</Filter> |  | ||||||
|     </None> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\wayland\CMakeLists.txt"> |  | ||||||
|       <Filter>lv_drivers\wayland</Filter> |  | ||||||
|     </None> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\wayland\README.md"> |  | ||||||
|       <Filter>lv_drivers\wayland</Filter> |  | ||||||
|     </None> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\.git"> |  | ||||||
|       <Filter>lv_drivers</Filter> |  | ||||||
|     </None> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\.gitignore"> |  | ||||||
|       <Filter>lv_drivers</Filter> |  | ||||||
|     </None> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\CMakeLists.txt"> |  | ||||||
|       <Filter>lv_drivers</Filter> |  | ||||||
|     </None> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\library.json"> |  | ||||||
|       <Filter>lv_drivers</Filter> |  | ||||||
|     </None> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\LICENSE"> |  | ||||||
|       <Filter>lv_drivers</Filter> |  | ||||||
|     </None> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\lv_drivers.mk"> |  | ||||||
|       <Filter>lv_drivers</Filter> |  | ||||||
|     </None> |  | ||||||
|     <None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\README.md"> |  | ||||||
|       <Filter>lv_drivers</Filter> |  | ||||||
|     </None> |  | ||||||
|   </ItemGroup> |  | ||||||
| </Project> |  | ||||||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							|  | @ -1,884 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * PROJECT:   LVGL PC Simulator using Visual Studio |  | ||||||
|  * FILE:      LVGL.Simulator.cpp |  | ||||||
|  * PURPOSE:   Implementation for LVGL ported to Windows Desktop |  | ||||||
|  * |  | ||||||
|  * LICENSE:   The MIT License |  | ||||||
|  * |  | ||||||
|  * DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com) |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #include <Windows.h> |  | ||||||
| #include <string> |  | ||||||
| #include "resource.h" |  | ||||||
| 
 |  | ||||||
| #if _MSC_VER >= 1200 |  | ||||||
|  // Disable compilation warnings.
 |  | ||||||
| #pragma warning(push) |  | ||||||
| // nonstandard extension used : bit field types other than int
 |  | ||||||
| #pragma warning(disable:4214) |  | ||||||
| // 'conversion' conversion from 'type1' to 'type2', possible loss of data
 |  | ||||||
| #pragma warning(disable:4244) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #include "lvgl/lvgl.h" |  | ||||||
| #include "lv_drivers/win32drv/win32drv.h" |  | ||||||
| 
 |  | ||||||
| #if _MSC_VER >= 1200 |  | ||||||
| // Restore compilation warnings.
 |  | ||||||
| #pragma warning(pop) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #include <stdio.h> |  | ||||||
| 
 |  | ||||||
| bool single_display_mode_initialization() |  | ||||||
| { |  | ||||||
|     if (!lv_win32_init( |  | ||||||
|         GetModuleHandleW(NULL), |  | ||||||
|         SW_SHOW, |  | ||||||
|         240, |  | ||||||
|         320, |  | ||||||
|         LoadIconW(GetModuleHandleW(NULL), MAKEINTRESOURCE(IDI_LVGL)))) |  | ||||||
|     { |  | ||||||
|         return false; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     lv_win32_add_all_input_devices_to_group(NULL); |  | ||||||
| 
 |  | ||||||
|     return true; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #include <process.h> |  | ||||||
| 
 |  | ||||||
| HANDLE g_window_mutex = NULL; |  | ||||||
| bool g_initialization_status = false; |  | ||||||
| 
 |  | ||||||
| #define LVGL_SIMULATOR_MAXIMUM_DISPLAYS 16 |  | ||||||
| HWND g_display_window_handles[LVGL_SIMULATOR_MAXIMUM_DISPLAYS]; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| #define screenWidth 240 |  | ||||||
| #define screenHeight 320 |  | ||||||
| 
 |  | ||||||
| unsigned int __stdcall lv_win32_window_thread_entrypoint( |  | ||||||
|     void* raw_parameter) |  | ||||||
| { |  | ||||||
|     size_t display_id = *(size_t*)(raw_parameter); |  | ||||||
| 
 |  | ||||||
|     HINSTANCE instance_handle = GetModuleHandleW(NULL); |  | ||||||
|     int show_window_mode = SW_SHOW; |  | ||||||
|     HICON icon_handle = LoadIconW(instance_handle, MAKEINTRESOURCE(IDI_LVGL)); |  | ||||||
|     lv_coord_t hor_res = 240; |  | ||||||
|     lv_coord_t ver_res = 320; |  | ||||||
| 
 |  | ||||||
|     wchar_t window_title[256]; |  | ||||||
|     memset(window_title, 0, sizeof(window_title)); |  | ||||||
|     _snwprintf( |  | ||||||
|         window_title, |  | ||||||
|         256, |  | ||||||
|         L"LVGL Simulator for Windows Desktop (Display %d)", |  | ||||||
|         display_id); |  | ||||||
| 
 |  | ||||||
|     g_display_window_handles[display_id] = lv_win32_create_display_window( |  | ||||||
|         window_title, |  | ||||||
|         hor_res, |  | ||||||
|         ver_res, |  | ||||||
|         instance_handle, |  | ||||||
|         icon_handle, |  | ||||||
|         show_window_mode); |  | ||||||
|     if (!g_display_window_handles[display_id]) |  | ||||||
|     { |  | ||||||
|         return 0; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     g_initialization_status = true; |  | ||||||
| 
 |  | ||||||
|     SetEvent(g_window_mutex); |  | ||||||
| 
 |  | ||||||
|     MSG message; |  | ||||||
|     while (GetMessageW(&message, NULL, 0, 0)) |  | ||||||
|     { |  | ||||||
|         TranslateMessage(&message); |  | ||||||
|         DispatchMessageW(&message); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     lv_win32_quit_signal = true; |  | ||||||
| 
 |  | ||||||
|     return 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| bool multiple_display_mode_initialization() |  | ||||||
| { |  | ||||||
|     if (!lv_win32_init_window_class()) |  | ||||||
|     { |  | ||||||
|         return false; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     for (size_t i = 0; i < LVGL_SIMULATOR_MAXIMUM_DISPLAYS; ++i) |  | ||||||
|     { |  | ||||||
|         g_initialization_status = false; |  | ||||||
| 
 |  | ||||||
|         g_window_mutex = CreateEventExW(NULL, NULL, 0, EVENT_ALL_ACCESS); |  | ||||||
| 
 |  | ||||||
|         _beginthreadex( |  | ||||||
|             NULL, |  | ||||||
|             0, |  | ||||||
|             lv_win32_window_thread_entrypoint, |  | ||||||
|             &i, |  | ||||||
|             0, |  | ||||||
|             NULL); |  | ||||||
| 
 |  | ||||||
|         WaitForSingleObjectEx(g_window_mutex, INFINITE, FALSE); |  | ||||||
| 
 |  | ||||||
|         CloseHandle(g_window_mutex); |  | ||||||
| 
 |  | ||||||
|         if (!g_initialization_status) |  | ||||||
|         { |  | ||||||
|             return false; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     lv_win32_window_context_t* context = (lv_win32_window_context_t*)( |  | ||||||
|         lv_win32_get_window_context(g_display_window_handles[0])); |  | ||||||
|     if (context) |  | ||||||
|     { |  | ||||||
|         lv_win32_pointer_device_object = context->mouse_device_object; |  | ||||||
|         lv_win32_keypad_device_object = context->keyboard_device_object; |  | ||||||
|         lv_win32_encoder_device_object = context->mousewheel_device_object; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     lv_win32_add_all_input_devices_to_group(NULL); |  | ||||||
| 
 |  | ||||||
|     return true; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| lv_obj_t* panel; |  | ||||||
| byte currentDevice = 4; // Current Device to control (allows switching mappings between devices)
 |  | ||||||
| byte virtualKeyMapTechnisat[10] = { 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0x0 }; |  | ||||||
| bool wakeupByIMUEnabled = true; |  | ||||||
| int backlight_brightness = 255; |  | ||||||
| 
 |  | ||||||
| lv_color_t color_primary = lv_color_hex(0x303030); // gray
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| // Set the page indicator scroll position relative to the tabview scroll position
 |  | ||||||
| static void store_scroll_value_event_cb(lv_event_t* e) { |  | ||||||
|     float bias = (150.0 + 8.0) / 240.0; |  | ||||||
|     int offset = 240 / 2 - 150 / 2 - 8 - 50 - 3; |  | ||||||
|     lv_obj_t* screen = lv_event_get_target(e); |  | ||||||
|     lv_obj_scroll_to_x(panel, lv_obj_get_scroll_x(screen) * bias - offset, LV_ANIM_OFF); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Update current device when the tabview page is changes
 |  | ||||||
| static void tabview_device_event_cb(lv_event_t* e) { |  | ||||||
|     currentDevice = lv_tabview_get_tab_act(lv_event_get_target(e)); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Backlight Slider Event handler
 |  | ||||||
| static void bl_slider_event_cb(lv_event_t* e) { |  | ||||||
|     lv_obj_t* slider = lv_event_get_target(e); |  | ||||||
|     backlight_brightness = 255;//constrain(lv_slider_get_value(slider), 60, 255);
 |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Apple Key Event handler
 |  | ||||||
| static void appleKey_event_cb(lv_event_t* e) { |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Wakeup by IMU Switch Event handler
 |  | ||||||
| static void WakeEnableSetting_event_cb(lv_event_t* e) { |  | ||||||
|     wakeupByIMUEnabled = lv_obj_has_state(lv_event_get_target(e), LV_STATE_CHECKED); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Smart Home Toggle Event handler
 |  | ||||||
| static void smartHomeToggle_event_cb(lv_event_t* e) { |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Smart Home Toggle Event handler
 |  | ||||||
| static void smartHomeSlider_event_cb(lv_event_t* e) { |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // Virtual Keypad Event handler
 |  | ||||||
| static void virtualKeypad_event_cb(lv_event_t* e) { |  | ||||||
|     lv_obj_t* target = lv_event_get_target(e); |  | ||||||
|     lv_obj_t* cont = lv_event_get_current_target(e); |  | ||||||
|     if (target == cont) return; |  | ||||||
| 
 |  | ||||||
|     char buffer[100]; |  | ||||||
|     sprintf_s(buffer, "check it out: %d\n", virtualKeyMapTechnisat[(int)target->user_data]); |  | ||||||
|     OutputDebugStringA(buffer); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #ifndef LV_ATTRIBUTE_MEM_ALIGN |  | ||||||
| #define LV_ATTRIBUTE_MEM_ALIGN |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST uint8_t gradientLeft_map[] = { |  | ||||||
|   0xfa, 0xf2, 0xea, 0xe2, 0xda, 0xd1, 0xc7, 0xbe, 0xb7, 0xae, 0xa6, 0x9e, 0x95, 0x8d, 0x84, 0x7d, 0x74, 0x6c, 0x62, 0x5a, 0x51, 0x48, 0x41, 0x38, 0x2f, 0x28, 0x1f, 0x17, 0x0f, 0x07, |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST uint8_t gradientRight_map[] = { |  | ||||||
|   0x07, 0x0f, 0x17, 0x1f, 0x28, 0x2f, 0x38, 0x41, 0x48, 0x51, 0x5a, 0x62, 0x6c, 0x74, 0x7d, 0x84, 0x8d, 0x95, 0x9e, 0xa6, 0xae, 0xb7, 0xbe, 0xc7, 0xd1, 0xda, 0xe2, 0xea, 0xf2, 0xfa, |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST uint8_t appleTvIcon_map[] = { |  | ||||||
|     /*Pixel format: Red: 5 bit, Green: 6 bit, Blue: 5 bit*/ |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x42, 0x55, 0xad, 0xdb, 0xde, 0x1c, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0xad, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5d, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xde, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x21, 0x34, 0xa5, 0x55, 0xad, 0x55, 0xad, 0x55, 0xad, 0x55, 0xad, 0x55, 0xad, 0x55, 0xad, 0xcf, 0x7b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x76, 0xb5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x69, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5d, 0xef, 0x65, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb6, 0xb5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0xef, 0x8a, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9a, 0xd6, 0x08, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0xad, 0x9a, 0xd6, 0xd7, 0xbd, 0x8e, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x73, 0xd7, 0xbd, 0xbb, 0xde, 0x3c, 0xe7, 0xfc, 0xe6, 0x39, 0xce, 0x72, 0x94, 0xa7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa3, 0x18, 0x8e, 0x73, 0xd7, 0xbd, 0x1c, 0xe7, 0x9e, 0xf7, 0xbe, 0xf7, 0x5d, 0xef, 0x9a, 0xd6, 0x34, 0xa5, 0x28, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, 0x6b, 0xfb, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x7a, 0xd6, 0x71, 0x8c, 0xa6, 0x31, 0x2d, 0x6b, 0xb6, 0xb5, 0x7d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xd7, 0xbd, 0xa3, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb3, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3c, 0xe7, 0x49, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x38, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x69, 0x4a, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x59, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x14, 0xa5, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb3, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3d, 0xef, 0x24, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x39, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbe, 0xf7, 0x45, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1c, 0xe7, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x0c, 0x63, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5d, 0xef, 0xeb, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x39, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb3, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x14, 0xa5, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0xdb, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xde, 0x86, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x39, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x31, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x39, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xe7, 0x39, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x8e, 0x73, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3d, 0xef, 0x86, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x39, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbe, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8e, 0x73, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9a, 0xd6, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x79, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6d, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, 0xd6, 0x3c, 0xe7, 0x3c, 0xe7, 0x3d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0xf7, 0x3c, 0xe7, 0x3c, 0xe7, 0x3c, 0xe7, 0x3c, 0xe7, 0x3c, 0xe7, 0x96, 0xb5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd7, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x71, 0x8c, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x9e, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7a, 0xd6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x18, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0xec, 0x62, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x71, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb7, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x73, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xc5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x31, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x49, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x63, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4d, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd7, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6e, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0xd3, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xe4, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5d, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x55, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0xa5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5d, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xeb, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x76, 0xb5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x34, 0xa5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x28, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2d, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0xb5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x29, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x92, 0x94, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xae, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0xb5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbb, 0xde, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0xf0, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xc5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x94, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1c, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xeb, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x8a, 0x52, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0x28, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbe, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8a, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x45, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x9e, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7a, 0xd6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x75, 0xad, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x59, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x9a, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x6b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x4a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0x7b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0xf4, 0xa4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x59, 0xce, 0x86, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x49, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x55, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0xef, 0xa3, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0xa6, 0x31, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0xf7, 0xef, 0x7b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0xb5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x14, 0xa5, 0x00, 0x00, 0x00, 0x00, 0xfb, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x9a, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0c, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x4a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xde, 0x00, 0x00, 0x29, 0x4a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x51, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xde, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x39, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x39, 0xf3, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0xef, 0x24, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x31, 0x29, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd3, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x9c, 0xbb, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x14, 0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xe6, 0xd3, 0x9c, 0x51, 0x8c, 0x34, 0xa5, 0x9a, 0xd6, 0xdf, 0xff, 0xf7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa6, 0x31, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x08, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0x7b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1c, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9a, 0xd6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xec, 0x62, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x79, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xe7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x51, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0xf7, 0xe7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb7, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x41, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd7, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x18, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb2, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x39, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x63, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8e, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0xf7, 0x39, 0xce, 0x72, 0x94, 0xcb, 0x5a, 0xa3, 0x18, 0x4d, 0x6b, 0x34, 0xa5, 0xfb, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbe, 0xf7, 0x72, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0x7b, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0xef, 0xd7, 0xbd, 0xeb, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5d, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x73, 0xf8, 0xc5, 0xba, 0xd6, 0xd7, 0xbd, 0xf0, 0x83, 0xa3, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x4a, 0xf3, 0x9c, 0xf8, 0xc5, 0x59, 0xce, 0x55, 0xad, 0x08, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xae, 0x73, 0x76, 0xb5, 0x39, 0xce, 0x7a, 0xd6, 0x39, 0xce, 0xd7, 0xbd, 0xd3, 0x9c, 0xec, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x4a, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x49, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST uint8_t appleDisplayIcon_map[] = { |  | ||||||
|   0x23, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x3d, |  | ||||||
|   0xaa, 0xfd, 0xad, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0xa1, 0xf7, 0xd8, |  | ||||||
|   0xd0, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa1, 0xff, |  | ||||||
|   0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff, |  | ||||||
|   0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff, |  | ||||||
|   0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff, |  | ||||||
|   0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff, |  | ||||||
|   0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff, |  | ||||||
|   0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff, |  | ||||||
|   0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff, |  | ||||||
|   0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff, |  | ||||||
|   0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff, |  | ||||||
|   0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff, |  | ||||||
|   0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff, |  | ||||||
|   0xc6, 0xea, 0x2a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1f, 0xcc, 0xf6, |  | ||||||
|   0x6c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x98, |  | ||||||
|   0x00, 0x44, 0x7b, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7d, 0x56, 0x03, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0xb7, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc0, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0xd3, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xdb, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST uint8_t appleBackIcon_map[] = { |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x07, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0xbe, 0x94, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0xe7, 0xff, 0xf0, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0xfa, 0xff, 0xf5, 0x31, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xfc, 0xff, 0xea, 0x3e, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, 0xee, 0xff, 0xe6, 0x48, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x01, 0x00, 0x50, 0xed, 0xff, 0xe9, 0x39, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x55, 0xfc, 0xff, 0xe7, 0x25, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x59, 0xff, 0xff, 0xe0, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x5e, 0xf6, 0xff, 0xdb, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x64, 0xf4, 0xff, 0xd9, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x4d, 0xff, 0xff, 0xce, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x6b, 0xff, 0xff, 0x9e, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x9c, 0xff, 0xff, 0xa8, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x04, 0x8f, 0xff, 0xff, 0xb5, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x03, 0x91, 0xff, 0xff, 0xba, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x93, 0xff, 0xff, 0xbb, 0x0a, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x01, 0x00, 0x87, 0xfc, 0xff, 0xbf, 0x14, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xfb, 0xff, 0xc5, 0x22, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x78, 0xff, 0xff, 0xca, 0x1e, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0xff, 0xff, 0xd0, 0x11, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6e, 0xfb, 0xff, 0xcc, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xea, 0xca, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x28, 0x18, |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST uint8_t high_brightness_map[] = { |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0xd4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x5c, 0x8e, 0x04, 0x00, 0x00, 0x00, 0xc1, 0xc1, 0x00, 0x00, 0x00, 0x04, 0x8e, 0x5c, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x8c, 0xff, 0xa8, 0x01, 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00, 0x01, 0xa8, 0xff, 0x8c, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x04, 0xa9, 0xf5, 0x0d, 0x00, 0x00, 0x11, 0x11, 0x00, 0x00, 0x0d, 0xf5, 0xa9, 0x04, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x01, 0x0a, 0x00, 0x42, 0xd4, 0xff, 0xff, 0xd4, 0x41, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0xd5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0xbd, 0xcc, 0xbd, 0x0d, 0x11, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x12, 0x0d, 0xbd, 0xcc, 0xbd, |  | ||||||
|   0xbd, 0xcc, 0xbd, 0x0d, 0x11, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x10, 0x0d, 0xbd, 0xcc, 0xbd, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x01, 0x0a, 0x00, 0x40, 0xd3, 0xff, 0xfe, 0xd2, 0x3f, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x04, 0xa9, 0xf5, 0x0d, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x0d, 0xf5, 0xa9, 0x04, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x8c, 0xff, 0xa8, 0x01, 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00, 0x01, 0xa8, 0xff, 0x8c, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x5c, 0x8e, 0x04, 0x00, 0x00, 0x00, 0xc1, 0xc1, 0x00, 0x00, 0x00, 0x04, 0x8e, 0x5c, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0xd4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST uint8_t low_brightness_map[] = { |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbd, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x27, 0x72, 0x01, 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00, 0x01, 0x72, 0x28, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x71, 0xf5, 0x0f, 0x00, 0x00, 0x11, 0x11, 0x00, 0x00, 0x0d, 0xf5, 0x73, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x01, 0x0b, 0x00, 0x42, 0xd4, 0xff, 0xff, 0xd4, 0x41, 0x00, 0x0a, 0x01, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x42, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x40, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0xd5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x43, 0xbd, 0x0d, 0x11, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x12, 0x0d, 0xbc, 0x44, |  | ||||||
|   0x43, 0xbd, 0x0d, 0x11, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x11, 0x0d, 0xbc, 0x44, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0xd4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x41, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x01, 0x0b, 0x00, 0x40, 0xd3, 0xfe, 0xff, 0xd2, 0x3f, 0x00, 0x0a, 0x01, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x71, 0xf5, 0x0f, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x0d, 0xf5, 0x73, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x27, 0x72, 0x01, 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00, 0x01, 0x72, 0x28, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbd, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST uint8_t lightbulb_map[] = { |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x04, 0x1c, 0x1c, 0x04, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x16, 0x95, 0xee, 0xff, 0xff, 0xee, 0x94, 0x15, 0x00, 0x00, |  | ||||||
|   0x00, 0x27, 0xe3, 0xff, 0xcc, 0x8d, 0x8d, 0xcd, 0xff, 0xe1, 0x26, 0x00, |  | ||||||
|   0x07, 0xd9, 0xfa, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xfa, 0xd7, 0x06, |  | ||||||
|   0x65, 0xff, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, 0xff, 0x63, |  | ||||||
|   0xb1, 0xf8, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xf8, 0xaf, |  | ||||||
|   0xcc, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0xcd, |  | ||||||
|   0xb1, 0xf5, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xf1, 0xbd, |  | ||||||
|   0x73, 0xff, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0xff, 0x74, |  | ||||||
|   0x0b, 0xd5, 0xfb, 0x40, 0x00, 0x00, 0x00, 0x00, 0x41, 0xfb, 0xd9, 0x0b, |  | ||||||
|   0x00, 0x24, 0xef, 0xdc, 0x01, 0x00, 0x00, 0x01, 0xdd, 0xee, 0x24, 0x00, |  | ||||||
|   0x00, 0x00, 0x83, 0xff, 0x30, 0x00, 0x00, 0x30, 0xff, 0x81, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x12, 0x6c, 0x06, 0x00, 0x00, 0x06, 0x6c, 0x12, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x25, 0xc7, 0xcc, 0xcc, 0xcc, 0xcc, 0xc7, 0x25, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x25, 0xc7, 0xcc, 0xcc, 0xcc, 0xcc, 0xc7, 0x25, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x1c, 0x76, 0x77, 0x77, 0x76, 0x1c, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x69, 0xff, 0xff, 0xff, 0xff, 0x69, 0x00, 0x00, 0x00, |  | ||||||
|   0x00, 0x00, 0x00, 0x01, 0x21, 0x22, 0x22, 0x21, 0x01, 0x00, 0x00, 0x00, |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| int main() |  | ||||||
| { |  | ||||||
|   lv_init(); |  | ||||||
| 
 |  | ||||||
|   if (!single_display_mode_initialization()) |  | ||||||
|   { |  | ||||||
|       return -1; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   // --- LVGL UI Configuration ---  
 |  | ||||||
| 
 |  | ||||||
|   // Set the background color
 |  | ||||||
|   lv_obj_set_style_bg_color(lv_scr_act(), lv_color_black(), LV_PART_MAIN); |  | ||||||
| 
 |  | ||||||
|   // Setup a scrollable tabview for devices and settings
 |  | ||||||
|   lv_obj_t* tabview; |  | ||||||
|   tabview = lv_tabview_create(lv_scr_act(), LV_DIR_TOP, 0); // Hide tab labels by setting their height to 0
 |  | ||||||
|   lv_obj_set_style_bg_color(tabview, lv_color_black(), LV_PART_MAIN); |  | ||||||
|   lv_obj_set_size(tabview, screenWidth, 270); // 270 = screenHeight(320) - panel(30) - statusbar(20)
 |  | ||||||
|   lv_obj_align(tabview, LV_ALIGN_TOP_MID, 0, 20); |  | ||||||
| 
 |  | ||||||
|   // Add 4 tabs (names are irrelevant since the labels are hidden)
 |  | ||||||
|   lv_obj_t* tab1 = lv_tabview_add_tab(tabview, "Settings"); |  | ||||||
|   lv_obj_t* tab2 = lv_tabview_add_tab(tabview, "Technisat"); |  | ||||||
|   lv_obj_t* tab3 = lv_tabview_add_tab(tabview, "Apple TV"); |  | ||||||
|   lv_obj_t* tab4 = lv_tabview_add_tab(tabview, "Smart Home"); |  | ||||||
| 
 |  | ||||||
|   // Configure number button grid 
 |  | ||||||
|   static lv_coord_t col_dsc[] = { LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST }; // equal x distribution
 |  | ||||||
|   static lv_coord_t row_dsc[] = { 52, 52, 52, 52, LV_GRID_TEMPLATE_LAST }; // manual y distribution to compress the grid a bit
 |  | ||||||
| 
 |  | ||||||
|   // Create a container with grid for tab2
 |  | ||||||
|   lv_obj_set_style_pad_all(tab2, 0, LV_PART_MAIN); |  | ||||||
|   lv_obj_t* cont = lv_obj_create(tab2); |  | ||||||
|   lv_obj_set_style_shadow_width(cont, 0, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_bg_color(cont, lv_color_black(), LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_border_width(cont, 0, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_grid_column_dsc_array(cont, col_dsc, 0); |  | ||||||
|   lv_obj_set_style_grid_row_dsc_array(cont, row_dsc, 0); |  | ||||||
|   lv_obj_set_size(cont, 240, 270); |  | ||||||
|   lv_obj_set_layout(cont, LV_LAYOUT_GRID); |  | ||||||
|   lv_obj_align(cont, LV_ALIGN_TOP_MID, 0, 0); |  | ||||||
|   lv_obj_set_style_radius(cont, 0, LV_PART_MAIN); |  | ||||||
| 
 |  | ||||||
|   lv_obj_t* buttonLabel; |  | ||||||
|   lv_obj_t* obj; |  | ||||||
| 
 |  | ||||||
|   // Iterate through grid buttons and configure them
 |  | ||||||
|   for (int i = 0; i < 12; i++) { |  | ||||||
|       uint8_t col = i % 3; |  | ||||||
|       uint8_t row = i / 3; |  | ||||||
|       // Create the button object
 |  | ||||||
|       if ((row == 3) && ((col == 0) || (col == 2))) continue; // Do not create a complete fourth row, only a 0 button
 |  | ||||||
|       obj = lv_btn_create(cont); |  | ||||||
|       lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_STRETCH, col, 1, LV_GRID_ALIGN_STRETCH, row, 1); |  | ||||||
|       lv_obj_set_style_bg_color(obj, color_primary, LV_PART_MAIN); |  | ||||||
|       lv_obj_set_style_radius(obj, 14, LV_PART_MAIN); |  | ||||||
|       lv_obj_add_flag(obj, LV_OBJ_FLAG_EVENT_BUBBLE); // Clicking a button causes a event in its container
 |  | ||||||
|       // Create Labels for each button
 |  | ||||||
|       buttonLabel = lv_label_create(obj); |  | ||||||
|       if (i < 9) { |  | ||||||
|           lv_label_set_text_fmt(buttonLabel, std::to_string(i + 1).c_str(), col, row); |  | ||||||
|           lv_obj_set_user_data(obj, (void*)i); // Add user data so we can identify which button caused the container event
 |  | ||||||
|       } |  | ||||||
|       else { |  | ||||||
|           lv_label_set_text_fmt(buttonLabel, "0", col, row); |  | ||||||
|           lv_obj_set_user_data(obj, (void*)9); |  | ||||||
|       } |  | ||||||
|       lv_obj_set_style_text_font(buttonLabel, &lv_font_montserrat_24, LV_PART_MAIN); |  | ||||||
|       lv_obj_center(buttonLabel); |  | ||||||
|   } |  | ||||||
|   // Create a shared event for all button inside container
 |  | ||||||
|   lv_obj_add_event_cb(cont, virtualKeypad_event_cb, LV_EVENT_CLICKED, NULL); |  | ||||||
| 
 |  | ||||||
|   // Only for the LVGL PC Simulator !!!
 |  | ||||||
|   lv_img_dsc_t appleTvIcon; |  | ||||||
|   appleTvIcon.header.cf = LV_IMG_CF_TRUE_COLOR; |  | ||||||
|   appleTvIcon.header.always_zero = 0; |  | ||||||
|   appleTvIcon.header.reserved = 0; |  | ||||||
|   appleTvIcon.header.w = 91; |  | ||||||
|   appleTvIcon.header.h = 42; |  | ||||||
|   appleTvIcon.data_size = 3822 * LV_COLOR_SIZE / 8; |  | ||||||
|   appleTvIcon.data = appleTvIcon_map; |  | ||||||
|   lv_img_dsc_t appleDisplayIcon; |  | ||||||
|   appleDisplayIcon.header.cf = LV_IMG_CF_ALPHA_8BIT; |  | ||||||
|   appleDisplayIcon.header.always_zero = 0; |  | ||||||
|   appleDisplayIcon.header.reserved = 0; |  | ||||||
|   appleDisplayIcon.header.w = 25; |  | ||||||
|   appleDisplayIcon.header.h = 20; |  | ||||||
|   appleDisplayIcon.data_size = 500; |  | ||||||
|   appleDisplayIcon.data = appleDisplayIcon_map; |  | ||||||
|   lv_img_dsc_t appleBackIcon; |  | ||||||
|   appleBackIcon.header.cf = LV_IMG_CF_ALPHA_8BIT; |  | ||||||
|   appleBackIcon.header.always_zero = 0; |  | ||||||
|   appleBackIcon.header.reserved = 0; |  | ||||||
|   appleBackIcon.header.w = 13; |  | ||||||
|   appleBackIcon.header.h = 25; |  | ||||||
|   appleBackIcon.data_size = 325; |  | ||||||
|   appleBackIcon.data = appleBackIcon_map;   |  | ||||||
|    |  | ||||||
| 
 |  | ||||||
|   // Add content to the Apple TV tab (3)
 |  | ||||||
|   // Add a nice apple tv logo
 |  | ||||||
|   lv_obj_t* appleImg = lv_img_create(tab3); |  | ||||||
|   lv_img_set_src(appleImg, &appleTvIcon); |  | ||||||
|   lv_obj_align(appleImg, LV_ALIGN_CENTER, 0, -60); |  | ||||||
|   // create two buttons and add their icons accordingly
 |  | ||||||
|   lv_obj_t* button = lv_btn_create(tab3); |  | ||||||
|   lv_obj_align(button, LV_ALIGN_BOTTOM_LEFT, 10, 0); |  | ||||||
|   lv_obj_set_size(button, 60, 60); |  | ||||||
|   lv_obj_set_style_radius(button, 30, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_bg_color(button, color_primary, LV_PART_MAIN); |  | ||||||
|   lv_obj_add_event_cb(button, appleKey_event_cb, LV_EVENT_CLICKED, (void*)1); |  | ||||||
| 
 |  | ||||||
|   appleImg = lv_img_create(button); |  | ||||||
|   lv_img_set_src(appleImg, &appleBackIcon); |  | ||||||
|   lv_obj_set_style_img_recolor(appleImg, lv_color_white(), LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_img_recolor_opa(appleImg, LV_OPA_COVER, LV_PART_MAIN); |  | ||||||
|   lv_obj_align(appleImg, LV_ALIGN_CENTER, -3, 0); |  | ||||||
| 
 |  | ||||||
|   button = lv_btn_create(tab3); |  | ||||||
|   lv_obj_align(button, LV_ALIGN_BOTTOM_RIGHT, -10, 0); |  | ||||||
|   lv_obj_set_size(button, 60, 60); |  | ||||||
|   lv_obj_set_style_radius(button, 30, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_bg_color(button, color_primary, LV_PART_MAIN); |  | ||||||
|   lv_obj_add_event_cb(button, appleKey_event_cb, LV_EVENT_CLICKED, (void*)2); |  | ||||||
| 
 |  | ||||||
|   appleImg = lv_img_create(button); |  | ||||||
|   lv_img_set_src(appleImg, &appleDisplayIcon); |  | ||||||
|   lv_obj_set_style_img_recolor(appleImg, lv_color_white(), LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_img_recolor_opa(appleImg, LV_OPA_COVER, LV_PART_MAIN); |  | ||||||
|   lv_obj_align(appleImg, LV_ALIGN_CENTER, 0, 0); |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|    |  | ||||||
| 
 |  | ||||||
|   // Add content to the settings tab
 |  | ||||||
|   // With a flex layout, setting groups/boxes will position themselves automatically
 |  | ||||||
|   lv_obj_set_layout(tab1, LV_LAYOUT_FLEX); |  | ||||||
|   lv_obj_set_flex_flow(tab1, LV_FLEX_FLOW_COLUMN); |  | ||||||
|   lv_obj_set_scrollbar_mode(tab1, LV_SCROLLBAR_MODE_ACTIVE); |  | ||||||
| 
 |  | ||||||
|   // Only for the LVGL PC Simulator !!!
 |  | ||||||
|   lv_img_dsc_t high_brightness; |  | ||||||
|   high_brightness.header.cf = LV_IMG_CF_ALPHA_8BIT, |  | ||||||
|   high_brightness.header.always_zero = 0, |  | ||||||
|   high_brightness.header.reserved = 0, |  | ||||||
|   high_brightness.header.w = 18, |  | ||||||
|   high_brightness.header.h = 18, |  | ||||||
|   high_brightness.data_size = 352, |  | ||||||
|   high_brightness.data = high_brightness_map; |  | ||||||
|   lv_img_dsc_t low_brightness; |  | ||||||
|   low_brightness.header.cf = LV_IMG_CF_ALPHA_8BIT, |  | ||||||
|   low_brightness.header.always_zero = 0, |  | ||||||
|   low_brightness.header.reserved = 0, |  | ||||||
|   low_brightness.header.w = 16, |  | ||||||
|   low_brightness.header.h = 16, |  | ||||||
|   low_brightness.data_size = 256, |  | ||||||
|   low_brightness.data = low_brightness_map; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   // Add a label, then a box for the display settings
 |  | ||||||
|   lv_obj_t* menuLabel = lv_label_create(tab1); |  | ||||||
|   lv_label_set_text(menuLabel, "Display"); |  | ||||||
| 
 |  | ||||||
|   lv_obj_t* menuBox = lv_obj_create(tab1); |  | ||||||
|   lv_obj_set_size(menuBox, lv_pct(100), 109); |  | ||||||
|   lv_obj_set_style_bg_color(menuBox, color_primary, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_border_width(menuBox, 0, LV_PART_MAIN); |  | ||||||
| 
 |  | ||||||
|   lv_obj_t* brightnessIcon = lv_img_create(menuBox); |  | ||||||
|   lv_img_set_src(brightnessIcon, &low_brightness); |  | ||||||
|   lv_obj_set_style_img_recolor(brightnessIcon, lv_color_white(), LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_img_recolor_opa(brightnessIcon, LV_OPA_COVER, LV_PART_MAIN); |  | ||||||
|   lv_obj_align(brightnessIcon, LV_ALIGN_TOP_LEFT, 0, 0); |  | ||||||
|   lv_obj_t* slider = lv_slider_create(menuBox); |  | ||||||
|   lv_slider_set_range(slider, 60, 255); |  | ||||||
|   lv_obj_set_style_bg_color(slider, lv_color_white(), LV_PART_KNOB); |  | ||||||
|   lv_obj_set_style_bg_opa(slider, LV_OPA_COVER, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_bg_color(slider, lv_color_lighten(color_primary, 50), LV_PART_MAIN); |  | ||||||
|   lv_slider_set_value(slider, backlight_brightness, LV_ANIM_OFF); |  | ||||||
|   lv_obj_set_size(slider, lv_pct(66), 10); |  | ||||||
|   lv_obj_align(slider, LV_ALIGN_TOP_MID, 0, 3); |  | ||||||
|   brightnessIcon = lv_img_create(menuBox); |  | ||||||
|   lv_img_set_src(brightnessIcon, &high_brightness); |  | ||||||
|   lv_obj_set_style_img_recolor(brightnessIcon, lv_color_white(), LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_img_recolor_opa(brightnessIcon, LV_OPA_COVER, LV_PART_MAIN); |  | ||||||
|   lv_obj_align(brightnessIcon, LV_ALIGN_TOP_RIGHT, 0, -1); |  | ||||||
|   lv_obj_add_event_cb(slider, bl_slider_event_cb, LV_EVENT_VALUE_CHANGED, NULL); |  | ||||||
| 
 |  | ||||||
|   menuLabel = lv_label_create(menuBox); |  | ||||||
|   lv_label_set_text(menuLabel, "Lift to Wake"); |  | ||||||
|   lv_obj_align(menuLabel, LV_ALIGN_TOP_LEFT, 0, 32); |  | ||||||
|   lv_obj_t* wakeToggle = lv_switch_create(menuBox); |  | ||||||
|   lv_obj_set_size(wakeToggle, 40, 22); |  | ||||||
|   lv_obj_align(wakeToggle, LV_ALIGN_TOP_RIGHT, 0, 29); |  | ||||||
|   lv_obj_set_style_bg_color(wakeToggle, lv_color_lighten(color_primary, 50), LV_PART_MAIN); |  | ||||||
|   lv_obj_add_event_cb(wakeToggle, WakeEnableSetting_event_cb, LV_EVENT_VALUE_CHANGED, NULL); |  | ||||||
|   if (wakeupByIMUEnabled) lv_obj_add_state(wakeToggle, LV_STATE_CHECKED); // set default state
 |  | ||||||
| 
 |  | ||||||
|   menuLabel = lv_label_create(menuBox); |  | ||||||
|   lv_label_set_text(menuLabel, "Timeout"); |  | ||||||
|   lv_obj_align(menuLabel, LV_ALIGN_TOP_LEFT, 0, 64); |  | ||||||
|   lv_obj_t* drop = lv_dropdown_create(menuBox); |  | ||||||
|   lv_dropdown_set_options(drop, "10s\n" |  | ||||||
|       "30s\n" |  | ||||||
|       "1m\n" |  | ||||||
|       "3m"); |  | ||||||
|   lv_obj_align(drop, LV_ALIGN_TOP_RIGHT, 0, 61); |  | ||||||
|   lv_obj_set_size(drop, 70, 22); |  | ||||||
|   lv_obj_set_style_pad_top(drop, 1, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_bg_color(drop, color_primary, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_border_width(drop, 0, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_bg_color(lv_dropdown_get_list(drop), color_primary, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_border_width(lv_dropdown_get_list(drop), 1, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_border_color(lv_dropdown_get_list(drop), lv_color_darken(color_primary, 40), LV_PART_MAIN); |  | ||||||
| 
 |  | ||||||
|   // Add another label, then a settings box for WiFi
 |  | ||||||
|   menuLabel = lv_label_create(tab1); |  | ||||||
|   lv_label_set_text(menuLabel, "Wi-Fi"); |  | ||||||
|   menuBox = lv_obj_create(tab1); |  | ||||||
|   lv_obj_set_size(menuBox, lv_pct(100), 80); |  | ||||||
|   lv_obj_set_style_bg_color(menuBox, color_primary, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_border_width(menuBox, 0, LV_PART_MAIN); |  | ||||||
|   menuLabel = lv_label_create(menuBox); |  | ||||||
|   lv_label_set_text(menuLabel, "Network"); |  | ||||||
|   menuLabel = lv_label_create(menuBox); |  | ||||||
|   lv_label_set_text(menuLabel, LV_SYMBOL_RIGHT); |  | ||||||
|   lv_obj_align(menuLabel, LV_ALIGN_TOP_RIGHT, 0, 0); |  | ||||||
|   menuLabel = lv_label_create(menuBox); |  | ||||||
|   lv_label_set_text(menuLabel, "Password"); |  | ||||||
|   lv_obj_align(menuLabel, LV_ALIGN_TOP_LEFT, 0, 32); |  | ||||||
|   menuLabel = lv_label_create(menuBox); |  | ||||||
|   lv_label_set_text(menuLabel, LV_SYMBOL_RIGHT); |  | ||||||
|   lv_obj_align(menuLabel, LV_ALIGN_TOP_RIGHT, 0, 32); |  | ||||||
| 
 |  | ||||||
|   // Another setting for the battery
 |  | ||||||
|   menuLabel = lv_label_create(tab1); |  | ||||||
|   lv_label_set_text(menuLabel, "Battery"); |  | ||||||
|   menuBox = lv_obj_create(tab1); |  | ||||||
|   lv_obj_set_size(menuBox, lv_pct(100), 125); |  | ||||||
|   lv_obj_set_style_bg_color(menuBox, color_primary, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_border_width(menuBox, 0, LV_PART_MAIN); |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   // Add content to the smart home tab (4)
 |  | ||||||
| 
 |  | ||||||
|   // Only for the LVGL PC Simulator !!!
 |  | ||||||
|   lv_img_dsc_t lightbulb; |  | ||||||
|   lightbulb.header.cf = LV_IMG_CF_ALPHA_8BIT, |  | ||||||
|   lightbulb.header.always_zero = 0, |  | ||||||
|   lightbulb.header.reserved = 0, |  | ||||||
|   lightbulb.header.w = 12, |  | ||||||
|   lightbulb.header.h = 20, |  | ||||||
|   lightbulb.data_size = 240, |  | ||||||
|   lightbulb.data = lightbulb_map; |  | ||||||
| 
 |  | ||||||
|   lv_obj_set_layout(tab4, LV_LAYOUT_FLEX); |  | ||||||
|   lv_obj_set_flex_flow(tab4, LV_FLEX_FLOW_COLUMN); |  | ||||||
|   lv_obj_set_scrollbar_mode(tab4, LV_SCROLLBAR_MODE_ACTIVE); |  | ||||||
| 
 |  | ||||||
|   // Add a label, then a box for the light controls
 |  | ||||||
|   menuLabel = lv_label_create(tab4); |  | ||||||
|   lv_label_set_text(menuLabel, "Living Room"); |  | ||||||
| 
 |  | ||||||
|   menuBox = lv_obj_create(tab4); |  | ||||||
|   lv_obj_set_size(menuBox, lv_pct(100), 79); |  | ||||||
|   lv_obj_set_style_bg_color(menuBox, color_primary, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_border_width(menuBox, 0, LV_PART_MAIN); |  | ||||||
| 
 |  | ||||||
|   lv_obj_t* bulbIcon = lv_img_create(menuBox); |  | ||||||
|   lv_img_set_src(bulbIcon, &lightbulb); |  | ||||||
|   lv_obj_set_style_img_recolor(bulbIcon, lv_color_white(), LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_img_recolor_opa(bulbIcon, LV_OPA_COVER, LV_PART_MAIN); |  | ||||||
|   lv_obj_align(bulbIcon, LV_ALIGN_TOP_LEFT, 0, 0); |  | ||||||
| 
 |  | ||||||
|   menuLabel = lv_label_create(menuBox); |  | ||||||
|   lv_label_set_text(menuLabel, "Floor Lamp"); |  | ||||||
|   lv_obj_align(menuLabel, LV_ALIGN_TOP_LEFT, 22, 3); |  | ||||||
|   lv_obj_t* lightToggleA = lv_switch_create(menuBox); |  | ||||||
|   lv_obj_set_size(lightToggleA, 40, 22); |  | ||||||
|   lv_obj_align(lightToggleA, LV_ALIGN_TOP_RIGHT, 0, 0); |  | ||||||
|   lv_obj_set_style_bg_color(lightToggleA, lv_color_lighten(color_primary, 50), LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_bg_color(lightToggleA, color_primary, LV_PART_INDICATOR); |  | ||||||
|   lv_obj_add_event_cb(lightToggleA, smartHomeToggle_event_cb, LV_EVENT_VALUE_CHANGED, (void*)1); |  | ||||||
| 
 |  | ||||||
|   slider = lv_slider_create(menuBox); |  | ||||||
|   lv_slider_set_range(slider, 60, 255); |  | ||||||
|   lv_obj_set_style_bg_color(slider, lv_color_lighten(lv_color_black(), 30), LV_PART_INDICATOR); |  | ||||||
|   lv_obj_set_style_bg_grad_color(slider, lv_color_lighten(lv_palette_main(LV_PALETTE_AMBER), 180), LV_PART_INDICATOR); |  | ||||||
|   lv_obj_set_style_bg_grad_dir(slider, LV_GRAD_DIR_HOR, LV_PART_INDICATOR); |  | ||||||
|   lv_obj_set_style_bg_color(slider, lv_color_white(), LV_PART_KNOB); |  | ||||||
|   lv_obj_set_style_bg_opa(slider, 255, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_bg_color(slider, lv_color_lighten(color_primary, 50), LV_PART_MAIN); |  | ||||||
|   lv_slider_set_value(slider, 255, LV_ANIM_OFF); |  | ||||||
|   lv_obj_set_size(slider, lv_pct(90), 10); |  | ||||||
|   lv_obj_align(slider, LV_ALIGN_TOP_MID, 0, 37); |  | ||||||
|   lv_obj_add_event_cb(slider, smartHomeSlider_event_cb, LV_EVENT_VALUE_CHANGED, (void*)1); |  | ||||||
| 
 |  | ||||||
|   // Add another menu box for a second appliance
 |  | ||||||
|   menuBox = lv_obj_create(tab4); |  | ||||||
|   lv_obj_set_size(menuBox, lv_pct(100), 79); |  | ||||||
|   lv_obj_set_style_bg_color(menuBox, color_primary, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_border_width(menuBox, 0, LV_PART_MAIN); |  | ||||||
| 
 |  | ||||||
|   bulbIcon = lv_img_create(menuBox); |  | ||||||
|   lv_img_set_src(bulbIcon, &lightbulb); |  | ||||||
|   lv_obj_set_style_img_recolor(bulbIcon, lv_color_white(), LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_img_recolor_opa(bulbIcon, LV_OPA_COVER, LV_PART_MAIN); |  | ||||||
|   lv_obj_align(bulbIcon, LV_ALIGN_TOP_LEFT, 0, 0); |  | ||||||
| 
 |  | ||||||
|   menuLabel = lv_label_create(menuBox); |  | ||||||
|   lv_label_set_text(menuLabel, "Ceiling Light"); |  | ||||||
|   lv_obj_align(menuLabel, LV_ALIGN_TOP_LEFT, 22, 3); |  | ||||||
|   lv_obj_t* lightToggleB = lv_switch_create(menuBox); |  | ||||||
|   lv_obj_set_size(lightToggleB, 40, 22); |  | ||||||
|   lv_obj_align(lightToggleB, LV_ALIGN_TOP_RIGHT, 0, 0); |  | ||||||
|   lv_obj_set_style_bg_color(lightToggleB, lv_color_lighten(color_primary, 50), LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_bg_color(lightToggleB, color_primary, LV_PART_INDICATOR); |  | ||||||
|   lv_obj_add_event_cb(lightToggleB, smartHomeToggle_event_cb, LV_EVENT_VALUE_CHANGED, (void*)2); |  | ||||||
| 
 |  | ||||||
|   slider = lv_slider_create(menuBox); |  | ||||||
|   lv_slider_set_range(slider, 60, 255); |  | ||||||
|   lv_obj_set_style_bg_color(slider, lv_color_lighten(lv_color_black(), 30), LV_PART_INDICATOR); |  | ||||||
|   lv_obj_set_style_bg_grad_color(slider, lv_color_lighten(lv_palette_main(LV_PALETTE_AMBER), 180), LV_PART_INDICATOR); |  | ||||||
|   lv_obj_set_style_bg_grad_dir(slider, LV_GRAD_DIR_HOR, LV_PART_INDICATOR); |  | ||||||
|   lv_obj_set_style_bg_color(slider, lv_color_white(), LV_PART_KNOB); |  | ||||||
|   lv_obj_set_style_bg_opa(slider, 255, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_bg_color(slider, lv_color_lighten(color_primary, 50), LV_PART_MAIN); |  | ||||||
|   lv_slider_set_value(slider, 255, LV_ANIM_OFF); |  | ||||||
|   lv_obj_set_size(slider, lv_pct(90), 10); |  | ||||||
|   lv_obj_align(slider, LV_ALIGN_TOP_MID, 0, 37); |  | ||||||
|   lv_obj_add_event_cb(slider, smartHomeSlider_event_cb, LV_EVENT_VALUE_CHANGED, (void*)2); |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   // Add another room (empty for now)
 |  | ||||||
|   menuLabel = lv_label_create(tab4); |  | ||||||
|   lv_label_set_text(menuLabel, "Kitchen"); |  | ||||||
| 
 |  | ||||||
|   menuBox = lv_obj_create(tab4); |  | ||||||
|   lv_obj_set_size(menuBox, lv_pct(100), 79); |  | ||||||
|   lv_obj_set_style_bg_color(menuBox, color_primary, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_border_width(menuBox, 0, LV_PART_MAIN); |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   // Set current page according to the current Device
 |  | ||||||
|   lv_tabview_set_act(tabview, currentDevice, LV_ANIM_OFF); |  | ||||||
| 
 |  | ||||||
|   // Create a page indicator
 |  | ||||||
|   panel = lv_obj_create(lv_scr_act()); |  | ||||||
|   lv_obj_clear_flag(panel, LV_OBJ_FLAG_CLICKABLE); // this indicator will not be clickable
 |  | ||||||
|   lv_obj_set_size(panel, screenWidth, 30); |  | ||||||
|   lv_obj_set_flex_flow(panel, LV_FLEX_FLOW_ROW); |  | ||||||
|   lv_obj_align(panel, LV_ALIGN_BOTTOM_MID, 0, 0); |  | ||||||
|   lv_obj_set_scrollbar_mode(panel, LV_SCROLLBAR_MODE_OFF); |  | ||||||
|   // This small hidden button enables the page indicator to scroll further
 |  | ||||||
|   lv_obj_t* btn = lv_btn_create(panel); |  | ||||||
|   lv_obj_set_size(btn, 50, lv_pct(100)); |  | ||||||
|   lv_obj_set_style_shadow_width(btn, 0, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_opa(btn, LV_OPA_TRANSP, LV_PART_MAIN); |  | ||||||
|   // Create actual (non-clickable) buttons for every tab
 |  | ||||||
|   btn = lv_btn_create(panel); |  | ||||||
|   lv_obj_clear_flag(btn, LV_OBJ_FLAG_CLICKABLE); |  | ||||||
|   lv_obj_set_size(btn, 150, lv_pct(100)); |  | ||||||
|   lv_obj_t* label = lv_label_create(btn); |  | ||||||
|   lv_label_set_text_fmt(label, "Settings"); |  | ||||||
|   lv_obj_align(label, LV_ALIGN_CENTER, 0, 0); |  | ||||||
|   lv_obj_set_style_shadow_width(btn, 0, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_bg_color(btn, color_primary, LV_PART_MAIN); |  | ||||||
| 
 |  | ||||||
|   btn = lv_btn_create(panel); |  | ||||||
|   lv_obj_clear_flag(btn, LV_OBJ_FLAG_CLICKABLE); |  | ||||||
|   lv_obj_set_size(btn, 150, lv_pct(100)); |  | ||||||
|   label = lv_label_create(btn); |  | ||||||
|   lv_label_set_text_fmt(label, "Technisat"); |  | ||||||
|   lv_obj_align(label, LV_ALIGN_CENTER, 0, 0); |  | ||||||
|   lv_obj_set_style_shadow_width(btn, 0, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_bg_color(btn, color_primary, LV_PART_MAIN); |  | ||||||
| 
 |  | ||||||
|   btn = lv_btn_create(panel); |  | ||||||
|   lv_obj_clear_flag(btn, LV_OBJ_FLAG_CLICKABLE); |  | ||||||
|   lv_obj_set_size(btn, 150, lv_pct(100)); |  | ||||||
|   label = lv_label_create(btn); |  | ||||||
|   lv_label_set_text_fmt(label, "Apple TV"); |  | ||||||
|   lv_obj_align(label, LV_ALIGN_CENTER, 0, 0); |  | ||||||
|   lv_obj_set_style_shadow_width(btn, 0, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_bg_color(btn, color_primary, LV_PART_MAIN); |  | ||||||
| 
 |  | ||||||
|   btn = lv_btn_create(panel); |  | ||||||
|   lv_obj_clear_flag(btn, LV_OBJ_FLAG_CLICKABLE); |  | ||||||
|   lv_obj_set_size(btn, 150, lv_pct(100)); |  | ||||||
|   label = lv_label_create(btn); |  | ||||||
|   lv_label_set_text_fmt(label, "Smart Home"); |  | ||||||
|   lv_obj_align(label, LV_ALIGN_CENTER, 0, 0); |  | ||||||
|   lv_obj_set_style_shadow_width(btn, 0, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_bg_color(btn, color_primary, LV_PART_MAIN); |  | ||||||
|   // This small hidden button enables the page indicator to scroll further
 |  | ||||||
|   btn = lv_btn_create(panel); |  | ||||||
|   lv_obj_set_size(btn, 50, lv_pct(100)); |  | ||||||
|   lv_obj_set_style_shadow_width(btn, 0, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_opa(btn, LV_OPA_TRANSP, LV_PART_MAIN); |  | ||||||
| 
 |  | ||||||
|   // Make the indicator scroll together with the tabs by creating a scroll event
 |  | ||||||
|   lv_obj_add_event_cb(lv_tabview_get_content(tabview), store_scroll_value_event_cb, LV_EVENT_SCROLL, NULL); |  | ||||||
|   lv_obj_add_event_cb(tabview, tabview_device_event_cb, LV_EVENT_VALUE_CHANGED, NULL); |  | ||||||
|   // Initialize scroll position for the indicator
 |  | ||||||
|   lv_event_send(lv_tabview_get_content(tabview), LV_EVENT_SCROLL, NULL); |  | ||||||
| 
 |  | ||||||
|   // Style the panel background
 |  | ||||||
|   static lv_style_t style_btn; |  | ||||||
|   lv_style_init(&style_btn); |  | ||||||
|   lv_style_set_pad_all(&style_btn, 3); |  | ||||||
|   lv_style_set_border_width(&style_btn, 0); |  | ||||||
|   lv_style_set_bg_opa(&style_btn, LV_OPA_TRANSP); |  | ||||||
|   lv_obj_add_style(panel, &style_btn, 0); |  | ||||||
| 
 |  | ||||||
|   // Only for the LVGL PC Simulator !!!
 |  | ||||||
|   lv_img_dsc_t gradientLeft; |  | ||||||
|   gradientLeft.header.cf = LV_IMG_CF_ALPHA_8BIT; |  | ||||||
|   gradientLeft.header.always_zero = 0; |  | ||||||
|   gradientLeft.header.reserved = 0; |  | ||||||
|   gradientLeft.header.w = 30; |  | ||||||
|   gradientLeft.header.h = 1; |  | ||||||
|   gradientLeft.data_size = 30; |  | ||||||
|   gradientLeft.data = gradientLeft_map; |  | ||||||
|   lv_img_dsc_t gradientRight; |  | ||||||
|   gradientRight.header.cf = LV_IMG_CF_ALPHA_8BIT; |  | ||||||
|   gradientRight.header.always_zero = 0; |  | ||||||
|   gradientRight.header.reserved = 0; |  | ||||||
|   gradientRight.header.w = 30; |  | ||||||
|   gradientRight.header.h = 1; |  | ||||||
|   gradientRight.data_size = 30; |  | ||||||
|   gradientRight.data = gradientRight_map; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   // Make the indicator fade out at the sides using gradient bitmaps
 |  | ||||||
|   lv_obj_t* img1 = lv_img_create(lv_scr_act()); |  | ||||||
|   lv_img_set_src(img1, &gradientLeft); |  | ||||||
|   lv_obj_align(img1, LV_ALIGN_BOTTOM_LEFT, 0, 0); |  | ||||||
|   lv_obj_set_size(img1, 30, 30); // stretch the 1-pixel high image to 30px
 |  | ||||||
|   lv_obj_t* img2 = lv_img_create(lv_scr_act()); |  | ||||||
|   lv_img_set_src(img2, &gradientRight); |  | ||||||
|   lv_obj_align(img2, LV_ALIGN_BOTTOM_RIGHT, 0, 0); |  | ||||||
|   lv_obj_set_size(img2, 30, 30); |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   // Create a status bar
 |  | ||||||
|   lv_obj_t* statusbar = lv_btn_create(lv_scr_act()); |  | ||||||
|   lv_obj_set_size(statusbar, 240, 20); |  | ||||||
|   lv_obj_set_style_shadow_width(statusbar, 0, LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_bg_color(statusbar, lv_color_black(), LV_PART_MAIN); |  | ||||||
|   lv_obj_set_style_radius(statusbar, 0, LV_PART_MAIN); |  | ||||||
|   lv_obj_align(statusbar, LV_ALIGN_TOP_MID, 0, 0); |  | ||||||
| 
 |  | ||||||
|   lv_obj_t* WifiLabel = lv_label_create(statusbar); |  | ||||||
|   lv_label_set_text(WifiLabel, LV_SYMBOL_WIFI); |  | ||||||
|   lv_obj_align(WifiLabel, LV_ALIGN_LEFT_MID, -8, 0); |  | ||||||
|   lv_obj_set_style_text_font(WifiLabel, &lv_font_montserrat_12, LV_PART_MAIN); |  | ||||||
| 
 |  | ||||||
|   lv_obj_t* objBattPercentage = lv_label_create(statusbar); |  | ||||||
|   lv_label_set_text(objBattPercentage, ""); |  | ||||||
|   lv_obj_align(objBattPercentage, LV_ALIGN_RIGHT_MID, -16, 0); |  | ||||||
|   lv_obj_set_style_text_font(objBattPercentage, &lv_font_montserrat_12, LV_PART_MAIN); |  | ||||||
| 
 |  | ||||||
|   lv_obj_t* objBattIcon = lv_label_create(statusbar); |  | ||||||
|   lv_label_set_text(objBattIcon, LV_SYMBOL_BATTERY_EMPTY); |  | ||||||
|   lv_obj_align(objBattIcon, LV_ALIGN_RIGHT_MID, 8, 0); |  | ||||||
|   lv_obj_set_style_text_font(objBattIcon, &lv_font_montserrat_16, LV_PART_MAIN); |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   while (!lv_win32_quit_signal) |  | ||||||
|   { |  | ||||||
|       lv_task_handler(); |  | ||||||
|       //std::string strng = std::to_string(scroll_value);
 |  | ||||||
|       //const char* pchar = strng.c_str();
 |  | ||||||
|       //OutputDebugStringW();
 |  | ||||||
|       //lv_label_set_text_fmt(scrollPos, "%d %d", lv_obj_get_scroll_x(lv_tabview_get_content(tabview)), lv_obj_get_scroll_x(panel));
 |  | ||||||
|        |  | ||||||
| 
 |  | ||||||
|       Sleep(1); |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   return 0; |  | ||||||
| } |  | ||||||
|  | @ -1,29 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="UTF-8" standalone="yes"?> |  | ||||||
| <assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"> |  | ||||||
|   <dependency> |  | ||||||
|     <dependentAssembly> |  | ||||||
|       <assemblyIdentity |  | ||||||
| 				type="win32" |  | ||||||
| 				name="Microsoft.Windows.Common-Controls" |  | ||||||
| 				version="6.0.0.0" |  | ||||||
| 				processorArchitecture="*" |  | ||||||
| 				publicKeyToken="6595b64144ccf1df" |  | ||||||
| 				language="*"/> |  | ||||||
|     </dependentAssembly> |  | ||||||
|   </dependency> |  | ||||||
|   <application xmlns="urn:schemas-microsoft-com:asm.v3"> |  | ||||||
|     <windowsSettings> |  | ||||||
|       <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">True/PM</dpiAware> |  | ||||||
|       <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2, PerMonitor</dpiAwareness> |  | ||||||
|     </windowsSettings> |  | ||||||
|   </application> |  | ||||||
|   <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> |  | ||||||
|     <application> |  | ||||||
|       <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> |  | ||||||
|       <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> |  | ||||||
|       <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/> |  | ||||||
|       <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> |  | ||||||
|       <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/> |  | ||||||
|     </application> |  | ||||||
|   </compatibility> |  | ||||||
| </assembly> |  | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -1,64 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |  | ||||||
|   <Import Project="Mile.Project.Windows.Legacy\Mile.Project.Platform.Win32.props" /> |  | ||||||
|   <Import Project="Mile.Project.Windows.Legacy\Mile.Project.Platform.x64.props" /> |  | ||||||
|   <Import Project="Mile.Project.Windows.Legacy\Mile.Project.Platform.ARM64.props" /> |  | ||||||
|   <PropertyGroup Label="Globals"> |  | ||||||
|     <ProjectGuid>{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}</ProjectGuid> |  | ||||||
|     <RootNamespace>LVGL</RootNamespace> |  | ||||||
|     <MileProjectType>ConsoleApplication</MileProjectType> |  | ||||||
|     <MileProjectManifestFile>LVGL.Simulator.manifest</MileProjectManifestFile> |  | ||||||
|     <MileProjectEnableVCLTLSupport>true</MileProjectEnableVCLTLSupport> |  | ||||||
|   </PropertyGroup> |  | ||||||
|   <PropertyGroup Label="Configuration" Condition="'$(Configuration)'=='Debug'"> |  | ||||||
|     <SupportLTL>false</SupportLTL> |  | ||||||
|   </PropertyGroup> |  | ||||||
|   <Import Project="Mile.Project.Windows.Legacy\Mile.Project.Cpp.props" /> |  | ||||||
|   <Import Project="freetype.props" /> |  | ||||||
|   <PropertyGroup> |  | ||||||
|     <IncludePath>$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)..\LvglPlatform\lvgl\;$(MSBuildThisFileDirectory)..\LvglPlatform\;$(IncludePath)</IncludePath> |  | ||||||
|   </PropertyGroup> |  | ||||||
|   <ItemDefinitionGroup> |  | ||||||
|     <ClCompile> |  | ||||||
|       <WarningLevel>Level3</WarningLevel> |  | ||||||
|       <TreatWarningAsError>false</TreatWarningAsError> |  | ||||||
|       <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions> |  | ||||||
|       <PreprocessorDefinitions>LV_CONF_INCLUDE_SIMPLE;LV_LVGL_H_INCLUDE_SIMPLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions> |  | ||||||
|       <Optimization Condition="'$(Configuration)'=='Release'">MinSpace</Optimization> |  | ||||||
|       <LanguageStandard Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">stdcpp17</LanguageStandard> |  | ||||||
|       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\Platformio\include\OmoteUI</AdditionalIncludeDirectories> |  | ||||||
|       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)..\Platformio\include\OmoteUI</AdditionalIncludeDirectories> |  | ||||||
|       <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\Platformio\include\OmoteUI</AdditionalIncludeDirectories> |  | ||||||
|       <LanguageStandard Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">stdcpp17</LanguageStandard> |  | ||||||
|       <LanguageStandard Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">stdcpp17</LanguageStandard> |  | ||||||
|     </ClCompile> |  | ||||||
|   </ItemDefinitionGroup> |  | ||||||
|   <Import Project="LVGL.Portable.vcxitems" /> |  | ||||||
|   <Import Project="LVGL.Drivers.vcxitems" /> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <ClInclude Include="lv_conf.h" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <ClInclude Include="lv_drv_conf.h" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <Manifest Include="LVGL.Simulator.manifest" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <ClInclude Include="Mile.Project.Properties.h" /> |  | ||||||
|     <ClInclude Include="resource.h" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <ClCompile Include="LVGL.Simulator.cpp" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <ResourceCompile Include="LVGL.Simulator.rc" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <Image Include="LVGL.ico" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <None Include="freetype.props" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <Import Project="Mile.Project.Windows.Legacy\Mile.Project.Cpp.targets" /> |  | ||||||
| </Project> |  | ||||||
|  | @ -1,28 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |  | ||||||
|   <Import Project="LVGL.Portable.vcxitems.filters" /> |  | ||||||
|   <Import Project="LVGL.Drivers.vcxitems.filters" /> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <ClInclude Include="lv_conf.h" /> |  | ||||||
|     <ClInclude Include="lv_drv_conf.h" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <Manifest Include="LVGL.Simulator.manifest" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <ClInclude Include="Mile.Project.Properties.h" /> |  | ||||||
|     <ClInclude Include="resource.h" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <ClCompile Include="LVGL.Simulator.cpp" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <ResourceCompile Include="LVGL.Simulator.rc" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <Image Include="LVGL.ico" /> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <None Include="freetype.props" /> |  | ||||||
|   </ItemGroup> |  | ||||||
| </Project> |  | ||||||
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 46 KiB | 
										
											Binary file not shown.
										
									
								
							|  | @ -1,123 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <!-- |  | ||||||
|   PROJECT:   Mouri Internal Library Essentials |  | ||||||
|   FILE:      Mile.Project.Cpp.props |  | ||||||
|   PURPOSE:   Definition for Visual Studio C++ Project |  | ||||||
| 
 |  | ||||||
|   LICENSE:   The MIT License |  | ||||||
| 
 |  | ||||||
|   DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com) |  | ||||||
| --> |  | ||||||
| <!-- |  | ||||||
|   The documents of specific options in Mile.Project. |  | ||||||
| 
 |  | ||||||
|   How to define the project type in the "Globals" label property group. |  | ||||||
|   If the project is a console application project. |  | ||||||
|     <MileProjectType>ConsoleApplication</MileProjectType> |  | ||||||
|   If the project is a windows application project. |  | ||||||
|     <MileProjectType>WindowsApplication</MileProjectType> |  | ||||||
|   If the project is a dynamic library project. |  | ||||||
|     <MileProjectType>DynamicLibrary</MileProjectType> |  | ||||||
|   If the project is a static library project. |  | ||||||
|     <MileProjectType>StaticLibrary</MileProjectType> |  | ||||||
| 
 |  | ||||||
|   How to define the manifest file in the "Globals" label property group. |  | ||||||
|     <MileProjectManifestFile>C:\Folder\Manifest.manifest</MileProjectManifestFile> |  | ||||||
| 
 |  | ||||||
|   How to enable the version information support. |  | ||||||
|     Copy Mile.Project.Properties.Template.h to the project folder and rename it |  | ||||||
|     to Mile.Project.Properties.h. |  | ||||||
|    |  | ||||||
|   How to enable VC-LTL support. |  | ||||||
|     <MileProjectEnableVCLTLSupport>true</MileProjectEnableVCLTLSupport> |  | ||||||
| --> |  | ||||||
| <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |  | ||||||
|   <PropertyGroup> |  | ||||||
|     <!-- |  | ||||||
|       Only do this for MSBuild versions below 16.0 as it is since done  |  | ||||||
|       automatically, see https://github.com/microsoft/msbuild/pull/3605. |  | ||||||
|     --> |  | ||||||
|     <MSBuildAllProjects Condition="'$(MSBuildToolsVersion)' <= '15'">$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects> |  | ||||||
|   </PropertyGroup> |  | ||||||
|   <PropertyGroup Label="Globals"> |  | ||||||
|     <Keyword>Win32Proj</Keyword> |  | ||||||
|     <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> |  | ||||||
|     <CleanImport>true</CleanImport> |  | ||||||
|   </PropertyGroup> |  | ||||||
|   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> |  | ||||||
|   <PropertyGroup Label="Configuration"> |  | ||||||
|     <ConfigurationType>Application</ConfigurationType> |  | ||||||
|     <ConfigurationType Condition="'$(MileProjectType)'=='DynamicLibrary'">DynamicLibrary</ConfigurationType> |  | ||||||
|     <ConfigurationType Condition="'$(MileProjectType)'=='StaticLibrary'">StaticLibrary</ConfigurationType> |  | ||||||
|     <PlatformToolset>v143</PlatformToolset> |  | ||||||
|     <PlatformToolset Condition="'$(VisualStudioVersion)' == '16.0'">v142</PlatformToolset> |  | ||||||
|     <PlatformToolset Condition="'$(VisualStudioVersion)' == '15.0'">v141</PlatformToolset> |  | ||||||
|     <PlatformToolset Condition="'$(VisualStudioVersion)' == '14.0'">v140</PlatformToolset> |  | ||||||
|     <PreferredToolArchitecture>x64</PreferredToolArchitecture> |  | ||||||
|     <CharacterSet>Unicode</CharacterSet> |  | ||||||
|     <UseDebugLibraries Condition="'$(Configuration)'=='Debug'">true</UseDebugLibraries> |  | ||||||
|     <UseDebugLibraries Condition="'$(Configuration)'=='Release'">false</UseDebugLibraries> |  | ||||||
|     <WholeProgramOptimization Condition="'$(Configuration)'=='Release'">true</WholeProgramOptimization> |  | ||||||
|   </PropertyGroup> |  | ||||||
|   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> |  | ||||||
|   <PropertyGroup> |  | ||||||
|     <LinkIncremental Condition="'$(Configuration)'=='Debug'">true</LinkIncremental> |  | ||||||
|     <LinkIncremental Condition="'$(Configuration)'=='Release'">false</LinkIncremental> |  | ||||||
|     <GenerateManifest>false</GenerateManifest> |  | ||||||
|     <IncludePath>$(MSBuildThisFileDirectory);$(IncludePath)</IncludePath> |  | ||||||
|   </PropertyGroup> |  | ||||||
|   <ItemDefinitionGroup> |  | ||||||
|     <ClCompile> |  | ||||||
|       <SDLCheck>true</SDLCheck> |  | ||||||
|       <PrecompiledHeader>NotUsing</PrecompiledHeader> |  | ||||||
|       <WarningLevel>Level4</WarningLevel> |  | ||||||
|       <TreatWarningAsError>true</TreatWarningAsError> |  | ||||||
|       <ConformanceMode>true</ConformanceMode> |  | ||||||
|       <EnableEnhancedInstructionSet Condition="'$(Platform)'=='Win32'">NoExtensions</EnableEnhancedInstructionSet> |  | ||||||
|       <PreprocessorDefinitions Condition="'$(Platform)'=='Win32'">WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions> |  | ||||||
|       <PreprocessorDefinitions Condition="'$(MileProjectType)'=='ConsoleApplication'">_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> |  | ||||||
|       <PreprocessorDefinitions Condition="'$(MileProjectType)'=='WindowsApplication'">_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions> |  | ||||||
|       <PreprocessorDefinitions Condition="'$(MileProjectType)'=='DynamicLibrary'">_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> |  | ||||||
|       <PreprocessorDefinitions Condition="'$(MileProjectType)'=='StaticLibrary'">_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> |  | ||||||
|       <MultiProcessorCompilation>true</MultiProcessorCompilation> |  | ||||||
|     </ClCompile> |  | ||||||
|     <Link> |  | ||||||
|       <GenerateDebugInformation>true</GenerateDebugInformation> |  | ||||||
|       <SubSystem Condition="'$(MileProjectType)'=='ConsoleApplication'">Console</SubSystem> |  | ||||||
|       <SubSystem Condition="'$(MileProjectType)'=='WindowsApplication'">Windows</SubSystem> |  | ||||||
|       <SubSystem Condition="'$(MileProjectType)'=='DynamicLibrary'">Windows</SubSystem> |  | ||||||
|       <SubSystem Condition="'$(MileProjectType)'=='StaticLibrary'"></SubSystem> |  | ||||||
|     </Link> |  | ||||||
|     <ResourceCompile Condition="'$(MileProjectType)'!='StaticLibrary'"> |  | ||||||
|       <PreprocessorDefinitions Condition="'$(MileProjectType)'!='DynamicLibrary'">_MILE_PROJECT_MANIFEST_ID=1;%(PreprocessorDefinitions)</PreprocessorDefinitions> |  | ||||||
|       <PreprocessorDefinitions Condition="'$(MileProjectType)'=='DynamicLibrary'">_MILE_PROJECT_MANIFEST_ID=2;%(PreprocessorDefinitions)</PreprocessorDefinitions> |  | ||||||
|       <PreprocessorDefinitions Condition="'$(MileProjectManifestFile)'!=''">_MILE_PROJECT_MANIFEST_FILE=$([System.String]::Copy('$(MileProjectManifestFile)').Replace('\','\\'));%(PreprocessorDefinitions)</PreprocessorDefinitions> |  | ||||||
|       <AdditionalIncludeDirectories>$(ProjectDir);$(MSBuildThisFileDirectory);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |  | ||||||
|     </ResourceCompile> |  | ||||||
|   </ItemDefinitionGroup> |  | ||||||
|   <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'"> |  | ||||||
|     <ClCompile> |  | ||||||
|       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |  | ||||||
|       <Optimization>Disabled</Optimization> |  | ||||||
|       <RuntimeLibrary Condition="'$(MileProjectEnableVCLTLSupport)' == 'true'">MultiThreadedDebug</RuntimeLibrary> |  | ||||||
|     </ClCompile> |  | ||||||
|   </ItemDefinitionGroup> |  | ||||||
|   <ItemDefinitionGroup Condition="'$(Configuration)'=='Release'"> |  | ||||||
|     <ClCompile> |  | ||||||
|       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |  | ||||||
|       <Optimization>MaxSpeed</Optimization> |  | ||||||
|       <FunctionLevelLinking>true</FunctionLevelLinking> |  | ||||||
|       <IntrinsicFunctions>true</IntrinsicFunctions> |  | ||||||
|       <RuntimeLibrary Condition="'$(MileProjectEnableVCLTLSupport)' == 'true'">MultiThreaded</RuntimeLibrary> |  | ||||||
|     </ClCompile> |  | ||||||
|     <Link> |  | ||||||
|       <EnableCOMDATFolding>true</EnableCOMDATFolding> |  | ||||||
|       <OptimizeReferences>true</OptimizeReferences> |  | ||||||
|     </Link> |  | ||||||
|   </ItemDefinitionGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <PackageReference Include="VC-LTL" Condition="'$(MileProjectEnableVCLTLSupport)' == 'true'"> |  | ||||||
|       <Version>5.0.5</Version> |  | ||||||
|     </PackageReference> |  | ||||||
|   </ItemGroup> |  | ||||||
| </Project> |  | ||||||
|  | @ -1,26 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <!-- |  | ||||||
|    PROJECT:   Mouri Internal Library Essentials |  | ||||||
|    FILE:      Mile.Project.Cpp.targets |  | ||||||
|    PURPOSE:   Definition for Visual Studio C++ Project |  | ||||||
| 
 |  | ||||||
|    LICENSE:   The MIT License |  | ||||||
| 
 |  | ||||||
|    DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com) |  | ||||||
| --> |  | ||||||
| <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |  | ||||||
|   <PropertyGroup> |  | ||||||
|     <!-- |  | ||||||
|       Only do this for MSBuild versions below 16.0 as it is since done  |  | ||||||
|       automatically, see https://github.com/microsoft/msbuild/pull/3605. |  | ||||||
|     --> |  | ||||||
|     <MSBuildAllProjects Condition="'$(MSBuildToolsVersion)' <= '15'">$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects> |  | ||||||
|   </PropertyGroup> |  | ||||||
|   <Target Name="MileProjectBuildManifestResources" BeforeTargets="BeforeResourceCompile"> |  | ||||||
|     <ItemGroup Condition="'$(MileProjectType)'!='StaticLibrary'"> |  | ||||||
|       <ResourceCompile Condition="'$(MileProjectManifestFile)'!=''" Include="$(MSBuildThisFileDirectory)Mile.Project.Manifest.rc" /> |  | ||||||
|       <ResourceCompile Condition="Exists('$(ProjectDir)Mile.Project.Properties.h')" Include="$(MSBuildThisFileDirectory)Mile.Project.Version.rc" /> |  | ||||||
|     </ItemGroup> |  | ||||||
|   </Target> |  | ||||||
|   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> |  | ||||||
| </Project> |  | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -1,22 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <!-- |  | ||||||
|   PROJECT:   Mouri Internal Library Essentials |  | ||||||
|   FILE:      Mile.Project.Platform.ARM.props |  | ||||||
|   PURPOSE:   Definition for Visual Studio C++ Project |  | ||||||
| 
 |  | ||||||
|   LICENSE:   The MIT License |  | ||||||
| 
 |  | ||||||
|   DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com) |  | ||||||
| --> |  | ||||||
| <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |  | ||||||
|   <ItemGroup Label="ProjectConfigurations"> |  | ||||||
|     <ProjectConfiguration Include="Debug|ARM"> |  | ||||||
|       <Configuration>Debug</Configuration> |  | ||||||
|       <Platform>ARM</Platform> |  | ||||||
|     </ProjectConfiguration> |  | ||||||
|     <ProjectConfiguration Include="Release|ARM"> |  | ||||||
|       <Configuration>Release</Configuration> |  | ||||||
|       <Platform>ARM</Platform> |  | ||||||
|     </ProjectConfiguration> |  | ||||||
|   </ItemGroup> |  | ||||||
| </Project> |  | ||||||
|  | @ -1,22 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <!-- |  | ||||||
|   PROJECT:   Mouri Internal Library Essentials |  | ||||||
|   FILE:      Mile.Project.Platform.ARM64.props |  | ||||||
|   PURPOSE:   Definition for Visual Studio C++ Project |  | ||||||
| 
 |  | ||||||
|   LICENSE:   The MIT License |  | ||||||
| 
 |  | ||||||
|   DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com) |  | ||||||
| --> |  | ||||||
| <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |  | ||||||
|   <ItemGroup Label="ProjectConfigurations"> |  | ||||||
|     <ProjectConfiguration Include="Debug|ARM64"> |  | ||||||
|       <Configuration>Debug</Configuration> |  | ||||||
|       <Platform>ARM64</Platform> |  | ||||||
|     </ProjectConfiguration> |  | ||||||
|     <ProjectConfiguration Include="Release|ARM64"> |  | ||||||
|       <Configuration>Release</Configuration> |  | ||||||
|       <Platform>ARM64</Platform> |  | ||||||
|     </ProjectConfiguration> |  | ||||||
|   </ItemGroup> |  | ||||||
| </Project> |  | ||||||
|  | @ -1,22 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <!-- |  | ||||||
|   PROJECT:   Mouri Internal Library Essentials |  | ||||||
|   FILE:      Mile.Project.Platform.Win32.props |  | ||||||
|   PURPOSE:   Definition for Visual Studio C++ Project |  | ||||||
| 
 |  | ||||||
|   LICENSE:   The MIT License |  | ||||||
| 
 |  | ||||||
|   DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com) |  | ||||||
| --> |  | ||||||
| <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |  | ||||||
|   <ItemGroup Label="ProjectConfigurations"> |  | ||||||
|     <ProjectConfiguration Include="Debug|Win32"> |  | ||||||
|       <Configuration>Debug</Configuration> |  | ||||||
|       <Platform>Win32</Platform> |  | ||||||
|     </ProjectConfiguration> |  | ||||||
|     <ProjectConfiguration Include="Release|Win32"> |  | ||||||
|       <Configuration>Release</Configuration> |  | ||||||
|       <Platform>Win32</Platform> |  | ||||||
|     </ProjectConfiguration> |  | ||||||
|   </ItemGroup> |  | ||||||
| </Project> |  | ||||||
|  | @ -1,22 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <!-- |  | ||||||
|   PROJECT:   Mouri Internal Library Essentials |  | ||||||
|   FILE:      Mile.Project.Platform.x64.props |  | ||||||
|   PURPOSE:   Definition for Visual Studio C++ Project |  | ||||||
| 
 |  | ||||||
|   LICENSE:   The MIT License |  | ||||||
| 
 |  | ||||||
|   DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com) |  | ||||||
| --> |  | ||||||
| <Project 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> |  | ||||||
| </Project> |  | ||||||
|  | @ -1,119 +0,0 @@ | ||||||
| /*
 |  | ||||||
|  * PROJECT:   Mouri Internal Library Essentials |  | ||||||
|  * FILE:      Mile.Project.Version.h |  | ||||||
|  * PURPOSE:   Version Definition for Mile.Project |  | ||||||
|  * |  | ||||||
|  * LICENSE:   The MIT License |  | ||||||
|  * |  | ||||||
|  * DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com) |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifndef MILE_PROJECT_VERSION |  | ||||||
| #define MILE_PROJECT_VERSION |  | ||||||
| 
 |  | ||||||
| #ifndef MILE_PROJECT_MACRO_TO_STRING |  | ||||||
| #define _MILE_PROJECT_MACRO_TO_STRING(arg) L#arg |  | ||||||
| #define MILE_PROJECT_MACRO_TO_STRING(arg) _MILE_PROJECT_MACRO_TO_STRING(arg) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef MILE_PROJECT_MACRO_TO_UTF8_STRING |  | ||||||
| #define _MILE_PROJECT_MACRO_TO_UTF8_STRING(arg) #arg |  | ||||||
| #define MILE_PROJECT_MACRO_TO_UTF8_STRING(arg) \ |  | ||||||
|     _MILE_PROJECT_MACRO_TO_UTF8_STRING(arg) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef MILE_PROJECT_DEFINE_COMMA_VERSION |  | ||||||
| #define MILE_PROJECT_DEFINE_COMMA_VERSION(MAJOR,MINOR,BUILD,REVISION) \ |  | ||||||
|     MAJOR,MINOR,BUILD,REVISION |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef MILE_PROJECT_DEFINE_DOT_VERSION |  | ||||||
| #define MILE_PROJECT_DEFINE_DOT_VERSION(MAJOR,MINOR,BUILD,REVISION) \ |  | ||||||
|     MAJOR.MINOR.BUILD.REVISION |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef MILE_PROJECT_COMMA_VERSION |  | ||||||
| #define MILE_PROJECT_COMMA_VERSION \ |  | ||||||
|     MILE_PROJECT_DEFINE_COMMA_VERSION( \ |  | ||||||
|         MILE_PROJECT_VERSION_MAJOR, \ |  | ||||||
|         MILE_PROJECT_VERSION_MINOR, \ |  | ||||||
|         MILE_PROJECT_VERSION_BUILD, \ |  | ||||||
|         MILE_PROJECT_VERSION_REVISION) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef MILE_PROJECT_DOT_VERSION |  | ||||||
| #define MILE_PROJECT_DOT_VERSION \ |  | ||||||
|     MILE_PROJECT_DEFINE_DOT_VERSION( \ |  | ||||||
|         MILE_PROJECT_VERSION_MAJOR, \ |  | ||||||
|         MILE_PROJECT_VERSION_MINOR, \ |  | ||||||
|         MILE_PROJECT_VERSION_BUILD, \ |  | ||||||
|         MILE_PROJECT_VERSION_REVISION) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef MILE_PROJECT_COMMA_VERSION_STRING |  | ||||||
| #define MILE_PROJECT_COMMA_VERSION_STRING \ |  | ||||||
|     MILE_PROJECT_MACRO_TO_STRING(MILE_PROJECT_COMMA_VERSION) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef MILE_PROJECT_DOT_VERSION_STRING |  | ||||||
| #define MILE_PROJECT_DOT_VERSION_STRING \ |  | ||||||
|     MILE_PROJECT_MACRO_TO_STRING(MILE_PROJECT_DOT_VERSION) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef MILE_PROJECT_COMMA_VERSION_UTF8_STRING |  | ||||||
| #define MILE_PROJECT_COMMA_VERSION_UTF8_STRING \ |  | ||||||
|     MILE_PROJECT_MACRO_TO_UTF8_STRING(MILE_PROJECT_COMMA_VERSION) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef MILE_PROJECT_DOT_VERSION_UTF8_STRING |  | ||||||
| #define MILE_PROJECT_DOT_VERSION_UTF8_STRING \ |  | ||||||
|     MILE_PROJECT_MACRO_TO_UTF8_STRING(MILE_PROJECT_DOT_VERSION) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef MILE_PROJECT_DEFINE_SIMPLE_VERSION |  | ||||||
| #define MILE_PROJECT_DEFINE_SIMPLE_VERSION(MAJOR,MINOR) \ |  | ||||||
|     MAJOR.MINOR |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef MILE_PROJECT_SIMPLE_VERSION |  | ||||||
| #define MILE_PROJECT_SIMPLE_VERSION \ |  | ||||||
|     MILE_PROJECT_DEFINE_SIMPLE_VERSION( \ |  | ||||||
|         MILE_PROJECT_VERSION_MAJOR, \ |  | ||||||
|         MILE_PROJECT_VERSION_MINOR) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef MILE_PROJECT_SIMPLE_VERSION_STRING |  | ||||||
| #define MILE_PROJECT_SIMPLE_VERSION_STRING \ |  | ||||||
|     MILE_PROJECT_MACRO_TO_STRING(MILE_PROJECT_SIMPLE_VERSION) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef MILE_PROJECT_VERSION_TAG |  | ||||||
| #define MILE_PROJECT_VERSION_TAG_STRING L" " MILE_PROJECT_VERSION_TAG |  | ||||||
| #else |  | ||||||
| #define MILE_PROJECT_VERSION_TAG_STRING |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef MILE_PROJECT_VERSION_STRING |  | ||||||
| #define MILE_PROJECT_VERSION_STRING \ |  | ||||||
|     MILE_PROJECT_SIMPLE_VERSION_STRING \ |  | ||||||
|     MILE_PROJECT_VERSION_TAG_STRING |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef MILE_PROJECT_SIMPLE_VERSION_UTF8_STRING |  | ||||||
| #define MILE_PROJECT_SIMPLE_VERSION_UTF8_STRING \ |  | ||||||
|     MILE_PROJECT_MACRO_TO_UTF8_STRING(MILE_PROJECT_SIMPLE_VERSION) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef MILE_PROJECT_VERSION_TAG |  | ||||||
| #define MILE_PROJECT_VERSION_TAG_UTF8_STRING " " MILE_PROJECT_VERSION_TAG |  | ||||||
| #else |  | ||||||
| #define MILE_PROJECT_VERSION_TAG_UTF8_STRING |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef MILE_PROJECT_VERSION_UTF8_STRING |  | ||||||
| #define MILE_PROJECT_VERSION_UTF8_STRING \ |  | ||||||
|     MILE_PROJECT_SIMPLE_VERSION_UTF8_STRING \ |  | ||||||
|     MILE_PROJECT_VERSION_TAG_UTF8_STRING |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -1,71 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <!-- |  | ||||||
|   PROJECT:   LVGL PC Simulator using Visual Studio |  | ||||||
|   FILE:      freetype.props |  | ||||||
|   PURPOSE:   Property sheet for FreeType |  | ||||||
| 
 |  | ||||||
|   LICENSE:   The MIT License |  | ||||||
| 
 |  | ||||||
|   DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com) |  | ||||||
| --> |  | ||||||
| <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |  | ||||||
|   <PropertyGroup> |  | ||||||
|     <IncludePath>$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\include\;$(IncludePath);</IncludePath> |  | ||||||
|   </PropertyGroup> |  | ||||||
|   <ItemDefinitionGroup> |  | ||||||
|     <ClCompile> |  | ||||||
|       <PreprocessorDefinitions>FT2_BUILD_LIBRARY;%(PreprocessorDefinitions)</PreprocessorDefinitions> |  | ||||||
|       <DisableSpecificWarnings>4703;%(DisableSpecificWarnings)</DisableSpecificWarnings> |  | ||||||
|     </ClCompile> |  | ||||||
|   </ItemDefinitionGroup> |  | ||||||
|   <Target Name="FreeTypeLibraryBuildSource" BeforeTargets="BeforeClCompile"> |  | ||||||
|     <ItemGroup> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\autofit\autofit.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftbase.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftbbox.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftbdf.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftbitmap.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftcid.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftfstype.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftgasp.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftglyph.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftgxval.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftinit.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftmm.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftotval.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftpatent.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftpfr.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftstroke.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftsynth.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\fttype1.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftwinfnt.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\bdf\bdf.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\cache\ftcache.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\cff\cff.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\cid\type1cid.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\dlg\dlgwrap.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\gzip\ftgzip.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\lzw\ftlzw.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\pcf\pcf.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\pfr\pfr.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\psaux\psaux.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\pshinter\pshinter.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\psnames\psmodule.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\raster\raster.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\sfnt\sfnt.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\smooth\smooth.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\sdf\sdf.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\svg\svg.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\truetype\truetype.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\type1\type1.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\type42\type42.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\winfonts\winfnt.c" /> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\builds\windows\ftdebug.c"> |  | ||||||
|         <DisableLanguageExtensions>false</DisableLanguageExtensions> |  | ||||||
|       </ClCompile> |  | ||||||
|       <ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\builds\windows\ftsystem.c"> |  | ||||||
|         <DisableLanguageExtensions>false</DisableLanguageExtensions> |  | ||||||
|       </ClCompile>    |  | ||||||
|     </ItemGroup> |  | ||||||
|   </Target> |  | ||||||
| </Project> |  | ||||||
|  | @ -1,759 +0,0 @@ | ||||||
| /**
 |  | ||||||
|  * @file lv_conf.h |  | ||||||
|  * Configuration file for v8.3.4 |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * Copy this file as `lv_conf.h` |  | ||||||
|  * 1. simply next to the `lvgl` folder |  | ||||||
|  * 2. or any other places and |  | ||||||
|  *    - define `LV_CONF_INCLUDE_SIMPLE` |  | ||||||
|  *    - add the path as include path |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| /* clang-format off */ |  | ||||||
| #if 1 /*Set it to "1" to enable content*/ |  | ||||||
| 
 |  | ||||||
| #ifndef LV_CONF_H |  | ||||||
| #define LV_CONF_H |  | ||||||
| 
 |  | ||||||
| #include <stdint.h> |  | ||||||
| 
 |  | ||||||
| /*====================
 |  | ||||||
|    COLOR SETTINGS |  | ||||||
|  *====================*/ |  | ||||||
| 
 |  | ||||||
| /*Color depth: 1 (1 byte per pixel), 8 (RGB332), 16 (RGB565), 32 (ARGB8888)*/ |  | ||||||
| #define LV_COLOR_DEPTH 16 |  | ||||||
| 
 |  | ||||||
| /*Swap the 2 bytes of RGB565 color. Useful if the display has an 8-bit interface (e.g. SPI)*/ |  | ||||||
| #define LV_COLOR_16_SWAP 0 |  | ||||||
| 
 |  | ||||||
| /*Enable features to draw on transparent background.
 |  | ||||||
|  *It's required if opa, and transform_* style properties are used. |  | ||||||
|  *Can be also used if the UI is above another layer, e.g. an OSD menu or video player.*/ |  | ||||||
| #define LV_COLOR_SCREEN_TRANSP 1 |  | ||||||
| 
 |  | ||||||
| /* Adjust color mix functions rounding. GPUs might calculate color mix (blending) differently.
 |  | ||||||
|  * 0: round down, 64: round up from x.75, 128: round up from half, 192: round up from x.25, 254: round up */ |  | ||||||
| #define LV_COLOR_MIX_ROUND_OFS 0 |  | ||||||
| 
 |  | ||||||
| /*Images pixels with this color will not be drawn if they are chroma keyed)*/ |  | ||||||
| #define LV_COLOR_CHROMA_KEY lv_color_hex(0x00ff00)         /*pure green*/ |  | ||||||
| 
 |  | ||||||
| /*=========================
 |  | ||||||
|    MEMORY SETTINGS |  | ||||||
|  *=========================*/ |  | ||||||
| 
 |  | ||||||
| /*1: use custom malloc/free, 0: use the built-in `lv_mem_alloc()` and `lv_mem_free()`*/ |  | ||||||
| #define LV_MEM_CUSTOM 0 |  | ||||||
| #if LV_MEM_CUSTOM == 0 |  | ||||||
|     /*Size of the memory available for `lv_mem_alloc()` in bytes (>= 2kB)*/ |  | ||||||
|     #define LV_MEM_SIZE (1024U * 1024U)          /*[bytes]*/ |  | ||||||
| 
 |  | ||||||
|     /*Set an address for the memory pool instead of allocating it as a normal array. Can be in external SRAM too.*/ |  | ||||||
|     #define LV_MEM_ADR 0     /*0: unused*/ |  | ||||||
|     /*Instead of an address give a memory allocator that will be called to get a memory pool for LVGL. E.g. my_malloc*/ |  | ||||||
|     #if LV_MEM_ADR == 0 |  | ||||||
|         #undef LV_MEM_POOL_INCLUDE |  | ||||||
|         #undef LV_MEM_POOL_ALLOC |  | ||||||
|     #endif |  | ||||||
| 
 |  | ||||||
| #else       /*LV_MEM_CUSTOM*/ |  | ||||||
|     #define LV_MEM_CUSTOM_INCLUDE <stdlib.h>   /*Header for the dynamic memory function*/ |  | ||||||
|     #define LV_MEM_CUSTOM_ALLOC   malloc |  | ||||||
|     #define LV_MEM_CUSTOM_FREE    free |  | ||||||
|     #define LV_MEM_CUSTOM_REALLOC realloc |  | ||||||
| #endif     /*LV_MEM_CUSTOM*/ |  | ||||||
| 
 |  | ||||||
| /*Number of the intermediate memory buffer used during rendering and other internal processing mechanisms.
 |  | ||||||
|  *You will see an error log message if there wasn't enough buffers. */ |  | ||||||
| #define LV_MEM_BUF_MAX_NUM 16 |  | ||||||
| 
 |  | ||||||
| /*Use the standard `memcpy` and `memset` instead of LVGL's own functions. (Might or might not be faster).*/ |  | ||||||
| #define LV_MEMCPY_MEMSET_STD 0 |  | ||||||
| 
 |  | ||||||
| /*====================
 |  | ||||||
|    HAL SETTINGS |  | ||||||
|  *====================*/ |  | ||||||
| 
 |  | ||||||
| /*Default display refresh period. LVG will redraw changed areas with this period time*/ |  | ||||||
| #define LV_DISP_DEF_REFR_PERIOD 10      /*[ms]*/ |  | ||||||
| 
 |  | ||||||
| /*Input device read period in milliseconds*/ |  | ||||||
| #define LV_INDEV_DEF_READ_PERIOD 10     /*[ms]*/ |  | ||||||
| 
 |  | ||||||
| /*Use a custom tick source that tells the elapsed time in milliseconds.
 |  | ||||||
|  *It removes the need to manually update the tick with `lv_tick_inc()`)*/ |  | ||||||
| #define LV_TICK_CUSTOM 1 |  | ||||||
| #if LV_TICK_CUSTOM |  | ||||||
|     #define LV_TICK_CUSTOM_INCLUDE <Windows.h>         /*Header for the system time function*/ |  | ||||||
|     #define LV_TICK_CUSTOM_SYS_TIME_EXPR (GetTickCount())    /*Expression evaluating to current system time in ms*/ |  | ||||||
| #endif   /*LV_TICK_CUSTOM*/ |  | ||||||
| 
 |  | ||||||
| /*Default Dot Per Inch. Used to initialize default sizes such as widgets sized, style paddings.
 |  | ||||||
|  *(Not so important, you can adjust it to modify default sizes and spaces)*/ |  | ||||||
| #define LV_DPI_DEF 130     /*[px/inch]*/ |  | ||||||
| 
 |  | ||||||
| /*=======================
 |  | ||||||
|  * FEATURE CONFIGURATION |  | ||||||
|  *=======================*/ |  | ||||||
| 
 |  | ||||||
| /*-------------
 |  | ||||||
|  * Drawing |  | ||||||
|  *-----------*/ |  | ||||||
| 
 |  | ||||||
| /*Enable complex draw engine.
 |  | ||||||
|  *Required to draw shadow, gradient, rounded corners, circles, arc, skew lines, image transformations or any masks*/ |  | ||||||
| #define LV_DRAW_COMPLEX 1 |  | ||||||
| #if LV_DRAW_COMPLEX != 0 |  | ||||||
| 
 |  | ||||||
|     /*Allow buffering some shadow calculation.
 |  | ||||||
|     *LV_SHADOW_CACHE_SIZE is the max. shadow size to buffer, where shadow size is `shadow_width + radius` |  | ||||||
|     *Caching has LV_SHADOW_CACHE_SIZE^2 RAM cost*/ |  | ||||||
|     #define LV_SHADOW_CACHE_SIZE 0 |  | ||||||
| 
 |  | ||||||
|     /* Set number of maximally cached circle data.
 |  | ||||||
|     * The circumference of 1/4 circle are saved for anti-aliasing |  | ||||||
|     * radius * 4 bytes are used per circle (the most often used radiuses are saved) |  | ||||||
|     * 0: to disable caching */ |  | ||||||
|     #define LV_CIRCLE_CACHE_SIZE 4 |  | ||||||
| #endif /*LV_DRAW_COMPLEX*/ |  | ||||||
| 
 |  | ||||||
| /**
 |  | ||||||
|  * "Simple layers" are used when a widget has `style_opa < 255` to buffer the widget into a layer |  | ||||||
|  * and blend it as an image with the given opacity. |  | ||||||
|  * Note that `bg_opa`, `text_opa` etc don't require buffering into layer) |  | ||||||
|  * The widget can be buffered in smaller chunks to avoid using large buffers. |  | ||||||
|  * |  | ||||||
|  * - LV_LAYER_SIMPLE_BUF_SIZE: [bytes] the optimal target buffer size. LVGL will try to allocate it |  | ||||||
|  * - LV_LAYER_SIMPLE_FALLBACK_BUF_SIZE: [bytes]  used if `LV_LAYER_SIMPLE_BUF_SIZE` couldn't be allocated. |  | ||||||
|  * |  | ||||||
|  * Both buffer sizes are in bytes. |  | ||||||
|  * "Transformed layers" (where transform_angle/zoom properties are used) use larger buffers |  | ||||||
|  * and can't be drawn in chunks. So these settings affects only widgets with opacity. |  | ||||||
|  */ |  | ||||||
| #define LV_LAYER_SIMPLE_BUF_SIZE          (24 * 1024) |  | ||||||
| #define LV_LAYER_SIMPLE_FALLBACK_BUF_SIZE (3 * 1024) |  | ||||||
| 
 |  | ||||||
| /*Default image cache size. Image caching keeps the images opened.
 |  | ||||||
|  *If only the built-in image formats are used there is no real advantage of caching. (I.e. if no new image decoder is added) |  | ||||||
|  *With complex image decoders (e.g. PNG or JPG) caching can save the continuous open/decode of images. |  | ||||||
|  *However the opened images might consume additional RAM. |  | ||||||
|  *0: to disable caching*/ |  | ||||||
| #define LV_IMG_CACHE_DEF_SIZE 0 |  | ||||||
| 
 |  | ||||||
| /*Number of stops allowed per gradient. Increase this to allow more stops.
 |  | ||||||
|  *This adds (sizeof(lv_color_t) + 1) bytes per additional stop*/ |  | ||||||
| #define LV_GRADIENT_MAX_STOPS 2 |  | ||||||
| 
 |  | ||||||
| /*Default gradient buffer size.
 |  | ||||||
|  *When LVGL calculates the gradient "maps" it can save them into a cache to avoid calculating them again. |  | ||||||
|  *LV_GRAD_CACHE_DEF_SIZE sets the size of this cache in bytes. |  | ||||||
|  *If the cache is too small the map will be allocated only while it's required for the drawing. |  | ||||||
|  *0 mean no caching.*/ |  | ||||||
| #define LV_GRAD_CACHE_DEF_SIZE 0 |  | ||||||
| 
 |  | ||||||
| /*Allow dithering the gradients (to achieve visual smooth color gradients on limited color depth display)
 |  | ||||||
|  *LV_DITHER_GRADIENT implies allocating one or two more lines of the object's rendering surface |  | ||||||
|  *The increase in memory consumption is (32 bits * object width) plus 24 bits * object width if using error diffusion */ |  | ||||||
| #define LV_DITHER_GRADIENT 0 |  | ||||||
| #if LV_DITHER_GRADIENT |  | ||||||
|     /*Add support for error diffusion dithering.
 |  | ||||||
|      *Error diffusion dithering gets a much better visual result, but implies more CPU consumption and memory when drawing. |  | ||||||
|      *The increase in memory consumption is (24 bits * object's width)*/ |  | ||||||
|     #define LV_DITHER_ERROR_DIFFUSION 0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*Maximum buffer size to allocate for rotation.
 |  | ||||||
|  *Only used if software rotation is enabled in the display driver.*/ |  | ||||||
| #define LV_DISP_ROT_MAX_BUF (10*1024) |  | ||||||
| 
 |  | ||||||
| /*-------------
 |  | ||||||
|  * GPU |  | ||||||
|  *-----------*/ |  | ||||||
| 
 |  | ||||||
| /*Use Arm's 2D acceleration library Arm-2D */ |  | ||||||
| #define LV_USE_GPU_ARM2D 0 |  | ||||||
| 
 |  | ||||||
| /*Use STM32's DMA2D (aka Chrom Art) GPU*/ |  | ||||||
| #define LV_USE_GPU_STM32_DMA2D 0 |  | ||||||
| #if LV_USE_GPU_STM32_DMA2D |  | ||||||
|     /*Must be defined to include path of CMSIS header of target processor
 |  | ||||||
|     e.g. "stm32f769xx.h" or "stm32f429xx.h"*/ |  | ||||||
|     #define LV_GPU_DMA2D_CMSIS_INCLUDE |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*Use SWM341's DMA2D GPU*/ |  | ||||||
| #define LV_USE_GPU_SWM341_DMA2D 0 |  | ||||||
| #if LV_USE_GPU_SWM341_DMA2D |  | ||||||
|     #define LV_GPU_SWM341_DMA2D_INCLUDE "SWM341.h" |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*Use NXP's PXP GPU iMX RTxxx platforms*/ |  | ||||||
| #define LV_USE_GPU_NXP_PXP 0 |  | ||||||
| #if LV_USE_GPU_NXP_PXP |  | ||||||
|     /*1: Add default bare metal and FreeRTOS interrupt handling routines for PXP (lv_gpu_nxp_pxp_osa.c)
 |  | ||||||
|     *   and call lv_gpu_nxp_pxp_init() automatically during lv_init(). Note that symbol SDK_OS_FREE_RTOS |  | ||||||
|     *   has to be defined in order to use FreeRTOS OSA, otherwise bare-metal implementation is selected. |  | ||||||
|     *0: lv_gpu_nxp_pxp_init() has to be called manually before lv_init() |  | ||||||
|     */ |  | ||||||
|     #define LV_USE_GPU_NXP_PXP_AUTO_INIT 0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*Use NXP's VG-Lite GPU iMX RTxxx platforms*/ |  | ||||||
| #define LV_USE_GPU_NXP_VG_LITE 0 |  | ||||||
| 
 |  | ||||||
| /*Use SDL renderer API*/ |  | ||||||
| #define LV_USE_GPU_SDL 0 |  | ||||||
| #if LV_USE_GPU_SDL |  | ||||||
|     #define LV_GPU_SDL_INCLUDE_PATH <SDL2/SDL.h> |  | ||||||
|     /*Texture cache size, 8MB by default*/ |  | ||||||
|     #define LV_GPU_SDL_LRU_SIZE (1024 * 1024 * 8) |  | ||||||
|     /*Custom blend mode for mask drawing, disable if you need to link with older SDL2 lib*/ |  | ||||||
|     #define LV_GPU_SDL_CUSTOM_BLEND_MODE (SDL_VERSION_ATLEAST(2, 0, 6)) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*-------------
 |  | ||||||
|  * Logging |  | ||||||
|  *-----------*/ |  | ||||||
| 
 |  | ||||||
| /*Enable the log module*/ |  | ||||||
| #define LV_USE_LOG 1 |  | ||||||
| #if LV_USE_LOG |  | ||||||
| 
 |  | ||||||
|     /*How important log should be added:
 |  | ||||||
|     *LV_LOG_LEVEL_TRACE       A lot of logs to give detailed information |  | ||||||
|     *LV_LOG_LEVEL_INFO        Log important events |  | ||||||
|     *LV_LOG_LEVEL_WARN        Log if something unwanted happened but didn't cause a problem |  | ||||||
|     *LV_LOG_LEVEL_ERROR       Only critical issue, when the system may fail |  | ||||||
|     *LV_LOG_LEVEL_USER        Only logs added by the user |  | ||||||
|     *LV_LOG_LEVEL_NONE        Do not log anything*/ |  | ||||||
|     #define LV_LOG_LEVEL LV_LOG_LEVEL_WARN |  | ||||||
| 
 |  | ||||||
|     /*1: Print the log with 'printf';
 |  | ||||||
|     *0: User need to register a callback with `lv_log_register_print_cb()`*/ |  | ||||||
|     #define LV_LOG_PRINTF 1 |  | ||||||
| 
 |  | ||||||
|     /*Enable/disable LV_LOG_TRACE in modules that produces a huge number of logs*/ |  | ||||||
|     #define LV_LOG_TRACE_MEM        1 |  | ||||||
|     #define LV_LOG_TRACE_TIMER      1 |  | ||||||
|     #define LV_LOG_TRACE_INDEV      1 |  | ||||||
|     #define LV_LOG_TRACE_DISP_REFR  1 |  | ||||||
|     #define LV_LOG_TRACE_EVENT      1 |  | ||||||
|     #define LV_LOG_TRACE_OBJ_CREATE 1 |  | ||||||
|     #define LV_LOG_TRACE_LAYOUT     1 |  | ||||||
|     #define LV_LOG_TRACE_ANIM       1 |  | ||||||
| 
 |  | ||||||
| #endif  /*LV_USE_LOG*/ |  | ||||||
| 
 |  | ||||||
| /*-------------
 |  | ||||||
|  * Asserts |  | ||||||
|  *-----------*/ |  | ||||||
| 
 |  | ||||||
| /*Enable asserts if an operation is failed or an invalid data is found.
 |  | ||||||
|  *If LV_USE_LOG is enabled an error message will be printed on failure*/ |  | ||||||
| #define LV_USE_ASSERT_NULL          1   /*Check if the parameter is NULL. (Very fast, recommended)*/ |  | ||||||
| #define LV_USE_ASSERT_MALLOC        1   /*Checks is the memory is successfully allocated or no. (Very fast, recommended)*/ |  | ||||||
| #define LV_USE_ASSERT_STYLE         1   /*Check if the styles are properly initialized. (Very fast, recommended)*/ |  | ||||||
| #define LV_USE_ASSERT_MEM_INTEGRITY 1   /*Check the integrity of `lv_mem` after critical operations. (Slow)*/ |  | ||||||
| #define LV_USE_ASSERT_OBJ           1   /*Check the object's type and existence (e.g. not deleted). (Slow)*/ |  | ||||||
| 
 |  | ||||||
| /*Add a custom handler when assert happens e.g. to restart the MCU*/ |  | ||||||
| #define LV_ASSERT_HANDLER_INCLUDE <stdint.h> |  | ||||||
| #define LV_ASSERT_HANDLER while(1);   /*Halt by default*/ |  | ||||||
| 
 |  | ||||||
| /*-------------
 |  | ||||||
|  * Others |  | ||||||
|  *-----------*/ |  | ||||||
| 
 |  | ||||||
| /*1: Show CPU usage and FPS count*/ |  | ||||||
| #define LV_USE_PERF_MONITOR 0 |  | ||||||
| #if LV_USE_PERF_MONITOR |  | ||||||
|     #define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*1: Show the used memory and the memory fragmentation
 |  | ||||||
|  * Requires LV_MEM_CUSTOM = 0*/ |  | ||||||
| #define LV_USE_MEM_MONITOR 0 |  | ||||||
| #if LV_USE_MEM_MONITOR |  | ||||||
|     #define LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*1: Draw random colored rectangles over the redrawn areas*/ |  | ||||||
| #define LV_USE_REFR_DEBUG 0 |  | ||||||
| 
 |  | ||||||
| /*Change the built in (v)snprintf functions*/ |  | ||||||
| #define LV_SPRINTF_CUSTOM 0 |  | ||||||
| #if LV_SPRINTF_CUSTOM |  | ||||||
|     #define LV_SPRINTF_INCLUDE <stdio.h> |  | ||||||
|     #define lv_snprintf  snprintf |  | ||||||
|     #define lv_vsnprintf vsnprintf |  | ||||||
| #else   /*LV_SPRINTF_CUSTOM*/ |  | ||||||
|     #define LV_SPRINTF_USE_FLOAT 0 |  | ||||||
| #endif  /*LV_SPRINTF_CUSTOM*/ |  | ||||||
| 
 |  | ||||||
| #define LV_USE_USER_DATA 1 |  | ||||||
| 
 |  | ||||||
| /*Garbage Collector settings
 |  | ||||||
|  *Used if lvgl is bound to higher level language and the memory is managed by that language*/ |  | ||||||
| #define LV_ENABLE_GC 0 |  | ||||||
| #if LV_ENABLE_GC != 0 |  | ||||||
|     #define LV_GC_INCLUDE "gc.h"                           /*Include Garbage Collector related things*/ |  | ||||||
| #endif /*LV_ENABLE_GC*/ |  | ||||||
| 
 |  | ||||||
| /*=====================
 |  | ||||||
|  *  COMPILER SETTINGS |  | ||||||
|  *====================*/ |  | ||||||
| 
 |  | ||||||
| /*For big endian systems set to 1*/ |  | ||||||
| #define LV_BIG_ENDIAN_SYSTEM 0 |  | ||||||
| 
 |  | ||||||
| /*Define a custom attribute to `lv_tick_inc` function*/ |  | ||||||
| #define LV_ATTRIBUTE_TICK_INC |  | ||||||
| 
 |  | ||||||
| /*Define a custom attribute to `lv_timer_handler` function*/ |  | ||||||
| #define LV_ATTRIBUTE_TIMER_HANDLER |  | ||||||
| 
 |  | ||||||
| /*Define a custom attribute to `lv_disp_flush_ready` function*/ |  | ||||||
| #define LV_ATTRIBUTE_FLUSH_READY |  | ||||||
| 
 |  | ||||||
| /*Required alignment size for buffers*/ |  | ||||||
| #define LV_ATTRIBUTE_MEM_ALIGN_SIZE 1 |  | ||||||
| 
 |  | ||||||
| /*Will be added where memories needs to be aligned (with -Os data might not be aligned to boundary by default).
 |  | ||||||
|  * E.g. __attribute__((aligned(4)))*/ |  | ||||||
| #define LV_ATTRIBUTE_MEM_ALIGN |  | ||||||
| 
 |  | ||||||
| /*Attribute to mark large constant arrays for example font's bitmaps*/ |  | ||||||
| #define LV_ATTRIBUTE_LARGE_CONST |  | ||||||
| 
 |  | ||||||
| /*Compiler prefix for a big array declaration in RAM*/ |  | ||||||
| #define LV_ATTRIBUTE_LARGE_RAM_ARRAY |  | ||||||
| 
 |  | ||||||
| /*Place performance critical functions into a faster memory (e.g RAM)*/ |  | ||||||
| #define LV_ATTRIBUTE_FAST_MEM |  | ||||||
| 
 |  | ||||||
| /*Prefix variables that are used in GPU accelerated operations, often these need to be placed in RAM sections that are DMA accessible*/ |  | ||||||
| #define LV_ATTRIBUTE_DMA |  | ||||||
| 
 |  | ||||||
| /*Export integer constant to binding. This macro is used with constants in the form of LV_<CONST> that
 |  | ||||||
|  *should also appear on LVGL binding API such as Micropython.*/ |  | ||||||
| #define LV_EXPORT_CONST_INT(int_value) struct _silence_gcc_warning /*The default value just prevents GCC warning*/ |  | ||||||
| 
 |  | ||||||
| /*Extend the default -32k..32k coordinate range to -4M..4M by using int32_t for coordinates instead of int16_t*/ |  | ||||||
| #define LV_USE_LARGE_COORD 0 |  | ||||||
| 
 |  | ||||||
| /*==================
 |  | ||||||
|  *   FONT USAGE |  | ||||||
|  *===================*/ |  | ||||||
| 
 |  | ||||||
| /*Montserrat fonts with ASCII range and some symbols using bpp = 4
 |  | ||||||
|  *https://fonts.google.com/specimen/Montserrat*/
 |  | ||||||
| #define LV_FONT_MONTSERRAT_8  1 |  | ||||||
| #define LV_FONT_MONTSERRAT_10 1 |  | ||||||
| #define LV_FONT_MONTSERRAT_12 1 |  | ||||||
| #define LV_FONT_MONTSERRAT_14 1 |  | ||||||
| #define LV_FONT_MONTSERRAT_16 1 |  | ||||||
| #define LV_FONT_MONTSERRAT_18 1 |  | ||||||
| #define LV_FONT_MONTSERRAT_20 1 |  | ||||||
| #define LV_FONT_MONTSERRAT_22 1 |  | ||||||
| #define LV_FONT_MONTSERRAT_24 1 |  | ||||||
| #define LV_FONT_MONTSERRAT_26 1 |  | ||||||
| #define LV_FONT_MONTSERRAT_28 1 |  | ||||||
| #define LV_FONT_MONTSERRAT_30 1 |  | ||||||
| #define LV_FONT_MONTSERRAT_32 1 |  | ||||||
| #define LV_FONT_MONTSERRAT_34 1 |  | ||||||
| #define LV_FONT_MONTSERRAT_36 1 |  | ||||||
| #define LV_FONT_MONTSERRAT_38 1 |  | ||||||
| #define LV_FONT_MONTSERRAT_40 1 |  | ||||||
| #define LV_FONT_MONTSERRAT_42 1 |  | ||||||
| #define LV_FONT_MONTSERRAT_44 1 |  | ||||||
| #define LV_FONT_MONTSERRAT_46 1 |  | ||||||
| #define LV_FONT_MONTSERRAT_48 1 |  | ||||||
| 
 |  | ||||||
| /*Demonstrate special features*/ |  | ||||||
| #define LV_FONT_MONTSERRAT_12_SUBPX      1 |  | ||||||
| #define LV_FONT_MONTSERRAT_28_COMPRESSED 1  /*bpp = 3*/ |  | ||||||
| #define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 1  /*Hebrew, Arabic, Persian letters and all their forms*/ |  | ||||||
| #define LV_FONT_SIMSUN_16_CJK            1  /*1000 most common CJK radicals*/ |  | ||||||
| 
 |  | ||||||
| /*Pixel perfect monospace fonts*/ |  | ||||||
| #define LV_FONT_UNSCII_8  1 |  | ||||||
| #define LV_FONT_UNSCII_16 0 |  | ||||||
| 
 |  | ||||||
| /*Optionally declare custom fonts here.
 |  | ||||||
|  *You can use these fonts as default font too and they will be available globally. |  | ||||||
|  *E.g. #define LV_FONT_CUSTOM_DECLARE   LV_FONT_DECLARE(my_font_1) LV_FONT_DECLARE(my_font_2)*/ |  | ||||||
| #define LV_FONT_CUSTOM_DECLARE |  | ||||||
| 
 |  | ||||||
| /*Always set a default font*/ |  | ||||||
| #define LV_FONT_DEFAULT &lv_font_montserrat_14 |  | ||||||
| 
 |  | ||||||
| /*Enable handling large font and/or fonts with a lot of characters.
 |  | ||||||
|  *The limit depends on the font size, font face and bpp. |  | ||||||
|  *Compiler error will be triggered if a font needs it.*/ |  | ||||||
| #define LV_FONT_FMT_TXT_LARGE 0 |  | ||||||
| 
 |  | ||||||
| /*Enables/disables support for compressed fonts.*/ |  | ||||||
| #define LV_USE_FONT_COMPRESSED 1 |  | ||||||
| 
 |  | ||||||
| /*Enable subpixel rendering*/ |  | ||||||
| #define LV_USE_FONT_SUBPX 1 |  | ||||||
| #if LV_USE_FONT_SUBPX |  | ||||||
|     /*Set the pixel order of the display. Physical order of RGB channels. Doesn't matter with "normal" fonts.*/ |  | ||||||
|     #define LV_FONT_SUBPX_BGR 0  /*0: RGB; 1:BGR order*/ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*Enable drawing placeholders when glyph dsc is not found*/ |  | ||||||
| #define LV_USE_FONT_PLACEHOLDER 1 |  | ||||||
| 
 |  | ||||||
| /*=================
 |  | ||||||
|  *  TEXT SETTINGS |  | ||||||
|  *=================*/ |  | ||||||
| 
 |  | ||||||
| /**
 |  | ||||||
|  * Select a character encoding for strings. |  | ||||||
|  * Your IDE or editor should have the same character encoding |  | ||||||
|  * - LV_TXT_ENC_UTF8 |  | ||||||
|  * - LV_TXT_ENC_ASCII |  | ||||||
|  */ |  | ||||||
| #define LV_TXT_ENC LV_TXT_ENC_UTF8 |  | ||||||
| 
 |  | ||||||
| /*Can break (wrap) texts on these chars*/ |  | ||||||
| #define LV_TXT_BREAK_CHARS " ,.;:-_" |  | ||||||
| 
 |  | ||||||
| /*If a word is at least this long, will break wherever "prettiest"
 |  | ||||||
|  *To disable, set to a value <= 0*/ |  | ||||||
| #define LV_TXT_LINE_BREAK_LONG_LEN 0 |  | ||||||
| 
 |  | ||||||
| /*Minimum number of characters in a long word to put on a line before a break.
 |  | ||||||
|  *Depends on LV_TXT_LINE_BREAK_LONG_LEN.*/ |  | ||||||
| #define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3 |  | ||||||
| 
 |  | ||||||
| /*Minimum number of characters in a long word to put on a line after a break.
 |  | ||||||
|  *Depends on LV_TXT_LINE_BREAK_LONG_LEN.*/ |  | ||||||
| #define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 3 |  | ||||||
| 
 |  | ||||||
| /*The control character to use for signalling text recoloring.*/ |  | ||||||
| #define LV_TXT_COLOR_CMD "#" |  | ||||||
| 
 |  | ||||||
| /*Support bidirectional texts. Allows mixing Left-to-Right and Right-to-Left texts.
 |  | ||||||
|  *The direction will be processed according to the Unicode Bidirectional Algorithm: |  | ||||||
|  *https://www.w3.org/International/articles/inline-bidi-markup/uba-basics*/
 |  | ||||||
| #define LV_USE_BIDI 1 |  | ||||||
| #if LV_USE_BIDI |  | ||||||
|     /*Set the default direction. Supported values:
 |  | ||||||
|     *`LV_BASE_DIR_LTR` Left-to-Right |  | ||||||
|     *`LV_BASE_DIR_RTL` Right-to-Left |  | ||||||
|     *`LV_BASE_DIR_AUTO` detect texts base direction*/ |  | ||||||
|     #define LV_BIDI_BASE_DIR_DEF LV_BASE_DIR_AUTO |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*Enable Arabic/Persian processing
 |  | ||||||
|  *In these languages characters should be replaced with an other form based on their position in the text*/ |  | ||||||
| #define LV_USE_ARABIC_PERSIAN_CHARS 1 |  | ||||||
| 
 |  | ||||||
| /*==================
 |  | ||||||
|  *  WIDGET USAGE |  | ||||||
|  *================*/ |  | ||||||
| 
 |  | ||||||
| /*Documentation of the widgets: https://docs.lvgl.io/latest/en/html/widgets/index.html*/ |  | ||||||
| 
 |  | ||||||
| #define LV_USE_ARC        1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_BAR        1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_BTN        1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_BTNMATRIX  1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_CANVAS     1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_CHECKBOX   1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_DROPDOWN   1   /*Requires: lv_label*/ |  | ||||||
| 
 |  | ||||||
| #define LV_USE_IMG        1   /*Requires: lv_label*/ |  | ||||||
| 
 |  | ||||||
| #define LV_USE_LABEL      1 |  | ||||||
| #if LV_USE_LABEL |  | ||||||
|     #define LV_LABEL_TEXT_SELECTION 1 /*Enable selecting text of the label*/ |  | ||||||
|     #define LV_LABEL_LONG_TXT_HINT 1  /*Store some extra info in labels to speed up drawing of very long texts*/ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #define LV_USE_LINE       1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_ROLLER     1   /*Requires: lv_label*/ |  | ||||||
| #if LV_USE_ROLLER |  | ||||||
|     #define LV_ROLLER_INF_PAGES 7 /*Number of extra "pages" when the roller is infinite*/ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #define LV_USE_SLIDER     1   /*Requires: lv_bar*/ |  | ||||||
| 
 |  | ||||||
| #define LV_USE_SWITCH     1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_TEXTAREA   1   /*Requires: lv_label*/ |  | ||||||
| #if LV_USE_TEXTAREA != 0 |  | ||||||
|     #define LV_TEXTAREA_DEF_PWD_SHOW_TIME 1500    /*ms*/ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #define LV_USE_TABLE      1 |  | ||||||
| 
 |  | ||||||
| /*==================
 |  | ||||||
|  * EXTRA COMPONENTS |  | ||||||
|  *==================*/ |  | ||||||
| 
 |  | ||||||
| /*-----------
 |  | ||||||
|  * Widgets |  | ||||||
|  *----------*/ |  | ||||||
| #define LV_USE_ANIMIMG    1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_CALENDAR   1 |  | ||||||
| #if LV_USE_CALENDAR |  | ||||||
|     #define LV_CALENDAR_WEEK_STARTS_MONDAY 0 |  | ||||||
|     #if LV_CALENDAR_WEEK_STARTS_MONDAY |  | ||||||
|         #define LV_CALENDAR_DEFAULT_DAY_NAMES {"Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"} |  | ||||||
|     #else |  | ||||||
|         #define LV_CALENDAR_DEFAULT_DAY_NAMES {"Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"} |  | ||||||
|     #endif |  | ||||||
| 
 |  | ||||||
|     #define LV_CALENDAR_DEFAULT_MONTH_NAMES {"January", "February", "March",  "April", "May",  "June", "July", "August", "September", "October", "November", "December"} |  | ||||||
|     #define LV_USE_CALENDAR_HEADER_ARROW 1 |  | ||||||
|     #define LV_USE_CALENDAR_HEADER_DROPDOWN 1 |  | ||||||
| #endif  /*LV_USE_CALENDAR*/ |  | ||||||
| 
 |  | ||||||
| #define LV_USE_CHART      1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_COLORWHEEL 1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_IMGBTN     1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_KEYBOARD   1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_LED        1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_LIST       1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_MENU       1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_METER      1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_MSGBOX     1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_SPAN       1 |  | ||||||
| #if LV_USE_SPAN |  | ||||||
|     /*A line text can contain maximum num of span descriptor */ |  | ||||||
|     #define LV_SPAN_SNIPPET_STACK_SIZE 64 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #define LV_USE_SPINBOX    1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_SPINNER    1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_TABVIEW    1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_TILEVIEW   1 |  | ||||||
| 
 |  | ||||||
| #define LV_USE_WIN        1 |  | ||||||
| 
 |  | ||||||
| /*-----------
 |  | ||||||
|  * Themes |  | ||||||
|  *----------*/ |  | ||||||
| 
 |  | ||||||
| /*A simple, impressive and very complete theme*/ |  | ||||||
| #define LV_USE_THEME_DEFAULT 1 |  | ||||||
| #if LV_USE_THEME_DEFAULT |  | ||||||
| 
 |  | ||||||
|     /*0: Light mode; 1: Dark mode*/ |  | ||||||
|     #define LV_THEME_DEFAULT_DARK 1 |  | ||||||
| 
 |  | ||||||
|     /*1: Enable grow on press*/ |  | ||||||
|     #define LV_THEME_DEFAULT_GROW 1 |  | ||||||
| 
 |  | ||||||
|     /*Default transition time in [ms]*/ |  | ||||||
|     #define LV_THEME_DEFAULT_TRANSITION_TIME 80 |  | ||||||
| #endif /*LV_USE_THEME_DEFAULT*/ |  | ||||||
| 
 |  | ||||||
| /*A very simple theme that is a good starting point for a custom theme*/ |  | ||||||
| #define LV_USE_THEME_BASIC 1 |  | ||||||
| 
 |  | ||||||
| /*A theme designed for monochrome displays*/ |  | ||||||
| #define LV_USE_THEME_MONO 1 |  | ||||||
| 
 |  | ||||||
| /*-----------
 |  | ||||||
|  * Layouts |  | ||||||
|  *----------*/ |  | ||||||
| 
 |  | ||||||
| /*A layout similar to Flexbox in CSS.*/ |  | ||||||
| #define LV_USE_FLEX 1 |  | ||||||
| 
 |  | ||||||
| /*A layout similar to Grid in CSS.*/ |  | ||||||
| #define LV_USE_GRID 1 |  | ||||||
| 
 |  | ||||||
| /*---------------------
 |  | ||||||
|  * 3rd party libraries |  | ||||||
|  *--------------------*/ |  | ||||||
| 
 |  | ||||||
| /*File system interfaces for common APIs */ |  | ||||||
| 
 |  | ||||||
| /*API for fopen, fread, etc*/ |  | ||||||
| #define LV_USE_FS_STDIO 0 |  | ||||||
| #if LV_USE_FS_STDIO |  | ||||||
|     #define LV_FS_STDIO_LETTER '\0'     /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ |  | ||||||
|     #define LV_FS_STDIO_PATH ""         /*Set the working directory. File/directory paths will be appended to it.*/ |  | ||||||
|     #define LV_FS_STDIO_CACHE_SIZE 0    /*>0 to cache this number of bytes in lv_fs_read()*/ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*API for open, read, etc*/ |  | ||||||
| #define LV_USE_FS_POSIX 0 |  | ||||||
| #if LV_USE_FS_POSIX |  | ||||||
|     #define LV_FS_POSIX_LETTER '\0'     /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ |  | ||||||
|     #define LV_FS_POSIX_PATH ""         /*Set the working directory. File/directory paths will be appended to it.*/ |  | ||||||
|     #define LV_FS_POSIX_CACHE_SIZE 0    /*>0 to cache this number of bytes in lv_fs_read()*/ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*API for CreateFile, ReadFile, etc*/ |  | ||||||
| #define LV_USE_FS_WIN32 1 |  | ||||||
| #if LV_USE_FS_WIN32 |  | ||||||
|     #define LV_FS_WIN32_LETTER '\0'     /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ |  | ||||||
|     #define LV_FS_WIN32_PATH ""         /*Set the working directory. File/directory paths will be appended to it.*/ |  | ||||||
|     #define LV_FS_WIN32_CACHE_SIZE 0    /*>0 to cache this number of bytes in lv_fs_read()*/ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*API for FATFS (needs to be added separately). Uses f_open, f_read, etc*/ |  | ||||||
| #define LV_USE_FS_FATFS 0 |  | ||||||
| #if LV_USE_FS_FATFS |  | ||||||
|     #define LV_FS_FATFS_LETTER '\0'     /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/ |  | ||||||
|     #define LV_FS_FATFS_CACHE_SIZE 0    /*>0 to cache this number of bytes in lv_fs_read()*/ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*PNG decoder library*/ |  | ||||||
| #define LV_USE_PNG 0 |  | ||||||
| 
 |  | ||||||
| /*BMP decoder library*/ |  | ||||||
| #define LV_USE_BMP 0 |  | ||||||
| 
 |  | ||||||
| /* JPG + split JPG decoder library.
 |  | ||||||
|  * Split JPG is a custom format optimized for embedded systems. */ |  | ||||||
| #define LV_USE_SJPG 0 |  | ||||||
| 
 |  | ||||||
| /*GIF decoder library*/ |  | ||||||
| #define LV_USE_GIF 0 |  | ||||||
| 
 |  | ||||||
| /*QR code library*/ |  | ||||||
| #define LV_USE_QRCODE 0 |  | ||||||
| 
 |  | ||||||
| /*FreeType library*/ |  | ||||||
| #define LV_USE_FREETYPE 0 |  | ||||||
| #if LV_USE_FREETYPE |  | ||||||
|     /*Memory used by FreeType to cache characters [bytes] (-1: no caching)*/ |  | ||||||
|     #define LV_FREETYPE_CACHE_SIZE (16 * 1024) |  | ||||||
|     #if LV_FREETYPE_CACHE_SIZE >= 0 |  | ||||||
|         /* 1: bitmap cache use the sbit cache, 0:bitmap cache use the image cache. */ |  | ||||||
|         /* sbit cache:it is much more memory efficient for small bitmaps(font size < 256) */ |  | ||||||
|         /* if font size >= 256, must be configured as image cache */ |  | ||||||
|         #define LV_FREETYPE_SBIT_CACHE 0 |  | ||||||
|         /* Maximum number of opened FT_Face/FT_Size objects managed by this cache instance. */ |  | ||||||
|         /* (0:use system defaults) */ |  | ||||||
|         #define LV_FREETYPE_CACHE_FT_FACES 0 |  | ||||||
|         #define LV_FREETYPE_CACHE_FT_SIZES 0 |  | ||||||
|     #endif |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*Rlottie library*/ |  | ||||||
| #define LV_USE_RLOTTIE 0 |  | ||||||
| 
 |  | ||||||
| /*FFmpeg library for image decoding and playing videos
 |  | ||||||
|  *Supports all major image formats so do not enable other image decoder with it*/ |  | ||||||
| #define LV_USE_FFMPEG 0 |  | ||||||
| #if LV_USE_FFMPEG |  | ||||||
|     /*Dump input information to stderr*/ |  | ||||||
|     #define LV_FFMPEG_DUMP_FORMAT 0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*-----------
 |  | ||||||
|  * Others |  | ||||||
|  *----------*/ |  | ||||||
| 
 |  | ||||||
| /*1: Enable API to take snapshot for object*/ |  | ||||||
| #define LV_USE_SNAPSHOT 0 |  | ||||||
| 
 |  | ||||||
| /*1: Enable Monkey test*/ |  | ||||||
| #define LV_USE_MONKEY 0 |  | ||||||
| 
 |  | ||||||
| /*1: Enable grid navigation*/ |  | ||||||
| #define LV_USE_GRIDNAV 0 |  | ||||||
| 
 |  | ||||||
| /*1: Enable lv_obj fragment*/ |  | ||||||
| #define LV_USE_FRAGMENT 0 |  | ||||||
| 
 |  | ||||||
| /*1: Support using images as font in label or span widgets */ |  | ||||||
| #define LV_USE_IMGFONT 0 |  | ||||||
| 
 |  | ||||||
| /*1: Enable a published subscriber based messaging system */ |  | ||||||
| #define LV_USE_MSG 0 |  | ||||||
| 
 |  | ||||||
| /*1: Enable Pinyin input method*/ |  | ||||||
| /*Requires: lv_keyboard*/ |  | ||||||
| #define LV_USE_IME_PINYIN 0 |  | ||||||
| #if LV_USE_IME_PINYIN |  | ||||||
|     /*1: Use default thesaurus*/ |  | ||||||
|     /*If you do not use the default thesaurus, be sure to use `lv_ime_pinyin` after setting the thesauruss*/ |  | ||||||
|     #define LV_IME_PINYIN_USE_DEFAULT_DICT 1 |  | ||||||
|     /*Set the maximum number of candidate panels that can be displayed*/ |  | ||||||
|     /*This needs to be adjusted according to the size of the screen*/ |  | ||||||
|     #define LV_IME_PINYIN_CAND_TEXT_NUM 6 |  | ||||||
| 
 |  | ||||||
|     /*Use 9 key input(k9)*/ |  | ||||||
|     #define LV_IME_PINYIN_USE_K9_MODE      1 |  | ||||||
|     #if LV_IME_PINYIN_USE_K9_MODE == 1 |  | ||||||
|         #define LV_IME_PINYIN_K9_CAND_TEXT_NUM 3 |  | ||||||
|     #endif // LV_IME_PINYIN_USE_K9_MODE
 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*==================
 |  | ||||||
| * EXAMPLES |  | ||||||
| *==================*/ |  | ||||||
| 
 |  | ||||||
| /*Enable the examples to be built with the library*/ |  | ||||||
| #define LV_BUILD_EXAMPLES 1 |  | ||||||
| 
 |  | ||||||
| /*===================
 |  | ||||||
|  * DEMO USAGE |  | ||||||
|  ====================*/ |  | ||||||
| 
 |  | ||||||
| /*Show some widget. It might be required to increase `LV_MEM_SIZE` */ |  | ||||||
| #define LV_USE_DEMO_WIDGETS 1 |  | ||||||
| #if LV_USE_DEMO_WIDGETS |  | ||||||
| #define LV_DEMO_WIDGETS_SLIDESHOW 1 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*Demonstrate the usage of encoder and keyboard*/ |  | ||||||
| #define LV_USE_DEMO_KEYPAD_AND_ENCODER 1 |  | ||||||
| 
 |  | ||||||
| /*Benchmark your system*/ |  | ||||||
| #define LV_USE_DEMO_BENCHMARK 1 |  | ||||||
| #if LV_USE_DEMO_BENCHMARK |  | ||||||
| /*Use RGB565A8 images with 16 bit color depth instead of ARGB8565*/ |  | ||||||
| #define LV_DEMO_BENCHMARK_RGB565A8 0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*Stress test for LVGL*/ |  | ||||||
| #define LV_USE_DEMO_STRESS 1 |  | ||||||
| 
 |  | ||||||
| /*Music player demo*/ |  | ||||||
| #define LV_USE_DEMO_MUSIC 1 |  | ||||||
| #if LV_USE_DEMO_MUSIC |  | ||||||
|     #define LV_DEMO_MUSIC_SQUARE    1 |  | ||||||
|     #define LV_DEMO_MUSIC_LANDSCAPE 1 |  | ||||||
|     #define LV_DEMO_MUSIC_ROUND     1 |  | ||||||
|     #define LV_DEMO_MUSIC_LARGE     1 |  | ||||||
|     #define LV_DEMO_MUSIC_AUTO_PLAY 1 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*--END OF LV_CONF_H--*/ |  | ||||||
| 
 |  | ||||||
| #endif /*LV_CONF_H*/ |  | ||||||
| 
 |  | ||||||
| #endif /*End of "Content enable"*/ |  | ||||||
|  | @ -1,494 +0,0 @@ | ||||||
| /**
 |  | ||||||
|  * @file lv_drv_conf.h |  | ||||||
|  * Configuration file for v9.0.0-dev |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * COPY THIS FILE AS lv_drv_conf.h |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| /* clang-format off */ |  | ||||||
| #if 1 /*Set it to "1" to enable the content*/ |  | ||||||
| 
 |  | ||||||
| #ifndef LV_DRV_CONF_H |  | ||||||
| #define LV_DRV_CONF_H |  | ||||||
| 
 |  | ||||||
| #include "lv_conf.h" |  | ||||||
| 
 |  | ||||||
| /*********************
 |  | ||||||
|  * DELAY INTERFACE |  | ||||||
|  *********************/ |  | ||||||
| #define LV_DRV_DELAY_INCLUDE  <stdint.h>            /*Dummy include by default*/ |  | ||||||
| #define LV_DRV_DELAY_US(us)  /*delay_us(us)*/       /*Delay the given number of microseconds*/ |  | ||||||
| #define LV_DRV_DELAY_MS(ms)  /*delay_ms(ms)*/       /*Delay the given number of milliseconds*/ |  | ||||||
| 
 |  | ||||||
| /*********************
 |  | ||||||
|  * DISPLAY INTERFACE |  | ||||||
|  *********************/ |  | ||||||
| 
 |  | ||||||
| /*------------
 |  | ||||||
|  *  Common |  | ||||||
|  *------------*/ |  | ||||||
| #define LV_DRV_DISP_INCLUDE         <stdint.h>           /*Dummy include by default*/ |  | ||||||
| #define LV_DRV_DISP_CMD_DATA(val)  /*pin_x_set(val)*/    /*Set the command/data pin to 'val'*/ |  | ||||||
| #define LV_DRV_DISP_RST(val)       /*pin_x_set(val)*/    /*Set the reset pin to 'val'*/ |  | ||||||
| 
 |  | ||||||
| /*---------
 |  | ||||||
|  *  SPI |  | ||||||
|  *---------*/ |  | ||||||
| #define LV_DRV_DISP_SPI_CS(val)          /*spi_cs_set(val)*/     /*Set the SPI's Chip select to 'val'*/ |  | ||||||
| #define LV_DRV_DISP_SPI_WR_BYTE(data)    /*spi_wr(data)*/        /*Write a byte the SPI bus*/ |  | ||||||
| #define LV_DRV_DISP_SPI_WR_ARRAY(adr, n) /*spi_wr_mem(adr, n)*/  /*Write 'n' bytes to SPI bus from 'adr'*/ |  | ||||||
| 
 |  | ||||||
| /*------------------
 |  | ||||||
|  *  Parallel port |  | ||||||
|  *-----------------*/ |  | ||||||
| #define LV_DRV_DISP_PAR_CS(val)          /*par_cs_set(val)*/   /*Set the Parallel port's Chip select to 'val'*/ |  | ||||||
| #define LV_DRV_DISP_PAR_SLOW             /*par_slow()*/        /*Set low speed on the parallel port*/ |  | ||||||
| #define LV_DRV_DISP_PAR_FAST             /*par_fast()*/        /*Set high speed on the parallel port*/ |  | ||||||
| #define LV_DRV_DISP_PAR_WR_WORD(data)    /*par_wr(data)*/      /*Write a word to the parallel port*/ |  | ||||||
| #define LV_DRV_DISP_PAR_WR_ARRAY(adr, n) /*par_wr_mem(adr,n)*/ /*Write 'n' bytes to Parallel ports from 'adr'*/ |  | ||||||
| 
 |  | ||||||
| /***************************
 |  | ||||||
|  * INPUT DEVICE INTERFACE |  | ||||||
|  ***************************/ |  | ||||||
| 
 |  | ||||||
| /*----------
 |  | ||||||
|  *  Common |  | ||||||
|  *----------*/ |  | ||||||
| #define LV_DRV_INDEV_INCLUDE     <stdint.h>             /*Dummy include by default*/ |  | ||||||
| #define LV_DRV_INDEV_RST(val)    /*pin_x_set(val)*/     /*Set the reset pin to 'val'*/ |  | ||||||
| #define LV_DRV_INDEV_IRQ_READ    0 /*pn_x_read()*/      /*Read the IRQ pin*/ |  | ||||||
| 
 |  | ||||||
| /*---------
 |  | ||||||
|  *  SPI |  | ||||||
|  *---------*/ |  | ||||||
| #define LV_DRV_INDEV_SPI_CS(val)            /*spi_cs_set(val)*/     /*Set the SPI's Chip select to 'val'*/ |  | ||||||
| #define LV_DRV_INDEV_SPI_XCHG_BYTE(data)    0 /*spi_xchg(val)*/     /*Write 'val' to SPI and give the read value*/ |  | ||||||
| 
 |  | ||||||
| /*---------
 |  | ||||||
|  *  I2C |  | ||||||
|  *---------*/ |  | ||||||
| #define LV_DRV_INDEV_I2C_START              /*i2c_start()*/       /*Make an I2C start*/ |  | ||||||
| #define LV_DRV_INDEV_I2C_STOP               /*i2c_stop()*/        /*Make an I2C stop*/ |  | ||||||
| #define LV_DRV_INDEV_I2C_RESTART            /*i2c_restart()*/     /*Make an I2C restart*/ |  | ||||||
| #define LV_DRV_INDEV_I2C_WR(data)           /*i2c_wr(data)*/      /*Write a byte to the I1C bus*/ |  | ||||||
| #define LV_DRV_INDEV_I2C_READ(last_read)    0 /*i2c_rd()*/        /*Read a byte from the I2C bud*/ |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| /*********************
 |  | ||||||
|  *  DISPLAY DRIVERS |  | ||||||
|  *********************/ |  | ||||||
| 
 |  | ||||||
| /*-------------------
 |  | ||||||
|  *  SDL |  | ||||||
|  *-------------------*/ |  | ||||||
| 
 |  | ||||||
| /* SDL based drivers for display, mouse, mousewheel and keyboard*/ |  | ||||||
| #ifndef USE_SDL |  | ||||||
| # define USE_SDL 0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /* Hardware accelerated SDL driver */ |  | ||||||
| #ifndef USE_SDL_GPU |  | ||||||
| # define USE_SDL_GPU 0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_SDL || USE_SDL_GPU |  | ||||||
| #  define SDL_HOR_RES     480 |  | ||||||
| #  define SDL_VER_RES     320 |  | ||||||
| 
 |  | ||||||
| /* Scale window by this factor (useful when simulating small screens) */ |  | ||||||
| #  define SDL_ZOOM        1 |  | ||||||
| 
 |  | ||||||
| /* Used to test true double buffering with only address changing.
 |  | ||||||
|  * Use 2 draw buffers, bith with SDL_HOR_RES x SDL_VER_RES size*/ |  | ||||||
| #  define SDL_DOUBLE_BUFFERED 0 |  | ||||||
| 
 |  | ||||||
| /*Eclipse: <SDL2/SDL.h>    Visual Studio: <SDL.h>*/ |  | ||||||
| #  define SDL_INCLUDE_PATH    <SDL2/SDL.h> |  | ||||||
| 
 |  | ||||||
| /*Open two windows to test multi display support*/ |  | ||||||
| #  define SDL_DUAL_DISPLAY            0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*-------------------
 |  | ||||||
|  *  Monitor of PC |  | ||||||
|  *-------------------*/ |  | ||||||
| 
 |  | ||||||
| /*DEPRECATED: Use the SDL driver instead. */ |  | ||||||
| #ifndef USE_MONITOR |  | ||||||
| #  define USE_MONITOR         0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_MONITOR |  | ||||||
| #  define MONITOR_HOR_RES     480 |  | ||||||
| #  define MONITOR_VER_RES     320 |  | ||||||
| 
 |  | ||||||
| /* Scale window by this factor (useful when simulating small screens) */ |  | ||||||
| #  define MONITOR_ZOOM        1 |  | ||||||
| 
 |  | ||||||
| /* Used to test true double buffering with only address changing.
 |  | ||||||
|  * Use 2 draw buffers, bith with MONITOR_HOR_RES x MONITOR_VER_RES size*/ |  | ||||||
| #  define MONITOR_DOUBLE_BUFFERED 0 |  | ||||||
| 
 |  | ||||||
| /*Eclipse: <SDL2/SDL.h>    Visual Studio: <SDL.h>*/ |  | ||||||
| #  define MONITOR_SDL_INCLUDE_PATH    <SDL2/SDL.h> |  | ||||||
| 
 |  | ||||||
| /*Open two windows to test multi display support*/ |  | ||||||
| #  define MONITOR_DUAL            0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*-----------------------------------
 |  | ||||||
|  *  Native Windows (including mouse) |  | ||||||
|  *----------------------------------*/ |  | ||||||
| #ifndef USE_WINDOWS |  | ||||||
| #  define USE_WINDOWS       0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_WINDOWS |  | ||||||
| #  define WINDOW_HOR_RES      480 |  | ||||||
| #  define WINDOW_VER_RES      320 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*----------------------------
 |  | ||||||
|  *  Native Windows (win32drv) |  | ||||||
|  *---------------------------*/ |  | ||||||
| #ifndef USE_WIN32DRV |  | ||||||
| #  define USE_WIN32DRV       1 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_WIN32DRV |  | ||||||
| /* Scale window by this factor (useful when simulating small screens) */ |  | ||||||
| #  define WIN32DRV_MONITOR_ZOOM        1 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*----------------------------------------
 |  | ||||||
|  *  GTK drivers (monitor, mouse, keyboard |  | ||||||
|  *---------------------------------------*/ |  | ||||||
| #ifndef USE_GTK |  | ||||||
| #  define USE_GTK       0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*----------------------------------------
 |  | ||||||
|  *  Wayland drivers (monitor, mouse, keyboard, touchscreen) |  | ||||||
|  *---------------------------------------*/ |  | ||||||
| #ifndef USE_WAYLAND |  | ||||||
| #  define USE_WAYLAND       0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_WAYLAND |  | ||||||
| /* Support for client-side decorations */ |  | ||||||
| #  ifndef LV_WAYLAND_CLIENT_SIDE_DECORATIONS |  | ||||||
| #    define LV_WAYLAND_CLIENT_SIDE_DECORATIONS 1 |  | ||||||
| #  endif |  | ||||||
| /* Support for (deprecated) wl-shell protocol */ |  | ||||||
| #  ifndef LV_WAYLAND_WL_SHELL |  | ||||||
| #    define LV_WAYLAND_WL_SHELL 1 |  | ||||||
| #  endif |  | ||||||
| /* Support for xdg-shell protocol */ |  | ||||||
| #  ifndef LV_WAYLAND_XDG_SHELL |  | ||||||
| #    define LV_WAYLAND_XDG_SHELL 0 |  | ||||||
| #  endif |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*----------------
 |  | ||||||
|  *    SSD1963 |  | ||||||
|  *--------------*/ |  | ||||||
| #ifndef USE_SSD1963 |  | ||||||
| #  define USE_SSD1963         0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_SSD1963 |  | ||||||
| #  define SSD1963_HOR_RES     LV_HOR_RES |  | ||||||
| #  define SSD1963_VER_RES     LV_VER_RES |  | ||||||
| #  define SSD1963_HT          531 |  | ||||||
| #  define SSD1963_HPS         43 |  | ||||||
| #  define SSD1963_LPS         8 |  | ||||||
| #  define SSD1963_HPW         10 |  | ||||||
| #  define SSD1963_VT          288 |  | ||||||
| #  define SSD1963_VPS         12 |  | ||||||
| #  define SSD1963_FPS         4 |  | ||||||
| #  define SSD1963_VPW         10 |  | ||||||
| #  define SSD1963_HS_NEG      0   /*Negative hsync*/ |  | ||||||
| #  define SSD1963_VS_NEG      0   /*Negative vsync*/ |  | ||||||
| #  define SSD1963_ORI         0   /*0, 90, 180, 270*/ |  | ||||||
| #  define SSD1963_COLOR_DEPTH 16 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*----------------
 |  | ||||||
|  *    R61581 |  | ||||||
|  *--------------*/ |  | ||||||
| #ifndef USE_R61581 |  | ||||||
| #  define USE_R61581          0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_R61581 |  | ||||||
| #  define R61581_HOR_RES      LV_HOR_RES |  | ||||||
| #  define R61581_VER_RES      LV_VER_RES |  | ||||||
| #  define R61581_HSPL         0       /*HSYNC signal polarity*/ |  | ||||||
| #  define R61581_HSL          10      /*HSYNC length (Not Implemented)*/ |  | ||||||
| #  define R61581_HFP          10      /*Horitontal Front poarch (Not Implemented)*/ |  | ||||||
| #  define R61581_HBP          10      /*Horitontal Back poarch (Not Implemented */ |  | ||||||
| #  define R61581_VSPL         0       /*VSYNC signal polarity*/ |  | ||||||
| #  define R61581_VSL          10      /*VSYNC length (Not Implemented)*/ |  | ||||||
| #  define R61581_VFP          8       /*Vertical Front poarch*/ |  | ||||||
| #  define R61581_VBP          8       /*Vertical Back poarch */ |  | ||||||
| #  define R61581_DPL          0       /*DCLK signal polarity*/ |  | ||||||
| #  define R61581_EPL          1       /*ENABLE signal polarity*/ |  | ||||||
| #  define R61581_ORI          0       /*0, 180*/ |  | ||||||
| #  define R61581_LV_COLOR_DEPTH 16    /*Fix 16 bit*/ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*------------------------------
 |  | ||||||
|  *  ST7565 (Monochrome, low res.) |  | ||||||
|  *-----------------------------*/ |  | ||||||
| #ifndef USE_ST7565 |  | ||||||
| #  define USE_ST7565          0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_ST7565 |  | ||||||
| /*No settings*/ |  | ||||||
| #endif  /*USE_ST7565*/ |  | ||||||
| 
 |  | ||||||
| /*------------------------------
 |  | ||||||
|  *  GC9A01 (color, low res.) |  | ||||||
|  *-----------------------------*/ |  | ||||||
| #ifndef USE_GC9A01 |  | ||||||
| #  define USE_GC9A01          0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_GC9A01 |  | ||||||
| /*No settings*/ |  | ||||||
| #endif  /*USE_GC9A01*/ |  | ||||||
| 
 |  | ||||||
| /*------------------------------------------
 |  | ||||||
|  *  UC1610 (4 gray 160*[104|128]) |  | ||||||
|  *  (EA DOGXL160 160x104 tested) |  | ||||||
|  *-----------------------------------------*/ |  | ||||||
| #ifndef USE_UC1610 |  | ||||||
| #  define USE_UC1610          0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_UC1610 |  | ||||||
| #  define UC1610_HOR_RES         LV_HOR_RES |  | ||||||
| #  define UC1610_VER_RES         LV_VER_RES |  | ||||||
| #  define UC1610_INIT_CONTRAST   33   /* init contrast, values in [%] */ |  | ||||||
| #  define UC1610_INIT_HARD_RST   0    /* 1 : hardware reset at init, 0 : software reset */ |  | ||||||
| #  define UC1610_TOP_VIEW        0    /* 0 : Bottom View, 1 : Top View */ |  | ||||||
| #endif  /*USE_UC1610*/ |  | ||||||
| 
 |  | ||||||
| /*-------------------------------------------------
 |  | ||||||
|  *  SHARP memory in pixel monochrome display series |  | ||||||
|  *      LS012B7DD01 (184x38  pixels.) |  | ||||||
|  *      LS013B7DH03 (128x128 pixels.) |  | ||||||
|  *      LS013B7DH05 (144x168 pixels.) |  | ||||||
|  *      LS027B7DH01 (400x240 pixels.) (tested) |  | ||||||
|  *      LS032B7DD02 (336x536 pixels.) |  | ||||||
|  *      LS044Q7DH01 (320x240 pixels.) |  | ||||||
|  *------------------------------------------------*/ |  | ||||||
| #ifndef USE_SHARP_MIP |  | ||||||
| #  define USE_SHARP_MIP       0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_SHARP_MIP |  | ||||||
| #  define SHARP_MIP_HOR_RES             LV_HOR_RES |  | ||||||
| #  define SHARP_MIP_VER_RES             LV_VER_RES |  | ||||||
| #  define SHARP_MIP_SOFT_COM_INVERSION  0 |  | ||||||
| #  define SHARP_MIP_REV_BYTE(b)         /*((uint8_t) __REV(__RBIT(b)))*/  /*Architecture / compiler dependent byte bits order reverse*/ |  | ||||||
| #endif  /*USE_SHARP_MIP*/ |  | ||||||
| 
 |  | ||||||
| /*-------------------------------------------------
 |  | ||||||
|  *  ILI9341 240X320 TFT LCD |  | ||||||
|  *------------------------------------------------*/ |  | ||||||
| #ifndef USE_ILI9341 |  | ||||||
| #  define USE_ILI9341       0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_ILI9341 |  | ||||||
| #  define ILI9341_HOR_RES       LV_HOR_RES |  | ||||||
| #  define ILI9341_VER_RES       LV_VER_RES |  | ||||||
| #  define ILI9341_GAMMA         1 |  | ||||||
| #  define ILI9341_TEARING       0 |  | ||||||
| #endif  /*USE_ILI9341*/ |  | ||||||
| 
 |  | ||||||
| /*-----------------------------------------
 |  | ||||||
|  *  Linux frame buffer device (/dev/fbx) |  | ||||||
|  *-----------------------------------------*/ |  | ||||||
| #ifndef USE_FBDEV |  | ||||||
| #  define USE_FBDEV           0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_FBDEV |  | ||||||
| #  define FBDEV_PATH          "/dev/fb0" |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*-----------------------------------------
 |  | ||||||
|  *  FreeBSD frame buffer device (/dev/fbx) |  | ||||||
|  *.........................................*/ |  | ||||||
| #ifndef USE_BSD_FBDEV |  | ||||||
| #  define USE_BSD_FBDEV		0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_BSD_FBDEV |  | ||||||
| # define FBDEV_PATH		"/dev/fb0" |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*-----------------------------------------
 |  | ||||||
|  *  DRM/KMS device (/dev/dri/cardX) |  | ||||||
|  *-----------------------------------------*/ |  | ||||||
| #ifndef USE_DRM |  | ||||||
| #  define USE_DRM           0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_DRM |  | ||||||
| #  define DRM_CARD          "/dev/dri/card0" |  | ||||||
| #  define DRM_CONNECTOR_ID  -1	/* -1 for the first connected one */ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*********************
 |  | ||||||
|  *  INPUT DEVICES |  | ||||||
|  *********************/ |  | ||||||
| 
 |  | ||||||
| /*--------------
 |  | ||||||
|  *    XPT2046 |  | ||||||
|  *--------------*/ |  | ||||||
| #ifndef USE_XPT2046 |  | ||||||
| #  define USE_XPT2046         0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_XPT2046 |  | ||||||
| #  define XPT2046_HOR_RES     480 |  | ||||||
| #  define XPT2046_VER_RES     320 |  | ||||||
| #  define XPT2046_X_MIN       200 |  | ||||||
| #  define XPT2046_Y_MIN       200 |  | ||||||
| #  define XPT2046_X_MAX       3800 |  | ||||||
| #  define XPT2046_Y_MAX       3800 |  | ||||||
| #  define XPT2046_AVG         4 |  | ||||||
| #  define XPT2046_X_INV       0 |  | ||||||
| #  define XPT2046_Y_INV       0 |  | ||||||
| #  define XPT2046_XY_SWAP     0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*-----------------
 |  | ||||||
|  *    FT5406EE8 |  | ||||||
|  *-----------------*/ |  | ||||||
| #ifndef USE_FT5406EE8 |  | ||||||
| #  define USE_FT5406EE8       0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_FT5406EE8 |  | ||||||
| # define FT5406EE8_I2C_ADR   0x38                  /*7 bit address*/ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*---------------
 |  | ||||||
|  *  AD TOUCH |  | ||||||
|  *--------------*/ |  | ||||||
| #ifndef USE_AD_TOUCH |  | ||||||
| #  define USE_AD_TOUCH        0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_AD_TOUCH |  | ||||||
| /*No settings*/ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| /*---------------------------------------
 |  | ||||||
|  * Mouse or touchpad on PC (using SDL) |  | ||||||
|  *-------------------------------------*/ |  | ||||||
| /*DEPRECATED: Use the SDL driver instead. */ |  | ||||||
| #ifndef USE_MOUSE |  | ||||||
| #  define USE_MOUSE           0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_MOUSE |  | ||||||
| /*No settings*/ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*-------------------------------------------
 |  | ||||||
|  * Mousewheel as encoder on PC (using SDL) |  | ||||||
|  *------------------------------------------*/ |  | ||||||
| /*DEPRECATED: Use the SDL driver instead. */ |  | ||||||
| #ifndef USE_MOUSEWHEEL |  | ||||||
| #  define USE_MOUSEWHEEL      0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_MOUSEWHEEL |  | ||||||
| /*No settings*/ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*-------------------------------------------------
 |  | ||||||
|  * Touchscreen, mouse/touchpad or keyboard as libinput interface (for Linux based systems) |  | ||||||
|  *------------------------------------------------*/ |  | ||||||
| #ifndef USE_LIBINPUT |  | ||||||
| #  define USE_LIBINPUT           0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef USE_BSD_LIBINPUT |  | ||||||
| #  define USE_BSD_LIBINPUT       0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_LIBINPUT || USE_BSD_LIBINPUT |  | ||||||
| /*If only a single device of the same type is connected, you can also auto detect it, e.g.:
 |  | ||||||
|  *#define LIBINPUT_NAME   libinput_find_dev(LIBINPUT_CAPABILITY_TOUCH, false)*/ |  | ||||||
| #  define LIBINPUT_NAME   "/dev/input/event0"        /*You can use the "evtest" Linux tool to get the list of devices and test them*/ |  | ||||||
| 
 |  | ||||||
| #endif  /*USE_LIBINPUT || USE_BSD_LIBINPUT*/ |  | ||||||
| 
 |  | ||||||
| /*-------------------------------------------------
 |  | ||||||
|  * Mouse or touchpad as evdev interface (for Linux based systems) |  | ||||||
|  *------------------------------------------------*/ |  | ||||||
| #ifndef USE_EVDEV |  | ||||||
| #  define USE_EVDEV           0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef USE_BSD_EVDEV |  | ||||||
| #  define USE_BSD_EVDEV       0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_EVDEV || USE_BSD_EVDEV |  | ||||||
| #  define EVDEV_NAME   "/dev/input/event0"        /*You can use the "evtest" Linux tool to get the list of devices and test them*/ |  | ||||||
| #  define EVDEV_SWAP_AXES         0               /*Swap the x and y axes of the touchscreen*/ |  | ||||||
| 
 |  | ||||||
| #  define EVDEV_CALIBRATE         0               /*Scale and offset the touchscreen coordinates by using maximum and minimum values for each axis*/ |  | ||||||
| 
 |  | ||||||
| #  if EVDEV_CALIBRATE |  | ||||||
| #    define EVDEV_HOR_MIN         0               /*to invert axis swap EVDEV_XXX_MIN by EVDEV_XXX_MAX*/ |  | ||||||
| #    define EVDEV_HOR_MAX      4096               /*"evtest" Linux tool can help to get the correct calibraion values>*/ |  | ||||||
| #    define EVDEV_VER_MIN         0 |  | ||||||
| #    define EVDEV_VER_MAX      4096 |  | ||||||
| #  endif  /*EVDEV_CALIBRATE*/ |  | ||||||
| #endif  /*USE_EVDEV*/ |  | ||||||
| 
 |  | ||||||
| /*-------------------------------------------------
 |  | ||||||
|  * Full keyboard support for evdev and libinput interface |  | ||||||
|  *------------------------------------------------*/ |  | ||||||
| #  ifndef USE_XKB |  | ||||||
| #    define USE_XKB           0 |  | ||||||
| #  endif |  | ||||||
| 
 |  | ||||||
| #if USE_LIBINPUT || USE_BSD_LIBINPUT || USE_EVDEV || USE_BSD_EVDEV |  | ||||||
| #  if USE_XKB |  | ||||||
| #    define XKB_KEY_MAP       { .rules = NULL, \ |  | ||||||
|                                 .model = "pc101", \ |  | ||||||
|                                 .layout = "us", \ |  | ||||||
|                                 .variant = NULL, \ |  | ||||||
|                                 .options = NULL } /*"setxkbmap -query" can help find the right values for your keyboard*/ |  | ||||||
| #  endif  /*USE_XKB*/ |  | ||||||
| #endif  /*USE_LIBINPUT || USE_BSD_LIBINPUT || USE_EVDEV || USE_BSD_EVDEV*/ |  | ||||||
| 
 |  | ||||||
| /*-------------------------------
 |  | ||||||
|  *   Keyboard of a PC (using SDL) |  | ||||||
|  *------------------------------*/ |  | ||||||
| /*DEPRECATED: Use the SDL driver instead. */ |  | ||||||
| #ifndef USE_KEYBOARD |  | ||||||
| #  define USE_KEYBOARD        0 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if USE_KEYBOARD |  | ||||||
| /*No settings*/ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #endif  /*LV_DRV_CONF_H*/ |  | ||||||
| 
 |  | ||||||
| #endif /*End of "Content enable"*/ |  | ||||||
|  | @ -1,16 +0,0 @@ | ||||||
| //{{NO_DEPENDENCIES}}
 |  | ||||||
| // Microsoft Visual C++ 生成的包含文件。
 |  | ||||||
| // 供 LVGL.Simulator.rc 使用
 |  | ||||||
| //
 |  | ||||||
| #define IDI_LVGL                       101 |  | ||||||
| 
 |  | ||||||
| // Next default values for new objects
 |  | ||||||
| //
 |  | ||||||
| #ifdef APSTUDIO_INVOKED |  | ||||||
| #ifndef APSTUDIO_READONLY_SYMBOLS |  | ||||||
| #define _APS_NEXT_RESOURCE_VALUE        102 |  | ||||||
| #define _APS_NEXT_COMMAND_VALUE         40001 |  | ||||||
| #define _APS_NEXT_CONTROL_VALUE         1001 |  | ||||||
| #define _APS_NEXT_SYMED_VALUE           101 |  | ||||||
| #endif |  | ||||||
| #endif |  | ||||||
|  | @ -1,40 +0,0 @@ | ||||||
| ##  |  | ||||||
| ## PROJECT:   Mouri Internal Library Essentials |  | ||||||
| ## FILE:      .editorconfig |  | ||||||
| ## PURPOSE:   The root .editorconfig file for .NET Project |  | ||||||
| ##  |  | ||||||
| ## LICENSE:   The MIT License |  | ||||||
| ##  |  | ||||||
| ## DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com) |  | ||||||
| ##  |  | ||||||
| 
 |  | ||||||
| root = true |  | ||||||
| 
 |  | ||||||
| [*] |  | ||||||
| charset = utf-8-bom |  | ||||||
| end_of_line = crlf |  | ||||||
| 
 |  | ||||||
| [*.md] |  | ||||||
| indent_size = 2 |  | ||||||
| insert_final_newline = true |  | ||||||
| 
 |  | ||||||
| [*.{cs,csx,vb,vbx}] |  | ||||||
| indent_style = space |  | ||||||
| indent_size = 4 |  | ||||||
| insert_final_newline = true |  | ||||||
| trim_trailing_whitespace = true |  | ||||||
| 
 |  | ||||||
| [*.{js,json,xml,toml,xaml}] |  | ||||||
| indent_style = space |  | ||||||
| indent_size = 2 |  | ||||||
| insert_final_newline = true |  | ||||||
| trim_trailing_whitespace = true |  | ||||||
| 
 |  | ||||||
| [*.bat] |  | ||||||
| charset = utf-8 |  | ||||||
| insert_final_newline = true |  | ||||||
| 
 |  | ||||||
| [*.sh] |  | ||||||
| charset = utf-8 |  | ||||||
| end_of_line = lf |  | ||||||
| insert_final_newline = true |  | ||||||
							
								
								
									
										414
									
								
								LVGL Simulator/LvglMaintainerTools/.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										414
									
								
								LVGL Simulator/LvglMaintainerTools/.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -1,414 +0,0 @@ | ||||||
| ##  |  | ||||||
| ## PROJECT:   Mouri Internal Library Essentials |  | ||||||
| ## FILE:      .gitignore |  | ||||||
| ## PURPOSE:   The root .gitignore file for Visual Studio C++ Project |  | ||||||
| ##  |  | ||||||
| ## LICENSE:   The MIT License |  | ||||||
| ##  |  | ||||||
| ## DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com) |  | ||||||
| ##  |  | ||||||
| 
 |  | ||||||
| ## |  | ||||||
| ## Ignore Mile.Project specific temporary files, build results, |  | ||||||
| ## and files generated by popular Visual Studio add-ons. |  | ||||||
| ##  |  | ||||||
| Output/ |  | ||||||
| 
 |  | ||||||
| ## |  | ||||||
| ## Ignore Visual Studio temporary files, build results, and |  | ||||||
| ## files generated by popular Visual Studio add-ons. |  | ||||||
| ## |  | ||||||
| 
 |  | ||||||
| # User-specific files |  | ||||||
| *.rsuser |  | ||||||
| *.suo |  | ||||||
| *.user |  | ||||||
| *.userosscache |  | ||||||
| *.sln.docstates |  | ||||||
| 
 |  | ||||||
| # User-specific files (MonoDevelop/Xamarin Studio) |  | ||||||
| *.userprefs |  | ||||||
| 
 |  | ||||||
| # Mono auto generated files |  | ||||||
| mono_crash.* |  | ||||||
| 
 |  | ||||||
| # Build results |  | ||||||
| [Dd]ebug/ |  | ||||||
| [Dd]ebugPublic/ |  | ||||||
| [Rr]elease/ |  | ||||||
| [Rr]eleases/ |  | ||||||
| x64/ |  | ||||||
| x86/ |  | ||||||
| [Ww][Ii][Nn]32/ |  | ||||||
| [Aa][Rr][Mm]/ |  | ||||||
| [Aa][Rr][Mm]64/ |  | ||||||
| bld/ |  | ||||||
| [Bb]in/ |  | ||||||
| [Oo]bj/ |  | ||||||
| [Ll]og/ |  | ||||||
| [Ll]ogs/ |  | ||||||
| 
 |  | ||||||
| # Visual Studio 2015/2017 cache/options directory |  | ||||||
| .vs/ |  | ||||||
| # Uncomment if you have tasks that create the project's static files in wwwroot |  | ||||||
| #wwwroot/ |  | ||||||
| 
 |  | ||||||
| # Visual Studio 2017 auto generated files |  | ||||||
| Generated\ Files/ |  | ||||||
| 
 |  | ||||||
| # MSTest test Results |  | ||||||
| [Tt]est[Rr]esult*/ |  | ||||||
| [Bb]uild[Ll]og.* |  | ||||||
| 
 |  | ||||||
| # NUnit |  | ||||||
| *.VisualState.xml |  | ||||||
| TestResult.xml |  | ||||||
| nunit-*.xml |  | ||||||
| 
 |  | ||||||
| # Build Results of an ATL Project |  | ||||||
| [Dd]ebugPS/ |  | ||||||
| [Rr]eleasePS/ |  | ||||||
| dlldata.c |  | ||||||
| 
 |  | ||||||
| # Benchmark Results |  | ||||||
| BenchmarkDotNet.Artifacts/ |  | ||||||
| 
 |  | ||||||
| # .NET Core |  | ||||||
| project.lock.json |  | ||||||
| project.fragment.lock.json |  | ||||||
| artifacts/ |  | ||||||
| 
 |  | ||||||
| # ASP.NET Scaffolding |  | ||||||
| ScaffoldingReadMe.txt |  | ||||||
| 
 |  | ||||||
| # StyleCop |  | ||||||
| StyleCopReport.xml |  | ||||||
| 
 |  | ||||||
| # Files built by Visual Studio |  | ||||||
| *_i.c |  | ||||||
| *_p.c |  | ||||||
| *_h.h |  | ||||||
| *.ilk |  | ||||||
| *.meta |  | ||||||
| *.obj |  | ||||||
| *.iobj |  | ||||||
| *.pch |  | ||||||
| *.pdb |  | ||||||
| *.ipdb |  | ||||||
| *.pgc |  | ||||||
| *.pgd |  | ||||||
| *.rsp |  | ||||||
| *.sbr |  | ||||||
| *.tlb |  | ||||||
| *.tli |  | ||||||
| *.tlh |  | ||||||
| *.tmp |  | ||||||
| *.tmp_proj |  | ||||||
| *_wpftmp.csproj |  | ||||||
| *.log |  | ||||||
| *.tlog |  | ||||||
| *.vspscc |  | ||||||
| *.vssscc |  | ||||||
| .builds |  | ||||||
| *.pidb |  | ||||||
| *.svclog |  | ||||||
| *.scc |  | ||||||
| 
 |  | ||||||
| # Chutzpah Test files |  | ||||||
| _Chutzpah* |  | ||||||
| 
 |  | ||||||
| # Visual C++ cache files |  | ||||||
| ipch/ |  | ||||||
| *.aps |  | ||||||
| *.ncb |  | ||||||
| *.opendb |  | ||||||
| *.opensdf |  | ||||||
| *.sdf |  | ||||||
| *.cachefile |  | ||||||
| *.VC.db |  | ||||||
| *.VC.VC.opendb |  | ||||||
| 
 |  | ||||||
| # Visual Studio profiler |  | ||||||
| *.psess |  | ||||||
| *.vsp |  | ||||||
| *.vspx |  | ||||||
| *.sap |  | ||||||
| 
 |  | ||||||
| # Visual Studio Trace Files |  | ||||||
| *.e2e |  | ||||||
| 
 |  | ||||||
| # TFS 2012 Local Workspace |  | ||||||
| $tf/ |  | ||||||
| 
 |  | ||||||
| # Guidance Automation Toolkit |  | ||||||
| *.gpState |  | ||||||
| 
 |  | ||||||
| # ReSharper is a .NET coding add-in |  | ||||||
| _ReSharper*/ |  | ||||||
| *.[Rr]e[Ss]harper |  | ||||||
| *.DotSettings.user |  | ||||||
| 
 |  | ||||||
| # TeamCity is a build add-in |  | ||||||
| _TeamCity* |  | ||||||
| 
 |  | ||||||
| # DotCover is a Code Coverage Tool |  | ||||||
| *.dotCover |  | ||||||
| 
 |  | ||||||
| # AxoCover is a Code Coverage Tool |  | ||||||
| .axoCover/* |  | ||||||
| !.axoCover/settings.json |  | ||||||
| 
 |  | ||||||
| # Coverlet is a free, cross platform Code Coverage Tool |  | ||||||
| coverage*.json |  | ||||||
| coverage*.xml |  | ||||||
| coverage*.info |  | ||||||
| 
 |  | ||||||
| # Visual Studio code coverage results |  | ||||||
| *.coverage |  | ||||||
| *.coveragexml |  | ||||||
| 
 |  | ||||||
| # NCrunch |  | ||||||
| _NCrunch_* |  | ||||||
| .*crunch*.local.xml |  | ||||||
| nCrunchTemp_* |  | ||||||
| 
 |  | ||||||
| # MightyMoose |  | ||||||
| *.mm.* |  | ||||||
| AutoTest.Net/ |  | ||||||
| 
 |  | ||||||
| # Web workbench (sass) |  | ||||||
| .sass-cache/ |  | ||||||
| 
 |  | ||||||
| # Installshield output folder |  | ||||||
| [Ee]xpress/ |  | ||||||
| 
 |  | ||||||
| # DocProject is a documentation generator add-in |  | ||||||
| DocProject/buildhelp/ |  | ||||||
| DocProject/Help/*.HxT |  | ||||||
| DocProject/Help/*.HxC |  | ||||||
| DocProject/Help/*.hhc |  | ||||||
| DocProject/Help/*.hhk |  | ||||||
| DocProject/Help/*.hhp |  | ||||||
| DocProject/Help/Html2 |  | ||||||
| DocProject/Help/html |  | ||||||
| 
 |  | ||||||
| # Click-Once directory |  | ||||||
| publish/ |  | ||||||
| 
 |  | ||||||
| # Publish Web Output |  | ||||||
| *.[Pp]ublish.xml |  | ||||||
| *.azurePubxml |  | ||||||
| # Note: Comment the next line if you want to checkin your web deploy settings, |  | ||||||
| # but database connection strings (with potential passwords) will be unencrypted |  | ||||||
| *.pubxml |  | ||||||
| *.publishproj |  | ||||||
| 
 |  | ||||||
| # Microsoft Azure Web App publish settings. Comment the next line if you want to |  | ||||||
| # checkin your Azure Web App publish settings, but sensitive information contained |  | ||||||
| # in these scripts will be unencrypted |  | ||||||
| PublishScripts/ |  | ||||||
| 
 |  | ||||||
| # NuGet Packages |  | ||||||
| *.nupkg |  | ||||||
| # NuGet Symbol Packages |  | ||||||
| *.snupkg |  | ||||||
| # The packages folder can be ignored because of Package Restore |  | ||||||
| **/[Pp]ackages/* |  | ||||||
| # except build/, which is used as an MSBuild target. |  | ||||||
| !**/[Pp]ackages/build/ |  | ||||||
| # Uncomment if necessary however generally it will be regenerated when needed |  | ||||||
| #!**/[Pp]ackages/repositories.config |  | ||||||
| # NuGet v3's project.json files produces more ignorable files |  | ||||||
| *.nuget.props |  | ||||||
| *.nuget.targets |  | ||||||
| 
 |  | ||||||
| # Microsoft Azure Build Output |  | ||||||
| csx/ |  | ||||||
| *.build.csdef |  | ||||||
| 
 |  | ||||||
| # Microsoft Azure Emulator |  | ||||||
| ecf/ |  | ||||||
| rcf/ |  | ||||||
| 
 |  | ||||||
| # Windows Store app package directories and files |  | ||||||
| AppPackages/ |  | ||||||
| BundleArtifacts/ |  | ||||||
| Package.StoreAssociation.xml |  | ||||||
| _pkginfo.txt |  | ||||||
| *.appx |  | ||||||
| *.appxbundle |  | ||||||
| *.appxupload |  | ||||||
| 
 |  | ||||||
| # Visual Studio cache files |  | ||||||
| # files ending in .cache can be ignored |  | ||||||
| *.[Cc]ache |  | ||||||
| # but keep track of directories ending in .cache |  | ||||||
| !?*.[Cc]ache/ |  | ||||||
| 
 |  | ||||||
| # Others |  | ||||||
| ClientBin/ |  | ||||||
| ~$* |  | ||||||
| *~ |  | ||||||
| *.dbmdl |  | ||||||
| *.dbproj.schemaview |  | ||||||
| *.jfm |  | ||||||
| *.pfx |  | ||||||
| *.publishsettings |  | ||||||
| orleans.codegen.cs |  | ||||||
| 
 |  | ||||||
| # Including strong name files can present a security risk |  | ||||||
| # (https://github.com/github/gitignore/pull/2483#issue-259490424) |  | ||||||
| #*.snk |  | ||||||
| 
 |  | ||||||
| # Since there are multiple workflows, uncomment next line to ignore bower_components |  | ||||||
| # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) |  | ||||||
| #bower_components/ |  | ||||||
| 
 |  | ||||||
| # RIA/Silverlight projects |  | ||||||
| Generated_Code/ |  | ||||||
| 
 |  | ||||||
| # Backup & report files from converting an old project file |  | ||||||
| # to a newer Visual Studio version. Backup files are not needed, |  | ||||||
| # because we have git ;-) |  | ||||||
| _UpgradeReport_Files/ |  | ||||||
| Backup*/ |  | ||||||
| UpgradeLog*.XML |  | ||||||
| UpgradeLog*.htm |  | ||||||
| ServiceFabricBackup/ |  | ||||||
| *.rptproj.bak |  | ||||||
| 
 |  | ||||||
| # SQL Server files |  | ||||||
| *.mdf |  | ||||||
| *.ldf |  | ||||||
| *.ndf |  | ||||||
| 
 |  | ||||||
| # Business Intelligence projects |  | ||||||
| *.rdl.data |  | ||||||
| *.bim.layout |  | ||||||
| *.bim_*.settings |  | ||||||
| *.rptproj.rsuser |  | ||||||
| *- [Bb]ackup.rdl |  | ||||||
| *- [Bb]ackup ([0-9]).rdl |  | ||||||
| *- [Bb]ackup ([0-9][0-9]).rdl |  | ||||||
| 
 |  | ||||||
| # Microsoft Fakes |  | ||||||
| FakesAssemblies/ |  | ||||||
| 
 |  | ||||||
| # GhostDoc plugin setting file |  | ||||||
| *.GhostDoc.xml |  | ||||||
| 
 |  | ||||||
| # Node.js Tools for Visual Studio |  | ||||||
| .ntvs_analysis.dat |  | ||||||
| node_modules/ |  | ||||||
| 
 |  | ||||||
| # Visual Studio 6 build log |  | ||||||
| *.plg |  | ||||||
| 
 |  | ||||||
| # Visual Studio 6 workspace options file |  | ||||||
| *.opt |  | ||||||
| 
 |  | ||||||
| # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) |  | ||||||
| *.vbw |  | ||||||
| 
 |  | ||||||
| # Visual Studio 6 auto-generated project file (contains which files were open etc.) |  | ||||||
| *.vbp |  | ||||||
| 
 |  | ||||||
| # Visual Studio 6 workspace and project file (working project files containing files to include in project) |  | ||||||
| *.dsw |  | ||||||
| *.dsp |  | ||||||
| 
 |  | ||||||
| # Visual Studio 6 technical files |  | ||||||
| *.ncb |  | ||||||
| *.aps |  | ||||||
| 
 |  | ||||||
| # Visual Studio LightSwitch build output |  | ||||||
| **/*.HTMLClient/GeneratedArtifacts |  | ||||||
| **/*.DesktopClient/GeneratedArtifacts |  | ||||||
| **/*.DesktopClient/ModelManifest.xml |  | ||||||
| **/*.Server/GeneratedArtifacts |  | ||||||
| **/*.Server/ModelManifest.xml |  | ||||||
| _Pvt_Extensions |  | ||||||
| 
 |  | ||||||
| # Paket dependency manager |  | ||||||
| .paket/paket.exe |  | ||||||
| paket-files/ |  | ||||||
| 
 |  | ||||||
| # FAKE - F# Make |  | ||||||
| .fake/ |  | ||||||
| 
 |  | ||||||
| # CodeRush personal settings |  | ||||||
| .cr/personal |  | ||||||
| 
 |  | ||||||
| # Python Tools for Visual Studio (PTVS) |  | ||||||
| __pycache__/ |  | ||||||
| *.pyc |  | ||||||
| 
 |  | ||||||
| # Cake - Uncomment if you are using it |  | ||||||
| # tools/** |  | ||||||
| # !tools/packages.config |  | ||||||
| 
 |  | ||||||
| # Tabs Studio |  | ||||||
| *.tss |  | ||||||
| 
 |  | ||||||
| # Telerik's JustMock configuration file |  | ||||||
| *.jmconfig |  | ||||||
| 
 |  | ||||||
| # BizTalk build output |  | ||||||
| *.btp.cs |  | ||||||
| *.btm.cs |  | ||||||
| *.odx.cs |  | ||||||
| *.xsd.cs |  | ||||||
| 
 |  | ||||||
| # OpenCover UI analysis results |  | ||||||
| OpenCover/ |  | ||||||
| 
 |  | ||||||
| # Azure Stream Analytics local run output |  | ||||||
| ASALocalRun/ |  | ||||||
| 
 |  | ||||||
| # MSBuild Binary and Structured Log |  | ||||||
| *.binlog |  | ||||||
| 
 |  | ||||||
| # NVidia Nsight GPU debugger configuration file |  | ||||||
| *.nvuser |  | ||||||
| 
 |  | ||||||
| # MFractors (Xamarin productivity tool) working folder |  | ||||||
| .mfractor/ |  | ||||||
| 
 |  | ||||||
| # Local History for Visual Studio |  | ||||||
| .localhistory/ |  | ||||||
| 
 |  | ||||||
| # Visual Studio History (VSHistory) files |  | ||||||
| .vshistory/ |  | ||||||
| 
 |  | ||||||
| # BeatPulse healthcheck temp database |  | ||||||
| healthchecksdb |  | ||||||
| 
 |  | ||||||
| # Backup folder for Package Reference Convert tool in Visual Studio 2017 |  | ||||||
| MigrationBackup/ |  | ||||||
| 
 |  | ||||||
| # Ionide (cross platform F# VS Code tools) working folder |  | ||||||
| .ionide/ |  | ||||||
| 
 |  | ||||||
| # Fody - auto-generated XML schema |  | ||||||
| FodyWeavers.xsd |  | ||||||
| 
 |  | ||||||
| # VS Code files for those working on multiple tools |  | ||||||
| .vscode/* |  | ||||||
| !.vscode/settings.json |  | ||||||
| !.vscode/tasks.json |  | ||||||
| !.vscode/launch.json |  | ||||||
| !.vscode/extensions.json |  | ||||||
| *.code-workspace |  | ||||||
| 
 |  | ||||||
| # Local History for Visual Studio Code |  | ||||||
| .history/ |  | ||||||
| 
 |  | ||||||
| # Windows Installer files from build outputs |  | ||||||
| *.cab |  | ||||||
| *.msi |  | ||||||
| *.msix |  | ||||||
| *.msm |  | ||||||
| *.msp |  | ||||||
| 
 |  | ||||||
| # JetBrains Rider |  | ||||||
| *.sln.iml |  | ||||||
|  | @ -1,34 +0,0 @@ | ||||||
| @rem  |  | ||||||
| @rem PROJECT:   Mouri Internal Library Essentials |  | ||||||
| @rem FILE:      BuildAllTargets.cmd |  | ||||||
| @rem PURPOSE:   Build all targets script for Visual Studio .NET Project |  | ||||||
| @rem  |  | ||||||
| @rem LICENSE:   The MIT License |  | ||||||
| @rem  |  | ||||||
| @rem DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com) |  | ||||||
| @rem  |  | ||||||
| 
 |  | ||||||
| @setlocal |  | ||||||
| @echo off |  | ||||||
| 
 |  | ||||||
| rem Change to the current folder. |  | ||||||
| cd "%~dp0" |  | ||||||
| 
 |  | ||||||
| rem Remove the output folder for a fresh compile. |  | ||||||
| rd /s /q Output |  | ||||||
| 
 |  | ||||||
| set VisualStudioInstallerFolder="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer" |  | ||||||
| if %PROCESSOR_ARCHITECTURE%==x86 set VisualStudioInstallerFolder="%ProgramFiles%\Microsoft Visual Studio\Installer" |  | ||||||
| 
 |  | ||||||
| pushd %VisualStudioInstallerFolder% |  | ||||||
| for /f "usebackq tokens=*" %%i in (`vswhere -latest -products * -requires Microsoft.NetCore.Component.SDK -property installationPath`) do ( |  | ||||||
|   set VisualStudioInstallDir=%%i |  | ||||||
| ) |  | ||||||
| popd |  | ||||||
| 
 |  | ||||||
| call "%VisualStudioInstallDir%\VC\Auxiliary\Build\vcvarsall.bat" x86 |  | ||||||
| 
 |  | ||||||
| rem Build all targets |  | ||||||
| MSBuild -m BuildAllTargets.proj |  | ||||||
| 
 |  | ||||||
| @endlocal |  | ||||||
|  | @ -1,48 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <!-- |  | ||||||
|   PROJECT:   Mouri Internal Library Essentials |  | ||||||
|   FILE:      BuildAllTargets.proj |  | ||||||
|   PURPOSE:   Build all targets script for Visual Studio .NET Project |  | ||||||
| 
 |  | ||||||
|   LICENSE:   The MIT License |  | ||||||
| 
 |  | ||||||
|   DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com) |  | ||||||
| --> |  | ||||||
| <Project  |  | ||||||
|   DefaultTargets="Restore;Build" |  | ||||||
|   xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |  | ||||||
|   <PropertyGroup> |  | ||||||
|     <SolutionPath>$(MSBuildThisFileDirectory)*.sln</SolutionPath> |  | ||||||
|   </PropertyGroup> |  | ||||||
|   <ItemGroup> |  | ||||||
|     <ProjectReference Include="$(SolutionPath)"> |  | ||||||
|       <AdditionalProperties>Configuration=Debug;Platform=Any CPU</AdditionalProperties>    |  | ||||||
|     </ProjectReference> |  | ||||||
|     <ProjectReference Include="$(SolutionPath)"> |  | ||||||
|       <AdditionalProperties>Configuration=Release;Platform=Any CPU</AdditionalProperties>    |  | ||||||
|     </ProjectReference> |  | ||||||
|   </ItemGroup> |  | ||||||
|   <Target Name="Restore" > |  | ||||||
|     <MSBuild |  | ||||||
|       Projects="@(ProjectReference)" |  | ||||||
|       Targets="Restore" |  | ||||||
|       StopOnFirstFailure="True" |  | ||||||
|       Properties="PreferredToolArchitecture=x64" /> |  | ||||||
|   </Target> |  | ||||||
|   <Target Name="Build" > |  | ||||||
|     <MSBuild |  | ||||||
|       Projects="@(ProjectReference)" |  | ||||||
|       Targets="Build" |  | ||||||
|       BuildInParallel="True" |  | ||||||
|       StopOnFirstFailure="True" |  | ||||||
|       Properties="PreferredToolArchitecture=x64" /> |  | ||||||
|   </Target> |  | ||||||
|   <Target Name="Rebuild" > |  | ||||||
|     <MSBuild |  | ||||||
|       Projects="@(ProjectReference)" |  | ||||||
|       Targets="Rebuild" |  | ||||||
|       BuildInParallel="True" |  | ||||||
|       StopOnFirstFailure="True" |  | ||||||
|       Properties="PreferredToolArchitecture=x64" /> |  | ||||||
|   </Target> |  | ||||||
| </Project> |  | ||||||
|  | @ -1,16 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <!-- |  | ||||||
|   PROJECT:   Mouri Internal Library Essentials |  | ||||||
|   FILE:      Directory.Build.props |  | ||||||
|   PURPOSE:   Global settings for Visual Studio .NET Project |  | ||||||
| 
 |  | ||||||
|   LICENSE:   The MIT License |  | ||||||
| 
 |  | ||||||
|   DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com) |  | ||||||
| --> |  | ||||||
| <Project> |  | ||||||
|   <PropertyGroup> |  | ||||||
|     <BaseOutputPath>$(MSBuildThisFileDirectory)Output\Binaries\$(MSBuildProjectName)\</BaseOutputPath> |  | ||||||
|     <BaseIntermediateOutputPath>$(MSBuildThisFileDirectory)Output\Objects\$(MSBuildProjectName)\</BaseIntermediateOutputPath> |  | ||||||
|   </PropertyGroup> |  | ||||||
| </Project> |  | ||||||
|  | @ -1,25 +0,0 @@ | ||||||
|  |  | ||||||
| Microsoft Visual Studio Solution File, Format Version 12.00 |  | ||||||
| # Visual Studio Version 17 |  | ||||||
| VisualStudioVersion = 17.4.33213.308 |  | ||||||
| MinimumVisualStudioVersion = 10.0.40219.1 |  | ||||||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LvglSubmoduleProjectFileGenerator", "LvglSubmoduleProjectFileGenerator\LvglSubmoduleProjectFileGenerator.csproj", "{1BCB0765-593C-4BBF-B945-10858316AF62}" |  | ||||||
| EndProject |  | ||||||
| Global |  | ||||||
| 	GlobalSection(SolutionConfigurationPlatforms) = preSolution |  | ||||||
| 		Debug|Any CPU = Debug|Any CPU |  | ||||||
| 		Release|Any CPU = Release|Any CPU |  | ||||||
| 	EndGlobalSection |  | ||||||
| 	GlobalSection(ProjectConfigurationPlatforms) = postSolution |  | ||||||
| 		{1BCB0765-593C-4BBF-B945-10858316AF62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |  | ||||||
| 		{1BCB0765-593C-4BBF-B945-10858316AF62}.Debug|Any CPU.Build.0 = Debug|Any CPU |  | ||||||
| 		{1BCB0765-593C-4BBF-B945-10858316AF62}.Release|Any CPU.ActiveCfg = Release|Any CPU |  | ||||||
| 		{1BCB0765-593C-4BBF-B945-10858316AF62}.Release|Any CPU.Build.0 = Release|Any CPU |  | ||||||
| 	EndGlobalSection |  | ||||||
| 	GlobalSection(SolutionProperties) = preSolution |  | ||||||
| 		HideSolutionNode = FALSE |  | ||||||
| 	EndGlobalSection |  | ||||||
| 	GlobalSection(ExtensibilityGlobals) = postSolution |  | ||||||
| 		SolutionGuid = {5403C626-7F51-4D74-8432-9665DEB5C76B} |  | ||||||
| 	EndGlobalSection |  | ||||||
| EndGlobal |  | ||||||
|  | @ -1,10 +0,0 @@ | ||||||
| <Project Sdk="Microsoft.NET.Sdk"> |  | ||||||
| 
 |  | ||||||
|   <PropertyGroup> |  | ||||||
|     <OutputType>Exe</OutputType> |  | ||||||
|     <TargetFramework>net7.0</TargetFramework> |  | ||||||
|     <ImplicitUsings>enable</ImplicitUsings> |  | ||||||
|     <Nullable>enable</Nullable> |  | ||||||
|   </PropertyGroup> |  | ||||||
| 
 |  | ||||||
| </Project> |  | ||||||
|  | @ -1,202 +0,0 @@ | ||||||
| using System.Text; |  | ||||||
| using System.Xml; |  | ||||||
| 
 |  | ||||||
| namespace LvglSubmoduleProjectFileGenerator |  | ||||||
| { |  | ||||||
| 
 |  | ||||||
|     internal class Program |  | ||||||
|     { |  | ||||||
|         private static List<string> FilterNames = |  | ||||||
|             new List<string>(); |  | ||||||
|         private static List<(string Target, string Filter)> HeaderNames = |  | ||||||
|             new List<(string Target, string Filter)>(); |  | ||||||
|         private static List<(string Target, string Filter)> SourceNames = |  | ||||||
|             new List<(string Target, string Filter)>(); |  | ||||||
|         private static List<(string Target, string Filter)> OtherNames = |  | ||||||
|             new List<(string Target, string Filter)>(); |  | ||||||
| 
 |  | ||||||
|         private static string[] HeaderFileTypes = new string[] |  | ||||||
|         { |  | ||||||
|             ".h", |  | ||||||
|             ".hh", |  | ||||||
|             ".hpp", |  | ||||||
|             ".hxx", |  | ||||||
|             ".h++", |  | ||||||
|             ".hm", |  | ||||||
|             ".inl", |  | ||||||
|             ".inc", |  | ||||||
|             ".ipp" |  | ||||||
|         }; |  | ||||||
| 
 |  | ||||||
|         private static string[] SourceFileTypes = new string[] |  | ||||||
|         { |  | ||||||
|             ".cpp", |  | ||||||
|             ".c", |  | ||||||
|             ".cc", |  | ||||||
|             ".cxx", |  | ||||||
|             ".c++", |  | ||||||
|             ".cppm", |  | ||||||
|             ".ixx" |  | ||||||
|         }; |  | ||||||
| 
 |  | ||||||
|         private static string[] ForceInOthersList = new string[] |  | ||||||
|         { |  | ||||||
|             @".github", |  | ||||||
|             @"docs", |  | ||||||
|             @"tests", |  | ||||||
|             @"lvgl\env_support", |  | ||||||
|             @"lvgl\scripts", |  | ||||||
|             @"freetype\" |  | ||||||
|         }; |  | ||||||
| 
 |  | ||||||
|         private static void EnumerateFolder( |  | ||||||
|             string Path, |  | ||||||
|             bool ForceInOthers = false) |  | ||||||
|         { |  | ||||||
|             DirectoryInfo Folder = new DirectoryInfo(Path); |  | ||||||
| 
 |  | ||||||
|             FilterNames.Add(Folder.FullName); |  | ||||||
| 
 |  | ||||||
|             foreach (var Item in Folder.GetDirectories()) |  | ||||||
|             { |  | ||||||
|                 bool CurrentForceInOthers = false; |  | ||||||
|                 foreach (var ListItem in ForceInOthersList) |  | ||||||
|                 { |  | ||||||
|                     if (Item.FullName.Contains(ListItem)) |  | ||||||
|                     { |  | ||||||
|                         CurrentForceInOthers = true; |  | ||||||
|                         break; |  | ||||||
|                     } |  | ||||||
|                 } |  | ||||||
|                 EnumerateFolder( |  | ||||||
|                     Item.FullName, |  | ||||||
|                     ForceInOthers || CurrentForceInOthers); |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             foreach (var Item in Folder.GetFiles()) |  | ||||||
|             { |  | ||||||
|                 (string Target, string Filter) Current = |  | ||||||
|                     (Item.FullName, Item.Directory.FullName); |  | ||||||
| 
 |  | ||||||
|                 if (ForceInOthers) |  | ||||||
|                 { |  | ||||||
|                     OtherNames.Add(Current); |  | ||||||
|                     continue; |  | ||||||
|                 } |  | ||||||
| 
 |  | ||||||
|                 if (HeaderFileTypes.Contains(Item.Extension)) |  | ||||||
|                 { |  | ||||||
|                     HeaderNames.Add(Current); |  | ||||||
|                 } |  | ||||||
|                 else if (SourceFileTypes.Contains(Item.Extension)) |  | ||||||
|                 { |  | ||||||
|                     SourceNames.Add(Current); |  | ||||||
|                 } |  | ||||||
|                 else |  | ||||||
|                 { |  | ||||||
|                     OtherNames.Add(Current); |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|         static void Main(string[] args) |  | ||||||
|         { |  | ||||||
|             string Root = GitRepositoryUtilities.GetRepositoryRoot(); |  | ||||||
| 
 |  | ||||||
|             Console.WriteLine(Root); |  | ||||||
| 
 |  | ||||||
|             string RootPath = Path.GetFullPath(Root + @"\LvglPlatform\"); |  | ||||||
| 
 |  | ||||||
|             EnumerateFolder(RootPath + @"freetype"); |  | ||||||
|             EnumerateFolder(RootPath + @"lvgl"); |  | ||||||
|             EnumerateFolder(RootPath + @"lv_drivers"); |  | ||||||
|             OtherNames.Add(( |  | ||||||
|                 "$(MSBuildThisFileDirectory)LvglPlatform.props", |  | ||||||
|                 string.Empty)); |  | ||||||
| 
 |  | ||||||
|             List<(string, string)> NewHeaderNames = new List<(string, string)>(); |  | ||||||
|             List<(string, string)> NewSourceNames = new List<(string, string)>(); |  | ||||||
|             List<(string, string)> NewOtherNames = new List<(string, string)>(); |  | ||||||
| 
 |  | ||||||
|             foreach (var HeaderName in HeaderNames) |  | ||||||
|             { |  | ||||||
|                 NewHeaderNames.Add(( |  | ||||||
|                     HeaderName.Item1.Replace( |  | ||||||
|                         RootPath, |  | ||||||
|                         "$(MSBuildThisFileDirectory)"), |  | ||||||
|                     HeaderName.Item2)); |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             foreach (var SourceName in SourceNames) |  | ||||||
|             { |  | ||||||
|                 NewSourceNames.Add(( |  | ||||||
|                     SourceName.Item1.Replace( |  | ||||||
|                         RootPath, |  | ||||||
|                         "$(MSBuildThisFileDirectory)"), |  | ||||||
|                     SourceName.Item2)); |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             foreach (var OtherName in OtherNames) |  | ||||||
|             { |  | ||||||
|                 NewOtherNames.Add(( |  | ||||||
|                     OtherName.Item1.Replace( |  | ||||||
|                         RootPath, |  | ||||||
|                         "$(MSBuildThisFileDirectory)"), |  | ||||||
|                     OtherName.Item2)); |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|             XmlWriterSettings WriterSettings = new XmlWriterSettings(); |  | ||||||
|             WriterSettings.Indent = true; |  | ||||||
|             WriterSettings.IndentChars = "  "; |  | ||||||
|             WriterSettings.NewLineChars = "\r\n"; |  | ||||||
|             WriterSettings.NewLineHandling = NewLineHandling.Replace; |  | ||||||
|             WriterSettings.Encoding = new UTF8Encoding(true); |  | ||||||
| 
 |  | ||||||
|             { |  | ||||||
|                 XmlDocument Document = |  | ||||||
|                     VisualStudioProjectUtilities.CreateCppSharedProject( |  | ||||||
|                         Guid.NewGuid(), |  | ||||||
|                         NewHeaderNames, |  | ||||||
|                         NewSourceNames, |  | ||||||
|                         NewOtherNames); |  | ||||||
|                 Document.InnerXml = Document.InnerXml.Replace( |  | ||||||
|                     RootPath, |  | ||||||
|                     ""); |  | ||||||
|                 XmlWriter Writer = XmlWriter.Create( |  | ||||||
|                     string.Format( |  | ||||||
|                         @"{0}\LvglPlatform.vcxitems", |  | ||||||
|                         RootPath), |  | ||||||
|                     WriterSettings); |  | ||||||
|                 Document.Save(Writer); |  | ||||||
|                 Writer.Flush(); |  | ||||||
|                 Writer.Dispose(); |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             { |  | ||||||
|                 XmlDocument Document = |  | ||||||
|                     VisualStudioProjectUtilities.CreateCppSharedFilters( |  | ||||||
|                         FilterNames, |  | ||||||
|                         NewHeaderNames, |  | ||||||
|                         NewSourceNames, |  | ||||||
|                         NewOtherNames); |  | ||||||
|                 Document.InnerXml = Document.InnerXml.Replace( |  | ||||||
|                     RootPath, |  | ||||||
|                     ""); |  | ||||||
|                 XmlWriter Writer = XmlWriter.Create( |  | ||||||
|                     string.Format( |  | ||||||
|                         @"{0}\LvglPlatform.vcxitems.filters", |  | ||||||
|                         RootPath), |  | ||||||
|                     WriterSettings); |  | ||||||
|                 Document.Save(Writer); |  | ||||||
|                 Writer.Flush(); |  | ||||||
|                 Writer.Dispose(); |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             Console.WriteLine("Hello, World!"); |  | ||||||
| 
 |  | ||||||
|             Console.ReadKey(); |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| } |  | ||||||
|  | @ -1,37 +0,0 @@ | ||||||
| using System.Diagnostics; |  | ||||||
| 
 |  | ||||||
| namespace LvglSubmoduleProjectFileGenerator |  | ||||||
| { |  | ||||||
|     public class GitRepositoryUtilities |  | ||||||
|     { |  | ||||||
|         public static string GetRepositoryRoot() |  | ||||||
|         { |  | ||||||
|             Process process = new Process |  | ||||||
|             { |  | ||||||
|                 StartInfo = new ProcessStartInfo |  | ||||||
|                 { |  | ||||||
|                     CreateNoWindow = true, |  | ||||||
|                     UseShellExecute = false, |  | ||||||
|                     RedirectStandardOutput = true, |  | ||||||
|                     FileName = "git.exe", |  | ||||||
|                     Arguments = "rev-parse --show-toplevel" |  | ||||||
|                 } |  | ||||||
|             }; |  | ||||||
| 
 |  | ||||||
|             if (process.Start()) |  | ||||||
|             { |  | ||||||
|                 process.WaitForExit(); |  | ||||||
|                 if (process.ExitCode == 0) |  | ||||||
|                 { |  | ||||||
|                     string? result = process.StandardOutput.ReadLine(); |  | ||||||
|                     if (result != null) |  | ||||||
|                     { |  | ||||||
|                         return Path.GetFullPath(result); |  | ||||||
|                     } |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             return string.Empty; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| } |  | ||||||
|  | @ -1,206 +0,0 @@ | ||||||
| using System.Xml; |  | ||||||
| 
 |  | ||||||
| namespace LvglSubmoduleProjectFileGenerator |  | ||||||
| { |  | ||||||
|     public class VisualStudioProjectUtilities |  | ||||||
|     { |  | ||||||
|         private static readonly string DefaultNamespaceString = |  | ||||||
|             @"http://schemas.microsoft.com/developer/msbuild/2003"; |  | ||||||
| 
 |  | ||||||
|         private static XmlElement AppendTagToElement( |  | ||||||
|             XmlElement Element, |  | ||||||
|             string Name) |  | ||||||
|         { |  | ||||||
|             XmlElement Tag = Element.OwnerDocument.CreateElement( |  | ||||||
|                 Name, |  | ||||||
|                 DefaultNamespaceString); |  | ||||||
|             Element.AppendChild(Tag); |  | ||||||
|             return Tag; |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         private static XmlElement AppendPropertyGroupToProject( |  | ||||||
|             XmlElement Project) |  | ||||||
|         { |  | ||||||
|             return AppendTagToElement(Project, "PropertyGroup"); |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         private static XmlElement AppendPropertyGroupToProject( |  | ||||||
|             XmlElement Project, |  | ||||||
|             string Label) |  | ||||||
|         { |  | ||||||
|             XmlElement Element = AppendPropertyGroupToProject(Project); |  | ||||||
|             Element.SetAttribute("Label", Label); |  | ||||||
|             return Element; |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         private static XmlElement AppendItemGroupToProject( |  | ||||||
|             XmlElement Project) |  | ||||||
|         { |  | ||||||
|             return AppendTagToElement(Project, "ItemGroup"); |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         private static XmlElement AppendItemToItemGroup( |  | ||||||
|             XmlElement ItemGroup, |  | ||||||
|             string Type, |  | ||||||
|             string Target) |  | ||||||
|         { |  | ||||||
|             XmlElement Element = AppendTagToElement(ItemGroup, Type); |  | ||||||
|             Element.SetAttribute("Include", Target); |  | ||||||
|             return Element; |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         private static void AppendTagToElement( |  | ||||||
|             XmlElement Element, |  | ||||||
|             string Name, |  | ||||||
|             string Content) |  | ||||||
|         { |  | ||||||
|             XmlElement Tag = AppendTagToElement(Element, Name); |  | ||||||
|             Tag.InnerText = Content; |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         public static void AppendItemsToCppProject( |  | ||||||
|             XmlElement Project, |  | ||||||
|             List<(string Target, string Filter)> HeaderNames, |  | ||||||
|             List<(string Target, string Filter)> SourceNames, |  | ||||||
|             List<(string Target, string Filter)> OtherNames) |  | ||||||
|         { |  | ||||||
|             XmlElement HeaderItems = AppendItemGroupToProject(Project); |  | ||||||
|             foreach (var Name in HeaderNames) |  | ||||||
|             { |  | ||||||
|                 AppendItemToItemGroup(HeaderItems, "ClInclude", Name.Target); |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             XmlElement SourceItems = AppendItemGroupToProject(Project); |  | ||||||
|             foreach (var Name in SourceNames) |  | ||||||
|             { |  | ||||||
|                 AppendItemToItemGroup(SourceItems, "ClCompile", Name.Target); |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             XmlElement OtherItems = AppendItemGroupToProject(Project); |  | ||||||
|             foreach (var Name in OtherNames) |  | ||||||
|             { |  | ||||||
|                 AppendItemToItemGroup(OtherItems, "None", Name.Target); |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         public static void AppendItemsToCppFilters( |  | ||||||
|             XmlElement Project, |  | ||||||
|             List<string> FilterNames, |  | ||||||
|             List<(string Target, string Filter)> HeaderNames, |  | ||||||
|             List<(string Target, string Filter)> SourceNames, |  | ||||||
|             List<(string Target, string Filter)> OtherNames) |  | ||||||
|         { |  | ||||||
|             XmlElement FilterItems = AppendItemGroupToProject(Project); |  | ||||||
|             foreach (var FilterName in FilterNames) |  | ||||||
|             { |  | ||||||
|                 XmlElement FilterItem = AppendItemToItemGroup( |  | ||||||
|                     FilterItems, |  | ||||||
|                     "Filter", |  | ||||||
|                     FilterName); |  | ||||||
|                 AppendTagToElement( |  | ||||||
|                     FilterItem, |  | ||||||
|                     "UniqueIdentifier", |  | ||||||
|                     string.Format("{{{0}}}", Guid.NewGuid())); |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             XmlElement HeaderItems = AppendItemGroupToProject(Project); |  | ||||||
|             foreach (var Name in HeaderNames) |  | ||||||
|             { |  | ||||||
|                 XmlElement Item = AppendItemToItemGroup( |  | ||||||
|                     HeaderItems, |  | ||||||
|                     "ClInclude", |  | ||||||
|                     Name.Target); |  | ||||||
|                 AppendTagToElement(Item, "Filter", Name.Filter); |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             XmlElement SourceItems = AppendItemGroupToProject(Project); |  | ||||||
|             foreach (var Name in SourceNames) |  | ||||||
|             { |  | ||||||
|                 XmlElement Item = AppendItemToItemGroup( |  | ||||||
|                     SourceItems, |  | ||||||
|                     "ClCompile", |  | ||||||
|                     Name.Target); |  | ||||||
|                 AppendTagToElement(Item, "Filter", Name.Filter); |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             XmlElement OtherItems = AppendItemGroupToProject(Project); |  | ||||||
|             foreach (var Name in OtherNames) |  | ||||||
|             { |  | ||||||
|                 XmlElement Item = AppendItemToItemGroup( |  | ||||||
|                     OtherItems, |  | ||||||
|                     "None", |  | ||||||
|                     Name.Target); |  | ||||||
|                 AppendTagToElement(Item, "Filter", Name.Filter); |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         public static XmlDocument CreateCppSharedProject( |  | ||||||
|             Guid ProjectGuid, |  | ||||||
|             List<(string Target, string Filter)> HeaderNames, |  | ||||||
|             List<(string Target, string Filter)> SourceNames, |  | ||||||
|             List<(string Target, string Filter)> OtherNames) |  | ||||||
|         { |  | ||||||
|             XmlDocument Document = new XmlDocument(); |  | ||||||
| 
 |  | ||||||
|             Document.InsertBefore( |  | ||||||
|                 Document.CreateXmlDeclaration("1.0", "utf-8", null), |  | ||||||
|                 Document.DocumentElement); |  | ||||||
| 
 |  | ||||||
|             XmlElement Project = Document.CreateElement( |  | ||||||
|                 "Project", |  | ||||||
|                 DefaultNamespaceString); |  | ||||||
|             Project.SetAttribute( |  | ||||||
|                 "ToolsVersion", |  | ||||||
|                 "4.0"); |  | ||||||
| 
 |  | ||||||
|             XmlElement GlobalPropertyGroup = AppendPropertyGroupToProject( |  | ||||||
|                 Project, |  | ||||||
|                 "Globals");     |  | ||||||
|             AppendTagToElement( |  | ||||||
|                 GlobalPropertyGroup, |  | ||||||
|                 "ItemsProjectGuid", |  | ||||||
|                 string.Format("{{{0}}}", ProjectGuid)); |  | ||||||
| 
 |  | ||||||
|             AppendItemsToCppProject( |  | ||||||
|                 Project, |  | ||||||
|                 HeaderNames, |  | ||||||
|                 SourceNames, |  | ||||||
|                 OtherNames); |  | ||||||
| 
 |  | ||||||
|             Document.AppendChild(Project); |  | ||||||
| 
 |  | ||||||
|             return Document; |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         public static XmlDocument CreateCppSharedFilters( |  | ||||||
|             List<string> FilterNames, |  | ||||||
|             List<(string Target, string Filter)> HeaderNames, |  | ||||||
|             List<(string Target, string Filter)> SourceNames, |  | ||||||
|             List<(string Target, string Filter)> OtherNames) |  | ||||||
|         { |  | ||||||
|             XmlDocument Document = new XmlDocument(); |  | ||||||
| 
 |  | ||||||
|             Document.InsertBefore( |  | ||||||
|                 Document.CreateXmlDeclaration("1.0", "utf-8", null), |  | ||||||
|                 Document.DocumentElement); |  | ||||||
| 
 |  | ||||||
|             XmlElement Project = Document.CreateElement( |  | ||||||
|                 "Project", |  | ||||||
|                 DefaultNamespaceString); |  | ||||||
|             Project.SetAttribute( |  | ||||||
|                 "ToolsVersion", |  | ||||||
|                 "4.0"); |  | ||||||
| 
 |  | ||||||
|             AppendItemsToCppFilters( |  | ||||||
|                 Project, |  | ||||||
|                 FilterNames, |  | ||||||
|                 HeaderNames, |  | ||||||
|                 SourceNames, |  | ||||||
|                 OtherNames); |  | ||||||
| 
 |  | ||||||
|             Document.AppendChild(Project); |  | ||||||
| 
 |  | ||||||
|             return Document; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| } |  | ||||||
|  | @ -1,3 +0,0 @@ | ||||||
| # LvglMaintainerTools |  | ||||||
| 
 |  | ||||||
| Maintainer specific tools for LVGL for Windows Visual Studio port. |  | ||||||
|  | @ -1,16 +0,0 @@ | ||||||
| BasedOnStyle: Chromium |  | ||||||
| AlignAfterOpenBracket: Align |  | ||||||
| AlignConsecutiveAssignments: true |  | ||||||
| AlignConsecutiveDeclarations: true |  | ||||||
| AlignConsecutiveMacros: true |  | ||||||
| AlignEscapedNewlines: true |  | ||||||
| # AlignOperands: Align |  | ||||||
| AlignTrailingComments: true |  | ||||||
| AlwaysBreakAfterReturnType: AllDefinitions |  | ||||||
| BreakBeforeBraces: Allman |  | ||||||
| ColumnLimit: 80 |  | ||||||
| DerivePointerAlignment: false |  | ||||||
| IndentCaseLabels: false |  | ||||||
| PointerAlignment: Left |  | ||||||
| SpaceBeforeParens: ControlStatements |  | ||||||
| SpacesInParentheses: true |  | ||||||
|  | @ -1,7 +0,0 @@ | ||||||
| /build/ |  | ||||||
| /config.mk |  | ||||||
| include/dlg/ |  | ||||||
| src/dlg/dlg.c |  | ||||||
| subprojects/* |  | ||||||
| !subprojects/*.wrap |  | ||||||
| /tests/data/* |  | ||||||
|  | @ -1,230 +0,0 @@ | ||||||
| # CI setup for FreeType. |  | ||||||
| 
 |  | ||||||
| stages: |  | ||||||
|  - build |  | ||||||
| 
 |  | ||||||
| # FIXME: Use --werror once warnings are fixed. |  | ||||||
| variables: |  | ||||||
|   MESON_ARGS: --fatal-meson-warnings --default-library=both |  | ||||||
|   MESON_ARGS_WINDOWS: ${MESON_ARGS} --force-fallback-for=zlib |  | ||||||
| 
 |  | ||||||
| .build windows common: |  | ||||||
|   # TODO: should probably get its own image at some point instead of reusing the GStreamer one |  | ||||||
|   # See https://gitlab.freedesktop.org/gstreamer/gstreamer/container_registry/18035 for latest |  | ||||||
|   image: "registry.freedesktop.org/gstreamer/gstreamer/amd64/windows:2022-07-29.3-main" |  | ||||||
|   stage: 'build' |  | ||||||
|   tags: |  | ||||||
|     - 'docker' |  | ||||||
|     - 'windows' |  | ||||||
|     - '2022' |  | ||||||
|     - 'gstreamer-windows' |  | ||||||
| 
 |  | ||||||
| .build linux common: |  | ||||||
|   # See |  | ||||||
|   # https://gitlab.freedesktop.org/freetype/docker-images/container_registry/20896 |  | ||||||
|   image: 'registry.freedesktop.org/freetype/docker-images/debian:latest' |  | ||||||
|   stage: 'build' |  | ||||||
| 
 |  | ||||||
| .build macos common: |  | ||||||
|   stage: 'build' |  | ||||||
|   tags: |  | ||||||
|     - 'gst-macos-11.1' |  | ||||||
| 
 |  | ||||||
| .build windows meson: |  | ||||||
|   extends: '.build windows common' |  | ||||||
|   variables: |  | ||||||
|     # Make sure any failure in PowerShell scripts is fatal. |  | ||||||
|     ErrorActionPreference: 'Stop' |  | ||||||
|     WarningPreference: 'Stop' |  | ||||||
|     # Uncomment the following key if you need to pass custom args, as well |  | ||||||
|     # with the `$env:MESON_ARGS` line in the `script:` blocks. |  | ||||||
|     # MESON_ARGS: >- |  | ||||||
|     #   -Dfoo=enabled |  | ||||||
|     #   -Dbar=disabled |  | ||||||
|   before_script: |  | ||||||
|     # Update RootCAs in order to access to some sites. |  | ||||||
|     - certutil -generateSSTFromWU "C:\roots.sst" |  | ||||||
|     - Import-Certificate -CertStoreLocation "Cert:\LocalMachine\Root" "C:\roots.sst" |  | ||||||
|     # Make sure meson is up to date so we don't need to rebuild the image |  | ||||||
|     # with each release. |  | ||||||
|     - pip3 install -U 'meson==0.59.*' |  | ||||||
|     - pip3 install --upgrade certifi |  | ||||||
|     - pip3 install -U ninja |  | ||||||
| 
 |  | ||||||
|     # Generate a UWP cross-file in case it's used |  | ||||||
|     - $PSDefaultParameterValues['Out-File:Encoding'] = 'ASCII' |  | ||||||
|     - echo "[binaries]" > uwp-crossfile.meson |  | ||||||
|     - echo "c = 'cl'" >> uwp-crossfile.meson |  | ||||||
|     - echo "strip = ['true']" >> uwp-crossfile.meson |  | ||||||
|     - echo "[built-in options]" >> uwp-crossfile.meson |  | ||||||
|     - echo "c_args = ['-DWINAPI_FAMILY=WINAPI_FAMILY_APP', '-DUNICODE', '-D_WIN32_WINNT=0x0A00', '-we4013']" >> uwp-crossfile.meson |  | ||||||
|     - echo "c_winlibs = ['windowsapp.lib']" >> uwp-crossfile.meson |  | ||||||
|   script: |  | ||||||
|     # For some reason, options are separated by newlines instead of spaces, |  | ||||||
|     # so we have to replace them first. |  | ||||||
|     # |  | ||||||
|     # - $env:MESON_ARGS = $env:MESON_ARGS.replace("`n"," ") |  | ||||||
|     # |  | ||||||
|     # Gitlab executes PowerShell in docker, but `VsDevCmd.bat` is a batch |  | ||||||
|     # script.  Environment variables substitutions is done by PowerShell |  | ||||||
|     # before calling `cmd.exe`, that's why we use `$env:FOO` instead of |  | ||||||
|     # `%FOO%`. |  | ||||||
|     - cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=$env:ARCH $env:VS_UWP && |  | ||||||
|         meson setup build $env:MESON_ARGS_WINDOWS $env:MESON_ARGS_UWP && |  | ||||||
|         meson compile --verbose -C build |  | ||||||
|         $env:MESON_WINDOWS_TESTS" |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Format of job names: |  | ||||||
| # <OS> <Build-Tool> <Build-Params> <Architecture>  |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Windows jobs. |  | ||||||
| 
 |  | ||||||
| windows meson vs2019 amd64: |  | ||||||
|   extends: '.build windows meson' |  | ||||||
|   variables: |  | ||||||
|     ARCH: 'amd64' |  | ||||||
|     MESON_WINDOWS_TESTS: '&& meson test -C build && meson test -C build --benchmark' |  | ||||||
| 
 |  | ||||||
| windows meson vs2019 x86: |  | ||||||
|   extends: '.build windows meson' |  | ||||||
|   variables: |  | ||||||
|     ARCH: 'x86' |  | ||||||
|     MESON_WINDOWS_TESTS: '&& meson test -C build && meson test -C build --benchmark' |  | ||||||
| 
 |  | ||||||
| windows meson vs2019 amd64 uwp: |  | ||||||
|   extends: '.build windows meson' |  | ||||||
|   variables: |  | ||||||
|     ARCH: 'amd64' |  | ||||||
|     VS_UWP: '-app_platform=UWP' |  | ||||||
|     MESON_ARGS_UWP: '--cross-file uwp-crossfile.meson -Dc_winlibs="windowsapp.lib"' |  | ||||||
| 
 |  | ||||||
| # Linux Jobs. |  | ||||||
| # |  | ||||||
| # Jobs with "libs" in the name force-enable libraries. |  | ||||||
| # They are disabled for the remaining jobs. |  | ||||||
| 
 |  | ||||||
| linux autotools: |  | ||||||
|   extends: '.build linux common' |  | ||||||
|   script: | |  | ||||||
|     ./autogen.sh |  | ||||||
|     ./configure --with-brotli=no \ |  | ||||||
|                 --with-bzip2=no \ |  | ||||||
|                 --with-harfbuzz=no \ |  | ||||||
|                 --with-png=no \ |  | ||||||
|                 --with-zlib=no \ |  | ||||||
|                 CC=gcc |  | ||||||
| 
 |  | ||||||
|     make -j$(nproc) && make install |  | ||||||
| 
 |  | ||||||
| linux autotools libs: |  | ||||||
|   extends: '.build linux common' |  | ||||||
|   script: | |  | ||||||
|     ./autogen.sh |  | ||||||
|     ./configure --with-brotli=yes \ |  | ||||||
|                 --with-bzip2=yes \ |  | ||||||
|                 --with-harfbuzz=yes \ |  | ||||||
|                 --with-png=yes \ |  | ||||||
|                 --with-zlib=yes \ |  | ||||||
|                 CC=gcc |  | ||||||
| 
 |  | ||||||
|     make -j$(nproc) && make install |  | ||||||
| 
 |  | ||||||
| linux autotools libs clang: |  | ||||||
|   extends: '.build linux common' |  | ||||||
|   script: | |  | ||||||
|     ./autogen.sh |  | ||||||
|     ./configure --with-brotli=yes \ |  | ||||||
|                 --with-bzip2=yes \ |  | ||||||
|                 --with-harfbuzz=yes \ |  | ||||||
|                 --with-png=yes \ |  | ||||||
|                 --with-zlib=yes \ |  | ||||||
|                 CC=clang |  | ||||||
| 
 |  | ||||||
|     make -j$(nproc) && make install |  | ||||||
| 
 |  | ||||||
| linux meson: |  | ||||||
|   extends: '.build linux common' |  | ||||||
|   script: | |  | ||||||
|     meson setup build ${MESON_ARGS} \ |  | ||||||
|                       -Dbrotli=disabled \ |  | ||||||
|                       -Dbzip2=disabled \ |  | ||||||
|                       -Dharfbuzz=disabled \ |  | ||||||
|                       -Dpng=disabled \ |  | ||||||
|                       -Dzlib=disabled |  | ||||||
| 
 |  | ||||||
|     meson compile --verbose -C build |  | ||||||
|     meson install -C build |  | ||||||
| 
 |  | ||||||
| linux meson libs: |  | ||||||
|   extends: '.build linux common' |  | ||||||
|   script: | |  | ||||||
|     meson setup build ${MESON_ARGS} \ |  | ||||||
|                       -Dbrotli=enabled \ |  | ||||||
|                       -Dbzip2=enabled \ |  | ||||||
|                       -Dharfbuzz=disabled \ |  | ||||||
|                       -Dpng=disabled \ |  | ||||||
|                       -Dzlib=disabled |  | ||||||
| 
 |  | ||||||
|     meson compile --verbose -C build |  | ||||||
|     meson install -C build |  | ||||||
| 
 |  | ||||||
| linux cmake: |  | ||||||
|   extends: '.build linux common' |  | ||||||
|   script: | |  | ||||||
|     cmake -B build -D FT_DISABLE_BROTLI=TRUE \ |  | ||||||
|                    -D FT_DISABLE_BZIP2=TRUE \ |  | ||||||
|                    -D FT_DISABLE_HARFBUZZ=TRUE \ |  | ||||||
|                    -D FT_DISABLE_PNG=TRUE \ |  | ||||||
|                    -D FT_DISABLE_ZLIB=TRUE |  | ||||||
| 
 |  | ||||||
|     cmake --build build --target install |  | ||||||
| 
 |  | ||||||
| linux cmake libs: |  | ||||||
|   extends: '.build linux common' |  | ||||||
|   script: | |  | ||||||
|     cmake -B build -D FT_REQUIRE_BROTLI=TRUE \ |  | ||||||
|                    -D FT_REQUIRE_BZIP2=TRUE \ |  | ||||||
|                    -D FT_REQUIRE_HARFBUZZ=TRUE \ |  | ||||||
|                    -D FT_REQUIRE_PNG=TRUE \ |  | ||||||
|                    -D FT_REQUIRE_ZLIB=TRUE |  | ||||||
| 
 |  | ||||||
|     cmake --build build --target install |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # MacOS jobs. |  | ||||||
| 
 |  | ||||||
| macos autotools: |  | ||||||
|   extends: '.build macos common' |  | ||||||
|   before_script: |  | ||||||
|     - '/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"' |  | ||||||
|   script: |  | ||||||
|     - brew install autoconf automake libtool |  | ||||||
|     - ./autogen.sh |  | ||||||
|     - ./configure |  | ||||||
|     - 'make -j$(sysctl -n hw.logicalcpu)' |  | ||||||
|     - make install |  | ||||||
| 
 |  | ||||||
| macos autotools clang: |  | ||||||
|   extends: '.build macos common' |  | ||||||
|   before_script: |  | ||||||
|     - '/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"' |  | ||||||
|   script: |  | ||||||
|     - brew install autoconf automake libtool |  | ||||||
|     - ./autogen.sh |  | ||||||
|     - './configure CC=clang' |  | ||||||
|     - 'make -j$(sysctl -n hw.logicalcpu)' |  | ||||||
|     - make install |  | ||||||
| 
 |  | ||||||
| macos meson: |  | ||||||
|   extends: '.build macos common' |  | ||||||
|   script: |  | ||||||
|     - pip3 install --upgrade pip |  | ||||||
|     - pip3 install -U meson |  | ||||||
|     - pip3 install --upgrade certifi |  | ||||||
|     - pip3 install -U ninja |  | ||||||
| 
 |  | ||||||
|     - meson setup build ${MESON_ARGS} |  | ||||||
|     - meson compile --verbose -C build |  | ||||||
|     - sudo meson install -C build |  | ||||||
|  | @ -1,3 +0,0 @@ | ||||||
| [submodule "dlg"] |  | ||||||
| 	path = subprojects/dlg |  | ||||||
| 	url = https://github.com/nyorain/dlg.git |  | ||||||
|  | @ -1,24 +0,0 @@ | ||||||
| Behdad Esfahbod (بهداد اسفهبد) <behdad@behdad.org> <behdad.esfahbod@gmail.com> |  | ||||||
| Behdad Esfahbod (بهداد اسفهبد) <behdad@behdad.org> <behdad@google.com> |  | ||||||
| Behdad Esfahbod (بهداد اسفهبد) <behdad@behdad.org> |  | ||||||
| Alexander Borsuk <me@alex.bio> <alexander.borsuk@qnective.com> |  | ||||||
| Ewald Hew (Hew Yih Shiuan 丘毅宣) <ewaldhew@gmail.com> |  | ||||||
| Moazin Khatti (موؤذن کھٹی) <moazinkhatri@gmail.com> |  | ||||||
| Priyesh Kumar (प्रियेश कुमार) <priyeshkkumar@gmail.com> |  | ||||||
| Alexei Podtelezhnikov (Алексей Подтележников) <apodtele@gmail.com> |  | ||||||
| Nikhil Ramakrishnan (निखिल रामकृष्णन) <ramakrishnan.nikhil@gmail.com> |  | ||||||
| Dominik Röttsches <drott@chromium.org> <drott@google.com> |  | ||||||
| Kostya Serebryany <kcc@google.com> <konstantin.s.serebryany@gmail.com> |  | ||||||
| Suzuki, Toshiya (鈴木俊哉) <mpsuzuki@hiroshima-u.ac.jp> <sssa@flavor1.ipc.hiroshima-u.ac.jp> |  | ||||||
| Suzuki, Toshiya (鈴木俊哉) <mpsuzuki@hiroshima-u.ac.jp> sssa <sssa@IPA2004-mps.local> |  | ||||||
| Suzuki, Toshiya (鈴木俊哉) <mpsuzuki@hiroshima-u.ac.jp> sssa <sssa@sssas-powerbook-g4-12.local> |  | ||||||
| Suzuki, Toshiya (鈴木俊哉) <mpsuzuki@hiroshima-u.ac.jp> suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> |  | ||||||
| Bram Tassyns <bramt@enfocus.be> bram tassyns <BramT@enfocus.be> |  | ||||||
| Bram Tassyns <bramt@enfocus.be> <BramT@enfocus.com> |  | ||||||
| David Turner <david@freetype.org> <david.turner.dev@gmail.com> |  | ||||||
| David Turner <david@freetype.org> <digit@google.com> |  | ||||||
| Anuj Verma (अनुज वर्मा) <anujv@iitbhilai.ac.in> |  | ||||||
| Ben Wagner <bungeman@gmail.com> Bungeman <bungeman@gmail.com> |  | ||||||
| Ben Wagner <bungeman@gmail.com> <bungeman@google.com> |  | ||||||
| Ben Wagner <bungeman@gmail.com> <bungeman@chromium.org> |  | ||||||
| Nikolaus Waxweiler <madigens@gmail.com> <nikolaus.waxweiler@daltonmaag.com> |  | ||||||
|  | @ -1,681 +0,0 @@ | ||||||
| # CMakeLists.txt |  | ||||||
| # |  | ||||||
| # Copyright (C) 2013-2022 by |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg. |  | ||||||
| # |  | ||||||
| # Written originally by John Cary <cary@txcorp.com> |  | ||||||
| # |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified, |  | ||||||
| # and distributed under the terms of the FreeType project license, |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you |  | ||||||
| # indicate that you have read the license and understand and accept it |  | ||||||
| # fully. |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # The following will (1) create a build directory, and (2) change into it and |  | ||||||
| # call cmake to configure the build with default parameters as a static |  | ||||||
| # library.  See |  | ||||||
| # |  | ||||||
| #   https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html |  | ||||||
| # |  | ||||||
| # for information about debug or release builds, for example |  | ||||||
| # |  | ||||||
| #   cmake -B build -D CMAKE_BUILD_TYPE=Release |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # For a dynamic library, use |  | ||||||
| # |  | ||||||
| #   cmake -B build -D BUILD_SHARED_LIBS=true -D CMAKE_BUILD_TYPE=Release |  | ||||||
| # |  | ||||||
| # For a framework on OS X, use |  | ||||||
| # |  | ||||||
| #   cmake -E chdir build cmake -G Xcode -D BUILD_FRAMEWORK:BOOL=true .. |  | ||||||
| # |  | ||||||
| # For an iOS static library, use |  | ||||||
| # |  | ||||||
| #   cmake -E chdir build cmake -G Xcode -D IOS_PLATFORM=OS .. |  | ||||||
| # |  | ||||||
| # or |  | ||||||
| # |  | ||||||
| #   cmake -E chdir build cmake -G Xcode -D IOS_PLATFORM=SIMULATOR .. |  | ||||||
| # |  | ||||||
| # or |  | ||||||
| # |  | ||||||
| #   cmake -E chdir build cmake -G Xcode -D IOS_PLATFORM=SIMULATOR64 .. |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # Finally, build the project with |  | ||||||
| # |  | ||||||
| #   cmake --build build |  | ||||||
| # |  | ||||||
| # Install it with |  | ||||||
| # |  | ||||||
| #   (sudo) cmake --build build --target install |  | ||||||
| # |  | ||||||
| # A binary distribution can be made with |  | ||||||
| # |  | ||||||
| #   cmake --build build --config Release --target package |  | ||||||
| # |  | ||||||
| # Please refer to the cmake manual for further options, in particular, how |  | ||||||
| # to modify compilation and linking parameters. |  | ||||||
| # |  | ||||||
| # Some notes. |  | ||||||
| # |  | ||||||
| # - Say `cmake -LAH` to see all configuration options. |  | ||||||
| # |  | ||||||
| # - `cmake' creates configuration files in |  | ||||||
| # |  | ||||||
| #     <build-directory>/include/freetype/config |  | ||||||
| # |  | ||||||
| #   which should be further modified if necessary. |  | ||||||
| # |  | ||||||
| # - You can use `cmake' directly on a freshly cloned FreeType git |  | ||||||
| #   repository. |  | ||||||
| # |  | ||||||
| # - `CMakeLists.txt' is provided as-is since it is normally not used by the |  | ||||||
| #   developer team. |  | ||||||
| # |  | ||||||
| # - Set the `FT_REQUIRE_ZLIB', `FT_REQUIRE_BZIP2', `FT_REQUIRE_PNG', |  | ||||||
| #   `FT_REQUIRE_HARFBUZZ', and `FT_REQUIRE_BROTLI' CMake variables to `ON' |  | ||||||
| #   or `TRUE' to force using a dependency.  Leave a variable undefined |  | ||||||
| #   (which is the default) to use the dependency only if it is available. |  | ||||||
| #   Example: |  | ||||||
| # |  | ||||||
| #     cmake -B build -D FT_REQUIRE_ZLIB=TRUE \ |  | ||||||
| #                    -D FT_REQUIRE_BZIP2=TRUE \ |  | ||||||
| #                    -D FT_REQUIRE_PNG=TRUE \ |  | ||||||
| #                    -D FT_REQUIRE_HARFBUZZ=TRUE \ |  | ||||||
| #                    -D FT_REQUIRE_BROTLI=TRUE [...] |  | ||||||
| # |  | ||||||
| # - Set `FT_DISABLE_XXX=TRUE' to disable a dependency completely (where |  | ||||||
| #   `XXX' is a CMake package name like `BZip2').  Example for disabling all |  | ||||||
| #   dependencies: |  | ||||||
| # |  | ||||||
| #     cmake -B build -D FT_DISABLE_ZLIB=TRUE \ |  | ||||||
| #                    -D FT_DISABLE_BZIP2=TRUE \ |  | ||||||
| #                    -D FT_DISABLE_PNG=TRUE \ |  | ||||||
| #                    -D FT_DISABLE_HARFBUZZ=TRUE \ |  | ||||||
| #                    -D FT_DISABLE_BROTLI=TRUE [...] |  | ||||||
| # |  | ||||||
| # - NOTE: If a package is set as DISABLED, it cannot be set as REQUIRED |  | ||||||
| #   without unsetting the DISABLED value first.  For example, if |  | ||||||
| #   `FT_DISABLE_HARFBUZZ=TRUE' has been set (Cache is present), you need to |  | ||||||
| #   call `FT_DISABLE_HARFBUZZ=FALSE' before calling |  | ||||||
| #   `FT_REQUIRE_HARFBUZZ=TRUE'. |  | ||||||
| # |  | ||||||
| # - Installation of FreeType can be controlled with the CMake variables |  | ||||||
| #   `SKIP_INSTALL_HEADERS', `SKIP_INSTALL_LIBRARIES', and `SKIP_INSTALL_ALL' |  | ||||||
| #   (this is compatible with the same CMake variables in zlib's CMake |  | ||||||
| #   support). |  | ||||||
| 
 |  | ||||||
| # To minimize the number of cmake_policy() workarounds, |  | ||||||
| # CMake >= 3 is requested. |  | ||||||
| cmake_minimum_required(VERSION 3.0) |  | ||||||
| 
 |  | ||||||
| if (NOT CMAKE_VERSION VERSION_LESS 3.3) |  | ||||||
|   # Allow symbol visibility settings also on static libraries. CMake < 3.3 |  | ||||||
|   # only sets the property on a shared library build. |  | ||||||
|   cmake_policy(SET CMP0063 NEW) |  | ||||||
| 
 |  | ||||||
|   # Support new IN_LIST if() operator. |  | ||||||
|   cmake_policy(SET CMP0057 NEW) |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| include(CheckIncludeFile) |  | ||||||
| include(CMakeDependentOption) |  | ||||||
| 
 |  | ||||||
| # CMAKE_TOOLCHAIN_FILE must be set before `project' is called, which |  | ||||||
| # configures the base build environment and references the toolchain file |  | ||||||
| if (APPLE) |  | ||||||
|   if (DEFINED IOS_PLATFORM) |  | ||||||
|     if (NOT "${IOS_PLATFORM}" STREQUAL "OS" |  | ||||||
|         AND NOT "${IOS_PLATFORM}" STREQUAL "SIMULATOR" |  | ||||||
|         AND NOT "${IOS_PLATFORM}" STREQUAL "SIMULATOR64") |  | ||||||
|       message(FATAL_ERROR |  | ||||||
|         "IOS_PLATFORM must be set to either OS, SIMULATOR, or SIMULATOR64") |  | ||||||
|     endif () |  | ||||||
|     if (NOT "${CMAKE_GENERATOR}" STREQUAL "Xcode") |  | ||||||
|       message(AUTHOR_WARNING |  | ||||||
|         "You should use Xcode generator with IOS_PLATFORM enabled to get Universal builds.") |  | ||||||
|     endif () |  | ||||||
|     if (BUILD_SHARED_LIBS) |  | ||||||
|       message(FATAL_ERROR |  | ||||||
|         "BUILD_SHARED_LIBS can not be on with IOS_PLATFORM enabled") |  | ||||||
|     endif () |  | ||||||
|     if (BUILD_FRAMEWORK) |  | ||||||
|       message(FATAL_ERROR |  | ||||||
|         "BUILD_FRAMEWORK can not be on with IOS_PLATFORM enabled") |  | ||||||
|     endif () |  | ||||||
| 
 |  | ||||||
|     # iOS only uses static libraries |  | ||||||
|     set(BUILD_SHARED_LIBS OFF) |  | ||||||
| 
 |  | ||||||
|     set(CMAKE_TOOLCHAIN_FILE |  | ||||||
|       ${CMAKE_SOURCE_DIR}/builds/cmake/iOS.cmake) |  | ||||||
|   endif () |  | ||||||
| else () |  | ||||||
|   if (DEFINED IOS_PLATFORM) |  | ||||||
|     message(FATAL_ERROR "IOS_PLATFORM is not supported on this platform") |  | ||||||
|   endif () |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| project(freetype C) |  | ||||||
| 
 |  | ||||||
| set(VERSION_MAJOR "2") |  | ||||||
| set(VERSION_MINOR "12") |  | ||||||
| set(VERSION_PATCH "1") |  | ||||||
| 
 |  | ||||||
| # Generate LIBRARY_VERSION and LIBRARY_SOVERSION. |  | ||||||
| set(LIBTOOL_REGEX "version_info='([0-9]+):([0-9]+):([0-9]+)'") |  | ||||||
| file(STRINGS "${PROJECT_SOURCE_DIR}/builds/unix/configure.raw" |  | ||||||
|   VERSION_INFO |  | ||||||
|   REGEX ${LIBTOOL_REGEX}) |  | ||||||
| string(REGEX REPLACE |  | ||||||
|   ${LIBTOOL_REGEX} "\\1" |  | ||||||
|   LIBTOOL_CURRENT "${VERSION_INFO}") |  | ||||||
| string(REGEX REPLACE |  | ||||||
|   ${LIBTOOL_REGEX} "\\2" |  | ||||||
|   LIBTOOL_REVISION "${VERSION_INFO}") |  | ||||||
| string(REGEX REPLACE |  | ||||||
|   ${LIBTOOL_REGEX} "\\3" |  | ||||||
|   LIBTOOL_AGE "${VERSION_INFO}") |  | ||||||
| 
 |  | ||||||
| # This is what libtool does internally on Unix platforms. |  | ||||||
| math(EXPR LIBRARY_SOVERSION "${LIBTOOL_CURRENT} - ${LIBTOOL_AGE}") |  | ||||||
| set(LIBRARY_VERSION "${LIBRARY_SOVERSION}.${LIBTOOL_AGE}.${LIBTOOL_REVISION}") |  | ||||||
| 
 |  | ||||||
| # External dependency library detection is automatic.  See the notes at the |  | ||||||
| # top of this file, for how to force or disable dependencies completely. |  | ||||||
| option(FT_DISABLE_ZLIB |  | ||||||
|   "Disable use of system zlib and use internal zlib library instead." OFF) |  | ||||||
| cmake_dependent_option(FT_REQUIRE_ZLIB |  | ||||||
|   "Require system zlib instead of internal zlib library." OFF |  | ||||||
|   "NOT FT_DISABLE_ZLIB" OFF) |  | ||||||
| 
 |  | ||||||
| option(FT_DISABLE_BZIP2 |  | ||||||
|   "Disable support of bzip2 compressed fonts." OFF) |  | ||||||
| cmake_dependent_option(FT_REQUIRE_BZIP2 |  | ||||||
|   "Require support of bzip2 compressed fonts." OFF |  | ||||||
|   "NOT FT_DISABLE_BZIP2" OFF) |  | ||||||
| 
 |  | ||||||
| option(FT_DISABLE_PNG |  | ||||||
|   "Disable support of PNG compressed OpenType embedded bitmaps." OFF) |  | ||||||
| cmake_dependent_option(FT_REQUIRE_PNG |  | ||||||
|   "Require support of PNG compressed OpenType embedded bitmaps." OFF |  | ||||||
|   "NOT FT_DISABLE_PNG" OFF) |  | ||||||
| 
 |  | ||||||
| option(FT_DISABLE_HARFBUZZ |  | ||||||
|   "Disable HarfBuzz (used for improving auto-hinting of OpenType fonts)." OFF) |  | ||||||
| cmake_dependent_option(FT_REQUIRE_HARFBUZZ |  | ||||||
|   "Require HarfBuzz for improving auto-hinting of OpenType fonts." OFF |  | ||||||
|   "NOT FT_DISABLE_HARFBUZZ" OFF) |  | ||||||
| 
 |  | ||||||
| option(FT_DISABLE_BROTLI |  | ||||||
|   "Disable support of compressed WOFF2 fonts." OFF) |  | ||||||
| cmake_dependent_option(FT_REQUIRE_BROTLI |  | ||||||
|   "Require support of compressed WOFF2 fonts." OFF |  | ||||||
|   "NOT FT_DISABLE_BROTLI" OFF) |  | ||||||
| 
 |  | ||||||
| option(FT_ENABLE_ERROR_STRINGS |  | ||||||
|   "Enable support for meaningful error descriptions." OFF) |  | ||||||
| 
 |  | ||||||
| # Disallow in-source builds |  | ||||||
| if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}") |  | ||||||
|   message(FATAL_ERROR |  | ||||||
|     "In-source builds are not permitted!  Make a separate folder for" |  | ||||||
|     " building, e.g.,\n" |  | ||||||
|     "  cmake -E make_directory build\n" |  | ||||||
|     "  cmake -E chdir build cmake ..\n" |  | ||||||
|     "Before that, remove the files created by this failed run with\n" |  | ||||||
|     "  cmake -E remove CMakeCache.txt\n" |  | ||||||
|     "  cmake -E remove_directory CMakeFiles") |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Add local cmake modules |  | ||||||
| list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/builds/cmake) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| if (BUILD_FRAMEWORK) |  | ||||||
|   if (NOT "${CMAKE_GENERATOR}" STREQUAL "Xcode") |  | ||||||
|     message(FATAL_ERROR |  | ||||||
|       "You should use Xcode generator with BUILD_FRAMEWORK enabled") |  | ||||||
|   endif () |  | ||||||
|   set(CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD)") |  | ||||||
|   set(BUILD_SHARED_LIBS ON) |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Find dependencies |  | ||||||
| include(FindPkgConfig) |  | ||||||
| 
 |  | ||||||
| if (NOT FT_DISABLE_HARFBUZZ) |  | ||||||
|   set(HARFBUZZ_MIN_VERSION "2.0.0") |  | ||||||
|   if (FT_REQUIRE_HARFBUZZ) |  | ||||||
|     find_package(HarfBuzz ${HARFBUZZ_MIN_VERSION} REQUIRED) |  | ||||||
|   else () |  | ||||||
|     find_package(HarfBuzz ${HARFBUZZ_MIN_VERSION}) |  | ||||||
|   endif () |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| if (NOT FT_DISABLE_PNG) |  | ||||||
|   if (FT_REQUIRE_PNG) |  | ||||||
|     find_package(PNG REQUIRED) |  | ||||||
|   else () |  | ||||||
|     find_package(PNG) |  | ||||||
|   endif () |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| if (NOT FT_DISABLE_ZLIB) |  | ||||||
|   if (FT_REQUIRE_ZLIB) |  | ||||||
|     find_package(ZLIB REQUIRED) |  | ||||||
|   else () |  | ||||||
|     find_package(ZLIB) |  | ||||||
|   endif () |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| if (NOT FT_DISABLE_BZIP2) |  | ||||||
|   # Genuine BZip2 does not provide bzip2.pc, but some platforms have it. |  | ||||||
|   # For better dependency in freetype2.pc, bzip2.pc is searched |  | ||||||
|   # regardless of the availability of libbz2. If bzip2.pc is found, |  | ||||||
|   # Requires.private is used instead of Libs.private. |  | ||||||
|   if (FT_REQUIRE_BZIP2) |  | ||||||
|     find_package(BZip2 REQUIRED) |  | ||||||
|   else () |  | ||||||
|     find_package(BZip2) |  | ||||||
|   endif () |  | ||||||
|   pkg_check_modules(PC_BZIP2 bzip2) |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| if (NOT FT_DISABLE_BROTLI) |  | ||||||
|   if (FT_REQUIRE_BROTLI) |  | ||||||
|     find_package(BrotliDec REQUIRED) |  | ||||||
|   else () |  | ||||||
|     find_package(BrotliDec) |  | ||||||
|   endif () |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| # Create the configuration file |  | ||||||
| if (UNIX) |  | ||||||
|   check_include_file("unistd.h" HAVE_UNISTD_H) |  | ||||||
|   check_include_file("fcntl.h" HAVE_FCNTL_H) |  | ||||||
| 
 |  | ||||||
|   file(READ "${PROJECT_SOURCE_DIR}/builds/unix/ftconfig.h.in" |  | ||||||
|     FTCONFIG_H) |  | ||||||
|   if (HAVE_UNISTD_H) |  | ||||||
|     string(REGEX REPLACE |  | ||||||
|       "#undef +(HAVE_UNISTD_H)" "#define \\1 1" |  | ||||||
|       FTCONFIG_H "${FTCONFIG_H}") |  | ||||||
|   endif () |  | ||||||
|   if (HAVE_FCNTL_H) |  | ||||||
|     string(REGEX REPLACE |  | ||||||
|       "#undef +(HAVE_FCNTL_H)" "#define \\1 1" |  | ||||||
|       FTCONFIG_H "${FTCONFIG_H}") |  | ||||||
|   endif () |  | ||||||
| else () |  | ||||||
|   file(READ "${PROJECT_SOURCE_DIR}/include/freetype/config/ftconfig.h" |  | ||||||
|     FTCONFIG_H) |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| set(FTCONFIG_H_NAME "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h") |  | ||||||
| if (EXISTS "${FTCONFIG_H_NAME}") |  | ||||||
|   file(READ "${FTCONFIG_H_NAME}" ORIGINAL_FTCONFIG_H) |  | ||||||
| else () |  | ||||||
|   set(ORIGINAL_FTCONFIG_H "") |  | ||||||
| endif () |  | ||||||
| if (NOT (ORIGINAL_FTCONFIG_H STREQUAL FTCONFIG_H)) |  | ||||||
|   file(WRITE "${FTCONFIG_H_NAME}" "${FTCONFIG_H}") |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Create the options file |  | ||||||
| file(READ "${PROJECT_SOURCE_DIR}/include/freetype/config/ftoption.h" |  | ||||||
|   FTOPTION_H) |  | ||||||
| if (ZLIB_FOUND) |  | ||||||
|   string(REGEX REPLACE |  | ||||||
|     "/\\* +(#define +FT_CONFIG_OPTION_SYSTEM_ZLIB) +\\*/" "\\1" |  | ||||||
|     FTOPTION_H "${FTOPTION_H}") |  | ||||||
| endif () |  | ||||||
| if (BZIP2_FOUND) |  | ||||||
|   string(REGEX REPLACE |  | ||||||
|     "/\\* +(#define +FT_CONFIG_OPTION_USE_BZIP2) +\\*/" "\\1" |  | ||||||
|     FTOPTION_H "${FTOPTION_H}") |  | ||||||
| endif () |  | ||||||
| if (PNG_FOUND) |  | ||||||
|   string(REGEX REPLACE |  | ||||||
|     "/\\* +(#define +FT_CONFIG_OPTION_USE_PNG) +\\*/" "\\1" |  | ||||||
|     FTOPTION_H "${FTOPTION_H}") |  | ||||||
| endif () |  | ||||||
| if (HARFBUZZ_FOUND) |  | ||||||
|   string(REGEX REPLACE |  | ||||||
|     "/\\* +(#define +FT_CONFIG_OPTION_USE_HARFBUZZ) +\\*/" "\\1" |  | ||||||
|     FTOPTION_H "${FTOPTION_H}") |  | ||||||
| endif () |  | ||||||
| if (BROTLIDEC_FOUND) |  | ||||||
|   string(REGEX REPLACE |  | ||||||
|     "/\\* +(#define +FT_CONFIG_OPTION_USE_BROTLI) +\\*/" "\\1" |  | ||||||
|     FTOPTION_H "${FTOPTION_H}") |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| if (FT_ENABLE_ERROR_STRINGS) |  | ||||||
|   string(REGEX REPLACE |  | ||||||
|     "/\\* +(#define +FT_CONFIG_OPTION_ERROR_STRINGS) +\\*/" "\\1" |  | ||||||
|     FTOPTION_H "${FTOPTION_H}") |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| set(FTOPTION_H_NAME "${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h") |  | ||||||
| if (EXISTS "${FTOPTION_H_NAME}") |  | ||||||
|   file(READ "${FTOPTION_H_NAME}" ORIGINAL_FTOPTION_H) |  | ||||||
| else () |  | ||||||
|   set(ORIGINAL_FTOPTION_H "") |  | ||||||
| endif () |  | ||||||
| if (NOT (ORIGINAL_FTOPTION_H STREQUAL FTOPTION_H)) |  | ||||||
|   file(WRITE "${FTOPTION_H_NAME}" "${FTOPTION_H}") |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| file(GLOB PUBLIC_HEADERS "include/ft2build.h" "include/freetype/*.h") |  | ||||||
| file(GLOB PUBLIC_CONFIG_HEADERS "include/freetype/config/*.h") |  | ||||||
| file(GLOB PRIVATE_HEADERS "include/freetype/internal/*.h") |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| set(BASE_SRCS |  | ||||||
|   src/autofit/autofit.c |  | ||||||
|   src/base/ftbase.c |  | ||||||
|   src/base/ftbbox.c |  | ||||||
|   src/base/ftbdf.c |  | ||||||
|   src/base/ftbitmap.c |  | ||||||
|   src/base/ftcid.c |  | ||||||
|   src/base/ftfstype.c |  | ||||||
|   src/base/ftgasp.c |  | ||||||
|   src/base/ftglyph.c |  | ||||||
|   src/base/ftgxval.c |  | ||||||
|   src/base/ftinit.c |  | ||||||
|   src/base/ftmm.c |  | ||||||
|   src/base/ftotval.c |  | ||||||
|   src/base/ftpatent.c |  | ||||||
|   src/base/ftpfr.c |  | ||||||
|   src/base/ftstroke.c |  | ||||||
|   src/base/ftsynth.c |  | ||||||
|   src/base/fttype1.c |  | ||||||
|   src/base/ftwinfnt.c |  | ||||||
|   src/bdf/bdf.c |  | ||||||
|   src/bzip2/ftbzip2.c |  | ||||||
|   src/cache/ftcache.c |  | ||||||
|   src/cff/cff.c |  | ||||||
|   src/cid/type1cid.c |  | ||||||
|   src/gzip/ftgzip.c |  | ||||||
|   src/lzw/ftlzw.c |  | ||||||
|   src/pcf/pcf.c |  | ||||||
|   src/pfr/pfr.c |  | ||||||
|   src/psaux/psaux.c |  | ||||||
|   src/pshinter/pshinter.c |  | ||||||
|   src/psnames/psnames.c |  | ||||||
|   src/raster/raster.c |  | ||||||
|   src/sdf/sdf.c |  | ||||||
|   src/sfnt/sfnt.c |  | ||||||
|   src/smooth/smooth.c |  | ||||||
|   src/svg/svg.c |  | ||||||
|   src/truetype/truetype.c |  | ||||||
|   src/type1/type1.c |  | ||||||
|   src/type42/type42.c |  | ||||||
|   src/winfonts/winfnt.c |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| if (UNIX) |  | ||||||
|   list(APPEND BASE_SRCS "builds/unix/ftsystem.c") |  | ||||||
| elseif (WIN32) |  | ||||||
|   list(APPEND BASE_SRCS "builds/windows/ftsystem.c") |  | ||||||
| else () |  | ||||||
|   list(APPEND BASE_SRCS "src/base/ftsystem.c") |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| if (WIN32) |  | ||||||
|   enable_language(RC) |  | ||||||
|   list(APPEND BASE_SRCS builds/windows/ftdebug.c |  | ||||||
|                         src/base/ftver.rc) |  | ||||||
| elseif (WINCE) |  | ||||||
|   list(APPEND BASE_SRCS builds/wince/ftdebug.c) |  | ||||||
| else () |  | ||||||
|   list(APPEND BASE_SRCS src/base/ftdebug.c) |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| if (BUILD_FRAMEWORK) |  | ||||||
|   list(APPEND BASE_SRCS builds/mac/freetype-Info.plist) |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| if (NOT DISABLE_FORCE_DEBUG_POSTFIX) |  | ||||||
|   set(CMAKE_DEBUG_POSTFIX d) |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| add_library(freetype |  | ||||||
|   ${PUBLIC_HEADERS} |  | ||||||
|   ${PUBLIC_CONFIG_HEADERS} |  | ||||||
|   ${PRIVATE_HEADERS} |  | ||||||
|   ${BASE_SRCS} |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| set_target_properties( |  | ||||||
|   freetype PROPERTIES |  | ||||||
|     C_VISIBILITY_PRESET hidden) |  | ||||||
| 
 |  | ||||||
| target_compile_definitions( |  | ||||||
|   freetype PRIVATE FT2_BUILD_LIBRARY) |  | ||||||
| 
 |  | ||||||
| if (WIN32) |  | ||||||
|   target_compile_definitions( |  | ||||||
|     freetype PRIVATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS) |  | ||||||
|   if (BUILD_SHARED_LIBS) |  | ||||||
|     target_compile_definitions( |  | ||||||
|       freetype PRIVATE DLL_EXPORT) |  | ||||||
|   endif () |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| if (BUILD_SHARED_LIBS) |  | ||||||
|   set_target_properties(freetype PROPERTIES |  | ||||||
|     VERSION ${LIBRARY_VERSION} |  | ||||||
|     SOVERSION ${LIBRARY_SOVERSION}) |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| # Pick up ftconfig.h and ftoption.h generated above, first. |  | ||||||
| target_include_directories( |  | ||||||
|   freetype |  | ||||||
|     PUBLIC |  | ||||||
|       $<INSTALL_INTERFACE:include/freetype2> |  | ||||||
|       $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include> |  | ||||||
|       $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> |  | ||||||
|     PRIVATE |  | ||||||
|       ${CMAKE_CURRENT_BINARY_DIR}/include |  | ||||||
|       ${CMAKE_CURRENT_SOURCE_DIR}/include |  | ||||||
| 
 |  | ||||||
|       # Make <ftconfig.h> available for builds/unix/ftsystem.c. |  | ||||||
|       ${CMAKE_CURRENT_BINARY_DIR}/include/freetype/config |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| if (BUILD_FRAMEWORK) |  | ||||||
|   set_property(SOURCE ${PUBLIC_CONFIG_HEADERS} |  | ||||||
|     PROPERTY MACOSX_PACKAGE_LOCATION Headers/config |  | ||||||
|   ) |  | ||||||
|   set_target_properties(freetype PROPERTIES |  | ||||||
|     FRAMEWORK TRUE |  | ||||||
|     MACOSX_FRAMEWORK_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/builds/mac/freetype-Info.plist |  | ||||||
|     PUBLIC_HEADER "${PUBLIC_HEADERS}" |  | ||||||
|     XCODE_ATTRIBUTE_INSTALL_PATH "@rpath" |  | ||||||
|   ) |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| # 'freetype-interface' is an interface library, to be accessed with |  | ||||||
| # `EXPORT_NAME Freetype::Freetype`.  This is the target name provided by |  | ||||||
| # CMake's `FindFreetype.cmake`, so we provide it for compatibility. |  | ||||||
| add_library(freetype-interface INTERFACE) |  | ||||||
| set_target_properties(freetype-interface PROPERTIES |  | ||||||
|   EXPORT_NAME Freetype::Freetype |  | ||||||
|   INTERFACE_LINK_LIBRARIES freetype) |  | ||||||
| 
 |  | ||||||
| set(PKGCONFIG_REQUIRES "") |  | ||||||
| set(PKGCONFIG_REQUIRES_PRIVATE "") |  | ||||||
| set(PKGCONFIG_LIBS "-L\${libdir} -lfreetype") |  | ||||||
| set(PKGCONFIG_LIBS_PRIVATE "") |  | ||||||
| 
 |  | ||||||
| if (ZLIB_FOUND) |  | ||||||
|   target_link_libraries(freetype PRIVATE ${ZLIB_LIBRARIES}) |  | ||||||
|   target_include_directories(freetype PRIVATE ${ZLIB_INCLUDE_DIRS}) |  | ||||||
|   list(APPEND PKGCONFIG_REQUIRES_PRIVATE "zlib") |  | ||||||
| endif () |  | ||||||
| if (BZIP2_FOUND) |  | ||||||
|   target_link_libraries(freetype PRIVATE ${BZIP2_LIBRARIES}) |  | ||||||
|   target_include_directories(freetype PRIVATE ${BZIP2_INCLUDE_DIR}) # not BZIP2_INCLUDE_DIRS |  | ||||||
|   if (PC_BZIP2_FOUND) |  | ||||||
|     list(APPEND PKGCONFIG_REQUIRES_PRIVATE "bzip2") |  | ||||||
|   else () |  | ||||||
|     list(APPEND PKGCONFIG_LIBS_PRIVATE "-lbz2") |  | ||||||
|   endif () |  | ||||||
| endif () |  | ||||||
| if (PNG_FOUND) |  | ||||||
|   target_link_libraries(freetype PRIVATE ${PNG_LIBRARIES}) |  | ||||||
|   target_compile_definitions(freetype PRIVATE ${PNG_DEFINITIONS}) |  | ||||||
|   target_include_directories(freetype PRIVATE ${PNG_INCLUDE_DIRS}) |  | ||||||
|   list(APPEND PKGCONFIG_REQUIRES_PRIVATE "libpng") |  | ||||||
| endif () |  | ||||||
| if (HarfBuzz_FOUND) |  | ||||||
|   target_link_libraries(freetype PRIVATE ${HarfBuzz_LIBRARY}) |  | ||||||
|   target_include_directories(freetype PRIVATE ${HarfBuzz_INCLUDE_DIRS}) |  | ||||||
|   list(APPEND PKGCONFIG_REQUIRES_PRIVATE "harfbuzz >= ${HARFBUZZ_MIN_VERSION}") |  | ||||||
| endif () |  | ||||||
| if (BROTLIDEC_FOUND) |  | ||||||
|   target_link_libraries(freetype PRIVATE ${BROTLIDEC_LIBRARIES}) |  | ||||||
|   target_compile_definitions(freetype PRIVATE ${BROTLIDEC_DEFINITIONS}) |  | ||||||
|   target_include_directories(freetype PRIVATE ${BROTLIDEC_INCLUDE_DIRS}) |  | ||||||
|   list(APPEND PKGCONFIG_REQUIRES_PRIVATE "libbrotlidec") |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Installation |  | ||||||
| include(GNUInstallDirs) |  | ||||||
| 
 |  | ||||||
| if (NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL) |  | ||||||
|   install( |  | ||||||
|     # Note the trailing slash in the argument to `DIRECTORY'! |  | ||||||
|     DIRECTORY ${PROJECT_SOURCE_DIR}/include/ |  | ||||||
|       DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/freetype2 |  | ||||||
|       COMPONENT headers |  | ||||||
|       PATTERN "internal" EXCLUDE |  | ||||||
|       PATTERN "ftconfig.h" EXCLUDE |  | ||||||
|       PATTERN "ftoption.h" EXCLUDE) |  | ||||||
|   install( |  | ||||||
|     FILES ${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h |  | ||||||
|           ${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h |  | ||||||
|       DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/freetype2/freetype/config |  | ||||||
|       COMPONENT headers) |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) |  | ||||||
|   # Generate the pkg-config file |  | ||||||
|   file(READ "${PROJECT_SOURCE_DIR}/builds/unix/freetype2.in" FREETYPE2_PC_IN) |  | ||||||
| 
 |  | ||||||
|   string(REPLACE ";" ", " PKGCONFIG_REQUIRES_PRIVATE "${PKGCONFIG_REQUIRES_PRIVATE}") |  | ||||||
| 
 |  | ||||||
|   string(REPLACE "%prefix%" ${CMAKE_INSTALL_PREFIX} |  | ||||||
|           FREETYPE2_PC_IN ${FREETYPE2_PC_IN}) |  | ||||||
|   string(REPLACE "%exec_prefix%" "\${prefix}" |  | ||||||
|           FREETYPE2_PC_IN ${FREETYPE2_PC_IN}) |  | ||||||
|   string(REPLACE "%libdir%" "\${prefix}/${CMAKE_INSTALL_LIBDIR}" |  | ||||||
|           FREETYPE2_PC_IN ${FREETYPE2_PC_IN}) |  | ||||||
|   string(REPLACE "%includedir%" "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}" |  | ||||||
|           FREETYPE2_PC_IN ${FREETYPE2_PC_IN}) |  | ||||||
|   string(REPLACE "%ft_version%" "${LIBTOOL_CURRENT}.${LIBTOOL_REVISION}.${LIBTOOL_AGE}" |  | ||||||
|           FREETYPE2_PC_IN ${FREETYPE2_PC_IN}) |  | ||||||
| 
 |  | ||||||
|   if (BUILD_SHARED_LIBS) |  | ||||||
|     string(REPLACE "%PKGCONFIG_REQUIRES%" "${PKGCONFIG_REQUIRES}" |  | ||||||
|             FREETYPE2_PC_IN ${FREETYPE2_PC_IN}) |  | ||||||
|     string(REPLACE "%PKGCONFIG_REQUIRES_PRIVATE%" "${PKGCONFIG_REQUIRES_PRIVATE}" |  | ||||||
|             FREETYPE2_PC_IN ${FREETYPE2_PC_IN}) |  | ||||||
|     string(REPLACE "%PKGCONFIG_LIBS%" "${PKGCONFIG_LIBS}" |  | ||||||
|             FREETYPE2_PC_IN ${FREETYPE2_PC_IN}) |  | ||||||
|     string(REPLACE "%PKGCONFIG_LIBS_PRIVATE%" "${PKGCONFIG_LIBS_PRIVATE}" |  | ||||||
|             FREETYPE2_PC_IN ${FREETYPE2_PC_IN}) |  | ||||||
|   else () |  | ||||||
|     string(REPLACE "%PKGCONFIG_REQUIRES%" "${PKGCONFIG_REQUIRES} ${PKGCONFIG_REQUIRES_PRIVATE}" |  | ||||||
|             FREETYPE2_PC_IN ${FREETYPE2_PC_IN}) |  | ||||||
|     string(REPLACE "%PKGCONFIG_REQUIRES_PRIVATE%" "" |  | ||||||
|             FREETYPE2_PC_IN ${FREETYPE2_PC_IN}) |  | ||||||
|     string(REPLACE "%PKGCONFIG_LIBS%" "${PKGCONFIG_LIBS} ${PKGCONFIG_LIBS_PRIVATE}" |  | ||||||
|             FREETYPE2_PC_IN ${FREETYPE2_PC_IN}) |  | ||||||
|     string(REPLACE "%PKGCONFIG_LIBS_PRIVATE%" "" |  | ||||||
|             FREETYPE2_PC_IN ${FREETYPE2_PC_IN}) |  | ||||||
|   endif () |  | ||||||
| 
 |  | ||||||
|   set(FREETYPE2_PC_IN_NAME "${PROJECT_BINARY_DIR}/freetype2.pc") |  | ||||||
|   if (EXISTS "${FREETYPE2_PC_IN_NAME}") |  | ||||||
|     file(READ "${FREETYPE2_PC_IN_NAME}" ORIGINAL_FREETYPE2_PC_IN) |  | ||||||
|   else () |  | ||||||
|     set(ORIGINAL_FREETYPE2_PC_IN "") |  | ||||||
|   endif () |  | ||||||
|   if (NOT (ORIGINAL_FREETYPE2_PC_IN STREQUAL FREETYPE2_PC_IN)) |  | ||||||
|     file(WRITE "${FREETYPE2_PC_IN_NAME}" ${FREETYPE2_PC_IN}) |  | ||||||
|   endif () |  | ||||||
| 
 |  | ||||||
|   install( |  | ||||||
|     FILES ${PROJECT_BINARY_DIR}/freetype2.pc |  | ||||||
|     DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig |  | ||||||
|     COMPONENT pkgconfig) |  | ||||||
| 
 |  | ||||||
|   include(CMakePackageConfigHelpers) |  | ||||||
|   write_basic_package_version_file( |  | ||||||
|     ${PROJECT_BINARY_DIR}/freetype-config-version.cmake |  | ||||||
|     VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH} |  | ||||||
|     COMPATIBILITY SameMajorVersion) |  | ||||||
| 
 |  | ||||||
|   install( |  | ||||||
|     TARGETS freetype freetype-interface |  | ||||||
|       EXPORT freetype-targets |  | ||||||
|       LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} |  | ||||||
|       ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} |  | ||||||
|       RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} |  | ||||||
|       FRAMEWORK DESTINATION Library/Frameworks |  | ||||||
|       COMPONENT libraries) |  | ||||||
|   install( |  | ||||||
|     EXPORT freetype-targets |  | ||||||
|       DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/freetype |  | ||||||
|       FILE freetype-config.cmake |  | ||||||
|       COMPONENT headers) |  | ||||||
|   install( |  | ||||||
|     FILES ${PROJECT_BINARY_DIR}/freetype-config-version.cmake |  | ||||||
|     DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/freetype |  | ||||||
|     COMPONENT headers) |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Packaging |  | ||||||
| set(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME}) |  | ||||||
| set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "The FreeType font rendering library.") |  | ||||||
| set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README") |  | ||||||
| set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.TXT") |  | ||||||
| 
 |  | ||||||
| set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR}) |  | ||||||
| set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR}) |  | ||||||
| set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH}) |  | ||||||
| set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") |  | ||||||
| 
 |  | ||||||
| if (WIN32) |  | ||||||
|   set(CPACK_GENERATOR ZIP) |  | ||||||
| else () |  | ||||||
|   set(CPACK_GENERATOR TGZ) |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| set(CPACK_COMPONENT_LIBRARIES_DISPLAY_NAME "Libraries") |  | ||||||
| set(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C/C++ Headers") |  | ||||||
| set(CPACK_COMPONENT_LIBRARIES_DESCRIPTION |  | ||||||
|   "Library used to build programs which use FreeType") |  | ||||||
| set(CPACK_COMPONENT_HEADERS_DESCRIPTION |  | ||||||
|   "C/C++ header files for use with FreeType") |  | ||||||
| set(CPACK_COMPONENT_HEADERS_DEPENDS libraries) |  | ||||||
| set(CPACK_COMPONENT_LIBRARIES_GROUP "Development") |  | ||||||
| set(CPACK_COMPONENT_HEADERS_GROUP "Development") |  | ||||||
| 
 |  | ||||||
| include(CPack) |  | ||||||
|  | @ -1,46 +0,0 @@ | ||||||
| FREETYPE LICENSES |  | ||||||
| ----------------- |  | ||||||
| 
 |  | ||||||
| The FreeType  2 font  engine is  copyrighted work  and cannot  be used |  | ||||||
| legally without  a software  license.  In order  to make  this project |  | ||||||
| usable to  a vast majority of  developers, we distribute it  under two |  | ||||||
| mutually exclusive open-source licenses. |  | ||||||
| 
 |  | ||||||
| This means that *you* must choose  *one* of the two licenses described |  | ||||||
| below, then obey all its terms and conditions when using FreeType 2 in |  | ||||||
| any of your projects or products. |  | ||||||
| 
 |  | ||||||
|   - The FreeType License,  found in the file  `docs/FTL.TXT`, which is |  | ||||||
|     similar to the  original BSD license *with*  an advertising clause |  | ||||||
|     that forces  you to explicitly  cite the FreeType project  in your |  | ||||||
|     product's  documentation.  All  details are  in the  license file. |  | ||||||
|     This license is suited to products which don't use the GNU General |  | ||||||
|     Public License. |  | ||||||
| 
 |  | ||||||
|     Note that  this license  is compatible to  the GNU  General Public |  | ||||||
|     License version 3, but not version 2. |  | ||||||
| 
 |  | ||||||
|   - The   GNU   General   Public   License   version   2,   found   in |  | ||||||
|     `docs/GPLv2.TXT`  (any  later  version  can  be  used  also),  for |  | ||||||
|     programs  which  already  use  the  GPL.  Note  that  the  FTL  is |  | ||||||
|     incompatible with GPLv2 due to its advertisement clause. |  | ||||||
| 
 |  | ||||||
| The contributed  BDF and PCF  drivers come  with a license  similar to |  | ||||||
| that  of the  X Window  System.   It is  compatible to  the above  two |  | ||||||
| licenses (see files `src/bdf/README`  and `src/pcf/README`).  The same |  | ||||||
| holds   for   the   source    code   files   `src/base/fthash.c`   and |  | ||||||
| `include/freetype/internal/fthash.h`; they were part of the BDF driver |  | ||||||
| in earlier FreeType versions. |  | ||||||
| 
 |  | ||||||
| The gzip  module uses the  zlib license (see  `src/gzip/zlib.h`) which |  | ||||||
| too is compatible to the above two licenses. |  | ||||||
| 
 |  | ||||||
| The files `src/autofit/ft-hb.c` and `src/autofit/ft-hb.h` contain code |  | ||||||
| taken almost  verbatim from the  HarfBuzz file `hb-ft.cc`,  which uses |  | ||||||
| the 'Old MIT' license, compatible to the above two licenses. |  | ||||||
| 
 |  | ||||||
| The  MD5 checksum  support  (only used  for  debugging in  development |  | ||||||
| builds) is in the public domain. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| --- end of LICENSE.TXT --- |  | ||||||
|  | @ -1,34 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 build system -- top-level Makefile
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 1996-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Project names
 |  | ||||||
| #
 |  | ||||||
| PROJECT       := freetype |  | ||||||
| PROJECT_TITLE := FreeType |  | ||||||
| 
 |  | ||||||
| # The variable TOP_DIR holds the path to the topmost directory in the project
 |  | ||||||
| # engine source hierarchy.  If it is not defined, default it to `.'.
 |  | ||||||
| #
 |  | ||||||
| TOP_DIR ?= . |  | ||||||
| 
 |  | ||||||
| # The variable OBJ_DIR gives the location where object files and the
 |  | ||||||
| # FreeType library are built.
 |  | ||||||
| #
 |  | ||||||
| OBJ_DIR ?= $(TOP_DIR)/objs |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| include $(TOP_DIR)/builds/toplevel.mk |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,107 +0,0 @@ | ||||||
| FreeType 2.12.1 |  | ||||||
| =============== |  | ||||||
| 
 |  | ||||||
| Homepage: https://www.freetype.org |  | ||||||
| 
 |  | ||||||
| FreeType is a freely available software library to render fonts. |  | ||||||
| 
 |  | ||||||
| It  is  written  in  C,   designed  to  be  small,  efficient,  highly |  | ||||||
| customizable,  and portable  while capable  of producing  high-quality |  | ||||||
| output (glyph images) of most vector and bitmap font formats. |  | ||||||
| 
 |  | ||||||
| Please   read  the   `docs/CHANGES`   file,   it  contains   IMPORTANT |  | ||||||
| INFORMATION. |  | ||||||
| 
 |  | ||||||
| Read the files `docs/INSTALL*`  for installation instructions; see the |  | ||||||
| file `docs/LICENSE.TXT` for the available licenses. |  | ||||||
| 
 |  | ||||||
| For using FreeType's git repository  instead of a distribution bundle, |  | ||||||
| please read file  `README.git`.  Note that you have  to actually clone |  | ||||||
| the repository; using a snapshot will  not work (in other words, don't |  | ||||||
| use gitlab's 'Download' button). |  | ||||||
| 
 |  | ||||||
| The FreeType 2 API reference is located in directory `docs/reference`; |  | ||||||
| use the file  `index.html` as the top entry point.   [Please note that |  | ||||||
| currently  the search  function  for  locally installed  documentation |  | ||||||
| doesn't work due to cross-site scripting issues.] |  | ||||||
| 
 |  | ||||||
| Additional documentation is  available as a separate  package from our |  | ||||||
| sites.  Go to |  | ||||||
| 
 |  | ||||||
|   https://download.savannah.gnu.org/releases/freetype/ |  | ||||||
| 
 |  | ||||||
| and download one of the following files. |  | ||||||
| 
 |  | ||||||
|   freetype-doc-2.12.1.tar.xz |  | ||||||
|   freetype-doc-2.12.1.tar.gz |  | ||||||
|   ftdoc2121.zip |  | ||||||
| 
 |  | ||||||
| To view the documentation online, go to |  | ||||||
| 
 |  | ||||||
|   https://www.freetype.org/freetype2/docs/ |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| Mailing Lists |  | ||||||
| ------------- |  | ||||||
| 
 |  | ||||||
| The preferred  way of  communication with the  FreeType team  is using |  | ||||||
| e-mail lists. |  | ||||||
| 
 |  | ||||||
|   general use and discussion:      freetype@nongnu.org |  | ||||||
|   engine internals, porting, etc.: freetype-devel@nongnu.org |  | ||||||
|   announcements:                   freetype-announce@nongnu.org |  | ||||||
|   git repository tracker:          freetype-commit@nongnu.org |  | ||||||
| 
 |  | ||||||
| The lists are moderated; see |  | ||||||
| 
 |  | ||||||
|   https://www.freetype.org/contact.html |  | ||||||
| 
 |  | ||||||
| how to subscribe. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| Bugs |  | ||||||
| ---- |  | ||||||
| 
 |  | ||||||
| Please submit bug reports at |  | ||||||
| 
 |  | ||||||
|   https://gitlab.freedesktop.org/freetype/freetype/-/issues |  | ||||||
| 
 |  | ||||||
| Alternatively,    you    might    report    bugs    by    e-mail    to |  | ||||||
| `freetype-devel@nongnu.org`.    Don't  forget   to  send   a  detailed |  | ||||||
| explanation of the problem -- there  is nothing worse than receiving a |  | ||||||
| terse message that only says 'it doesn't work'. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| Patches |  | ||||||
| ------- |  | ||||||
| 
 |  | ||||||
| For larger changes please provide merge requests at |  | ||||||
| 
 |  | ||||||
|   https://gitlab.freedesktop.org/freetype/freetype/-/merge_requests |  | ||||||
| 
 |  | ||||||
| Alternatively, you can send patches to the `freetype-devel@nongnu.org` |  | ||||||
| mailing list  -- and thank you  in advance for your  work on improving |  | ||||||
| FreeType! |  | ||||||
| 
 |  | ||||||
| Details on the process can be found here: |  | ||||||
| 
 |  | ||||||
|   https://www.freetype.org/developer.html#patches |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| Enjoy! |  | ||||||
| 
 |  | ||||||
|   The FreeType Team |  | ||||||
| 
 |  | ||||||
| ---------------------------------------------------------------------- |  | ||||||
| 
 |  | ||||||
| Copyright (C) 2006-2022 by |  | ||||||
| David Turner, Robert Wilhelm, and Werner Lemberg. |  | ||||||
| 
 |  | ||||||
| This  file is  part of  the FreeType  project, and  may only  be used, |  | ||||||
| modified,  and distributed  under the  terms of  the  FreeType project |  | ||||||
| license,  LICENSE.TXT.  By  continuing to  use, modify,  or distribute |  | ||||||
| this file you  indicate that you have read  the license and understand |  | ||||||
| and accept it fully. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| --- end of README --- |  | ||||||
|  | @ -1,102 +0,0 @@ | ||||||
| README.git |  | ||||||
| ========== |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| repository issues |  | ||||||
| ----------------- |  | ||||||
| 
 |  | ||||||
| FreeType's official repository site is |  | ||||||
| 
 |  | ||||||
|   https://gitlab.freedesktop.org/freetype  , |  | ||||||
| 
 |  | ||||||
| from  which the  'freetype.git' and  'freetype-demos.git' repositories |  | ||||||
| can be cloned in the usual way. |  | ||||||
| 
 |  | ||||||
|   git clone https://gitlab.freedesktop.org/freetype/freetype.git |  | ||||||
|   git clone https://gitlab.freedesktop.org/freetype/freetype-demos.git |  | ||||||
| 
 |  | ||||||
| If you  want to  use the  Savannah mirror  instead, you  have to  do a |  | ||||||
| slightly different  incantation because  the repository  names contain |  | ||||||
| digit '2' for historical reasons. |  | ||||||
| 
 |  | ||||||
|   git clone \ |  | ||||||
|     https://git.savannah.nongnu.org/git/freetype/freetype2.git \ |  | ||||||
|     freetype |  | ||||||
|   git clone \ |  | ||||||
|     https://git.savannah.nongnu.org/git/freetype/freetype2-demos.git \ |  | ||||||
|     freetype-demos |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| standard builds with `configure` |  | ||||||
| -------------------------------- |  | ||||||
| 
 |  | ||||||
| The git repository doesn't contain pre-built configuration scripts for |  | ||||||
| UNIXish platforms.  To generate them say |  | ||||||
| 
 |  | ||||||
|   sh autogen.sh |  | ||||||
| 
 |  | ||||||
| which in turn depends on the following packages: |  | ||||||
| 
 |  | ||||||
|   automake (1.10.1) |  | ||||||
|   libtool (2.2.4) |  | ||||||
|   autoconf (2.62) |  | ||||||
| 
 |  | ||||||
| The versions given  in parentheses are known to  work.  Newer versions |  | ||||||
| should  work too,  of course.   Note  that `autogen.sh`  also sets  up |  | ||||||
| proper file permissions for the `configure` and auxiliary scripts. |  | ||||||
| 
 |  | ||||||
| The `autogen.sh` script checks whether the versions of the above three |  | ||||||
| tools match the numbers above.  Otherwise it will complain and suggest |  | ||||||
| either  upgrading or  using  environment variables  to  point to  more |  | ||||||
| recent versions of the required tools. |  | ||||||
| 
 |  | ||||||
| Note that  `aclocal` is provided  by the 'automake' package  on Linux, |  | ||||||
| and that `libtoolize` is called `glibtoolize` on Darwin (OS X). |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| alternative build methods |  | ||||||
| ------------------------- |  | ||||||
| 
 |  | ||||||
| For static  builds that don't use  platform-specific optimizations, no |  | ||||||
| configure script is necessary at all; saying |  | ||||||
| 
 |  | ||||||
|   make setup ansi |  | ||||||
|   make |  | ||||||
| 
 |  | ||||||
| should work on all platforms that have GNU `make` (or `makepp`). |  | ||||||
| 
 |  | ||||||
| A build  with `cmake`  or `meson`  can be done  directly from  the git |  | ||||||
| repository.  However, if you want  to use the `FT_DEBUG_LOGGING` macro |  | ||||||
| (see file `docs/DEBUG` for more information) it is currently mandatory |  | ||||||
| to execute `autogen.sh`  in advance; this script clones  the 'dlg' git |  | ||||||
| submodule and copies some files into FreeType's source tree. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| Code of Conduct |  | ||||||
| --------------- |  | ||||||
| 
 |  | ||||||
| Please note that  this project is released with a  Contributor Code of |  | ||||||
| Conduct (CoC).  By participating in this project you agree to abide by |  | ||||||
| its terms, which you can find in the following link: |  | ||||||
| 
 |  | ||||||
|   https://www.freedesktop.org/wiki/CodeOfConduct |  | ||||||
| 
 |  | ||||||
| CoC issues may  be raised to the project maintainers  at the following |  | ||||||
| address: |  | ||||||
| 
 |  | ||||||
|   wl@gnu.org |  | ||||||
|   apodtele@gmail.com |  | ||||||
| 
 |  | ||||||
| ---------------------------------------------------------------------- |  | ||||||
| 
 |  | ||||||
| Copyright (C) 2005-2022 by |  | ||||||
| David Turner, Robert Wilhelm, and Werner Lemberg. |  | ||||||
| 
 |  | ||||||
| This  file is  part of  the FreeType  project, and  may only  be used, |  | ||||||
| modified,  and distributed  under the  terms of  the  FreeType project |  | ||||||
| license,  LICENSE.TXT.  By  continuing to  use, modify,  or distribute |  | ||||||
| this file you  indicate that you have read  the license and understand |  | ||||||
| and accept it fully. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| --- end of README.git --- |  | ||||||
|  | @ -1,200 +0,0 @@ | ||||||
| #!/bin/sh |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 2005-2022 by |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg. |  | ||||||
| # |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified, |  | ||||||
| # and distributed under the terms of the FreeType project license, |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you |  | ||||||
| # indicate that you have read the license and understand and accept it |  | ||||||
| # fully. |  | ||||||
| 
 |  | ||||||
| run () |  | ||||||
| { |  | ||||||
|   echo "running \`$*'" |  | ||||||
|   eval $* |  | ||||||
| 
 |  | ||||||
|   if test $? != 0 ; then |  | ||||||
|     echo "error while running \`$*'" |  | ||||||
|     exit 1 |  | ||||||
|   fi |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| get_major_version () |  | ||||||
| { |  | ||||||
|   echo $1 | sed -e 's/\([0-9][0-9]*\)\..*/\1/g' |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| get_minor_version () |  | ||||||
| { |  | ||||||
|   echo $1 | sed -e 's/[0-9][0-9]*\.\([0-9][0-9]*\).*/\1/g' |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| get_patch_version () |  | ||||||
| { |  | ||||||
|   # tricky: some version numbers don't include a patch |  | ||||||
|   # separated with a point, but something like 1.4-p6 |  | ||||||
|   patch=`echo $1 | sed -e 's/[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\).*/\1/g'` |  | ||||||
|   if test "$patch" = "$1"; then |  | ||||||
|     patch=`echo $1 | sed -e 's/[0-9][0-9]*\.[0-9][0-9]*\-p\([0-9][0-9]*\).*/\1/g'` |  | ||||||
|     # if there isn't any patch number, default to 0 |  | ||||||
|     if test "$patch" = "$1"; then |  | ||||||
|       patch=0 |  | ||||||
|     fi |  | ||||||
|   fi |  | ||||||
|   echo $patch |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| # $1: version to check |  | ||||||
| # $2: minimum version |  | ||||||
| 
 |  | ||||||
| compare_to_minimum_version () |  | ||||||
| { |  | ||||||
|   MAJOR1=`get_major_version $1` |  | ||||||
|   MAJOR2=`get_major_version $2` |  | ||||||
|   if test $MAJOR1 -lt $MAJOR2; then |  | ||||||
|     echo 0 |  | ||||||
|     return |  | ||||||
|   else |  | ||||||
|     if test $MAJOR1 -gt $MAJOR2; then |  | ||||||
|       echo 1 |  | ||||||
|       return |  | ||||||
|     fi |  | ||||||
|   fi |  | ||||||
| 
 |  | ||||||
|   MINOR1=`get_minor_version $1` |  | ||||||
|   MINOR2=`get_minor_version $2` |  | ||||||
|   if test $MINOR1 -lt $MINOR2; then |  | ||||||
|     echo 0 |  | ||||||
|     return |  | ||||||
|   else |  | ||||||
|     if test $MINOR1 -gt $MINOR2; then |  | ||||||
|       echo 1 |  | ||||||
|       return |  | ||||||
|     fi |  | ||||||
|   fi |  | ||||||
| 
 |  | ||||||
|   PATCH1=`get_patch_version $1` |  | ||||||
|   PATCH2=`get_patch_version $2` |  | ||||||
|   if test $PATCH1 -lt $PATCH2; then |  | ||||||
|     echo 0 |  | ||||||
|   else |  | ||||||
|     echo 1 |  | ||||||
|   fi |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| # check the version of a given tool against a minimum version number |  | ||||||
| # |  | ||||||
| # $1: tool path |  | ||||||
| # $2: tool usual name (e.g. `aclocal') |  | ||||||
| # $3: tool variable  (e.g. `ACLOCAL') |  | ||||||
| # $4: minimum version to check against |  | ||||||
| # $5: option field index used to extract the tool version from the |  | ||||||
| #     output of --version |  | ||||||
| 
 |  | ||||||
| check_tool_version () |  | ||||||
| { |  | ||||||
|   field=$5 |  | ||||||
|   # assume the output of "[TOOL] --version" is "toolname (GNU toolname foo bar) version" |  | ||||||
|   if test "$field"x = x; then |  | ||||||
|     field=3  # default to 3 for all GNU autotools, after filtering enclosed string |  | ||||||
|   fi |  | ||||||
|   version=`$1 --version | head -1 | sed 's/([^)]*)/()/g' | cut -d ' ' -f $field` |  | ||||||
|   version_check=`compare_to_minimum_version $version $4` |  | ||||||
|   if test "$version_check"x = 0x; then |  | ||||||
|     echo "ERROR: Your version of the \`$2' tool is too old." |  | ||||||
|     echo "       Minimum version $4 is required (yours is version $version)." |  | ||||||
|     echo "       Please upgrade or use the $3 variable to point to a more recent one." |  | ||||||
|     echo "" |  | ||||||
|     exit 1 |  | ||||||
|   fi |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| # Solaris 10's shell doesn't like the `!` operator to negate the exit status. |  | ||||||
| if test -f ./builds/unix/configure.raw; then |  | ||||||
|   : |  | ||||||
| else |  | ||||||
|   echo "You must be in the same directory as \`autogen.sh'." |  | ||||||
|   echo "Bootstrapping doesn't work if srcdir != builddir." |  | ||||||
|   exit 1 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| # On MacOS X, the GNU libtool is named `glibtool'. |  | ||||||
| HOSTOS=`uname` |  | ||||||
| if test "$LIBTOOLIZE"x != x; then |  | ||||||
|   : |  | ||||||
| elif test "$HOSTOS"x = Darwinx; then |  | ||||||
|   LIBTOOLIZE=glibtoolize |  | ||||||
| else |  | ||||||
|   LIBTOOLIZE=libtoolize |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| if test "$ACLOCAL"x = x; then |  | ||||||
|   ACLOCAL=aclocal |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| if test "$AUTOCONF"x = x; then |  | ||||||
|   AUTOCONF=autoconf |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| check_tool_version $ACLOCAL    aclocal    ACLOCAL    1.10.1 |  | ||||||
| check_tool_version $LIBTOOLIZE libtoolize LIBTOOLIZE 2.2.4 |  | ||||||
| check_tool_version $AUTOCONF   autoconf   AUTOCONF   2.62 |  | ||||||
| 
 |  | ||||||
| # This sets FREETYPE version. |  | ||||||
| eval `sed -n \ |  | ||||||
| -e 's/^#define  *\(FREETYPE_MAJOR\)  *\([0-9][0-9]*\).*/\1=\2/p' \ |  | ||||||
| -e 's/^#define  *\(FREETYPE_MINOR\)  *\([0-9][0-9]*\).*/\1=\2/p' \ |  | ||||||
| -e 's/^#define  *\(FREETYPE_PATCH\)  *\([0-9][0-9]*\).*/\1=\2/p' \ |  | ||||||
| include/freetype/freetype.h` |  | ||||||
| 
 |  | ||||||
| if test "$FREETYPE_PATCH" = "0"; then |  | ||||||
|   FREETYPE=$FREETYPE_MAJOR.$FREETYPE_MINOR |  | ||||||
| else |  | ||||||
|   FREETYPE=$FREETYPE_MAJOR.$FREETYPE_MINOR.$FREETYPE_PATCH |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| echo "FreeType $FREETYPE:" |  | ||||||
| 
 |  | ||||||
| cd builds/unix |  | ||||||
| 
 |  | ||||||
| echo "generating \`configure.ac'" |  | ||||||
| sed -e "s;@VERSION@;$FREETYPE;" \ |  | ||||||
|   < configure.raw > configure.ac |  | ||||||
| 
 |  | ||||||
| run aclocal -I . --force |  | ||||||
| run $LIBTOOLIZE --force --copy --install |  | ||||||
| run autoconf --force |  | ||||||
| 
 |  | ||||||
| chmod +x install-sh |  | ||||||
| 
 |  | ||||||
| cd ../.. |  | ||||||
| 
 |  | ||||||
| chmod +x ./configure |  | ||||||
| 
 |  | ||||||
| # Copy all necessary 'dlg' files. |  | ||||||
| copy_submodule_files () |  | ||||||
| { |  | ||||||
|   echo "Copying files from \`subprojects/dlg' to \`src/dlg' and \`include/dlg'" |  | ||||||
|   mkdir include/dlg 2> /dev/null |  | ||||||
|   cp $DLG_INC_DIR/output.h include/dlg |  | ||||||
|   cp $DLG_INC_DIR/dlg.h include/dlg |  | ||||||
|   cp $DLG_SRC_DIR/* src/dlg |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| if test -e ".git"; then |  | ||||||
|   DLG_INC_DIR=subprojects/dlg/include/dlg |  | ||||||
|   DLG_SRC_DIR=subprojects/dlg/src/dlg |  | ||||||
| 
 |  | ||||||
|   if test -d "$DLG_INC_DIR"; then |  | ||||||
|     : |  | ||||||
|   else |  | ||||||
|     echo "Checking out submodule in \`subprojects/dlg':" |  | ||||||
|     git submodule init |  | ||||||
|     git submodule update |  | ||||||
|   fi |  | ||||||
| 
 |  | ||||||
|   copy_submodule_files |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| # EOF |  | ||||||
|  | @ -1,110 +0,0 @@ | ||||||
| 
 |  | ||||||
| README for the builds/amiga subdirectory. |  | ||||||
| 
 |  | ||||||
| Copyright (C) 2005-2022 by |  | ||||||
| Werner Lemberg and Detlef Würkner. |  | ||||||
| 
 |  | ||||||
| This file is part of the FreeType project, and may only be used, modified, |  | ||||||
| and distributed under the terms of the FreeType project license, |  | ||||||
| LICENSE.TXT.  By continuing to use, modify, or distribute this file you |  | ||||||
| indicate that you have read the license and understand and accept it |  | ||||||
| fully. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| The makefile.os4 is for the AmigaOS4 SDK.  To use it, type |  | ||||||
| "make -f makefile.os4", it produces a link library libft2_ppc.a. |  | ||||||
| 
 |  | ||||||
| The makefile is for ppc-morphos-gcc-2.95.3-bin.tgz (gcc 2.95.3 hosted on |  | ||||||
| 68k-Amiga producing MorphOS-PPC-binaries from http://www.morphos.de). |  | ||||||
| To use it, type "make assign", then "make"; it produces a link library |  | ||||||
| libft2_ppc.a. |  | ||||||
| 
 |  | ||||||
| The smakefile is a makefile for Amiga SAS/C 6.58 (no longer available, |  | ||||||
| latest sold version was 6.50, updates can be found in Aminet).  It is |  | ||||||
| based on the version found in the sourcecode of ttf.library 0.83b for |  | ||||||
| FreeType 1.3.1 from Richard Griffith (ragriffi@sprynet.com, |  | ||||||
| http://ragriffi.home.sprynet.com). |  | ||||||
| 
 |  | ||||||
| You will also need the latest include files and amiga.lib from the |  | ||||||
| Amiga web site (https://os.amigaworld.de/download.php?id=3) for |  | ||||||
| AmigaOS 3.9; the generated code should work under AmigaOS 2.04 and up. |  | ||||||
| 
 |  | ||||||
| To use it, call "smake assign" and then "smake" from the builds/amiga |  | ||||||
| directory.  The results are: |  | ||||||
| 
 |  | ||||||
| - A link library "ft2_680x0.lib" (where x depends on the setting of |  | ||||||
|   the CPU entry in the smakefile) containing all FreeType2 parts |  | ||||||
|   except of the init code, debugging code, and the system interface |  | ||||||
|   code. |  | ||||||
| 
 |  | ||||||
| - ftsystem.o, an object module containing the standard version of the |  | ||||||
|   system interface code which uses fopen() fclose() fread() fseek() |  | ||||||
|   ftell() malloc() realloc() and free() from lib:sc.lib (not pure). |  | ||||||
| 
 |  | ||||||
| - ftsystempure.o, an object module containing the pure version of the |  | ||||||
|   system interface code which uses Open() Close() Read() Seek() |  | ||||||
|   ExamineFH() AsmAllocPooled() AsmFreePooled() etc.  This version can |  | ||||||
|   be used in both normal programs and in Amiga run-time shared system |  | ||||||
|   librarys (can be linked with lib:libinit.o, no copying of DATA and |  | ||||||
|   BSS hunks for each OpenLibrary() necessary).  Source code is in |  | ||||||
|   src/base/ftsystem.c. |  | ||||||
| 
 |  | ||||||
| - ftdebug.o, an object module containing the standard version of the |  | ||||||
|   debugging code which uses vprintf() and exit() (not pure). |  | ||||||
|   Debugging can be turned on in FT:include/freetype/config/ftoption.h |  | ||||||
|   and with FT_SetTraceLevel(). |  | ||||||
| 
 |  | ||||||
| - ftdebugpure.o, an object module containing the pure version of the |  | ||||||
|   debugging code which uses KVPrintf() from lib:debug.lib and no |  | ||||||
|   exit().  For debugging of Amiga run-time shared system libraries. |  | ||||||
|   Source code is in src/base/ftdebug.c. |  | ||||||
| 
 |  | ||||||
| - NO ftinit.o.  Because linking with a link library should result in |  | ||||||
|   linking only the needed object modules in it, but standard |  | ||||||
|   ftsystem.o would force ALL FreeType2 modules to be linked to your |  | ||||||
|   program, I decided to use a different scheme: You must #include |  | ||||||
|   FT:src/base/ftinit.c in your sourcecode and specify with #define |  | ||||||
|   statements which modules you need.  See |  | ||||||
|   include/freetype/config/ftmodule.h. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| To use in your own programs: |  | ||||||
| 
 |  | ||||||
| - Insert the #define and #include statements from top of |  | ||||||
|   include/freetype/config/ftmodule.h in your source code and |  | ||||||
|   uncomment the #define statements for the FreeType2 modules you need. |  | ||||||
| 
 |  | ||||||
| - You can use either PARAMETERS=REGISTER or PARAMETERS=STACK for |  | ||||||
|   calling the FreeType2 functions, because the link library and the |  | ||||||
|   object files are compiled with PARAMETERS=BOTH. |  | ||||||
| 
 |  | ||||||
| - "smake assign" (assign "FT:" to the FreeType2 main directory). |  | ||||||
| 
 |  | ||||||
| - Compile your program. |  | ||||||
| 
 |  | ||||||
| - Link with either ftsystem.o or ftsystempure.o, if debugging enabled |  | ||||||
|   with either ftdebug.o or (ftdebugpure.o and lib:debug.lib), and with |  | ||||||
|   ft2_680x0.lib as link library. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| To adapt to other compilers: |  | ||||||
| 
 |  | ||||||
| - The standard ANSI C maximum length of 31 significant characters in |  | ||||||
|   identifiers is not enough for FreeType2.  Check if your compiler has |  | ||||||
|   a minimum length of 40 significant characters or can be switched to |  | ||||||
|   it.  "idlen=40" is the option for SAS/C.  Setting #define |  | ||||||
|   HAVE_LIMIT_ON_IDENTS in an include file may also work (not tested). |  | ||||||
| 
 |  | ||||||
| - Make sure that the include directory in builds/amiga is searched |  | ||||||
|   before the normal FreeType2 include directory, so you are able to |  | ||||||
|   replace problematic include files with your own version (same may be |  | ||||||
|   useful for the src directory). |  | ||||||
| 
 |  | ||||||
| - An example of how to replace/workaround a problematic include file |  | ||||||
|   is include/freetype/config/ftconfig.h; it changes a #define that |  | ||||||
|   would prevent SAS/C from generating XDEF's where it should do that and |  | ||||||
|   then includes the standard FreeType2 include file. |  | ||||||
| 
 |  | ||||||
| Local Variables: |  | ||||||
| coding: latin-1 |  | ||||||
| End: |  | ||||||
|  | @ -1,55 +0,0 @@ | ||||||
| /***************************************************************************/ |  | ||||||
| /*                                                                         */ |  | ||||||
| /*  ftconfig.h                                                             */ |  | ||||||
| /*                                                                         */ |  | ||||||
| /*    Amiga-specific configuration file (specification only).              */ |  | ||||||
| /*                                                                         */ |  | ||||||
| /*  Copyright (C) 2005-2022 by                                             */ |  | ||||||
| /*  Werner Lemberg and Detlef Würkner.                                     */ |  | ||||||
| /*                                                                         */ |  | ||||||
| /*  This file is part of the FreeType project, and may only be used,       */ |  | ||||||
| /*  modified, and distributed under the terms of the FreeType project      */ |  | ||||||
| /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */ |  | ||||||
| /*  this file you indicate that you have read the license and              */ |  | ||||||
| /*  understand and accept it fully.                                        */ |  | ||||||
| /*                                                                         */ |  | ||||||
| /***************************************************************************/ |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * This is an example how to override the default FreeType2 header files |  | ||||||
|  * with Amiga-specific changes. When the compiler searches this directory |  | ||||||
|  * before the default directory, we can do some modifications. |  | ||||||
|  * |  | ||||||
|  * Here we must change FT_EXPORT_DEF so that SAS/C does |  | ||||||
|  * generate the needed XDEFs. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #if 0 |  | ||||||
| #define FT_EXPORT_DEF( x )  extern  x |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #undef FT_EXPORT_DEF |  | ||||||
| #define FT_EXPORT_DEF( x )  x |  | ||||||
| 
 |  | ||||||
| /* Now include the original file */ |  | ||||||
| #ifndef __MORPHOS__ |  | ||||||
| #ifdef __SASC |  | ||||||
| #include "FT:include/freetype/config/ftconfig.h" |  | ||||||
| #else |  | ||||||
| #include "/FT/include/freetype/config/ftconfig.h" |  | ||||||
| #endif |  | ||||||
| #else |  | ||||||
| /* We must define that, it seems that
 |  | ||||||
|  * lib/gcc-lib/ppc-morphos/2.95.3/include/syslimits.h is missing in |  | ||||||
|  * ppc-morphos-gcc-2.95.3-bin.tgz (gcc for 68k producing MorphOS PPC elf |  | ||||||
|  * binaries from http://www.morphos.de)
 |  | ||||||
|  */ |  | ||||||
| #define _LIBC_LIMITS_H_ |  | ||||||
| #include "/FT/include/freetype/config/ftconfig.h" |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
| Local Variables: |  | ||||||
| coding: latin-1 |  | ||||||
| End: |  | ||||||
| */ |  | ||||||
|  | @ -1,158 +0,0 @@ | ||||||
| /***************************************************************************/ |  | ||||||
| /*                                                                         */ |  | ||||||
| /*  ftmodule.h                                                             */ |  | ||||||
| /*                                                                         */ |  | ||||||
| /*    Amiga-specific FreeType module selection.                            */ |  | ||||||
| /*                                                                         */ |  | ||||||
| /*  Copyright (C) 2005-2022 by                                             */ |  | ||||||
| /*  Werner Lemberg and Detlef Würkner.                                     */ |  | ||||||
| /*                                                                         */ |  | ||||||
| /*  This file is part of the FreeType project, and may only be used,       */ |  | ||||||
| /*  modified, and distributed under the terms of the FreeType project      */ |  | ||||||
| /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */ |  | ||||||
| /*  this file you indicate that you have read the license and              */ |  | ||||||
| /*  understand and accept it fully.                                        */ |  | ||||||
| /*                                                                         */ |  | ||||||
| /***************************************************************************/ |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * To avoid that all your programs include all FreeType modules, |  | ||||||
|  * you copy the following piece of source code into your own |  | ||||||
|  * source file and specify which modules you really need in your |  | ||||||
|  * application by uncommenting the appropriate lines. |  | ||||||
|  */ |  | ||||||
| /*
 |  | ||||||
| //#define FT_USE_AUTOFIT // autofitter
 |  | ||||||
| //#define FT_USE_RASTER  // monochrome rasterizer
 |  | ||||||
| //#define FT_USE_SMOOTH  // anti-aliasing rasterizer
 |  | ||||||
| //#define FT_USE_TT      // truetype font driver
 |  | ||||||
| //#define FT_USE_T1      // type1 font driver
 |  | ||||||
| //#define FT_USE_T42     // type42 font driver
 |  | ||||||
| //#define FT_USE_T1CID   // cid-keyed type1 font driver  // no cmap support
 |  | ||||||
| //#define FT_USE_CFF     // opentype font driver
 |  | ||||||
| //#define FT_USE_BDF     // bdf bitmap font driver
 |  | ||||||
| //#define FT_USE_PCF     // pcf bitmap font driver
 |  | ||||||
| //#define FT_USE_PFR     // pfr font driver
 |  | ||||||
| //#define FT_USE_WINFNT  // windows .fnt|.fon bitmap font driver
 |  | ||||||
| //#define FT_USE_OTV     // opentype validator
 |  | ||||||
| //#define FT_USE_GXV     // truetype gx validator
 |  | ||||||
| #include "FT:src/base/ftinit.c" |  | ||||||
| */ |  | ||||||
| 
 |  | ||||||
| /* Make sure that the needed support modules are built in.
 |  | ||||||
|  * Dependencies can be found by searching for FT_Get_Module. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_T42 |  | ||||||
| #define FT_USE_TT |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_TT |  | ||||||
| #define FT_USE_SFNT |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_CFF |  | ||||||
| #define FT_USE_SFNT |  | ||||||
| #define FT_USE_PSHINT |  | ||||||
| #define FT_USE_PSNAMES |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_T1 |  | ||||||
| #define FT_USE_PSAUX |  | ||||||
| #define FT_USE_PSHINT |  | ||||||
| #define FT_USE_PSNAMES |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_T1CID |  | ||||||
| #define FT_USE_PSAUX |  | ||||||
| #define FT_USE_PSHINT |  | ||||||
| #define FT_USE_PSNAMES |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_PSAUX |  | ||||||
| #define FT_USE_PSNAMES |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_SFNT |  | ||||||
| #define FT_USE_PSNAMES |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /* Now include the modules */ |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_AUTOFIT |  | ||||||
| FT_USE_MODULE( FT_Module_Class, autofit_module_class ) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_TT |  | ||||||
| FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class ) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_T1 |  | ||||||
| FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class ) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_CFF |  | ||||||
| FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class ) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_T1CID |  | ||||||
| FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class ) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_PFR |  | ||||||
| FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class ) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_T42 |  | ||||||
| FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class ) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_WINFNT |  | ||||||
| FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class ) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_PCF |  | ||||||
| FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class ) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_PSAUX |  | ||||||
| FT_USE_MODULE( FT_Module_Class, psaux_module_class ) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_PSNAMES |  | ||||||
| FT_USE_MODULE( FT_Module_Class, psnames_module_class ) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_PSHINT |  | ||||||
| FT_USE_MODULE( FT_Module_Class, pshinter_module_class ) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_RASTER |  | ||||||
| FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class ) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_SFNT |  | ||||||
| FT_USE_MODULE( FT_Module_Class, sfnt_module_class ) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_SMOOTH |  | ||||||
| FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class ) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_OTV |  | ||||||
| FT_USE_MODULE( FT_Module_Class, otv_module_class ) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_BDF |  | ||||||
| FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class ) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef FT_USE_GXV |  | ||||||
| FT_USE_MODULE( FT_Module_Class, gxv_module_class ) |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
| Local Variables: |  | ||||||
| coding: latin-1 |  | ||||||
| End: |  | ||||||
| */ |  | ||||||
|  | @ -1,293 +0,0 @@ | ||||||
| #
 |  | ||||||
| # Makefile for FreeType2 link library using ppc-morphos-gcc-2.95.3-bin.tgz
 |  | ||||||
| # (gcc 2.95.3 hosted on 68k-Amiga producing MorphOS-PPC-binaries from
 |  | ||||||
| # http://www.morphos.de)
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 2005-2022 by
 |  | ||||||
| # Werner Lemberg and Detlef Würkner.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # to build from the builds/amiga directory call
 |  | ||||||
| #
 |  | ||||||
| #  make assign
 |  | ||||||
| #  make
 |  | ||||||
| #
 |  | ||||||
| # Your programs source code should start with this
 |  | ||||||
| # (uncomment the parts you do not need to keep the program small):
 |  | ||||||
| # ---8<---
 |  | ||||||
| #define FT_USE_AUTOFIT // autofitter
 |  | ||||||
| #define FT_USE_RASTER  // monochrome rasterizer
 |  | ||||||
| #define FT_USE_SMOOTH  // anti-aliasing rasterizer
 |  | ||||||
| #define FT_USE_TT      // truetype font driver
 |  | ||||||
| #define FT_USE_T1      // type1 font driver
 |  | ||||||
| #define FT_USE_T42     // type42 font driver
 |  | ||||||
| #define FT_USE_T1CID   // cid-keyed type1 font driver
 |  | ||||||
| #define FT_USE_CFF     // opentype font driver
 |  | ||||||
| #define FT_USE_BDF     // bdf bitmap font driver
 |  | ||||||
| #define FT_USE_PCF     // pcf bitmap font driver
 |  | ||||||
| #define FT_USE_PFR     // pfr font driver
 |  | ||||||
| #define FT_USE_WINFNT  // windows .fnt|.fon bitmap font driver
 |  | ||||||
| #define FT_USE_OTV     // opentype validator
 |  | ||||||
| #define FT_USE_GXV     // truetype gx validator
 |  | ||||||
| #include "FT:src/base/ftinit.c"
 |  | ||||||
| # ---8<---
 |  | ||||||
| #
 |  | ||||||
| # link your programs with libft2_ppc.a and either ftsystem.ppc.o or ftsystempure.ppc.o
 |  | ||||||
| # (and either ftdebug.ppc.o or ftdebugpure.ppc.o if you enabled FT_DEBUG_LEVEL_ERROR or
 |  | ||||||
| # FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h).
 |  | ||||||
| 
 |  | ||||||
| all:	libft2_ppc.a ftsystem.ppc.o ftsystempure.ppc.o |  | ||||||
| 
 |  | ||||||
| assign: |  | ||||||
| 	assign FT: // |  | ||||||
| 
 |  | ||||||
| FTSRC = /FT/src |  | ||||||
| 
 |  | ||||||
| CC =     ppc-morphos-gcc |  | ||||||
| AR =     ppc-morphos-ar rc |  | ||||||
| RANLIB = ppc-morphos-ranlib |  | ||||||
| LD =     ppc-morphos-ld |  | ||||||
| CFLAGS = -DFT2_BUILD_LIBRARY -O2 -I/emu/emulinclude/includegcc -I/emu/include -Iinclude -I$(FTSRC) -I/FT/include |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library base
 |  | ||||||
| #
 |  | ||||||
| ftbase.ppc.o: $(FTSRC)/base/ftbase.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| ftinit.ppc.o: $(FTSRC)/base/ftinit.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| ftsystem.ppc.o: $(FTSRC)/base/ftsystem.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| # pure version for use in run-time library etc
 |  | ||||||
| ftsystempure.ppc.o: src/base/ftsystem.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| ftdebug.ppc.o: $(FTSRC)/base/ftdebug.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| # pure version for use in run-time library etc
 |  | ||||||
| ftdebugpure.ppc.o: src/base/ftdebug.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library base extensions
 |  | ||||||
| #
 |  | ||||||
| ftbbox.ppc.o: $(FTSRC)/base/ftbbox.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| ftbdf.ppc.o: $(FTSRC)/base/ftbdf.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| ftbitmap.ppc.o: $(FTSRC)/base/ftbitmap.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| ftcid.ppc.o: $(FTSRC)/base/ftcid.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| ftfstype.ppc.o: $(FTSRC)/base/ftfstype.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| ftgasp.ppc.o: $(FTSRC)/base/ftgasp.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| ftglyph.ppc.o: $(FTSRC)/base/ftglyph.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| ftgxval.ppc.o: $(FTSRC)/base/ftgxval.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| ftmm.ppc.o: $(FTSRC)/base/ftmm.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| ftotval.ppc.o: $(FTSRC)/base/ftotval.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| ftpatent.ppc.o: $(FTSRC)/base/ftpatent.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| ftpfr.ppc.o: $(FTSRC)/base/ftpfr.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| ftstroke.ppc.o: $(FTSRC)/base/ftstroke.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| ftsynth.ppc.o: $(FTSRC)/base/ftsynth.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| fttype1.ppc.o: $(FTSRC)/base/fttype1.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| ftwinfnt.ppc.o: $(FTSRC)/base/ftwinfnt.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library autofitting module
 |  | ||||||
| #
 |  | ||||||
| autofit.ppc.o: $(FTSRC)/autofit/autofit.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library postscript hinting module
 |  | ||||||
| #
 |  | ||||||
| pshinter.ppc.o: $(FTSRC)/pshinter/pshinter.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library PS support module
 |  | ||||||
| #
 |  | ||||||
| psaux.ppc.o: $(FTSRC)/psaux/psaux.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library PS glyph names module
 |  | ||||||
| #
 |  | ||||||
| psnames.ppc.o: $(FTSRC)/psnames/psnames.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library monochrome raster module
 |  | ||||||
| #
 |  | ||||||
| raster.ppc.o: $(FTSRC)/raster/raster.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library anti-aliasing raster module
 |  | ||||||
| #
 |  | ||||||
| smooth.ppc.o: $(FTSRC)/smooth/smooth.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library 'sfnt' module
 |  | ||||||
| #
 |  | ||||||
| sfnt.ppc.o: $(FTSRC)/sfnt/sfnt.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library glyph and image caching system
 |  | ||||||
| #
 |  | ||||||
| ftcache.ppc.o: $(FTSRC)/cache/ftcache.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library OpenType font driver
 |  | ||||||
| #
 |  | ||||||
| cff.ppc.o: $(FTSRC)/cff/cff.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library TrueType font driver
 |  | ||||||
| #
 |  | ||||||
| truetype.ppc.o: $(FTSRC)/truetype/truetype.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library Type1 font driver
 |  | ||||||
| #
 |  | ||||||
| type1.ppc.o: $(FTSRC)/type1/type1.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library Type42 font driver
 |  | ||||||
| #
 |  | ||||||
| type42.ppc.o: $(FTSRC)/type42/type42.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library CID-keyed Type1 font driver
 |  | ||||||
| #
 |  | ||||||
| type1cid.ppc.o: $(FTSRC)/cid/type1cid.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library BDF bitmap font driver
 |  | ||||||
| #
 |  | ||||||
| bdf.ppc.o: $(FTSRC)/bdf/bdf.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library PCF bitmap font driver
 |  | ||||||
| #
 |  | ||||||
| pcf.ppc.o: $(FTSRC)/pcf/pcf.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library gzip support for compressed PCF bitmap fonts
 |  | ||||||
| #
 |  | ||||||
| gzip.ppc.o: $(FTSRC)/gzip/ftgzip.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| # FreeType2 library bzip2 support for compressed PCF bitmap fonts
 |  | ||||||
| #
 |  | ||||||
| bzip2.ppc.o: $(FTSRC)/bzip2/ftbzip2.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library compress support for compressed PCF bitmap fonts
 |  | ||||||
| #
 |  | ||||||
| lzw.ppc.o: $(FTSRC)/lzw/ftlzw.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library PFR font driver
 |  | ||||||
| #
 |  | ||||||
| pfr.ppc.o: $(FTSRC)/pfr/pfr.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library Windows FNT/FON bitmap font driver
 |  | ||||||
| #
 |  | ||||||
| winfnt.ppc.o: $(FTSRC)/winfonts/winfnt.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library TrueTypeGX Validator
 |  | ||||||
| #
 |  | ||||||
| gxvalid.ppc.o: $(FTSRC)/gxvalid/gxvalid.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| #
 |  | ||||||
| # FreeType2 library OpenType validator
 |  | ||||||
| #
 |  | ||||||
| otvalid.ppc.o: $(FTSRC)/otvalid/otvalid.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ $< |  | ||||||
| 
 |  | ||||||
| BASEPPC = ftbase.ppc.o ftbbox.ppc.o ftbdf.ppc.o ftbitmap.ppc.o ftcid.ppc.o \
 |  | ||||||
| 	  oftfstype.ppc.o ftgasp.ppc.o ftglyph.ppc.o                       \
 |  | ||||||
| 	  ftgxval.ppc.o ftmm.ppc.o ftotval.ppc.o                           \
 |  | ||||||
| 	  ftpatent.ppc.o ftpfr.ppc.o ftstroke.ppc.o ftsynth.ppc.o          \
 |  | ||||||
| 	  fttype1.ppc.o ftwinfnt.ppc.o |  | ||||||
| 
 |  | ||||||
| DEBUGPPC = ftdebug.ppc.o ftdebugpure.ppc.o |  | ||||||
| 
 |  | ||||||
| AFITPPC = autofit.ppc.o |  | ||||||
| 
 |  | ||||||
| GXVPPC = gxvalid.ppc.o |  | ||||||
| 
 |  | ||||||
| OTVPPC = otvalid.ppc.o |  | ||||||
| 
 |  | ||||||
| PSPPC = psaux.ppc.o psnames.ppc.o pshinter.ppc.o |  | ||||||
| 
 |  | ||||||
| RASTERPPC = raster.ppc.o smooth.ppc.o |  | ||||||
| 
 |  | ||||||
| FONTDPPC = cff.ppc.o type1.ppc.o type42.ppc.o type1cid.ppc.o truetype.ppc.o\
 |  | ||||||
| 	   bdf.ppc.o pcf.ppc.o pfr.ppc.o winfnt.ppc.o |  | ||||||
| 
 |  | ||||||
| libft2_ppc.a:    $(BASEPPC) $(AFITPPC) $(GXVPPC) $(OTVPPC) $(PSPPC) $(RASTERPPC) sfnt.ppc.o ftcache.ppc.o $(FONTDPPC) gzip.ppc.o bzip2.ppc.o lzw.ppc.o |  | ||||||
| 	$(AR) $@ $(BASEPPC) $(AFITPPC) $(GXVPPC) $(OTVPPC) $(PSPPC) $(RASTERPPC) sfnt.ppc.o ftcache.ppc.o $(FONTDPPC) gzip.ppc.o bzip2.ppc.o lzw.ppc.o |  | ||||||
| 	-@ ($(RANLIB) $@ || true) >/dev/null 2>&1 |  | ||||||
| 
 |  | ||||||
| #Local Variables:
 |  | ||||||
| #coding: latin-1
 |  | ||||||
| #End:
 |  | ||||||
|  | @ -1,297 +0,0 @@ | ||||||
| # |  | ||||||
| # Makefile for FreeType2 link library using gcc 4.0.3 from the |  | ||||||
| # AmigaOS4 SDK |  | ||||||
| # |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 2005-2022 by |  | ||||||
| # Werner Lemberg and Detlef Würkner. |  | ||||||
| # |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified, |  | ||||||
| # and distributed under the terms of the FreeType project license, |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you |  | ||||||
| # indicate that you have read the license and understand and accept it |  | ||||||
| # fully. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # to build from the builds/amiga directory call |  | ||||||
| # |  | ||||||
| #  make -f makefile.os4 |  | ||||||
| # |  | ||||||
| # Your programs source code should start with this |  | ||||||
| # (uncomment the parts you do not need to keep the program small): |  | ||||||
| # ---8<--- |  | ||||||
| #define FT_USE_AUTOFIT // autofitter |  | ||||||
| #define FT_USE_RASTER  // monochrome rasterizer |  | ||||||
| #define FT_USE_SMOOTH  // anti-aliasing rasterizer |  | ||||||
| #define FT_USE_TT      // truetype font driver |  | ||||||
| #define FT_USE_T1      // type1 font driver |  | ||||||
| #define FT_USE_T42     // type42 font driver |  | ||||||
| #define FT_USE_T1CID   // cid-keyed type1 font driver |  | ||||||
| #define FT_USE_CFF     // opentype font driver |  | ||||||
| #define FT_USE_BDF     // bdf bitmap font driver |  | ||||||
| #define FT_USE_PCF     // pcf bitmap font driver |  | ||||||
| #define FT_USE_PFR     // pfr font driver |  | ||||||
| #define FT_USE_WINFNT  // windows .fnt|.fon bitmap font driver |  | ||||||
| #define FT_USE_OTV     // opentype validator |  | ||||||
| #define FT_USE_GXV     // truetype gx validator |  | ||||||
| #include "FT:src/base/ftinit.c" |  | ||||||
| # ---8<--- |  | ||||||
| # |  | ||||||
| # link your programs with libft2_ppc.a and either ftsystem.ppc.o or ftsystempure.ppc.o |  | ||||||
| # (and either ftdebug.ppc.o or ftdebugpure.ppc.o if you enabled FT_DEBUG_LEVEL_ERROR or |  | ||||||
| # FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h). |  | ||||||
| 
 |  | ||||||
| all:	assign libft2_ppc.a ftsystem.ppc.o ftsystempure.ppc.o |  | ||||||
| 
 |  | ||||||
| assign: |  | ||||||
| 	assign FT: // |  | ||||||
| 
 |  | ||||||
| CC =     ppc-amigaos-gcc |  | ||||||
| AR =     ppc-amigaos-ar |  | ||||||
| RANLIB = ppc-amigaos-ranlib |  | ||||||
| 
 |  | ||||||
| DIRFLAGS  = -Iinclude -I/FT/src -I/FT/include -I/SDK/include |  | ||||||
| 
 |  | ||||||
| WARNINGS = -Wall -W -Wundef -Wpointer-arith -Wbad-function-cast \ |  | ||||||
| 	   -Waggregate-return -Wwrite-strings -Wshadow |  | ||||||
| 
 |  | ||||||
| OPTIONS  = -DFT2_BUILD_LIBRARY -DNDEBUG -fno-builtin |  | ||||||
| OPTIMIZE = -O2 -fomit-frame-pointer -fstrength-reduce -finline-functions |  | ||||||
| 
 |  | ||||||
| CFLAGS   = -mcrt=clib2 $(DIRFLAGS) $(WARNINGS) $(FT2FLAGS) $(OPTIONS) $(OPTIMIZE) |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library base |  | ||||||
| # |  | ||||||
| ftbase.ppc.o: FT:src/base/ftbase.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbase.c |  | ||||||
| 
 |  | ||||||
| ftinit.ppc.o: FT:src/base/ftinit.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftinit.c |  | ||||||
| 
 |  | ||||||
| ftsystem.ppc.o: FT:src/base/ftsystem.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftsystem.c |  | ||||||
| 
 |  | ||||||
| # pure version for use in run-time library etc |  | ||||||
| ftsystempure.ppc.o: src/base/ftsystem.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ src/base/ftsystem.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library base extensions |  | ||||||
| # |  | ||||||
| ftbbox.ppc.o: FT:src/base/ftbbox.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbbox.c |  | ||||||
| 
 |  | ||||||
| ftbdf.ppc.o: FT:src/base/ftbdf.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbdf.c |  | ||||||
| 
 |  | ||||||
| ftbitmap.ppc.o: FT:src/base/ftbitmap.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbitmap.c |  | ||||||
| 
 |  | ||||||
| ftcid.ppc.o: FT:src/base/ftcid.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftcid.c |  | ||||||
| 
 |  | ||||||
| ftdebug.ppc.o: FT:src/base/ftdebug.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftdebug.c |  | ||||||
| 
 |  | ||||||
| # pure version for use in run-time library etc |  | ||||||
| ftdebugpure.ppc.o: src/base/ftdebug.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ src/base/ftdebug.c |  | ||||||
| 
 |  | ||||||
| ftfstype.ppc.o: FT:src/base/ftfstype.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftfstype.c |  | ||||||
| 
 |  | ||||||
| ftgasp.ppc.o: FT:src/base/ftgasp.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftgasp.c |  | ||||||
| 
 |  | ||||||
| ftglyph.ppc.o: FT:src/base/ftglyph.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftglyph.c |  | ||||||
| 
 |  | ||||||
| ftgxval.ppc.o: FT:src/base/ftgxval.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftgxval.c |  | ||||||
| 
 |  | ||||||
| ftmm.ppc.o: FT:src/base/ftmm.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftmm.c |  | ||||||
| 
 |  | ||||||
| ftotval.ppc.o: FT:src/base/ftotval.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftotval.c |  | ||||||
| 
 |  | ||||||
| ftpatent.ppc.o: FT:src/base/ftpatent.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftpatent.c |  | ||||||
| 
 |  | ||||||
| ftpfr.ppc.o: FT:src/base/ftpfr.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftpfr.c |  | ||||||
| 
 |  | ||||||
| ftstroke.ppc.o: FT:src/base/ftstroke.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftstroke.c |  | ||||||
| 
 |  | ||||||
| ftsynth.ppc.o: FT:src/base/ftsynth.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftsynth.c |  | ||||||
| 
 |  | ||||||
| fttype1.ppc.o: FT:src/base/fttype1.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/fttype1.c |  | ||||||
| 
 |  | ||||||
| ftwinfnt.ppc.o: FT:src/base/ftwinfnt.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftwinfnt.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library autofitting module |  | ||||||
| # |  | ||||||
| autofit.ppc.o: FT:src/autofit/autofit.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/autofit/autofit.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library postscript hinting module |  | ||||||
| # |  | ||||||
| pshinter.ppc.o: FT:src/pshinter/pshinter.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/pshinter/pshinter.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library PS support module |  | ||||||
| # |  | ||||||
| psaux.ppc.o: FT:src/psaux/psaux.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/psaux/psaux.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library PS glyph names module |  | ||||||
| # |  | ||||||
| psnames.ppc.o: FT:src/psnames/psnames.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/psnames/psnames.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library monochrome raster module |  | ||||||
| # |  | ||||||
| raster.ppc.o: FT:src/raster/raster.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/raster/raster.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library anti-aliasing raster module |  | ||||||
| # |  | ||||||
| smooth.ppc.o: FT:src/smooth/smooth.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/smooth/smooth.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library 'sfnt' module |  | ||||||
| # |  | ||||||
| sfnt.ppc.o: FT:src/sfnt/sfnt.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/sfnt/sfnt.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library glyph and image caching system |  | ||||||
| # |  | ||||||
| ftcache.ppc.o: FT:src/cache/ftcache.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/cache/ftcache.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library OpenType font driver |  | ||||||
| # |  | ||||||
| cff.ppc.o: FT:src/cff/cff.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/cff/cff.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library TrueType font driver |  | ||||||
| # |  | ||||||
| truetype.ppc.o: FT:src/truetype/truetype.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/truetype/truetype.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library Type1 font driver |  | ||||||
| # |  | ||||||
| type1.ppc.o: FT:src/type1/type1.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/type1/type1.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library Type42 font driver |  | ||||||
| # |  | ||||||
| type42.ppc.o: FT:src/type42/type42.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/type42/type42.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library CID-keyed Type1 font driver |  | ||||||
| # |  | ||||||
| type1cid.ppc.o: FT:src/cid/type1cid.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/cid/type1cid.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library BDF bitmap font driver |  | ||||||
| # |  | ||||||
| bdf.ppc.o: FT:src/bdf/bdf.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/bdf/bdf.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library PCF bitmap font driver |  | ||||||
| # |  | ||||||
| pcf.ppc.o: FT:src/pcf/pcf.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/pcf/pcf.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library gzip support for compressed PCF bitmap fonts |  | ||||||
| # |  | ||||||
| gzip.ppc.o: FT:src/gzip/ftgzip.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/gzip/ftgzip.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library bzip2 support for compressed PCF bitmap fonts |  | ||||||
| # |  | ||||||
| bzip2.ppc.o: FT:src/bzip2/ftbzip2.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/bzip2/ftbzip2.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library compress support for compressed PCF bitmap fonts |  | ||||||
| # |  | ||||||
| lzw.ppc.o: FT:src/lzw/ftlzw.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/lzw/ftlzw.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library PFR font driver |  | ||||||
| # |  | ||||||
| pfr.ppc.o: FT:src/pfr/pfr.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/pfr/pfr.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library Windows FNT/FON bitmap font driver |  | ||||||
| # |  | ||||||
| winfnt.ppc.o: FT:src/winfonts/winfnt.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/winfonts/winfnt.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library TrueTypeGX Validator |  | ||||||
| # |  | ||||||
| gxvalid.ppc.o: FT:src/gxvalid/gxvalid.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -Wno-aggregate-return -o $@ /FT/src/gxvalid/gxvalid.c |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library OpenType validator |  | ||||||
| # |  | ||||||
| otvalid.ppc.o: FT:src/otvalid/otvalid.c |  | ||||||
| 	$(CC) -c $(CFLAGS) -o $@ /FT/src/otvalid/otvalid.c |  | ||||||
| 
 |  | ||||||
| BASE = ftbase.ppc.o ftbbox.ppc.o ftbdf.ppc.o ftbitmap.ppc.o ftcid.ppc.o \ |  | ||||||
|        ftfstype.ppc.o ftgasp.ppc.o ftglyph.ppc.o                        \ |  | ||||||
|        ftgxval.ppc.o ftmm.ppc.o ftotval.ppc.o                           \ |  | ||||||
|        ftpatent.ppc.o ftpfr.ppc.o ftstroke.ppc.o ftsynth.ppc.o          \ |  | ||||||
|        fttype1.ppc.o ftwinfnt.ppc.o |  | ||||||
| 
 |  | ||||||
| DEBUG = ftdebug.ppc.o ftdebugpure.ppc.o |  | ||||||
| 
 |  | ||||||
| AFIT = autofit.ppc.o |  | ||||||
| 
 |  | ||||||
| GXV = gxvalid.ppc.o |  | ||||||
| 
 |  | ||||||
| OTV = otvalid.ppc.o |  | ||||||
| 
 |  | ||||||
| PS = psaux.ppc.o psnames.ppc.o pshinter.ppc.o |  | ||||||
| 
 |  | ||||||
| RASTER = raster.ppc.o smooth.ppc.o |  | ||||||
| 
 |  | ||||||
| FONTD = cff.ppc.o type1.ppc.o type42.ppc.o type1cid.ppc.o truetype.ppc.o\ |  | ||||||
| 	bdf.ppc.o pcf.ppc.o pfr.ppc.o winfnt.ppc.o |  | ||||||
| 
 |  | ||||||
| libft2_ppc.a:      $(BASE) $(AFIT) $(GXV) $(OTV) $(PS) $(RASTER) sfnt.ppc.o ftcache.ppc.o $(FONTD) gzip.ppc.o lzw.ppc.o |  | ||||||
| 	$(AR) r $@ $(BASE) $(AFIT) $(GXV) $(OTV) $(PS) $(RASTER) sfnt.ppc.o ftcache.ppc.o $(FONTD) gzip.ppc.o lzw.ppc.o |  | ||||||
| 	$(RANLIB) $@ |  | ||||||
| 
 |  | ||||||
| #Local Variables: |  | ||||||
| #coding: latin-1 |  | ||||||
| #End: |  | ||||||
|  | @ -1,299 +0,0 @@ | ||||||
| # |  | ||||||
| # Makefile for FreeType2 link library using Amiga SAS/C 6.58 |  | ||||||
| # |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 2005-2022 by |  | ||||||
| # Werner Lemberg and Detlef Würkner. |  | ||||||
| # |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified, |  | ||||||
| # and distributed under the terms of the FreeType project license, |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you |  | ||||||
| # indicate that you have read the license and understand and accept it |  | ||||||
| # fully. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # to build from the builds/amiga directory call |  | ||||||
| # |  | ||||||
| #  smake assign |  | ||||||
| #  smake |  | ||||||
| # |  | ||||||
| # Your programs source code should start with this |  | ||||||
| # (uncomment the parts you do not need to keep the program small): |  | ||||||
| # ---8<--- |  | ||||||
| #define FT_USE_AUTOFIT // autofitter |  | ||||||
| #define FT_USE_RASTER  // monochrome rasterizer |  | ||||||
| #define FT_USE_SMOOTH  // anti-aliasing rasterizer |  | ||||||
| #define FT_USE_TT      // truetype font driver |  | ||||||
| #define FT_USE_T1      // type1 font driver |  | ||||||
| #define FT_USE_T42     // type42 font driver |  | ||||||
| #define FT_USE_T1CID   // cid-keyed type1 font driver |  | ||||||
| #define FT_USE_CFF     // opentype font driver |  | ||||||
| #define FT_USE_BDF     // bdf bitmap font driver |  | ||||||
| #define FT_USE_PCF     // pcf bitmap font driver |  | ||||||
| #define FT_USE_PFR     // pfr font driver |  | ||||||
| #define FT_USE_WINFNT  // windows .fnt|.fon bitmap font driver |  | ||||||
| #define FT_USE_OTV     // opentype validator |  | ||||||
| #define FT_USE_GXV     // truetype gx validator |  | ||||||
| #include "FT:src/base/ftinit.c" |  | ||||||
| # ---8<--- |  | ||||||
| # |  | ||||||
| # link your programs with ft2_680x0.lib and either ftsystem.o or ftsystempure.o |  | ||||||
| # (and either ftdebug.o or ftdebugpure.o if you enabled FT_DEBUG_LEVEL_ERROR or |  | ||||||
| # FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h). |  | ||||||
| 
 |  | ||||||
| OBJBASE = ftbase.o ftbbox.o ftbdf.o ftbitmap.o ftcid.o ftfstype.o      \ |  | ||||||
| 	  ftgasp.o ftglyph.o ftgxval.o ftmm.o ftotval.o                \ |  | ||||||
| 	  ftpatent.o ftpfr.o ftstroke.o ftsynth.o fttype1.o ftwinfnt.o |  | ||||||
| 
 |  | ||||||
| OBJSYSTEM = ftsystem.o ftsystempure.o |  | ||||||
| 
 |  | ||||||
| OBJDEBUG = ftdebug.o ftdebugpure.o |  | ||||||
| 
 |  | ||||||
| OBJAFIT = autofit.o |  | ||||||
| 
 |  | ||||||
| OBJGXV = gxvalid.o |  | ||||||
| 
 |  | ||||||
| OBJOTV = otvalid.o |  | ||||||
| 
 |  | ||||||
| OBJPS = psaux.o psnames.o pshinter.o |  | ||||||
| 
 |  | ||||||
| OBJRASTER = raster.o smooth.o |  | ||||||
| 
 |  | ||||||
| OBJSFNT = sfnt.o |  | ||||||
| 
 |  | ||||||
| OBJCACHE = ftcache.o |  | ||||||
| 
 |  | ||||||
| OBJFONTD = cff.o type1.o type42.o type1cid.o\ |  | ||||||
| 	   truetype.o winfnt.o bdf.o pcf.o pfr.o |  | ||||||
| 
 |  | ||||||
| CORE = FT:src/ |  | ||||||
| 
 |  | ||||||
| CPU       = 68000 |  | ||||||
| #CPU      = 68020 |  | ||||||
| #CPU      = 68030 |  | ||||||
| #CPU      = 68040 |  | ||||||
| #CPU      = 68060 |  | ||||||
| 
 |  | ||||||
| OPTIMIZER = optinlocal |  | ||||||
| 
 |  | ||||||
| SCFLAGS = optimize opttime optsched strmerge data=faronly idlen=50 cpu=$(CPU)\ |  | ||||||
| 	  idir=include/ idir=$(CORE) idir=FT:include/ nostackcheck nochkabort\ |  | ||||||
| 	  noicons ignore=79,85,110,306 parameters=both define=FT2_BUILD_LIBRARY |  | ||||||
| 
 |  | ||||||
| LIB  = ft2_$(CPU).lib |  | ||||||
| 
 |  | ||||||
| # sample linker options |  | ||||||
| OPTS = link lib=$(LIB),lib:sc.lib,lib:amiga.lib,lib:debug.lib\ |  | ||||||
|        smallcode smalldata noicons utillib |  | ||||||
| 
 |  | ||||||
| # sample program entry |  | ||||||
| #myprog: myprog.c ftsystem.o $(LIB) |  | ||||||
| #	sc $< programname=$@ ftsystem.o $(SCFLAGS) $(OPTS) |  | ||||||
| 
 |  | ||||||
| all:	$(LIB) $(OBJSYSTEM) $(OBJDEBUG) |  | ||||||
| 
 |  | ||||||
| assign: |  | ||||||
| 	assign FT: // |  | ||||||
| 
 |  | ||||||
| # uses separate object modules in lib to make for easier debugging |  | ||||||
| # also, can make smaller programs if entire engine is not used |  | ||||||
| ft2_$(CPU).lib:  $(OBJBASE) $(OBJAFIT) $(OBJOTV) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD) lzw.o gzip.o bzip2.o |  | ||||||
| 	oml $@ r $(OBJBASE) $(OBJAFIT) $(OBJOTV) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD) lzw.o gzip.o bzip2.o |  | ||||||
| 
 |  | ||||||
| clean: |  | ||||||
| 	-delete \#?.o |  | ||||||
| 
 |  | ||||||
| realclean: clean |  | ||||||
| 	-delete ft2$(CPU).lib |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # freetype library base |  | ||||||
| # |  | ||||||
| ftbase.o: $(CORE)base/ftbase.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| ftinit.o: $(CORE)base/ftinit.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| ftsystem.o: $(CORE)base/ftsystem.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| ftsystempure.o: src/base/ftsystem.c	## pure version for use in run-time library etc |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| ftdebug.o: $(CORE)base/ftdebug.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| ftdebugpure.o: src/base/ftdebug.c	## pure version for use in run-time library etc |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| # |  | ||||||
| # freetype library base extensions |  | ||||||
| # |  | ||||||
| ftbbox.o: $(CORE)base/ftbbox.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| ftbdf.o: $(CORE)base/ftbdf.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| ftbitmap.o: $(CORE)base/ftbitmap.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| ftcid.o: $(CORE)base/ftcid.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| ftfstype.o: $(CORE)base/ftfstype.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| ftgasp.o: $(CORE)base/ftgasp.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| ftglyph.o: $(CORE)base/ftglyph.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| ftgxval.o: $(CORE)base/ftgxval.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| ftmm.o: $(CORE)base/ftmm.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| ftotval.o: $(CORE)base/ftotval.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| ftpatent.o: $(CORE)base/ftpatent.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| ftpfr.o: $(CORE)base/ftpfr.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| ftstroke.o: $(CORE)base/ftstroke.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| ftsynth.o: $(CORE)base/ftsynth.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| fttype1.o: $(CORE)base/fttype1.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| ftwinfnt.o: $(CORE)base/ftwinfnt.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # freetype library autofitter module |  | ||||||
| # |  | ||||||
| autofit.o: $(CORE)autofit/autofit.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # freetype library PS hinting module |  | ||||||
| # |  | ||||||
| pshinter.o: $(CORE)pshinter/pshinter.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| # |  | ||||||
| # freetype library PS support module |  | ||||||
| # |  | ||||||
| psaux.o: $(CORE)psaux/psaux.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # freetype library PS glyph names module |  | ||||||
| # |  | ||||||
| psnames.o: $(CORE)psnames/psnames.c |  | ||||||
| 	sc $(SCFLAGS) code=far objname=$@ $< |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # freetype library monochrome raster module |  | ||||||
| # |  | ||||||
| raster.o: $(CORE)raster/raster.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # freetype library anti-aliasing raster module |  | ||||||
| # |  | ||||||
| smooth.o: $(CORE)smooth/smooth.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # freetype library 'sfnt' module |  | ||||||
| # |  | ||||||
| sfnt.o: $(CORE)sfnt/sfnt.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # freetype library glyph and image caching system (still experimental) |  | ||||||
| # |  | ||||||
| ftcache.o: $(CORE)cache/ftcache.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # freetype library OpenType font driver |  | ||||||
| # |  | ||||||
| cff.o: $(CORE)cff/cff.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # freetype library TrueType font driver |  | ||||||
| # |  | ||||||
| truetype.o: $(CORE)truetype/truetype.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # freetype library Type1 font driver |  | ||||||
| # |  | ||||||
| type1.o: $(CORE)type1/type1.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # FreeType2 library Type42 font driver |  | ||||||
| # |  | ||||||
| type42.o: $(CORE)type42/type42.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # freetype library CID-keyed Type1 font driver |  | ||||||
| # |  | ||||||
| type1cid.o: $(CORE)cid/type1cid.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| # |  | ||||||
| # freetype library CID-keyed Type1 font driver extensions |  | ||||||
| # |  | ||||||
| #cidafm.o: $(CORE)cid/cidafm.c |  | ||||||
| #	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # freetype library BDF bitmap font driver |  | ||||||
| # |  | ||||||
| bdf.o: $(CORE)bdf/bdf.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # freetype library PCF bitmap font driver |  | ||||||
| # |  | ||||||
| pcf.o: $(CORE)pcf/pcf.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # freetype library gzip support for compressed PCF bitmap fonts |  | ||||||
| # |  | ||||||
| gzip.o: $(CORE)gzip/ftgzip.c |  | ||||||
| 	sc $(SCFLAGS) define FAR objname=$@ $< |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # freetype library bzip2 support for compressed PCF bitmap fonts |  | ||||||
| # |  | ||||||
| bzip2.o: $(CORE)bzip2/ftbzip2.c |  | ||||||
| 	sc $(SCFLAGS) define FAR objname=$@ $< |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # freetype library compress support for compressed PCF bitmap fonts |  | ||||||
| # |  | ||||||
| lzw.o: $(CORE)lzw/ftlzw.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # freetype library PFR font driver |  | ||||||
| # |  | ||||||
| pfr.o: $(CORE)pfr/pfr.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # freetype library Windows FNT/FON bitmap font driver |  | ||||||
| # |  | ||||||
| winfnt.o: $(CORE)winfonts/winfnt.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # freetype library TrueTypeGX validator |  | ||||||
| # |  | ||||||
| gxvalid.o: $(CORE)gxvalid/gxvalid.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| 
 |  | ||||||
| # |  | ||||||
| # freetype library OpenType validator |  | ||||||
| # |  | ||||||
| otvalid.o: $(CORE)otvalid/otvalid.c |  | ||||||
| 	sc $(SCFLAGS) objname=$@ $< |  | ||||||
| 
 |  | ||||||
| #Local Variables: |  | ||||||
| #coding: latin-1 |  | ||||||
| #End: |  | ||||||
|  | @ -1,348 +0,0 @@ | ||||||
| /****************************************************************************
 |  | ||||||
|  * |  | ||||||
|  * ftdebug.c |  | ||||||
|  * |  | ||||||
|  *   Debugging and logging component for amiga (body). |  | ||||||
|  * |  | ||||||
|  * Copyright (C) 1996-2022 by |  | ||||||
|  * David Turner, Robert Wilhelm, Werner Lemberg, and Detlef Wuerkner. |  | ||||||
|  * |  | ||||||
|  * This file is part of the FreeType project, and may only be used, |  | ||||||
|  * modified, and distributed under the terms of the FreeType project |  | ||||||
|  * license, LICENSE.TXT.  By continuing to use, modify, or distribute |  | ||||||
|  * this file you indicate that you have read the license and |  | ||||||
|  * understand and accept it fully. |  | ||||||
|  * |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /**************************************************************************
 |  | ||||||
|    * |  | ||||||
|    * This component contains various macros and functions used to ease the |  | ||||||
|    * debugging of the FreeType engine.  Its main purpose is in assertion |  | ||||||
|    * checking, tracing, and error detection. |  | ||||||
|    * |  | ||||||
|    * There are now three debugging modes: |  | ||||||
|    * |  | ||||||
|    * - trace mode |  | ||||||
|    * |  | ||||||
|    *   Error and trace messages are sent to the log file (which can be the |  | ||||||
|    *   standard error output). |  | ||||||
|    * |  | ||||||
|    * - error mode |  | ||||||
|    * |  | ||||||
|    *   Only error messages are generated. |  | ||||||
|    * |  | ||||||
|    * - release mode: |  | ||||||
|    * |  | ||||||
|    *   No error message is sent or generated.  The code is free from any |  | ||||||
|    *   debugging parts. |  | ||||||
|    * |  | ||||||
|    */ |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /*
 |  | ||||||
|    * Based on the default `ftdebug.c' file, |  | ||||||
|    * replaced `vprintf' with `KVPrintF', |  | ||||||
|    * commented out `exit', |  | ||||||
|    * replaced `getenv' with `GetVar'. |  | ||||||
|    */ |  | ||||||
| 
 |  | ||||||
| #include <exec/types.h> |  | ||||||
| #include <utility/tagitem.h> |  | ||||||
| #include <dos/exall.h> |  | ||||||
| #include <dos/var.h> |  | ||||||
| 
 |  | ||||||
| #define __NOLIBBASE__ |  | ||||||
| #define __NOLOBALIFACE__ |  | ||||||
| #define __USE_INLINE__ |  | ||||||
| 
 |  | ||||||
| #include <proto/dos.h> |  | ||||||
| #include <clib/debug_protos.h> |  | ||||||
| 
 |  | ||||||
| #ifndef __amigaos4__ |  | ||||||
|   extern struct Library*  DOSBase; |  | ||||||
| #else |  | ||||||
|   extern struct DOSIFace*  IDOS; |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| #include <ft2build.h> |  | ||||||
| #include <freetype/freetype.h> |  | ||||||
| #include <freetype/internal/ftdebug.h> |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| #ifdef FT_DEBUG_LEVEL_ERROR |  | ||||||
| 
 |  | ||||||
|   /* documentation is in ftdebug.h */ |  | ||||||
| 
 |  | ||||||
|   FT_BASE_DEF( void ) |  | ||||||
|   FT_Message( const char*  fmt, |  | ||||||
|               ... ) |  | ||||||
|   { |  | ||||||
|     va_list  ap; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     va_start( ap, fmt ); |  | ||||||
|     KVPrintF( fmt, ap ); |  | ||||||
|     va_end( ap ); |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /* documentation is in ftdebug.h */ |  | ||||||
| 
 |  | ||||||
|   FT_BASE_DEF( void ) |  | ||||||
|   FT_Panic( const char*  fmt, |  | ||||||
|             ... ) |  | ||||||
|   { |  | ||||||
|     va_list  ap; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     va_start( ap, fmt ); |  | ||||||
|     KVPrintF( fmt, ap ); |  | ||||||
|     va_end( ap ); |  | ||||||
| 
 |  | ||||||
|     /* exit( EXIT_FAILURE ); */ |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /* documentation is in ftdebug.h */ |  | ||||||
| 
 |  | ||||||
|   FT_BASE_DEF( int ) |  | ||||||
|   FT_Throw( FT_Error     error, |  | ||||||
|             int          line, |  | ||||||
|             const char*  file ) |  | ||||||
|   { |  | ||||||
| #if 0 |  | ||||||
|     /* activating the code in this block makes FreeType very chatty */ |  | ||||||
|     fprintf( stderr, |  | ||||||
|              "%s:%d: error 0x%02x: %s\n", |  | ||||||
|              file, |  | ||||||
|              line, |  | ||||||
|              error, |  | ||||||
|              FT_Error_String( error ) ); |  | ||||||
| #else |  | ||||||
|     FT_UNUSED( error ); |  | ||||||
|     FT_UNUSED( line ); |  | ||||||
|     FT_UNUSED( file ); |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
|     return 0; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| #endif /* FT_DEBUG_LEVEL_ERROR */ |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| #ifdef FT_DEBUG_LEVEL_TRACE |  | ||||||
| 
 |  | ||||||
|   /* array of trace levels, initialized to 0; */ |  | ||||||
|   /* this gets adjusted at run-time           */ |  | ||||||
|   static int  ft_trace_levels_enabled[trace_count]; |  | ||||||
| 
 |  | ||||||
|   /* array of trace levels, always initialized to 0 */ |  | ||||||
|   static int  ft_trace_levels_disabled[trace_count]; |  | ||||||
| 
 |  | ||||||
|   /* a pointer to either `ft_trace_levels_enabled' */ |  | ||||||
|   /* or `ft_trace_levels_disabled'                 */ |  | ||||||
|   int*  ft_trace_levels; |  | ||||||
| 
 |  | ||||||
|   /* define array of trace toggle names */ |  | ||||||
| #define FT_TRACE_DEF( x )  #x , |  | ||||||
| 
 |  | ||||||
|   static const char*  ft_trace_toggles[trace_count + 1] = |  | ||||||
|   { |  | ||||||
| #include <freetype/internal/fttrace.h> |  | ||||||
|     NULL |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
| #undef FT_TRACE_DEF |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /* documentation is in ftdebug.h */ |  | ||||||
| 
 |  | ||||||
|   FT_BASE_DEF( FT_Int ) |  | ||||||
|   FT_Trace_Get_Count( void ) |  | ||||||
|   { |  | ||||||
|     return trace_count; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /* documentation is in ftdebug.h */ |  | ||||||
| 
 |  | ||||||
|   FT_BASE_DEF( const char * ) |  | ||||||
|   FT_Trace_Get_Name( FT_Int  idx ) |  | ||||||
|   { |  | ||||||
|     int  max = FT_Trace_Get_Count(); |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     if ( idx < max ) |  | ||||||
|       return ft_trace_toggles[idx]; |  | ||||||
|     else |  | ||||||
|       return NULL; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /* documentation is in ftdebug.h */ |  | ||||||
| 
 |  | ||||||
|   FT_BASE_DEF( void ) |  | ||||||
|   FT_Trace_Disable( void ) |  | ||||||
|   { |  | ||||||
|     ft_trace_levels = ft_trace_levels_disabled; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /* documentation is in ftdebug.h */ |  | ||||||
| 
 |  | ||||||
|   FT_BASE_DEF( void ) |  | ||||||
|   FT_Trace_Enable( void ) |  | ||||||
|   { |  | ||||||
|     ft_trace_levels = ft_trace_levels_enabled; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /**************************************************************************
 |  | ||||||
|    * |  | ||||||
|    * Initialize the tracing sub-system.  This is done by retrieving the |  | ||||||
|    * value of the `FT2_DEBUG' environment variable.  It must be a list of |  | ||||||
|    * toggles, separated by spaces, `;', or `,'.  Example: |  | ||||||
|    * |  | ||||||
|    *   export FT2_DEBUG="any:3 memory:7 stream:5" |  | ||||||
|    * |  | ||||||
|    * This requests that all levels be set to 3, except the trace level for |  | ||||||
|    * the memory and stream components which are set to 7 and 5, |  | ||||||
|    * respectively. |  | ||||||
|    * |  | ||||||
|    * See the file `include/freetype/internal/fttrace.h' for details of |  | ||||||
|    * the available toggle names. |  | ||||||
|    * |  | ||||||
|    * The level must be between 0 and 7; 0 means quiet (except for serious |  | ||||||
|    * runtime errors), and 7 means _very_ verbose. |  | ||||||
|    */ |  | ||||||
|   FT_BASE_DEF( void ) |  | ||||||
|   ft_debug_init( void ) |  | ||||||
|   { |  | ||||||
|     /* const char*  ft2_debug = ft_getenv( "FT2_DEBUG" ); */ |  | ||||||
|     char         buf[256]; |  | ||||||
|     const char*  ft2_debug = &buf[0]; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     /* if ( ft2_debug ) */ |  | ||||||
|     if ( GetVar( "FT2_DEBUG", (STRPTR)ft2_debug, 256, LV_VAR ) > 0 ) |  | ||||||
|     { |  | ||||||
|       const char*  p = ft2_debug; |  | ||||||
|       const char*  q; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|       for ( ; *p; p++ ) |  | ||||||
|       { |  | ||||||
|         /* skip leading whitespace and separators */ |  | ||||||
|         if ( *p == ' ' || *p == '\t' || *p == ',' || *p == ';' || *p == '=' ) |  | ||||||
|           continue; |  | ||||||
| 
 |  | ||||||
|         /* read toggle name, followed by ':' */ |  | ||||||
|         q = p; |  | ||||||
|         while ( *p && *p != ':' ) |  | ||||||
|           p++; |  | ||||||
| 
 |  | ||||||
|         if ( !*p ) |  | ||||||
|           break; |  | ||||||
| 
 |  | ||||||
|         if ( *p == ':' && p > q ) |  | ||||||
|         { |  | ||||||
|           FT_Int  n, i, len = (FT_Int)( p - q ); |  | ||||||
|           FT_Int  level = -1, found = -1; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|           for ( n = 0; n < trace_count; n++ ) |  | ||||||
|           { |  | ||||||
|             const char*  toggle = ft_trace_toggles[n]; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|             for ( i = 0; i < len; i++ ) |  | ||||||
|             { |  | ||||||
|               if ( toggle[i] != q[i] ) |  | ||||||
|                 break; |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             if ( i == len && toggle[i] == 0 ) |  | ||||||
|             { |  | ||||||
|               found = n; |  | ||||||
|               break; |  | ||||||
|             } |  | ||||||
|           } |  | ||||||
| 
 |  | ||||||
|           /* read level */ |  | ||||||
|           p++; |  | ||||||
|           if ( *p ) |  | ||||||
|           { |  | ||||||
|             level = *p - '0'; |  | ||||||
|             if ( level < 0 || level > 7 ) |  | ||||||
|               level = -1; |  | ||||||
|           } |  | ||||||
| 
 |  | ||||||
|           if ( found >= 0 && level >= 0 ) |  | ||||||
|           { |  | ||||||
|             if ( found == trace_any ) |  | ||||||
|             { |  | ||||||
|               /* special case for `any' */ |  | ||||||
|               for ( n = 0; n < trace_count; n++ ) |  | ||||||
|                 ft_trace_levels_enabled[n] = level; |  | ||||||
|             } |  | ||||||
|             else |  | ||||||
|               ft_trace_levels_enabled[found] = level; |  | ||||||
|           } |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     ft_trace_levels = ft_trace_levels_enabled; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| #else  /* !FT_DEBUG_LEVEL_TRACE */ |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   FT_BASE_DEF( void ) |  | ||||||
|   ft_debug_init( void ) |  | ||||||
|   { |  | ||||||
|     /* nothing */ |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   FT_BASE_DEF( FT_Int ) |  | ||||||
|   FT_Trace_Get_Count( void ) |  | ||||||
|   { |  | ||||||
|     return 0; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   FT_BASE_DEF( const char * ) |  | ||||||
|   FT_Trace_Get_Name( FT_Int  idx ) |  | ||||||
|   { |  | ||||||
|     FT_UNUSED( idx ); |  | ||||||
| 
 |  | ||||||
|     return NULL; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   FT_BASE_DEF( void ) |  | ||||||
|   FT_Trace_Disable( void ) |  | ||||||
|   { |  | ||||||
|     /* nothing */ |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /* documentation is in ftdebug.h */ |  | ||||||
| 
 |  | ||||||
|   FT_BASE_DEF( void ) |  | ||||||
|   FT_Trace_Enable( void ) |  | ||||||
|   { |  | ||||||
|     /* nothing */ |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| #endif /* !FT_DEBUG_LEVEL_TRACE */ |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| /* END */ |  | ||||||
|  | @ -1,530 +0,0 @@ | ||||||
| /***************************************************************************/ |  | ||||||
| /*                                                                         */ |  | ||||||
| /*  ftsystem.c                                                             */ |  | ||||||
| /*                                                                         */ |  | ||||||
| /*    Amiga-specific FreeType low-level system interface (body).           */ |  | ||||||
| /*                                                                         */ |  | ||||||
| /*  Copyright (C) 1996-2022 by                                             */ |  | ||||||
| /*  David Turner, Robert Wilhelm, Werner Lemberg and Detlef Würkner.       */ |  | ||||||
| /*                                                                         */ |  | ||||||
| /*  This file is part of the FreeType project, and may only be used,       */ |  | ||||||
| /*  modified, and distributed under the terms of the FreeType project      */ |  | ||||||
| /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */ |  | ||||||
| /*  this file you indicate that you have read the license and              */ |  | ||||||
| /*  understand and accept it fully.                                        */ |  | ||||||
| /*                                                                         */ |  | ||||||
| /***************************************************************************/ |  | ||||||
| 
 |  | ||||||
|   /*************************************************************************/ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* This file contains the Amiga interface used by FreeType to access     */ |  | ||||||
|   /* low-level, i.e. memory management, i/o access as well as thread       */ |  | ||||||
|   /* synchronisation.                                                      */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /*************************************************************************/ |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /*************************************************************************/ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* Maintained by Detlef Würkner <TetiSoft@apg.lahn.de>                   */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* Based on the original ftsystem.c,                                     */ |  | ||||||
|   /* modified to avoid fopen(), fclose(), fread(), fseek(), ftell(),       */ |  | ||||||
|   /* malloc(), realloc(), and free().                                      */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* Those C library functions are often not thread-safe or cant be        */ |  | ||||||
|   /* used in a shared Amiga library. If that's not a problem for you,       */ |  | ||||||
|   /* you can of course use the default ftsystem.c with C library calls     */ |  | ||||||
|   /* instead.                                                              */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* This implementation needs exec V39+ because it uses AllocPooled() etc */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /*************************************************************************/ |  | ||||||
| 
 |  | ||||||
| #define __NOLIBBASE__ |  | ||||||
| #define __NOGLOBALIFACE__ |  | ||||||
| #define __USE_INLINE__ |  | ||||||
| #include <proto/exec.h> |  | ||||||
| #include <dos/stdio.h> |  | ||||||
| #include <proto/dos.h> |  | ||||||
| #ifdef __amigaos4__ |  | ||||||
| extern struct ExecIFace *IExec; |  | ||||||
| extern struct DOSIFace  *IDOS; |  | ||||||
| #else |  | ||||||
| extern struct Library   *SysBase; |  | ||||||
| extern struct Library   *DOSBase; |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #define IOBUF_SIZE 512 |  | ||||||
| 
 |  | ||||||
| /* structure that helps us to avoid
 |  | ||||||
|  * useless calls of Seek() and Read() |  | ||||||
|  */ |  | ||||||
| struct SysFile |  | ||||||
| { |  | ||||||
|   BPTR  file; |  | ||||||
|   ULONG iobuf_start; |  | ||||||
|   ULONG iobuf_end; |  | ||||||
|   UBYTE iobuf[IOBUF_SIZE]; |  | ||||||
| }; |  | ||||||
| 
 |  | ||||||
| #ifndef __amigaos4__ |  | ||||||
| /* C implementation of AllocVecPooled (see autodoc exec/AllocPooled) */ |  | ||||||
| APTR |  | ||||||
| Alloc_VecPooled( APTR   poolHeader, |  | ||||||
|                  ULONG  memSize ) |  | ||||||
| { |  | ||||||
|   ULONG  newSize = memSize + sizeof ( ULONG ); |  | ||||||
|   ULONG  *mem = AllocPooled( poolHeader, newSize ); |  | ||||||
| 
 |  | ||||||
|   if ( !mem ) |  | ||||||
|     return NULL; |  | ||||||
|   *mem = newSize; |  | ||||||
|   return mem + 1; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /* C implementation of FreeVecPooled (see autodoc exec/AllocPooled) */ |  | ||||||
| void |  | ||||||
| Free_VecPooled( APTR  poolHeader, |  | ||||||
|                 APTR  memory ) |  | ||||||
| { |  | ||||||
|   ULONG  *realmem = (ULONG *)memory - 1; |  | ||||||
| 
 |  | ||||||
|   FreePooled( poolHeader, realmem, *realmem ); |  | ||||||
| } |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #include <ft2build.h> |  | ||||||
| #include FT_CONFIG_CONFIG_H |  | ||||||
| #include <freetype/internal/ftdebug.h> |  | ||||||
| #include <freetype/ftsystem.h> |  | ||||||
| #include <freetype/fterrors.h> |  | ||||||
| #include <freetype/fttypes.h> |  | ||||||
| 
 |  | ||||||
| #include <stdio.h> |  | ||||||
| #include <stdlib.h> |  | ||||||
| #include <string.h> |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /*************************************************************************/ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /*                       MEMORY MANAGEMENT INTERFACE                     */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /*************************************************************************/ |  | ||||||
| 
 |  | ||||||
|   /*************************************************************************/ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* It is not necessary to do any error checking for the                  */ |  | ||||||
|   /* allocation-related functions.  This is done by the higher level       */ |  | ||||||
|   /* routines like ft_mem_alloc() or ft_mem_realloc().                     */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /*************************************************************************/ |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /*************************************************************************/ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* <Function>                                                            */ |  | ||||||
|   /*    ft_alloc                                                           */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* <Description>                                                         */ |  | ||||||
|   /*    The memory allocation function.                                    */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* <Input>                                                               */ |  | ||||||
|   /*    memory :: A pointer to the memory object.                          */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /*    size   :: The requested size in bytes.                             */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* <Return>                                                              */ |  | ||||||
|   /*    The address of newly allocated block.                              */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   FT_CALLBACK_DEF( void* ) |  | ||||||
|   ft_alloc( FT_Memory  memory, |  | ||||||
|             long       size ) |  | ||||||
|   { |  | ||||||
| #ifdef __amigaos4__ |  | ||||||
|     return AllocVecPooled( memory->user, size ); |  | ||||||
| #else |  | ||||||
|     return Alloc_VecPooled( memory->user, size ); |  | ||||||
| #endif |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /*************************************************************************/ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* <Function>                                                            */ |  | ||||||
|   /*    ft_realloc                                                         */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* <Description>                                                         */ |  | ||||||
|   /*    The memory reallocation function.                                  */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* <Input>                                                               */ |  | ||||||
|   /*    memory   :: A pointer to the memory object.                        */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /*    cur_size :: The current size of the allocated memory block.        */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /*    new_size :: The newly requested size in bytes.                     */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /*    block    :: The current address of the block in memory.            */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* <Return>                                                              */ |  | ||||||
|   /*    The address of the reallocated memory block.                       */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   FT_CALLBACK_DEF( void* ) |  | ||||||
|   ft_realloc( FT_Memory  memory, |  | ||||||
|               long       cur_size, |  | ||||||
|               long       new_size, |  | ||||||
|               void*      block ) |  | ||||||
|   { |  | ||||||
|     void* new_block; |  | ||||||
| 
 |  | ||||||
| #ifdef __amigaos4__ |  | ||||||
|     new_block = AllocVecPooled ( memory->user, new_size ); |  | ||||||
| #else |  | ||||||
|     new_block = Alloc_VecPooled ( memory->user, new_size ); |  | ||||||
| #endif |  | ||||||
|     if ( new_block != NULL ) |  | ||||||
|     { |  | ||||||
|       CopyMem ( block, new_block, |  | ||||||
|                 ( new_size > cur_size ) ? cur_size : new_size ); |  | ||||||
| #ifdef __amigaos4__ |  | ||||||
|       FreeVecPooled ( memory->user, block ); |  | ||||||
| #else |  | ||||||
|       Free_VecPooled ( memory->user, block ); |  | ||||||
| #endif |  | ||||||
|     } |  | ||||||
|     return new_block; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /*************************************************************************/ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* <Function>                                                            */ |  | ||||||
|   /*    ft_free                                                            */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* <Description>                                                         */ |  | ||||||
|   /*    The memory release function.                                       */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* <Input>                                                               */ |  | ||||||
|   /*    memory  :: A pointer to the memory object.                         */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /*    block   :: The address of block in memory to be freed.             */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   FT_CALLBACK_DEF( void ) |  | ||||||
|   ft_free( FT_Memory  memory, |  | ||||||
|            void*      block ) |  | ||||||
|   { |  | ||||||
| #ifdef __amigaos4__ |  | ||||||
|     FreeVecPooled( memory->user, block ); |  | ||||||
| #else |  | ||||||
|     Free_VecPooled( memory->user, block ); |  | ||||||
| #endif |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /*************************************************************************/ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /*                     RESOURCE MANAGEMENT INTERFACE                     */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /*************************************************************************/ |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /*************************************************************************/ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* The macro FT_COMPONENT is used in trace mode.  It is an implicit      */ |  | ||||||
|   /* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log  */ |  | ||||||
|   /* messages during execution.                                            */ |  | ||||||
|   /*                                                                       */ |  | ||||||
| #undef  FT_COMPONENT |  | ||||||
| #define FT_COMPONENT  io |  | ||||||
| 
 |  | ||||||
|   /* We use the macro STREAM_FILE for convenience to extract the       */ |  | ||||||
|   /* system-specific stream handle from a given FreeType stream object */ |  | ||||||
| #define STREAM_FILE( stream )  ( (struct SysFile *)stream->descriptor.pointer ) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /*************************************************************************/ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* <Function>                                                            */ |  | ||||||
|   /*    ft_amiga_stream_close                                              */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* <Description>                                                         */ |  | ||||||
|   /*    The function to close a stream.                                    */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* <Input>                                                               */ |  | ||||||
|   /*    stream :: A pointer to the stream object.                          */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   FT_CALLBACK_DEF( void ) |  | ||||||
|   ft_amiga_stream_close( FT_Stream  stream ) |  | ||||||
|   { |  | ||||||
|     struct SysFile* sysfile; |  | ||||||
| 
 |  | ||||||
|     sysfile = STREAM_FILE( stream ); |  | ||||||
|     Close ( sysfile->file ); |  | ||||||
|     FreeMem ( sysfile, sizeof ( struct SysFile )); |  | ||||||
| 
 |  | ||||||
|     stream->descriptor.pointer = NULL; |  | ||||||
|     stream->size               = 0; |  | ||||||
|     stream->base               = NULL; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /*************************************************************************/ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* <Function>                                                            */ |  | ||||||
|   /*    ft_amiga_stream_io                                                 */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* <Description>                                                         */ |  | ||||||
|   /*    The function to open a stream.                                     */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* <Input>                                                               */ |  | ||||||
|   /*    stream :: A pointer to the stream object.                          */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /*    offset :: The position in the data stream to start reading.        */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /*    buffer :: The address of buffer to store the read data.            */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /*    count  :: The number of bytes to read from the stream.             */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   /* <Return>                                                              */ |  | ||||||
|   /*    The number of bytes actually read.                                 */ |  | ||||||
|   /*                                                                       */ |  | ||||||
|   FT_CALLBACK_DEF( unsigned long ) |  | ||||||
|   ft_amiga_stream_io( FT_Stream       stream, |  | ||||||
|                       unsigned long   offset, |  | ||||||
|                       unsigned char*  buffer, |  | ||||||
|                       unsigned long   count ) |  | ||||||
|   { |  | ||||||
|     struct SysFile* sysfile; |  | ||||||
|     unsigned long   read_bytes; |  | ||||||
| 
 |  | ||||||
|     if ( count != 0 ) |  | ||||||
|     { |  | ||||||
|       sysfile = STREAM_FILE( stream ); |  | ||||||
| 
 |  | ||||||
|       /* handle the seek */ |  | ||||||
|       if ( (offset < sysfile->iobuf_start) || (offset + count > sysfile->iobuf_end) ) |  | ||||||
|       { |  | ||||||
|         /* requested offset implies we need a buffer refill */ |  | ||||||
|         if ( !sysfile->iobuf_end || offset != sysfile->iobuf_end ) |  | ||||||
|         { |  | ||||||
|           /* a physical seek is necessary */ |  | ||||||
|           Seek( sysfile->file, offset, OFFSET_BEGINNING ); |  | ||||||
|         } |  | ||||||
|         sysfile->iobuf_start = offset; |  | ||||||
|         sysfile->iobuf_end = 0; /* trigger a buffer refill */ |  | ||||||
|       } |  | ||||||
| 
 |  | ||||||
|       /* handle the read */ |  | ||||||
|       if ( offset + count <= sysfile->iobuf_end ) |  | ||||||
|       { |  | ||||||
|         /* we have buffer and requested bytes are all inside our buffer */ |  | ||||||
|         CopyMem( &sysfile->iobuf[offset - sysfile->iobuf_start], buffer, count ); |  | ||||||
|         read_bytes = count; |  | ||||||
|       } |  | ||||||
|       else |  | ||||||
|       { |  | ||||||
|         /* (re)fill buffer */ |  | ||||||
|         if ( count <= IOBUF_SIZE ) |  | ||||||
|         { |  | ||||||
|           /* requested bytes is a subset of the buffer */ |  | ||||||
|           read_bytes = Read( sysfile->file, sysfile->iobuf, IOBUF_SIZE ); |  | ||||||
|           if ( read_bytes == -1UL ) |  | ||||||
|           { |  | ||||||
|             /* error */ |  | ||||||
|             read_bytes = 0; |  | ||||||
|           } |  | ||||||
|           else |  | ||||||
|           { |  | ||||||
|             sysfile->iobuf_end = offset + read_bytes; |  | ||||||
|             CopyMem( sysfile->iobuf, buffer, count ); |  | ||||||
|             if ( read_bytes > count ) |  | ||||||
|             { |  | ||||||
|               read_bytes = count; |  | ||||||
|             } |  | ||||||
|           } |  | ||||||
|         } |  | ||||||
|         else |  | ||||||
|         { |  | ||||||
|           /* we actually need more than our buffer can hold, so we decide
 |  | ||||||
|           ** to do a single big read, and then copy the last IOBUF_SIZE |  | ||||||
|           ** bytes of that to our internal buffer for later use */ |  | ||||||
|           read_bytes = Read( sysfile->file, buffer, count ); |  | ||||||
|           if ( read_bytes == -1UL ) |  | ||||||
|           { |  | ||||||
|             /* error */ |  | ||||||
|             read_bytes = 0; |  | ||||||
|           } |  | ||||||
|           else |  | ||||||
|           { |  | ||||||
|             ULONG bufsize; |  | ||||||
| 
 |  | ||||||
|             bufsize = ( read_bytes > IOBUF_SIZE ) ? IOBUF_SIZE : read_bytes; |  | ||||||
|             sysfile->iobuf_end = offset + read_bytes; |  | ||||||
|             sysfile->iobuf_start = sysfile->iobuf_end - bufsize; |  | ||||||
|             CopyMem( &buffer[read_bytes - bufsize] , sysfile->iobuf, bufsize ); |  | ||||||
|           } |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|     else |  | ||||||
|     { |  | ||||||
|       read_bytes = 0; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     return read_bytes; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /* documentation is in ftobjs.h */ |  | ||||||
| 
 |  | ||||||
|   FT_BASE_DEF( FT_Error ) |  | ||||||
|   FT_Stream_Open( FT_Stream    stream, |  | ||||||
|                   const char*  filepathname ) |  | ||||||
|   { |  | ||||||
|     struct FileInfoBlock*  fib; |  | ||||||
|     struct SysFile*        sysfile; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     if ( !stream ) |  | ||||||
|       return FT_THROW( Invalid_Stream_Handle ); |  | ||||||
| 
 |  | ||||||
| #ifdef __amigaos4__ |  | ||||||
|     sysfile = AllocMem ( sizeof (struct SysFile ), MEMF_SHARED ); |  | ||||||
| #else |  | ||||||
|     sysfile = AllocMem ( sizeof (struct SysFile ), MEMF_PUBLIC ); |  | ||||||
| #endif |  | ||||||
|     if ( !sysfile ) |  | ||||||
|     { |  | ||||||
|       FT_ERROR(( "FT_Stream_Open:" )); |  | ||||||
|       FT_ERROR(( " could not open `%s'\n", filepathname )); |  | ||||||
| 
 |  | ||||||
|       return FT_THROW( Cannot_Open_Resource ); |  | ||||||
|     } |  | ||||||
|     sysfile->file = Open( (STRPTR)filepathname, MODE_OLDFILE ); |  | ||||||
|     if ( !sysfile->file ) |  | ||||||
|     { |  | ||||||
|       FreeMem ( sysfile, sizeof ( struct SysFile )); |  | ||||||
|       FT_ERROR(( "FT_Stream_Open:" )); |  | ||||||
|       FT_ERROR(( " could not open `%s'\n", filepathname )); |  | ||||||
| 
 |  | ||||||
|       return FT_THROW( Cannot_Open_Resource ); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     fib = AllocDosObject( DOS_FIB, NULL ); |  | ||||||
|     if ( !fib ) |  | ||||||
|     { |  | ||||||
|       Close ( sysfile->file ); |  | ||||||
|       FreeMem ( sysfile, sizeof ( struct SysFile )); |  | ||||||
|       FT_ERROR(( "FT_Stream_Open:" )); |  | ||||||
|       FT_ERROR(( " could not open `%s'\n", filepathname )); |  | ||||||
| 
 |  | ||||||
|       return FT_THROW( Cannot_Open_Resource ); |  | ||||||
|     } |  | ||||||
|     if ( !( ExamineFH( sysfile->file, fib ) ) ) |  | ||||||
|     { |  | ||||||
|       FreeDosObject( DOS_FIB, fib ); |  | ||||||
|       Close ( sysfile->file ); |  | ||||||
|       FreeMem ( sysfile, sizeof ( struct SysFile )); |  | ||||||
|       FT_ERROR(( "FT_Stream_Open:" )); |  | ||||||
|       FT_ERROR(( " could not open `%s'\n", filepathname )); |  | ||||||
| 
 |  | ||||||
|       return FT_THROW( Cannot_Open_Resource ); |  | ||||||
|     } |  | ||||||
|     stream->size = fib->fib_Size; |  | ||||||
|     FreeDosObject( DOS_FIB, fib ); |  | ||||||
| 
 |  | ||||||
|     stream->descriptor.pointer = (void *)sysfile; |  | ||||||
|     stream->pathname.pointer   = (char*)filepathname; |  | ||||||
|     sysfile->iobuf_start       = 0; |  | ||||||
|     sysfile->iobuf_end         = 0; |  | ||||||
|     stream->pos                = 0; |  | ||||||
| 
 |  | ||||||
|     stream->read  = ft_amiga_stream_io; |  | ||||||
|     stream->close = ft_amiga_stream_close; |  | ||||||
| 
 |  | ||||||
|     if ( !stream->size ) |  | ||||||
|     { |  | ||||||
|       ft_amiga_stream_close( stream ); |  | ||||||
|       FT_ERROR(( "FT_Stream_Open:" )); |  | ||||||
|       FT_ERROR(( " opened `%s' but zero-sized\n", filepathname )); |  | ||||||
|       return FT_THROW( Cannot_Open_Stream ); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     FT_TRACE1(( "FT_Stream_Open:" )); |  | ||||||
|     FT_TRACE1(( " opened `%s' (%ld bytes) successfully\n", |  | ||||||
|                 filepathname, stream->size )); |  | ||||||
| 
 |  | ||||||
|     return FT_Err_Ok; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| #ifdef FT_DEBUG_MEMORY |  | ||||||
| 
 |  | ||||||
|   extern FT_Int |  | ||||||
|   ft_mem_debug_init( FT_Memory  memory ); |  | ||||||
| 
 |  | ||||||
|   extern void |  | ||||||
|   ft_mem_debug_done( FT_Memory  memory ); |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /* documentation is in ftobjs.h */ |  | ||||||
| 
 |  | ||||||
|   FT_BASE_DEF( FT_Memory ) |  | ||||||
|   FT_New_Memory( void ) |  | ||||||
|   { |  | ||||||
|     FT_Memory  memory; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| #ifdef __amigaos4__ |  | ||||||
|     memory = (FT_Memory)AllocVec( sizeof ( *memory ), MEMF_SHARED ); |  | ||||||
| #else |  | ||||||
|     memory = (FT_Memory)AllocVec( sizeof ( *memory ), MEMF_PUBLIC ); |  | ||||||
| #endif |  | ||||||
|     if ( memory ) |  | ||||||
|     { |  | ||||||
| #ifdef __amigaos4__ |  | ||||||
|       memory->user = CreatePool( MEMF_SHARED, 16384, 16384 ); |  | ||||||
| #else |  | ||||||
|       memory->user = CreatePool( MEMF_PUBLIC, 16384, 16384 ); |  | ||||||
| #endif |  | ||||||
|       if ( memory->user == NULL ) |  | ||||||
|       { |  | ||||||
|         FreeVec( memory ); |  | ||||||
|         memory = NULL; |  | ||||||
|       } |  | ||||||
|       else |  | ||||||
|       { |  | ||||||
|         memory->alloc   = ft_alloc; |  | ||||||
|         memory->realloc = ft_realloc; |  | ||||||
|         memory->free    = ft_free; |  | ||||||
| #ifdef FT_DEBUG_MEMORY |  | ||||||
|         ft_mem_debug_init( memory ); |  | ||||||
| #endif |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     return memory; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   /* documentation is in ftobjs.h */ |  | ||||||
| 
 |  | ||||||
|   FT_BASE_DEF( void ) |  | ||||||
|   FT_Done_Memory( FT_Memory  memory ) |  | ||||||
|   { |  | ||||||
| #ifdef FT_DEBUG_MEMORY |  | ||||||
|     ft_mem_debug_done( memory ); |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
|     DeletePool( memory->user ); |  | ||||||
|     FreeVec( memory ); |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
| Local Variables: |  | ||||||
| coding: latin-1 |  | ||||||
| End: |  | ||||||
| */ |  | ||||||
| /* END */ |  | ||||||
|  | @ -1,77 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 configuration rules for a `normal' ANSI system
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 1996-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| DELETE       := rm -f |  | ||||||
| CAT          := cat |  | ||||||
| SEP          := / |  | ||||||
| PLATFORM_DIR := $(TOP_DIR)/builds/ansi |  | ||||||
| PLATFORM     := ansi |  | ||||||
| 
 |  | ||||||
| # This is used for `make refdoc' and `make refdoc-venv'
 |  | ||||||
| #
 |  | ||||||
| BIN := bin |  | ||||||
| 
 |  | ||||||
| # The directory where all library files are placed.
 |  | ||||||
| #
 |  | ||||||
| # By default, this is the same as $(OBJ_DIR); however, this can be changed
 |  | ||||||
| # to suit particular needs.
 |  | ||||||
| #
 |  | ||||||
| LIB_DIR := $(OBJ_DIR) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The name of the final library file.  Note that the DOS-specific Makefile
 |  | ||||||
| # uses a shorter (8.3) name.
 |  | ||||||
| #
 |  | ||||||
| LIBRARY := lib$(PROJECT) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Path inclusion flag.  Some compilers use a different flag than `-I' to
 |  | ||||||
| # specify an additional include path.  Examples are `/i=' or `-J'.
 |  | ||||||
| #
 |  | ||||||
| I := -I |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flag used to define a macro before the compilation of a given source
 |  | ||||||
| # object.  Usually it is `-D' like in `-DDEBUG'.
 |  | ||||||
| #
 |  | ||||||
| D := -D |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The link flag used to specify a given library file on link.  Note that
 |  | ||||||
| # this is only used to compile the demo programs, not the library itself.
 |  | ||||||
| #
 |  | ||||||
| L := -l |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Target flag.
 |  | ||||||
| #
 |  | ||||||
| T := -o$(space) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flags
 |  | ||||||
| #
 |  | ||||||
| #   These should concern: debug output, optimization & warnings.
 |  | ||||||
| #
 |  | ||||||
| #   Use the ANSIFLAGS variable to define the compiler flags used to enforce
 |  | ||||||
| #   ANSI compliance.
 |  | ||||||
| #
 |  | ||||||
| CFLAGS ?= -c |  | ||||||
| 
 |  | ||||||
| # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
 |  | ||||||
| #
 |  | ||||||
| ANSIFLAGS ?= |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,21 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 configuration rules for a `normal' pseudo ANSI compiler/system
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 1996-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| include $(TOP_DIR)/builds/ansi/ansi-def.mk |  | ||||||
| include $(TOP_DIR)/builds/compiler/ansi-cc.mk |  | ||||||
| include $(TOP_DIR)/builds/link_std.mk |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,20 +0,0 @@ | ||||||
| #if defined( GXVALID_H_ ) |  | ||||||
| #pragma warn -aus /* too many unevaluated variables in gxvalid */ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef ATARI_H |  | ||||||
| #define ATARI_H |  | ||||||
| 
 |  | ||||||
| #pragma warn -stu |  | ||||||
| 
 |  | ||||||
| /* PureC doesn't like 32bit enumerations */ |  | ||||||
| 
 |  | ||||||
| #ifndef FT_IMAGE_TAG |  | ||||||
| #define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 ) value |  | ||||||
| #endif /* FT_IMAGE_TAG */ |  | ||||||
| 
 |  | ||||||
| #ifndef FT_ENC_TAG |  | ||||||
| #define FT_ENC_TAG( value, a, b, c, d ) value |  | ||||||
| #endif /* FT_ENC_TAG */ |  | ||||||
| 
 |  | ||||||
| #endif /* ATARI_H */ |  | ||||||
|  | @ -1,37 +0,0 @@ | ||||||
| /* the following changes file names for PureC projects */ |  | ||||||
| 
 |  | ||||||
| if (argc > 0) |  | ||||||
| { |  | ||||||
| 	ordner = argv[0]; |  | ||||||
| 	if (basename(ordner) == "") /* ist Ordner */ |  | ||||||
| 	{ |  | ||||||
| 		ChangeFilenames(ordner); |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| proc ChangeFilenames(folder) |  | ||||||
| local i,entries,directory,file; |  | ||||||
| { |  | ||||||
| 	entries = filelist(directory,folder); |  | ||||||
| 	for (i = 0; i < entries; ++i) |  | ||||||
| 	{ |  | ||||||
| 		file = directory[i,0]; |  | ||||||
| 		if ((directory[i,3]&16) > 0) /* subdirectory */ |  | ||||||
| 		{ |  | ||||||
| 			ChangeFilenames(folder+file+"\\"); |  | ||||||
| 		} |  | ||||||
| 		else |  | ||||||
| 		{ |  | ||||||
| 			if ((stricmp(suffix(file),".h")==0)|(stricmp(suffix(file),".c")==0)) |  | ||||||
| 			ChangeFilename(folder,file); |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| proc ChangeFilename(path,datei) |  | ||||||
| local newfile,err; |  | ||||||
| { |  | ||||||
| 	newfile=datei; |  | ||||||
| 	newfile[0]=(newfile[0] | 32) ^ 32; |  | ||||||
| 	err=files.rename("-q",path+datei,newfile); |  | ||||||
| } |  | ||||||
|  | @ -1,32 +0,0 @@ | ||||||
| ;FreeType project file |  | ||||||
| 
 |  | ||||||
| FREETYPE.LIB |  | ||||||
| 
 |  | ||||||
| .C [-K -P -R -A] |  | ||||||
| .L [-J -V] |  | ||||||
| .S |  | ||||||
| 
 |  | ||||||
| = |  | ||||||
| 
 |  | ||||||
| ..\..\src\base\ftsystem.c |  | ||||||
| ..\..\src\base\ftdebug.c |  | ||||||
| 
 |  | ||||||
| ..\..\src\base\ftinit.c |  | ||||||
| ..\..\src\base\ftglyph.c |  | ||||||
| ..\..\src\base\ftmm |  | ||||||
| ..\..\src\base\ftbbox |  | ||||||
| 
 |  | ||||||
| ..\..\src\base\ftbase.c |  | ||||||
| ..\..\src\autohint\autohint.c |  | ||||||
| ;..\..\src\cache\ftcache.c |  | ||||||
| ..\..\src\cff\cff.c |  | ||||||
| ..\..\src\cid\type1cid.c |  | ||||||
| ..\..\src\psaux\psaux.c |  | ||||||
| ..\..\src\pshinter\pshinter.c |  | ||||||
| ..\..\src\psnames\psnames.c |  | ||||||
| ..\..\src\raster\raster.c |  | ||||||
| ..\..\src\sfnt\sfnt.c |  | ||||||
| ..\..\src\smooth\smooth.c |  | ||||||
| ..\..\src\truetype\truetype.c |  | ||||||
| ..\..\src\type1\type1.c |  | ||||||
| ..\..\src\type42\type42.c |  | ||||||
|  | @ -1,51 +0,0 @@ | ||||||
| Compiling FreeType 2 with PureC compiler |  | ||||||
| ======================================== |  | ||||||
| 
 |  | ||||||
| [See below for a German version.] |  | ||||||
| 
 |  | ||||||
| To compile FreeType 2 as a library the following changes must be applied: |  | ||||||
| 
 |  | ||||||
| - All *.c files must start with an uppercase letter. |  | ||||||
|   (In case GEMSCRIPT is available: |  | ||||||
|   Simply drag the whole FreeType 2 directory to the file `FNames.SIC'.) |  | ||||||
| 
 |  | ||||||
| - You have to change the INCLUDE directory in PureC's compiler options |  | ||||||
|   to contain both the `INCLUDE' and `freetype2\include' directory. |  | ||||||
|   Example: |  | ||||||
| 
 |  | ||||||
|     INCLUDE;E:\freetype2\include |  | ||||||
| 
 |  | ||||||
| - The file `freetype/include/Ft2build.h' must be patched as follows to |  | ||||||
|   include ATARI.H: |  | ||||||
| 
 |  | ||||||
|     #ifndef FT2_BUILD_GENERIC_H_ |  | ||||||
|     #define FT2_BUILD_GENERIC_H_ |  | ||||||
| 
 |  | ||||||
|     #include "ATARI.H" |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| Compilieren von FreeType 2 mit PureC |  | ||||||
| ==================================== |  | ||||||
| 
 |  | ||||||
| Um FreeType 2 als eine Bibliothek (library) zu compilieren, muss folgendes |  | ||||||
| ge„ndert werden: |  | ||||||
| 
 |  | ||||||
| - Alle *.c-files m<>ssen mit einem GROSSBUCHSTABEN beginnen. |  | ||||||
|   (Falls GEMSCRIPT zur Verf<72>gung steht: |  | ||||||
|   Den kompletten Ordner freetype2 auf die Datei `FNames.SIC' draggen.) |  | ||||||
| 
 |  | ||||||
| - In den Compiler-Optionen von PureC muss das INCLUDE directory auf INCLUDE |  | ||||||
|   und freetype2\include verweisen. Z.B.: |  | ||||||
| 
 |  | ||||||
|     INCLUDE;E:\freetype2\include |  | ||||||
| 
 |  | ||||||
| - In der Datei freetype/include/Ft2build.h muss zu Beginn |  | ||||||
|   ein #include "ATARI.H" wie folgt eingef<65>gt werden: |  | ||||||
| 
 |  | ||||||
|     #ifndef FT2_BUILD_GENERIC_H_ |  | ||||||
|     #define FT2_BUILD_GENERIC_H_ |  | ||||||
| 
 |  | ||||||
|     #include "ATARI.H" |  | ||||||
| 
 |  | ||||||
| --- end of README.TXT --- |  | ||||||
|  | @ -1,181 +0,0 @@ | ||||||
| #!/usr/bin/env awk |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| function shift( array, \ |  | ||||||
|                 junk, elm0, l ) |  | ||||||
| { |  | ||||||
|   elm0 = array[0] |  | ||||||
|   for ( l = 0; l < asorti( array, junk ) - 1; l++ ) |  | ||||||
|     array[l] = array[l+1]; |  | ||||||
|   delete array[l] |  | ||||||
|   return elm0 |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| function init_cpp_src_line() |  | ||||||
| { |  | ||||||
|   logical_line = "" |  | ||||||
|   delete break_pos |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| function shift_valid_bp( array, \ |  | ||||||
|                          junk, elm ) |  | ||||||
| { |  | ||||||
|   elm = -1 |  | ||||||
| 
 |  | ||||||
|   if ( 0 < asorti( array, junk ) ) |  | ||||||
|     do { |  | ||||||
|       elm = shift( array ) |  | ||||||
|     } while ( 0 > elm ); |  | ||||||
| 
 |  | ||||||
|   return elm |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| function check_cpp_src_line_break_pos( \ |  | ||||||
|                                        i, junk ) |  | ||||||
| { |  | ||||||
|   printf( "break_pos:" ) |  | ||||||
|   for ( i = 0; i < asorti( break_pos, junk ); i++ ) |  | ||||||
|     printf( " %d", break_pos[i] ); |  | ||||||
|   printf( "\n" ) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| function check_cpp_src_line() |  | ||||||
| { |  | ||||||
|   printf( "logical_line[%s]\n", logical_line ) |  | ||||||
|   check_cpp_src_line_break_pos() |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| function append_line( phys_line, \ |  | ||||||
|                       filt_line, bp_len ) |  | ||||||
| { |  | ||||||
|   filt_line = phys_line |  | ||||||
|   sub( /\\$/, " ", filt_line ) |  | ||||||
|   logical_line    = logical_line filt_line |  | ||||||
|   bp_len = asorti( break_pos, junk ) |  | ||||||
|   break_pos[bp_len] = length( logical_line ) - 1 |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| function print_line( \ |  | ||||||
|                      c0, c1, i, junk, part_str ) |  | ||||||
| { |  | ||||||
|   c0 = 0 |  | ||||||
| 
 |  | ||||||
|   while( asorti( break_pos, junk ) > 1 ) |  | ||||||
|   { |  | ||||||
|     if ( ( c1 = shift_valid_bp( break_pos ) ) < 1 ) |  | ||||||
|     { |  | ||||||
|       part_str = substr( logical_line, c0 + 1 ) |  | ||||||
|       printf( "%s\n", part_str ) |  | ||||||
|       return |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     part_str = substr( logical_line, c0 + 1, c1 - c0 + 1 ) |  | ||||||
|     gsub( / $/, "\\", part_str ) |  | ||||||
|     printf( "%s\n", part_str ) |  | ||||||
|     c0 = c1 + 1 |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   part_str = substr( logical_line, c0 + 1 ) |  | ||||||
|   printf( "%s\n", part_str ) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| function shrink_spaces( pos, \ |  | ||||||
|                         tail, removed_length, k ) |  | ||||||
| { |  | ||||||
|   tail = substr( logical_line, pos ) |  | ||||||
|   sub( /^[ \t]+/, " ", tail ) |  | ||||||
|   removed_length = length( logical_line ) - pos - length( tail ) + 1 |  | ||||||
|   logical_line = substr( logical_line, 0, pos - 1 ) tail |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|   for ( k = 0; k < asorti( break_pos, junk ); k++ ) |  | ||||||
|     if ( ( pos + removed_length ) <= break_pos[k] ) |  | ||||||
|       break_pos[k] = break_pos[k] - removed_length; |  | ||||||
|     else if ( pos <= break_pos[k] ) |  | ||||||
|       break_pos[k] = -1; |  | ||||||
| 
 |  | ||||||
|   return removed_length |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| function shrink_spaces_to_linebreak( pos, \ |  | ||||||
|                                      junk, part_str, removed_length, i ) |  | ||||||
| { |  | ||||||
|   for ( i = 0; i < asorti( break_pos, junk ) && break_pos[i] < pos ; i++ ) |  | ||||||
|     ; |  | ||||||
| 
 |  | ||||||
|   if ( break_pos[i] < 1 ) |  | ||||||
|     return; |  | ||||||
| 
 |  | ||||||
|   part_str = substr( logical_line, pos, break_pos[i] - pos + 1 ) |  | ||||||
|   sub( /^[ \t]+/, " ", part_str ) |  | ||||||
|   removed_length = ( break_pos[i] - pos + 1 ) - length( part_str ) |  | ||||||
| 
 |  | ||||||
|   tail = substr( logical_line, pos + removed_length ) |  | ||||||
|   logical_line = substr( logical_line, 0, pos - 1 ) tail |  | ||||||
| 
 |  | ||||||
|   for ( ; i < asorti( break_pos, junk ); i++ ) |  | ||||||
|     break_pos[i] -= removed_length; |  | ||||||
| 
 |  | ||||||
|   return removed_length |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| function delete_linebreaks_in_2nd_token( \ |  | ||||||
|                                            tail, paren_depth, junk, i, j, k, l ) |  | ||||||
| { |  | ||||||
|   if ( logical_line ~ /^[ \t]*#[ \t]*define[ \t]+[0-9A-Za-z_]+\(/ ) |  | ||||||
|   { |  | ||||||
|     tail = logical_line |  | ||||||
|     sub( /^[ \t]*#[ \t]*define[ \t]+[0-9A-Za-z_]+/, "", tail ) |  | ||||||
| 
 |  | ||||||
|     paren_depth = 0 |  | ||||||
|     l = 0 |  | ||||||
|     i = length( logical_line ) - length( tail ) + 1 # seek to the 1st op paren |  | ||||||
|     j = i |  | ||||||
|     do { |  | ||||||
|       if ( substr( logical_line, j, 2 ) ~ /[ \t][ \t]/ ) |  | ||||||
|         l = shrink_spaces( j ); |  | ||||||
|       else if ( substr( logical_line, j, 1 ) == "(" ) |  | ||||||
|         paren_depth += 1; |  | ||||||
|       else if ( substr( logical_line, j, 1 ) == ")" ) |  | ||||||
|         paren_depth -= 1; |  | ||||||
|       j += 1 |  | ||||||
|     } while ( j < length( logical_line ) && paren_depth != 0 ) |  | ||||||
| 
 |  | ||||||
|     for ( k = 0; k < asorti( break_pos, junk ); k++ ) |  | ||||||
|       if ( i <= break_pos[k] && break_pos[k] < j ) |  | ||||||
|         break_pos[k] = -1; |  | ||||||
| 
 |  | ||||||
|     if ( l > 0 ) |  | ||||||
|       shrink_spaces_to_linebreak( j ); |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| BEGIN{ |  | ||||||
|   init_cpp_src_line() |  | ||||||
| } |  | ||||||
| { |  | ||||||
|   append_line( $0 ) |  | ||||||
|   if ( $0 !~ /\\$/ ) |  | ||||||
|   { |  | ||||||
|     delete_linebreaks_in_2nd_token() |  | ||||||
|     print_line() |  | ||||||
|     init_cpp_src_line() |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| END{ |  | ||||||
|   if ( 0 < length( logical_line ) ) |  | ||||||
|   { |  | ||||||
|     delete_linebreaks_in_2nd_token() |  | ||||||
|     print_line() |  | ||||||
|   } |  | ||||||
| } |  | ||||||
|  | @ -1,40 +0,0 @@ | ||||||
| #!/bin/sh |  | ||||||
| 
 |  | ||||||
| TOP_DIR=. |  | ||||||
| OBJ_DIR=. |  | ||||||
| 
 |  | ||||||
| for x in "$@" |  | ||||||
| do |  | ||||||
|   case x"$x" in |  | ||||||
|   x--srcdir=* | x--topdir=* ) |  | ||||||
|     TOP_DIR=`echo $x | sed 's/^--[a-z]*dir=//'` |  | ||||||
|     ;; |  | ||||||
|   x--builddir=* | x--objdir=* ) |  | ||||||
|     OBJ_DIR=`echo $x | sed 's/^--[a-z]*dir=//'` |  | ||||||
|     ;; |  | ||||||
|   esac |  | ||||||
| done |  | ||||||
| 
 |  | ||||||
| mkdir -p ${OBJ_DIR}/builds/atari/tmp/orig |  | ||||||
| 
 |  | ||||||
| ( cd ${TOP_DIR} && find . -name '*.[CHch]' -type f | fgrep -v builds/atari/tmp | cpio -o ) | \ |  | ||||||
| ( cd ${OBJ_DIR}/builds/atari/tmp/orig && cpio -idum ) |  | ||||||
| cp ${TOP_DIR}/builds/atari/deflinejoiner.awk ${OBJ_DIR}/builds/atari/tmp |  | ||||||
| 
 |  | ||||||
| pushd ${OBJ_DIR}/builds/atari/tmp |  | ||||||
| 
 |  | ||||||
|   cp -pr orig purec |  | ||||||
|   for f in `cd orig && find . -type f` |  | ||||||
|   do |  | ||||||
|     echo filter $f |  | ||||||
|     env LANG=C awk -f deflinejoiner.awk < orig/$f > purec/$f |  | ||||||
|   done |  | ||||||
| 
 |  | ||||||
|   echo '#define FT2_BUILD_LIBRARY'  >  purec/include/ft2build.h |  | ||||||
|   echo '#include "ATARI.H"'         >> purec/include/ft2build.h |  | ||||||
|   env LANG=C awk -f deflinejoiner.awk < orig/include/ft2build.h >> purec/include/ft2build.h |  | ||||||
| 
 |  | ||||||
|   env LANG=C diff -ur orig purec > ../purec.diff |  | ||||||
| 
 |  | ||||||
| popd |  | ||||||
| rm -rf ${OBJ_DIR}/builds/atari/tmp |  | ||||||
|  | @ -1,79 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 configuration rules for a BeOS system
 |  | ||||||
| #
 |  | ||||||
| # this is similar to the "ansi-def.mk" file, except for BUILD and PLATFORM
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 1996-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| DELETE       := rm -f |  | ||||||
| CAT          := cat |  | ||||||
| SEP          := / |  | ||||||
| PLATFORM_DIR := $(TOP_DIR)/builds/beos |  | ||||||
| PLATFORM     := beos |  | ||||||
| 
 |  | ||||||
| # This is used for `make refdoc' and `make refdoc-venv'
 |  | ||||||
| #
 |  | ||||||
| BIN := bin |  | ||||||
| 
 |  | ||||||
| # The directory where all library files are placed.
 |  | ||||||
| #
 |  | ||||||
| # By default, this is the same as $(OBJ_DIR); however, this can be changed
 |  | ||||||
| # to suit particular needs.
 |  | ||||||
| #
 |  | ||||||
| LIB_DIR := $(OBJ_DIR) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The name of the final library file.  Note that the DOS-specific Makefile
 |  | ||||||
| # uses a shorter (8.3) name.
 |  | ||||||
| #
 |  | ||||||
| LIBRARY := lib$(PROJECT) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Path inclusion flag.  Some compilers use a different flag than `-I' to
 |  | ||||||
| # specify an additional include path.  Examples are `/i=' or `-J'.
 |  | ||||||
| #
 |  | ||||||
| I := -I |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flag used to define a macro before the compilation of a given source
 |  | ||||||
| # object.  Usually it is `-D' like in `-DDEBUG'.
 |  | ||||||
| #
 |  | ||||||
| D := -D |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The link flag used to specify a given library file on link.  Note that
 |  | ||||||
| # this is only used to compile the demo programs, not the library itself.
 |  | ||||||
| #
 |  | ||||||
| L := -l |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Target flag.
 |  | ||||||
| #
 |  | ||||||
| T := -o$(space) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flags
 |  | ||||||
| #
 |  | ||||||
| #   These should concern: debug output, optimization & warnings.
 |  | ||||||
| #
 |  | ||||||
| #   Use the ANSIFLAGS variable to define the compiler flags used to enforce
 |  | ||||||
| #   ANSI compliance.
 |  | ||||||
| #
 |  | ||||||
| CFLAGS ?= -c |  | ||||||
| 
 |  | ||||||
| # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
 |  | ||||||
| #
 |  | ||||||
| ANSIFLAGS ?= |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,19 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 configuration rules for a BeOS system
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 1996-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| include $(TOP_DIR)/builds/beos/beos-def.mk |  | ||||||
| include $(TOP_DIR)/builds/compiler/ansi-cc.mk |  | ||||||
| include $(TOP_DIR)/builds/link_std.mk |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,41 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 configuration file to detect an BeOS host platform.
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 1996-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| .PHONY: setup |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| ifeq ($(PLATFORM),ansi) |  | ||||||
| 
 |  | ||||||
|   ifdef BE_HOST_CPU |  | ||||||
| 
 |  | ||||||
|     PLATFORM := beos |  | ||||||
| 
 |  | ||||||
|   endif # test MACHTYPE beos |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| ifeq ($(PLATFORM),beos) |  | ||||||
| 
 |  | ||||||
|   DELETE         := rm -f |  | ||||||
|   CAT            := cat |  | ||||||
|   SEP            := / |  | ||||||
|   PLATFORM_DIR   := $(TOP_DIR)/builds/beos |  | ||||||
|   CONFIG_FILE    := beos.mk |  | ||||||
| 
 |  | ||||||
|   setup: std_setup |  | ||||||
| 
 |  | ||||||
| endif   # test PLATFORM beos
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,52 +0,0 @@ | ||||||
| # FindBrotliDec.cmake |  | ||||||
| # |  | ||||||
| # Copyright (C) 2019-2022 by |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg. |  | ||||||
| # |  | ||||||
| # Written by Werner Lemberg <wl@gnu.org> |  | ||||||
| # |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified, |  | ||||||
| # and distributed under the terms of the FreeType project license, |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you |  | ||||||
| # indicate that you have read the license and understand and accept it |  | ||||||
| # fully. |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # Try to find libbrotlidec include and library directories. |  | ||||||
| # |  | ||||||
| # If found, the following variables are set. |  | ||||||
| # |  | ||||||
| #   BROTLIDEC_INCLUDE_DIRS |  | ||||||
| #   BROTLIDEC_LIBRARIES |  | ||||||
| 
 |  | ||||||
| find_package(PkgConfig QUIET) |  | ||||||
| 
 |  | ||||||
| pkg_check_modules(PC_BROTLIDEC QUIET libbrotlidec) |  | ||||||
| 
 |  | ||||||
| if (PC_BROTLIDEC_VERSION) |  | ||||||
|   set(BROTLIDEC_VERSION "${PC_BROTLIDEC_VERSION}") |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| find_path(BROTLIDEC_INCLUDE_DIRS |  | ||||||
|   NAMES brotli/decode.h |  | ||||||
|   HINTS ${PC_BROTLIDEC_INCLUDEDIR} |  | ||||||
|         ${PC_BROTLIDEC_INCLUDE_DIRS} |  | ||||||
|   PATH_SUFFIXES brotli) |  | ||||||
| 
 |  | ||||||
| find_library(BROTLIDEC_LIBRARIES |  | ||||||
|   NAMES brotlidec |  | ||||||
|   HINTS ${PC_BROTLIDEC_LIBDIR} |  | ||||||
|         ${PC_BROTLIDEC_LIBRARY_DIRS}) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| include(FindPackageHandleStandardArgs) |  | ||||||
| find_package_handle_standard_args( |  | ||||||
|   BrotliDec |  | ||||||
|   REQUIRED_VARS BROTLIDEC_INCLUDE_DIRS BROTLIDEC_LIBRARIES |  | ||||||
|   FOUND_VAR BROTLIDEC_FOUND |  | ||||||
|   VERSION_VAR BROTLIDEC_VERSION) |  | ||||||
| 
 |  | ||||||
| mark_as_advanced( |  | ||||||
|   BROTLIDEC_INCLUDE_DIRS |  | ||||||
|   BROTLIDEC_LIBRARIES) |  | ||||||
|  | @ -1,203 +0,0 @@ | ||||||
| # Copyright (c) 2012, Intel Corporation |  | ||||||
| # Copyright (c) 2019 Sony Interactive Entertainment Inc. |  | ||||||
| # |  | ||||||
| # Redistribution and use in source and binary forms, with or without |  | ||||||
| # modification, are permitted provided that the following conditions are met: |  | ||||||
| # |  | ||||||
| # * Redistributions of source code must retain the above copyright notice, this |  | ||||||
| #   list of conditions and the following disclaimer. |  | ||||||
| # * Redistributions in binary form must reproduce the above copyright notice, |  | ||||||
| #   this list of conditions and the following disclaimer in the documentation |  | ||||||
| #   and/or other materials provided with the distribution. |  | ||||||
| # * Neither the name of Intel Corporation nor the names of its contributors may |  | ||||||
| #   be used to endorse or promote products derived from this software without |  | ||||||
| #   specific prior written permission. |  | ||||||
| # |  | ||||||
| # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |  | ||||||
| # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |  | ||||||
| # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |  | ||||||
| # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE |  | ||||||
| # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |  | ||||||
| # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |  | ||||||
| # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |  | ||||||
| # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |  | ||||||
| # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |  | ||||||
| # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |  | ||||||
| # POSSIBILITY OF SUCH DAMAGE. |  | ||||||
| # |  | ||||||
| # Try to find Harfbuzz include and library directories. |  | ||||||
| # |  | ||||||
| # After successful discovery, this will set for inclusion where needed: |  | ||||||
| # HarfBuzz_INCLUDE_DIRS - containg the HarfBuzz headers |  | ||||||
| # HarfBuzz_LIBRARIES - containg the HarfBuzz library |  | ||||||
| 
 |  | ||||||
| #[=======================================================================[.rst: |  | ||||||
| FindHarfBuzz |  | ||||||
| -------------- |  | ||||||
| 
 |  | ||||||
| Find HarfBuzz headers and libraries. |  | ||||||
| 
 |  | ||||||
| Imported Targets |  | ||||||
| ^^^^^^^^^^^^^^^^ |  | ||||||
| 
 |  | ||||||
| ``HarfBuzz::HarfBuzz`` |  | ||||||
|   The HarfBuzz library, if found. |  | ||||||
| 
 |  | ||||||
| ``HarfBuzz::ICU`` |  | ||||||
|   The HarfBuzz ICU library, if found. |  | ||||||
| 
 |  | ||||||
| Result Variables |  | ||||||
| ^^^^^^^^^^^^^^^^ |  | ||||||
| 
 |  | ||||||
| This will define the following variables in your project: |  | ||||||
| 
 |  | ||||||
| ``HarfBuzz_FOUND`` |  | ||||||
|   true if (the requested version of) HarfBuzz is available. |  | ||||||
| ``HarfBuzz_VERSION`` |  | ||||||
|   the version of HarfBuzz. |  | ||||||
| ``HarfBuzz_LIBRARIES`` |  | ||||||
|   the libraries to link against to use HarfBuzz. |  | ||||||
| ``HarfBuzz_INCLUDE_DIRS`` |  | ||||||
|   where to find the HarfBuzz headers. |  | ||||||
| ``HarfBuzz_COMPILE_OPTIONS`` |  | ||||||
|   this should be passed to target_compile_options(), if the |  | ||||||
|   target is not used for linking |  | ||||||
| 
 |  | ||||||
| #]=======================================================================] |  | ||||||
| 
 |  | ||||||
| find_package(PkgConfig QUIET) |  | ||||||
| pkg_check_modules(PC_HARFBUZZ QUIET harfbuzz) |  | ||||||
| set(HarfBuzz_COMPILE_OPTIONS ${PC_HARFBUZZ_CFLAGS_OTHER}) |  | ||||||
| set(HarfBuzz_VERSION ${PC_HARFBUZZ_CFLAGS_VERSION}) |  | ||||||
| 
 |  | ||||||
| find_path(HarfBuzz_INCLUDE_DIR |  | ||||||
|     NAMES hb.h |  | ||||||
|     HINTS ${PC_HARFBUZZ_INCLUDEDIR} ${PC_HARFBUZZ_INCLUDE_DIRS} |  | ||||||
|     PATH_SUFFIXES harfbuzz |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| find_library(HarfBuzz_LIBRARY |  | ||||||
|     NAMES ${HarfBuzz_NAMES} harfbuzz |  | ||||||
|     HINTS ${PC_HARFBUZZ_LIBDIR} ${PC_HARFBUZZ_LIBRARY_DIRS} |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| if (HarfBuzz_INCLUDE_DIR AND NOT HarfBuzz_VERSION) |  | ||||||
|     if (EXISTS "${HarfBuzz_INCLUDE_DIR}/hb-version.h") |  | ||||||
|         file(READ "${HarfBuzz_INCLUDE_DIR}/hb-version.h" _harfbuzz_version_content) |  | ||||||
| 
 |  | ||||||
|         string(REGEX MATCH "#define +HB_VERSION_STRING +\"([0-9]+\\.[0-9]+\\.[0-9]+)\"" _dummy "${_harfbuzz_version_content}") |  | ||||||
|         set(HarfBuzz_VERSION "${CMAKE_MATCH_1}") |  | ||||||
|     endif () |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| if ("${HarfBuzz_FIND_VERSION}" VERSION_GREATER "${HarfBuzz_VERSION}") |  | ||||||
|   if (HarfBuzz_FIND_REQUIRED) |  | ||||||
|     message(FATAL_ERROR |  | ||||||
|       "Required version (" ${HarfBuzz_FIND_VERSION} ")" |  | ||||||
|       " is higher than found version (" ${HarfBuzz_VERSION} ")") |  | ||||||
|   else () |  | ||||||
|     message(WARNING |  | ||||||
|       "Required version (" ${HarfBuzz_FIND_VERSION} ")" |  | ||||||
|       " is higher than found version (" ${HarfBuzz_VERSION} ")") |  | ||||||
|     unset(HarfBuzz_VERSION) |  | ||||||
|     unset(HarfBuzz_INCLUDE_DIRS) |  | ||||||
|     unset(HarfBuzz_LIBRARIES) |  | ||||||
|     return () |  | ||||||
|   endif () |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| # Find components |  | ||||||
| if (HarfBuzz_INCLUDE_DIR AND HarfBuzz_LIBRARY) |  | ||||||
|     set(_HarfBuzz_REQUIRED_LIBS_FOUND ON) |  | ||||||
|     set(HarfBuzz_LIBS_FOUND "HarfBuzz (required): ${HarfBuzz_LIBRARY}") |  | ||||||
| else () |  | ||||||
|     set(_HarfBuzz_REQUIRED_LIBS_FOUND OFF) |  | ||||||
|     set(HarfBuzz_LIBS_NOT_FOUND "HarfBuzz (required)") |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| if (NOT CMAKE_VERSION VERSION_LESS 3.3) |  | ||||||
|   if ("ICU" IN_LIST HarfBuzz_FIND_COMPONENTS) |  | ||||||
|       pkg_check_modules(PC_HARFBUZZ_ICU QUIET harfbuzz-icu) |  | ||||||
|       set(HarfBuzz_ICU_COMPILE_OPTIONS ${PC_HARFBUZZ_ICU_CFLAGS_OTHER}) |  | ||||||
| 
 |  | ||||||
|       find_path(HarfBuzz_ICU_INCLUDE_DIR |  | ||||||
|           NAMES hb-icu.h |  | ||||||
|           HINTS ${PC_HARFBUZZ_ICU_INCLUDEDIR} ${PC_HARFBUZZ_ICU_INCLUDE_DIRS} |  | ||||||
|           PATH_SUFFIXES harfbuzz |  | ||||||
|       ) |  | ||||||
| 
 |  | ||||||
|       find_library(HarfBuzz_ICU_LIBRARY |  | ||||||
|           NAMES ${HarfBuzz_ICU_NAMES} harfbuzz-icu |  | ||||||
|           HINTS ${PC_HARFBUZZ_ICU_LIBDIR} ${PC_HARFBUZZ_ICU_LIBRARY_DIRS} |  | ||||||
|       ) |  | ||||||
| 
 |  | ||||||
|       if (HarfBuzz_ICU_LIBRARY) |  | ||||||
|           if (HarfBuzz_FIND_REQUIRED_ICU) |  | ||||||
|               list(APPEND HarfBuzz_LIBS_FOUND "ICU (required): ${HarfBuzz_ICU_LIBRARY}") |  | ||||||
|           else () |  | ||||||
|             list(APPEND HarfBuzz_LIBS_FOUND "ICU (optional): ${HarfBuzz_ICU_LIBRARY}") |  | ||||||
|           endif () |  | ||||||
|       else () |  | ||||||
|           if (HarfBuzz_FIND_REQUIRED_ICU) |  | ||||||
|             set(_HarfBuzz_REQUIRED_LIBS_FOUND OFF) |  | ||||||
|             list(APPEND HarfBuzz_LIBS_NOT_FOUND "ICU (required)") |  | ||||||
|           else () |  | ||||||
|             list(APPEND HarfBuzz_LIBS_NOT_FOUND "ICU (optional)") |  | ||||||
|           endif () |  | ||||||
|       endif () |  | ||||||
|   endif () |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| if (NOT HarfBuzz_FIND_QUIETLY) |  | ||||||
|     if (HarfBuzz_LIBS_FOUND) |  | ||||||
|         message(STATUS "Found the following HarfBuzz libraries:") |  | ||||||
|         foreach (found ${HarfBuzz_LIBS_FOUND}) |  | ||||||
|             message(STATUS " ${found}") |  | ||||||
|         endforeach () |  | ||||||
|     endif () |  | ||||||
|     if (HarfBuzz_LIBS_NOT_FOUND) |  | ||||||
|         message(STATUS "The following HarfBuzz libraries were not found:") |  | ||||||
|         foreach (found ${HarfBuzz_LIBS_NOT_FOUND}) |  | ||||||
|             message(STATUS " ${found}") |  | ||||||
|         endforeach () |  | ||||||
|     endif () |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| include(FindPackageHandleStandardArgs) |  | ||||||
| find_package_handle_standard_args(HarfBuzz |  | ||||||
|     FOUND_VAR HarfBuzz_FOUND |  | ||||||
|     REQUIRED_VARS HarfBuzz_INCLUDE_DIR HarfBuzz_LIBRARY _HarfBuzz_REQUIRED_LIBS_FOUND |  | ||||||
|     VERSION_VAR HarfBuzz_VERSION |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| if (NOT CMAKE_VERSION VERSION_LESS 3.1) |  | ||||||
|   if (HarfBuzz_LIBRARY AND NOT TARGET HarfBuzz::HarfBuzz) |  | ||||||
|       add_library(HarfBuzz::HarfBuzz UNKNOWN IMPORTED GLOBAL) |  | ||||||
|       set_target_properties(HarfBuzz::HarfBuzz PROPERTIES |  | ||||||
|           IMPORTED_LOCATION "${HarfBuzz_LIBRARY}" |  | ||||||
|           INTERFACE_COMPILE_OPTIONS "${HarfBuzz_COMPILE_OPTIONS}" |  | ||||||
|           INTERFACE_INCLUDE_DIRECTORIES "${HarfBuzz_INCLUDE_DIR}" |  | ||||||
|       ) |  | ||||||
|   endif () |  | ||||||
| 
 |  | ||||||
|   if (HarfBuzz_ICU_LIBRARY AND NOT TARGET HarfBuzz::ICU) |  | ||||||
|       add_library(HarfBuzz::ICU UNKNOWN IMPORTED GLOBAL) |  | ||||||
|       set_target_properties(HarfBuzz::ICU PROPERTIES |  | ||||||
|           IMPORTED_LOCATION "${HarfBuzz_ICU_LIBRARY}" |  | ||||||
|           INTERFACE_COMPILE_OPTIONS "${HarfBuzz_ICU_COMPILE_OPTIONS}" |  | ||||||
|           INTERFACE_INCLUDE_DIRECTORIES "${HarfBuzz_ICU_INCLUDE_DIR}" |  | ||||||
|       ) |  | ||||||
|   endif () |  | ||||||
| endif () |  | ||||||
| 
 |  | ||||||
| mark_as_advanced( |  | ||||||
|     HarfBuzz_INCLUDE_DIR |  | ||||||
|     HarfBuzz_ICU_INCLUDE_DIR |  | ||||||
|     HarfBuzz_LIBRARY |  | ||||||
|     HarfBuzz_ICU_LIBRARY |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| if (HarfBuzz_FOUND) |  | ||||||
|    set(HarfBuzz_LIBRARIES ${HarfBuzz_LIBRARY} ${HarfBuzz_ICU_LIBRARY}) |  | ||||||
|    set(HarfBuzz_INCLUDE_DIRS ${HarfBuzz_INCLUDE_DIR} ${HarfBuzz_ICU_INCLUDE_DIR}) |  | ||||||
| endif () |  | ||||||
|  | @ -1,270 +0,0 @@ | ||||||
| # iOS.cmake |  | ||||||
| # |  | ||||||
| # Copyright (C) 2014-2022 by |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg. |  | ||||||
| # |  | ||||||
| # Written by David Wimsey <david@wimsey.us> |  | ||||||
| # |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified, |  | ||||||
| # and distributed under the terms of the FreeType project license, |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you |  | ||||||
| # indicate that you have read the license and understand and accept it |  | ||||||
| # fully. |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # This file is derived from the files `Platform/Darwin.cmake' and |  | ||||||
| # `Platform/UnixPaths.cmake', which are part of CMake 2.8.4.  It has been |  | ||||||
| # altered for iOS development. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Options |  | ||||||
| # ------- |  | ||||||
| # |  | ||||||
| #   IOS_PLATFORM = OS | SIMULATOR |  | ||||||
| # |  | ||||||
| #     This decides whether SDKS are selected from the `iPhoneOS.platform' or |  | ||||||
| #     `iPhoneSimulator.platform' folders. |  | ||||||
| # |  | ||||||
| #     OS - the default, used to build for iPhone and iPad physical devices, |  | ||||||
| #       which have an ARM architecture. |  | ||||||
| #     SIMULATOR - used to build for the Simulator platforms, which have an |  | ||||||
| #       x86 architecture. |  | ||||||
| # |  | ||||||
| #   CMAKE_IOS_DEVELOPER_ROOT = /path/to/platform/Developer folder |  | ||||||
| # |  | ||||||
| #     By default, this location is automatically chosen based on the |  | ||||||
| #     IOS_PLATFORM value above.  If you manually set this variable, it |  | ||||||
| #     overrides the default location and forces the use of a particular |  | ||||||
| #     Developer Platform. |  | ||||||
| # |  | ||||||
| #   CMAKE_IOS_SDK_ROOT = /path/to/platform/Developer/SDKs/SDK folder |  | ||||||
| # |  | ||||||
| #     By default, this location is automatically chosen based on the |  | ||||||
| #     CMAKE_IOS_DEVELOPER_ROOT value.  In this case it is always the most |  | ||||||
| #     up-to-date SDK found in the CMAKE_IOS_DEVELOPER_ROOT path.  If you |  | ||||||
| #     manually set this variable, it forces the use of a specific SDK |  | ||||||
| #     version. |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # Macros |  | ||||||
| # ------ |  | ||||||
| # |  | ||||||
| #   set_xcode_property (TARGET XCODE_PROPERTY XCODE_VALUE) |  | ||||||
| # |  | ||||||
| #     A convenience macro for setting Xcode specific properties on targets. |  | ||||||
| # |  | ||||||
| #     Example: |  | ||||||
| # |  | ||||||
| #       set_xcode_property(myioslib IPHONEOS_DEPLOYMENT_TARGET "3.1") |  | ||||||
| # |  | ||||||
| #   find_host_package (PROGRAM ARGS) |  | ||||||
| # |  | ||||||
| #     A macro to find executable programs on the host system, not within the |  | ||||||
| #     iOS environment.  Thanks to the `android-cmake' project for providing |  | ||||||
| #     the command. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # standard settings |  | ||||||
| set(CMAKE_SYSTEM_NAME Darwin) |  | ||||||
| set(CMAKE_SYSTEM_VERSION 1) |  | ||||||
| set(UNIX True) |  | ||||||
| set(APPLE True) |  | ||||||
| set(IOS True) |  | ||||||
| 
 |  | ||||||
| # required as of cmake 2.8.10 |  | ||||||
| set(CMAKE_OSX_DEPLOYMENT_TARGET "" |  | ||||||
|   CACHE STRING "Force unset of the deployment target for iOS" FORCE |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| # determine the cmake host system version so we know where to find the iOS |  | ||||||
| # SDKs |  | ||||||
| find_program(CMAKE_UNAME uname /bin /usr/bin /usr/local/bin) |  | ||||||
| if (CMAKE_UNAME) |  | ||||||
|   exec_program(uname ARGS -r OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_VERSION) |  | ||||||
|   string(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\1" |  | ||||||
|     DARWIN_MAJOR_VERSION "${CMAKE_HOST_SYSTEM_VERSION}") |  | ||||||
| endif (CMAKE_UNAME) |  | ||||||
| 
 |  | ||||||
| # skip the platform compiler checks for cross compiling |  | ||||||
| set(CMAKE_CXX_COMPILER_WORKS TRUE) |  | ||||||
| set(CMAKE_C_COMPILER_WORKS TRUE) |  | ||||||
| 
 |  | ||||||
| # all iOS/Darwin specific settings - some may be redundant |  | ||||||
| set(CMAKE_SHARED_LIBRARY_PREFIX "lib") |  | ||||||
| set(CMAKE_SHARED_LIBRARY_SUFFIX ".dylib") |  | ||||||
| set(CMAKE_SHARED_MODULE_PREFIX "lib") |  | ||||||
| set(CMAKE_SHARED_MODULE_SUFFIX ".so") |  | ||||||
| set(CMAKE_MODULE_EXISTS 1) |  | ||||||
| set(CMAKE_DL_LIBS "") |  | ||||||
| 
 |  | ||||||
| set(CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG |  | ||||||
|   "-compatibility_version ") |  | ||||||
| set(CMAKE_C_OSX_CURRENT_VERSION_FLAG |  | ||||||
|   "-current_version ") |  | ||||||
| set(CMAKE_CXX_OSX_COMPATIBILITY_VERSION_FLAG |  | ||||||
|   "${CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG}") |  | ||||||
| set(CMAKE_CXX_OSX_CURRENT_VERSION_FLAG |  | ||||||
|   "${CMAKE_C_OSX_CURRENT_VERSION_FLAG}") |  | ||||||
| 
 |  | ||||||
| # hidden visibility is required for cxx on iOS |  | ||||||
| set(CMAKE_C_FLAGS_INIT "") |  | ||||||
| set(CMAKE_CXX_FLAGS_INIT |  | ||||||
|   "-headerpad_max_install_names -fvisibility=hidden -fvisibility-inlines-hidden") |  | ||||||
| 
 |  | ||||||
| set(CMAKE_C_LINK_FLAGS |  | ||||||
|   "-Wl,-search_paths_first ${CMAKE_C_LINK_FLAGS}") |  | ||||||
| set(CMAKE_CXX_LINK_FLAGS |  | ||||||
|   "-Wl,-search_paths_first ${CMAKE_CXX_LINK_FLAGS}") |  | ||||||
| 
 |  | ||||||
| set(CMAKE_PLATFORM_HAS_INSTALLNAME 1) |  | ||||||
| set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS |  | ||||||
|   "-dynamiclib -headerpad_max_install_names") |  | ||||||
| set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS |  | ||||||
|   "-bundle -headerpad_max_install_names") |  | ||||||
| set(CMAKE_SHARED_MODULE_LOADER_C_FLAG |  | ||||||
|   "-Wl,-bundle_loader,") |  | ||||||
| set(CMAKE_SHARED_MODULE_LOADER_CXX_FLAG |  | ||||||
|   "-Wl,-bundle_loader,") |  | ||||||
| set(CMAKE_FIND_LIBRARY_SUFFIXES |  | ||||||
|   ".dylib" ".so" ".a") |  | ||||||
| 
 |  | ||||||
| # hack: If a new cmake (which uses CMAKE_INSTALL_NAME_TOOL) runs on an old |  | ||||||
| #       build tree (where `install_name_tool' was hardcoded), and where |  | ||||||
| #       CMAKE_INSTALL_NAME_TOOL isn't in the cache and still cmake didn't |  | ||||||
| #       fail in `CMakeFindBinUtils.cmake' (because it isn't rerun), hardcode |  | ||||||
| #       CMAKE_INSTALL_NAME_TOOL here to `install_name_tool' so it behaves as |  | ||||||
| #       it did before. |  | ||||||
| if (NOT DEFINED CMAKE_INSTALL_NAME_TOOL) |  | ||||||
|   find_program(CMAKE_INSTALL_NAME_TOOL install_name_tool) |  | ||||||
| endif (NOT DEFINED CMAKE_INSTALL_NAME_TOOL) |  | ||||||
| 
 |  | ||||||
| # set up iOS platform unless specified manually with IOS_PLATFORM |  | ||||||
| if (NOT DEFINED IOS_PLATFORM) |  | ||||||
|   set(IOS_PLATFORM "OS") |  | ||||||
| endif (NOT DEFINED IOS_PLATFORM) |  | ||||||
| 
 |  | ||||||
| set(IOS_PLATFORM ${IOS_PLATFORM} CACHE STRING "Type of iOS Platform") |  | ||||||
| 
 |  | ||||||
| # check the platform selection and setup for developer root |  | ||||||
| if (${IOS_PLATFORM} STREQUAL "OS") |  | ||||||
|   set(IOS_PLATFORM_LOCATION "iPhoneOS.platform") |  | ||||||
| 
 |  | ||||||
|   # this causes the installers to properly locate the output libraries |  | ||||||
|   set(CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphoneos") |  | ||||||
| 
 |  | ||||||
| elseif (${IOS_PLATFORM} STREQUAL "SIMULATOR") |  | ||||||
|   set(IOS_PLATFORM_LOCATION "iPhoneSimulator.platform") |  | ||||||
| 
 |  | ||||||
|   # this causes the installers to properly locate the output libraries |  | ||||||
|   set(CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphonesimulator") |  | ||||||
| 
 |  | ||||||
| else (${IOS_PLATFORM} STREQUAL "OS") |  | ||||||
|   message(FATAL_ERROR |  | ||||||
|     "Unsupported IOS_PLATFORM value selected.  Please choose OS or SIMULATOR.") |  | ||||||
| 
 |  | ||||||
| endif (${IOS_PLATFORM} STREQUAL "OS") |  | ||||||
| 
 |  | ||||||
| # set up iOS developer location unless specified manually with |  | ||||||
| # CMAKE_IOS_DEVELOPER_ROOT -- |  | ||||||
| # note that Xcode 4.3 changed the installation location; choose the most |  | ||||||
| # recent one available |  | ||||||
| set(XCODE_POST_43_ROOT |  | ||||||
|   "/Applications/Xcode.app/Contents/Developer/Platforms/${IOS_PLATFORM_LOCATION}/Developer") |  | ||||||
| set(XCODE_PRE_43_ROOT |  | ||||||
|   "/Developer/Platforms/${IOS_PLATFORM_LOCATION}/Developer") |  | ||||||
| 
 |  | ||||||
| if (NOT DEFINED CMAKE_IOS_DEVELOPER_ROOT) |  | ||||||
|   if (EXISTS ${XCODE_POST_43_ROOT}) |  | ||||||
|     set(CMAKE_IOS_DEVELOPER_ROOT ${XCODE_POST_43_ROOT}) |  | ||||||
|   elseif (EXISTS ${XCODE_PRE_43_ROOT}) |  | ||||||
|     set(CMAKE_IOS_DEVELOPER_ROOT ${XCODE_PRE_43_ROOT}) |  | ||||||
|   endif (EXISTS ${XCODE_POST_43_ROOT}) |  | ||||||
| endif (NOT DEFINED CMAKE_IOS_DEVELOPER_ROOT) |  | ||||||
| 
 |  | ||||||
| set(CMAKE_IOS_DEVELOPER_ROOT ${CMAKE_IOS_DEVELOPER_ROOT} |  | ||||||
|   CACHE PATH "Location of iOS Platform" |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| # find and use the most recent iOS SDK unless specified manually with |  | ||||||
| # CMAKE_IOS_SDK_ROOT |  | ||||||
| if (NOT DEFINED CMAKE_IOS_SDK_ROOT) |  | ||||||
|   file(GLOB _CMAKE_IOS_SDKS "${CMAKE_IOS_DEVELOPER_ROOT}/SDKs/*") |  | ||||||
|   if (_CMAKE_IOS_SDKS) |  | ||||||
|     list(SORT _CMAKE_IOS_SDKS) |  | ||||||
|     list(REVERSE _CMAKE_IOS_SDKS) |  | ||||||
|     list(GET _CMAKE_IOS_SDKS 0 CMAKE_IOS_SDK_ROOT) |  | ||||||
|   else (_CMAKE_IOS_SDKS) |  | ||||||
|     message(FATAL_ERROR |  | ||||||
|       "No iOS SDK's found in default search path ${CMAKE_IOS_DEVELOPER_ROOT}.  Manually set CMAKE_IOS_SDK_ROOT or install the iOS SDK.") |  | ||||||
|   endif (_CMAKE_IOS_SDKS) |  | ||||||
| 
 |  | ||||||
|   message(STATUS "Toolchain using default iOS SDK: ${CMAKE_IOS_SDK_ROOT}") |  | ||||||
| endif (NOT DEFINED CMAKE_IOS_SDK_ROOT) |  | ||||||
| 
 |  | ||||||
| set(CMAKE_IOS_SDK_ROOT ${CMAKE_IOS_SDK_ROOT} |  | ||||||
|   CACHE PATH "Location of the selected iOS SDK" |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| # set the sysroot default to the most recent SDK |  | ||||||
| set(CMAKE_OSX_SYSROOT ${CMAKE_IOS_SDK_ROOT} |  | ||||||
|   CACHE PATH "Sysroot used for iOS support" |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| # set the architecture for iOS -- |  | ||||||
| # note that currently both ARCHS_STANDARD_32_BIT and |  | ||||||
| # ARCHS_UNIVERSAL_IPHONE_OS set armv7 only, so set both manually |  | ||||||
| if (${IOS_PLATFORM} STREQUAL "OS") |  | ||||||
|   set(IOS_ARCH $(ARCHS_STANDARD_32_64_BIT)) |  | ||||||
| else (${IOS_PLATFORM} STREQUAL "OS") |  | ||||||
|   set(IOS_ARCH i386) |  | ||||||
| endif (${IOS_PLATFORM} STREQUAL "OS") |  | ||||||
| 
 |  | ||||||
| set(CMAKE_OSX_ARCHITECTURES ${IOS_ARCH} |  | ||||||
|   CACHE string "Build architecture for iOS" |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| # set the find root to the iOS developer roots and to user defined paths |  | ||||||
| set(CMAKE_FIND_ROOT_PATH |  | ||||||
|   ${CMAKE_IOS_DEVELOPER_ROOT} |  | ||||||
|   ${CMAKE_IOS_SDK_ROOT} |  | ||||||
|   ${CMAKE_PREFIX_PATH} |  | ||||||
|   CACHE string  "iOS find search path root" |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| # default to searching for frameworks first |  | ||||||
| set(CMAKE_FIND_FRAMEWORK FIRST) |  | ||||||
| 
 |  | ||||||
| # set up the default search directories for frameworks |  | ||||||
| set(CMAKE_SYSTEM_FRAMEWORK_PATH |  | ||||||
|   ${CMAKE_IOS_SDK_ROOT}/System/Library/Frameworks |  | ||||||
|   ${CMAKE_IOS_SDK_ROOT}/System/Library/PrivateFrameworks |  | ||||||
|   ${CMAKE_IOS_SDK_ROOT}/Developer/Library/Frameworks |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| # only search the iOS SDKs, not the remainder of the host filesystem |  | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY) |  | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) |  | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) |  | ||||||
| 
 |  | ||||||
| # this little macro lets you set any Xcode specific property |  | ||||||
| macro(set_xcode_property TARGET XCODE_PROPERTY XCODE_VALUE) |  | ||||||
|   set_property(TARGET ${TARGET} |  | ||||||
|     PROPERTY XCODE_ATTRIBUTE_${XCODE_PROPERTY} ${XCODE_VALUE}) |  | ||||||
| endmacro(set_xcode_property) |  | ||||||
| 
 |  | ||||||
| # this macro lets you find executable programs on the host system |  | ||||||
| macro(find_host_package) |  | ||||||
|   set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) |  | ||||||
|   set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER) |  | ||||||
|   set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER) |  | ||||||
|   set(IOS FALSE) |  | ||||||
| 
 |  | ||||||
|   find_package(${ARGN}) |  | ||||||
| 
 |  | ||||||
|   set(IOS TRUE) |  | ||||||
|   set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY) |  | ||||||
|   set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) |  | ||||||
|   set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) |  | ||||||
| endmacro(find_host_package) |  | ||||||
| 
 |  | ||||||
| # eof |  | ||||||
|  | @ -1,157 +0,0 @@ | ||||||
| #!/bin/sh -e |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 2015-2022 by |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg. |  | ||||||
| # |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified, |  | ||||||
| # and distributed under the terms of the FreeType project license, |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you |  | ||||||
| # indicate that you have read the license and understand and accept it |  | ||||||
| # fully. |  | ||||||
| 
 |  | ||||||
| # This script tests the CMake build. Simply run |  | ||||||
| # |  | ||||||
| #     builds/cmake/testbuild.sh |  | ||||||
| # |  | ||||||
| # or |  | ||||||
| # |  | ||||||
| #     BUILD_SHARED_LIBS=1 builds/cmake/testbuild.sh |  | ||||||
| # |  | ||||||
| # The script: |  | ||||||
| # |  | ||||||
| # - builds the main CMakeLists.txt |  | ||||||
| # - builds and runs a small test app in a separate build tree so |  | ||||||
| #   the config-module is tested, too |  | ||||||
| # |  | ||||||
| # Options (environment variables): |  | ||||||
| # |  | ||||||
| # - The variable BUILD_SHARED_LIBS will be forwarded to the CMake project |  | ||||||
| #   that builds the library. |  | ||||||
| # |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # prepare temporary dir |  | ||||||
| 
 |  | ||||||
| cd `dirname $0`/../.. |  | ||||||
| ftdir=`pwd` |  | ||||||
| tmpdir=/tmp/freetype-cmake-testbuild |  | ||||||
| rm -rf $tmpdir |  | ||||||
| mkdir -p $tmpdir |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # build and install freetype |  | ||||||
| 
 |  | ||||||
| if test -n "$BUILD_SHARED_LIBS"; then |  | ||||||
|   bsl=-DBUILD_SHARED_LIBS=$BUILD_SHARED_LIBS |  | ||||||
| else |  | ||||||
|   bsl=-UBUILD_SHARED_LIBS |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| build_opts="-DWITH_ZLIB=0 \ |  | ||||||
|             -DWITH_BZip2=0 \ |  | ||||||
|             -DWITH_PNG=0 \ |  | ||||||
|             -DWITH_HarfBuzz=0 \ |  | ||||||
|             $bsl \ |  | ||||||
|             -DCMAKE_INSTALL_PREFIX=$tmpdir/out" |  | ||||||
| 
 |  | ||||||
| (set -x; cmake -H$ftdir \ |  | ||||||
|                -B$tmpdir/ftb \ |  | ||||||
|                -DCMAKE_BUILD_TYPE=Debug \ |  | ||||||
|                $build_opts) |  | ||||||
| (set -x; cmake --build $tmpdir/ftb \ |  | ||||||
|                --config Debug \ |  | ||||||
|                --target install) |  | ||||||
| 
 |  | ||||||
| (set -x; cmake $tmpdir/ftb \ |  | ||||||
|                -DCMAKE_BUILD_TYPE=Release) |  | ||||||
| (set -x; cmake --build $tmpdir/ftb \ |  | ||||||
|                --config Release \ |  | ||||||
|                --target install \ |  | ||||||
|                --clean-first) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # create test project CMakeLists.txt |  | ||||||
| 
 |  | ||||||
| cat >$tmpdir/CMakeLists.txt << END |  | ||||||
| cmake_minimum_required(VERSION 2.6) |  | ||||||
| project(freetype-cmake-testbuild) |  | ||||||
| 
 |  | ||||||
| find_package(Freetype REQUIRED CONFIG) |  | ||||||
| 
 |  | ||||||
| add_executable(freetype-cmake-test main.c) |  | ||||||
| target_link_libraries(freetype-cmake-test freetype) |  | ||||||
| 
 |  | ||||||
| enable_testing() |  | ||||||
| add_test(freetype-cmake-test freetype-cmake-test) |  | ||||||
| END |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # create test project main.c |  | ||||||
| 
 |  | ||||||
| cat >$tmpdir/main.c << END |  | ||||||
| #include <stdio.h> |  | ||||||
| #include <stdlib.h> |  | ||||||
| 
 |  | ||||||
| #include <ft2build.h> |  | ||||||
| #include <freetype/freetype.h> |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| FT_Library library; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| int main(int argc, |  | ||||||
|          char*argv[]) |  | ||||||
| { |  | ||||||
|   FT_Error error; |  | ||||||
|   FT_Int major = 0; |  | ||||||
|   FT_Int minor = 0; |  | ||||||
|   FT_Int patch = 0; |  | ||||||
| 
 |  | ||||||
|   error = FT_Init_FreeType(&library); |  | ||||||
|   if (error) |  | ||||||
|     return EXIT_FAILURE; |  | ||||||
| 
 |  | ||||||
|   FT_Library_Version(library, &major, &minor, &patch); |  | ||||||
|   if (major != FREETYPE_MAJOR |  | ||||||
|       || minor != FREETYPE_MINOR |  | ||||||
|       || patch != FREETYPE_PATCH) |  | ||||||
|     return EXIT_FAILURE; |  | ||||||
| 
 |  | ||||||
|   printf("FT_Library_Version: %d.%d.%d\n", major, minor, patch); |  | ||||||
| 
 |  | ||||||
|   error = FT_Done_FreeType(library); |  | ||||||
|   if (error) |  | ||||||
|     return EXIT_FAILURE; |  | ||||||
| 
 |  | ||||||
|   return EXIT_SUCCESS; |  | ||||||
| } |  | ||||||
| END |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # build and test |  | ||||||
| 
 |  | ||||||
| mkdir -p $tmpdir/tb |  | ||||||
| cd $tmpdir/tb |  | ||||||
| 
 |  | ||||||
| LD_LIBRARY_PATH=$tmpdir/out/lib:$LD_LIBRARY_PATH |  | ||||||
| DYLD_LIBRARY_PATH=$tmpdir/out/lib:$DYLD_LIBRARY_PATH |  | ||||||
| export LD_LIBRARY_PATH |  | ||||||
| export DYLD_LIBRARY_PATH |  | ||||||
| 
 |  | ||||||
| (set -x; cmake $tmpdir \ |  | ||||||
|                -DCMAKE_BUILD_TYPE=Debug \ |  | ||||||
|                -DCMAKE_PREFIX_PATH=$tmpdir/out) |  | ||||||
| (set -x; cmake --build . \ |  | ||||||
|                --config Debug) |  | ||||||
| (set -x; ctest -V -C Debug) |  | ||||||
| 
 |  | ||||||
| (set -x; cmake . \ |  | ||||||
|                -DCMAKE_BUILD_TYPE=Release) |  | ||||||
| (set -x; cmake --build . \ |  | ||||||
|                --config Release \ |  | ||||||
|                --clean-first) |  | ||||||
| (set -x; ctest -V -C Release) |  | ||||||
| 
 |  | ||||||
| rm -rf $tmpdir |  | ||||||
| 
 |  | ||||||
| # EOF |  | ||||||
|  | @ -1,80 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 generic pseudo ANSI compiler
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 1996-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Compiler command line name
 |  | ||||||
| #
 |  | ||||||
| CC           := cc |  | ||||||
| COMPILER_SEP := $(SEP) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The object file extension (for standard and static libraries).  This can be
 |  | ||||||
| # .o, .tco, .obj, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| O  := o |  | ||||||
| SO := o |  | ||||||
| 
 |  | ||||||
| # The library file extension (for standard and static libraries).  This can
 |  | ||||||
| # be .a, .lib, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| A  := a |  | ||||||
| SA := a |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Path inclusion flag.  Some compilers use a different flag than `-I' to
 |  | ||||||
| # specify an additional include path.  Examples are `/i=' or `-J'.
 |  | ||||||
| #
 |  | ||||||
| I := -I |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flag used to define a macro before the compilation of a given source
 |  | ||||||
| # object.  Usually it is `-D' like in `-DDEBUG'.
 |  | ||||||
| #
 |  | ||||||
| D := -D |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The link flag used to specify a given library file on link.  Note that
 |  | ||||||
| # this is only used to compile the demo programs, not the library itself.
 |  | ||||||
| #
 |  | ||||||
| L := -l |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Target flag.
 |  | ||||||
| #
 |  | ||||||
| T := -o$(space) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flags
 |  | ||||||
| #
 |  | ||||||
| #   These should concern: debug output, optimization & warnings.
 |  | ||||||
| #
 |  | ||||||
| #   Use the ANSIFLAGS variable to define the compiler flags used to enforce
 |  | ||||||
| #   ANSI compliance.
 |  | ||||||
| #
 |  | ||||||
| CFLAGS ?= -c |  | ||||||
| 
 |  | ||||||
| # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
 |  | ||||||
| #
 |  | ||||||
| #  we assume the compiler is already strictly ANSI
 |  | ||||||
| #
 |  | ||||||
| ANSIFLAGS ?= |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Library linking
 |  | ||||||
| #
 |  | ||||||
| CLEAN_LIBRARY ?= $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY)) |  | ||||||
| LINK_LIBRARY   = $(AR) -r $@ $(subst /,$(COMPILER_SEP),$(OBJECTS_LIST)) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,86 +0,0 @@ | ||||||
| #
 |  | ||||||
| #  FreeType 2 Borland C++-specific with NO OPTIMIZATIONS + DEBUGGING
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 1996-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Compiler command line name
 |  | ||||||
| #
 |  | ||||||
| CC           := bcc32 |  | ||||||
| COMPILER_SEP := $(SEP) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The object file extension (for standard and static libraries).  This can be
 |  | ||||||
| # .o, .tco, .obj, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| O  := obj |  | ||||||
| SO := obj |  | ||||||
| 
 |  | ||||||
| # The library file extension (for standard and static libraries).  This can
 |  | ||||||
| # be .a, .lib, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| A  := lib |  | ||||||
| SA := lib |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Path inclusion flag.  Some compilers use a different flag than `-I' to
 |  | ||||||
| # specify an additional include path.  Examples are `/i=' or `-J'.
 |  | ||||||
| #
 |  | ||||||
| I := -I |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flag used to define a macro before the compilation of a given source
 |  | ||||||
| # object.  Usually it is `-D' like in `-DDEBUG'.
 |  | ||||||
| #
 |  | ||||||
| D := -D |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The link flag used to specify a given library file on link.  Note that
 |  | ||||||
| # this is only used to compile the demo programs, not the library itself.
 |  | ||||||
| #
 |  | ||||||
| L := |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Target flag -- no trailing space.
 |  | ||||||
| #
 |  | ||||||
| T  := -o |  | ||||||
| TE := -e |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flags
 |  | ||||||
| #
 |  | ||||||
| #   These should concern: debug output, optimization & warnings.
 |  | ||||||
| #
 |  | ||||||
| #   Use the ANSIFLAGS variable to define the compiler flags used to enforce
 |  | ||||||
| #   ANSI compliance.
 |  | ||||||
| #
 |  | ||||||
| CFLAGS ?= -q -c -y -d -v -Od -w-par -w-ccc -w-rch -w-pro -w-aus |  | ||||||
| 
 |  | ||||||
| # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
 |  | ||||||
| #
 |  | ||||||
| ANSIFLAGS ?= -A |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Library linking
 |  | ||||||
| #
 |  | ||||||
| CLEAN_LIBRARY ?= $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY)) |  | ||||||
| LINK_LIBRARY   = tlib /u /P128 $(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST:%=+%)) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Borland C++ specific temporary files
 |  | ||||||
| #
 |  | ||||||
| CLEAN += \
 |  | ||||||
|          $(subst /,$(SEP),$(TOP_DIR)/apinames.$(O)) \
 |  | ||||||
|          $(subst /,$(SEP),$(OBJ_DIR)/apinames.tds) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,86 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 Borland C++-specific rules
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 1996-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Compiler command line name
 |  | ||||||
| #
 |  | ||||||
| CC           := bcc32 |  | ||||||
| COMPILER_SEP := $(SEP) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The object file extension (for standard and static libraries).  This can be
 |  | ||||||
| # .o, .tco, .obj, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| O  := obj |  | ||||||
| SO := obj |  | ||||||
| 
 |  | ||||||
| # The library file extension (for standard and static libraries).  This can
 |  | ||||||
| # be .a, .lib, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| A  := lib |  | ||||||
| SA := lib |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Path inclusion flag.  Some compilers use a different flag than `-I' to
 |  | ||||||
| # specify an additional include path.  Examples are `/i=' or `-J'.
 |  | ||||||
| #
 |  | ||||||
| I := -I |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flag used to define a macro before the compilation of a given source
 |  | ||||||
| # object.  Usually it is `-D' like in `-DDEBUG'.
 |  | ||||||
| #
 |  | ||||||
| D := -D |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The link flag used to specify a given library file on link.  Note that
 |  | ||||||
| # this is only used to compile the demo programs, not the library itself.
 |  | ||||||
| #
 |  | ||||||
| L := |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Target flag -- no trailing space.
 |  | ||||||
| #
 |  | ||||||
| T  := -o |  | ||||||
| TE := -e |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flags
 |  | ||||||
| #
 |  | ||||||
| #   These should concern: debug output, optimization & warnings.
 |  | ||||||
| #
 |  | ||||||
| #   Use the ANSIFLAGS variable to define the compiler flags used to enforce
 |  | ||||||
| #   ANSI compliance.
 |  | ||||||
| #
 |  | ||||||
| CFLAGS ?= -c -q -y -d -v -Od -w-par -w-ccc -w-rch -w-pro -w-aus |  | ||||||
| 
 |  | ||||||
| # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
 |  | ||||||
| #
 |  | ||||||
| ANSIFLAGS ?= -A |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Library linking
 |  | ||||||
| #
 |  | ||||||
| CLEAN_LIBRARY ?= $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY)) |  | ||||||
| LINK_LIBRARY   = tlib /u /P128 $(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST:%=+%)) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Borland C++ specific temporary files
 |  | ||||||
| #
 |  | ||||||
| CLEAN += \
 |  | ||||||
|          $(subst /,$(SEP),$(TOP_DIR)/apinames.$(O)) \
 |  | ||||||
|          $(subst /,$(SEP),$(OBJ_DIR)/apinames.tds) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,77 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 emx-specific definitions
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 2003-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Compiler command line name
 |  | ||||||
| #
 |  | ||||||
| CC           := set GCCOPT="-ansi -pedantic"; gcc |  | ||||||
| COMPILER_SEP := / |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The object file extension (for standard and static libraries).  This can be
 |  | ||||||
| # .o, .tco, .obj, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| O  := o |  | ||||||
| SO := o |  | ||||||
| 
 |  | ||||||
| # The library file extension (for standard and static libraries).  This can
 |  | ||||||
| # be .a, .lib, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| A  := a |  | ||||||
| SA := a |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Path inclusion flag.  Some compilers use a different flag than `-I' to
 |  | ||||||
| # specify an additional include path.  Examples are `/i=' or `-J'.
 |  | ||||||
| #
 |  | ||||||
| I := -I |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flag used to define a macro before the compilation of a given source
 |  | ||||||
| # object.  Usually it is `-D' like in `-DDEBUG'.
 |  | ||||||
| #
 |  | ||||||
| D := -D |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The link flag used to specify a given library file on link.  Note that
 |  | ||||||
| # this is only used to compile the demo programs, not the library itself.
 |  | ||||||
| #
 |  | ||||||
| L := -l |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Target flag.
 |  | ||||||
| #
 |  | ||||||
| T := -o$(space) |  | ||||||
| 
 |  | ||||||
| # C flags
 |  | ||||||
| #
 |  | ||||||
| #   These should concern: debug output, optimization & warnings.
 |  | ||||||
| #
 |  | ||||||
| #   Use the ANSIFLAGS variable to define the compiler flags used to enforce
 |  | ||||||
| #   ANSI compliance.
 |  | ||||||
| #
 |  | ||||||
| CFLAGS ?= -c -g -O6 -Wall |  | ||||||
| 
 |  | ||||||
| # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
 |  | ||||||
| #
 |  | ||||||
| ANSIFLAGS ?= |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Library linking
 |  | ||||||
| #
 |  | ||||||
| CLEAN_LIBRARY ?= $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY)) |  | ||||||
| LINK_LIBRARY   = $(foreach m,$(OBJECTS_LIST),$(AR) -r $@ $(m);) echo > nul |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,96 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 gcc-specific with NO OPTIMIZATIONS + DEBUGGING
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 1996-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Compiler command line name
 |  | ||||||
| #
 |  | ||||||
| CC           := gcc |  | ||||||
| COMPILER_SEP := / |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The object file extension (for standard and static libraries).  This can be
 |  | ||||||
| # .o, .tco, .obj, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| O  := o |  | ||||||
| SO := o |  | ||||||
| 
 |  | ||||||
| # The library file extension (for standard and static libraries).  This can
 |  | ||||||
| # be .a, .lib, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| A  := a |  | ||||||
| SA := a |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Path inclusion flag.  Some compilers use a different flag than `-I' to
 |  | ||||||
| # specify an additional include path.  Examples are `/i=' or `-J'.
 |  | ||||||
| #
 |  | ||||||
| I := -I |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flag used to define a macro before the compilation of a given source
 |  | ||||||
| # object.  Usually it is `-D' like in `-DDEBUG'.
 |  | ||||||
| #
 |  | ||||||
| D := -D |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The link flag used to specify a given library file on link.  Note that
 |  | ||||||
| # this is only used to compile the demo programs, not the library itself.
 |  | ||||||
| #
 |  | ||||||
| L := -l |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Target flag.
 |  | ||||||
| #
 |  | ||||||
| T := -o$(space) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flags
 |  | ||||||
| #
 |  | ||||||
| #   These should concern: debug output, optimization & warnings.
 |  | ||||||
| #
 |  | ||||||
| #   Use the ANSIFLAGS variable to define the compiler flags used to enforce
 |  | ||||||
| #   ANSI compliance.
 |  | ||||||
| #
 |  | ||||||
| ifndef CFLAGS |  | ||||||
|   ifeq ($(findstring g++,$(CC)),) |  | ||||||
|     nested_externs    := -Wnested-externs |  | ||||||
|     strict_prototypes := -Wstrict-prototypes |  | ||||||
|   endif |  | ||||||
| 
 |  | ||||||
|   CFLAGS := -c -g -O0 \
 |  | ||||||
|             -Wall \
 |  | ||||||
|             -W \
 |  | ||||||
|             -Wundef \
 |  | ||||||
|             -Wshadow \
 |  | ||||||
|             -Wpointer-arith \
 |  | ||||||
|             -Wwrite-strings \
 |  | ||||||
|             -Wredundant-decls \
 |  | ||||||
|             -Wno-long-long \
 |  | ||||||
|             $(nested_externs) \
 |  | ||||||
|             $(strict_prototypes) |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
 |  | ||||||
| # You can override this on the command line.
 |  | ||||||
| #
 |  | ||||||
| ANSIFLAGS ?= -std=c99 -pedantic |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Library linking
 |  | ||||||
| #
 |  | ||||||
| CLEAN_LIBRARY ?= $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY)) |  | ||||||
| LINK_LIBRARY   = $(AR) -r $@ $(OBJECTS_LIST) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,77 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 gcc-specific definitions
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 1996-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Compiler command line name
 |  | ||||||
| #
 |  | ||||||
| CC           := gcc |  | ||||||
| COMPILER_SEP := / |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The object file extension (for standard and static libraries).  This can be
 |  | ||||||
| # .o, .tco, .obj, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| O  := o |  | ||||||
| SO := o |  | ||||||
| 
 |  | ||||||
| # The library file extension (for standard and static libraries).  This can
 |  | ||||||
| # be .a, .lib, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| A  := a |  | ||||||
| SA := a |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Path inclusion flag.  Some compilers use a different flag than `-I' to
 |  | ||||||
| # specify an additional include path.  Examples are `/i=' or `-J'.
 |  | ||||||
| #
 |  | ||||||
| I := -I |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flag used to define a macro before the compilation of a given source
 |  | ||||||
| # object.  Usually it is `-D' like in `-DDEBUG'.
 |  | ||||||
| #
 |  | ||||||
| D := -D |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The link flag used to specify a given library file on link.  Note that
 |  | ||||||
| # this is only used to compile the demo programs, not the library itself.
 |  | ||||||
| #
 |  | ||||||
| L := -l |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Target flag.
 |  | ||||||
| #
 |  | ||||||
| T := -o$(space) |  | ||||||
| 
 |  | ||||||
| # C flags
 |  | ||||||
| #
 |  | ||||||
| #   These should concern: debug output, optimization & warnings.
 |  | ||||||
| #
 |  | ||||||
| #   Use the ANSIFLAGS variable to define the compiler flags used to enforce
 |  | ||||||
| #   ANSI compliance.
 |  | ||||||
| #
 |  | ||||||
| CFLAGS ?= -c -g -O3 -Wall |  | ||||||
| 
 |  | ||||||
| # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
 |  | ||||||
| #
 |  | ||||||
| ANSIFLAGS ?= -std=c99 -pedantic |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Library linking
 |  | ||||||
| #
 |  | ||||||
| CLEAN_LIBRARY ?= $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY)) |  | ||||||
| LINK_LIBRARY   = $(AR) -r $@ $(OBJECTS_LIST) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,85 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 Intel C/C++ definitions (VC++ compatibility mode)
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 1996-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # compiler command line name
 |  | ||||||
| #
 |  | ||||||
| CC           := icl |  | ||||||
| COMPILER_SEP := $(SEP) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The object file extension (for standard and static libraries).  This can be
 |  | ||||||
| # .o, .tco, .obj, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| O  := obj |  | ||||||
| SO := obj |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The library file extension (for standard and static libraries).  This can
 |  | ||||||
| # be .a, .lib, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| A  := lib |  | ||||||
| SA := lib |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Path inclusion flag.  Some compilers use a different flag than `-I' to
 |  | ||||||
| # specify an additional include path.  Examples are `/i=' or `-J'.
 |  | ||||||
| #
 |  | ||||||
| I := /I |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flag used to define a macro before the compilation of a given source
 |  | ||||||
| # object.  Usually it is `-D' like in `-DDEBUG'.
 |  | ||||||
| #
 |  | ||||||
| D := /D |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The link flag used to specify a given library file on link.  Note that
 |  | ||||||
| # this is only used to compile the demo programs, not the library itself.
 |  | ||||||
| #
 |  | ||||||
| L := /Fl |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Target flag.
 |  | ||||||
| #
 |  | ||||||
| T := /Fo |  | ||||||
| TE := /Fe |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flags
 |  | ||||||
| #
 |  | ||||||
| #   These should concern: debug output, optimization & warnings.
 |  | ||||||
| #
 |  | ||||||
| #   Use the ANSIFLAGS variable to define the compiler flags used to enforce
 |  | ||||||
| #   ANSI compliance.
 |  | ||||||
| #
 |  | ||||||
| #   Note that the Intel C/C++ compiler version 4.5 complains about
 |  | ||||||
| #   the use of FT_FIELD_OFFSET with "value must be arithmetic type"!
 |  | ||||||
| #   This really looks like a bug in the compiler because the macro
 |  | ||||||
| #   _does_ compute an arithmetic value, so we disable this warning
 |  | ||||||
| #   with "/Qwd32".
 |  | ||||||
| #
 |  | ||||||
| CFLAGS ?= /nologo /c /Ox /G5 /W3 /Qwd32 |  | ||||||
| 
 |  | ||||||
| # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
 |  | ||||||
| #
 |  | ||||||
| ANSIFLAGS ?= /Qansi_alias /Za |  | ||||||
| 
 |  | ||||||
| # Library linking
 |  | ||||||
| #
 |  | ||||||
| #CLEAN_LIBRARY =
 |  | ||||||
| LINK_LIBRARY = lib /nologo /out:$(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST)) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,83 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 Unix LCC specific definitions
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 1996-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Command line name
 |  | ||||||
| #
 |  | ||||||
| CC           := lcc |  | ||||||
| COMPILER_SEP := $(SEP) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The object file extension (for standard and static libraries).  This can be
 |  | ||||||
| # .o, .tco, .obj, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| O  := o |  | ||||||
| SO := o |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The library file extension (for standard and static libraries).  This can
 |  | ||||||
| # be .a, .lib, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| A  := a |  | ||||||
| SA := a |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Path inclusion flag.  Some compilers use a different flag than `-I' to
 |  | ||||||
| # specify an additional include path.  Examples are `/i=' or `-J'.
 |  | ||||||
| #
 |  | ||||||
| I := -I |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flag used to define a macro before the compilation of a given source
 |  | ||||||
| # object.  Usually it is `-D' like in `-DDEBUG'.
 |  | ||||||
| #
 |  | ||||||
| D := -D |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The link flag used to specify a given library file on link.  Note that
 |  | ||||||
| # this is only used to compile the demo programs, not the library itself.
 |  | ||||||
| #
 |  | ||||||
| L := -l |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Target flag.
 |  | ||||||
| #
 |  | ||||||
| T := -o$(space) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flags
 |  | ||||||
| #
 |  | ||||||
| #   These should concern: debug output, optimization & warnings.
 |  | ||||||
| #
 |  | ||||||
| #   Use the ANSIFLAGS variable to define the compiler flags used to enforce
 |  | ||||||
| #   ANSI compliance.
 |  | ||||||
| #
 |  | ||||||
| CFLAGS ?= -c -g |  | ||||||
| 
 |  | ||||||
| # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
 |  | ||||||
| #
 |  | ||||||
| #  LCC is pure ANSI anyway!
 |  | ||||||
| #
 |  | ||||||
| #  the "-A" flag simply increments verbosity about non ANSI code
 |  | ||||||
| #
 |  | ||||||
| ANSIFLAGS ?= -A |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # library linking
 |  | ||||||
| #
 |  | ||||||
| CLEAN_LIBRARY ?= $(DELETE) $(PROJECT_LIBRARY) |  | ||||||
| LINK_LIBRARY   = $(AR) -r $@ $(OBJECTS_LIST) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,76 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 Visual Age C++ specific definitions
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 1996-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # command line compiler name
 |  | ||||||
| #
 |  | ||||||
| CC           := icc |  | ||||||
| COMPILER_SEP := $(SEP) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The object file extension (for standard and static libraries).  This can be
 |  | ||||||
| # .o, .tco, .obj, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| O  := obj |  | ||||||
| SO := obj |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The library file extension (for standard and static libraries).  This can
 |  | ||||||
| # be .a, .lib, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| A  := lib |  | ||||||
| SA := lib |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Path inclusion flag.  Some compilers use a different flag than `-I' to
 |  | ||||||
| # specify an additional include path.  Examples are `/i=' or `-J'.
 |  | ||||||
| #
 |  | ||||||
| I := /I |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flag used to define a macro before the compilation of a given source
 |  | ||||||
| # object.  Usually it is `-D' like in `-DDEBUG'.
 |  | ||||||
| #
 |  | ||||||
| D := /D |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The link flag used to specify a given library file on link.  Note that
 |  | ||||||
| # this is only used to compile the demo programs, not the library itself.
 |  | ||||||
| #
 |  | ||||||
| L := /Fl |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Target flag.
 |  | ||||||
| #
 |  | ||||||
| T := /Fo |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flags
 |  | ||||||
| #
 |  | ||||||
| #   These should concern: debug output, optimization & warnings.
 |  | ||||||
| #
 |  | ||||||
| CFLAGS ?= /Q- /Gd+ /O2 /G5 /W3 /C |  | ||||||
| 
 |  | ||||||
| # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
 |  | ||||||
| #
 |  | ||||||
| ANSI_FLAGS := /Sa |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Library linking
 |  | ||||||
| #
 |  | ||||||
| #CLEAN_LIBRARY :=
 |  | ||||||
| LINK_LIBRARY = lib /nologo /out:$(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST)) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,82 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 Visual C++ definitions
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 1996-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # compiler command line name
 |  | ||||||
| #
 |  | ||||||
| CC           := cl |  | ||||||
| COMPILER_SEP := $(SEP) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The object file extension (for standard and static libraries).  This can be
 |  | ||||||
| # .o, .tco, .obj, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| O  := obj |  | ||||||
| SO := obj |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The library file extension (for standard and static libraries).  This can
 |  | ||||||
| # be .a, .lib, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| A  := lib |  | ||||||
| SA := lib |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Path inclusion flag.  Some compilers use a different flag than `-I' to
 |  | ||||||
| # specify an additional include path.  Examples are `/i=' or `-J'.
 |  | ||||||
| #
 |  | ||||||
| I := /I |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flag used to define a macro before the compilation of a given source
 |  | ||||||
| # object.  Usually it is `-D' like in `-DDEBUG'.
 |  | ||||||
| #
 |  | ||||||
| D := /D |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The link flag used to specify a given library file on link.  Note that
 |  | ||||||
| # this is only used to compile the demo programs, not the library itself.
 |  | ||||||
| #
 |  | ||||||
| L := /Fl |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Target flag.
 |  | ||||||
| #
 |  | ||||||
| T := /Fo |  | ||||||
| 
 |  | ||||||
| # Target executable flag
 |  | ||||||
| #
 |  | ||||||
| TE := /Fe |  | ||||||
| 
 |  | ||||||
| # C flags
 |  | ||||||
| #
 |  | ||||||
| #   These should concern: debug output, optimization & warnings.
 |  | ||||||
| #
 |  | ||||||
| #   Use the ANSIFLAGS variable to define the compiler flags used to enforce
 |  | ||||||
| #   ANSI compliance.
 |  | ||||||
| #
 |  | ||||||
| CFLAGS ?= /nologo /c /Ox /W3 /WX |  | ||||||
| 
 |  | ||||||
| # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
 |  | ||||||
| #
 |  | ||||||
| ANSIFLAGS ?= /Za /D_CRT_SECURE_NO_DEPRECATE |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Library linking
 |  | ||||||
| #
 |  | ||||||
| #CLEAN_LIBRARY =
 |  | ||||||
| LINK_LIBRARY  = lib /nologo /out:$(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST)) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,81 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 Watcom-specific definitions
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 1996-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Compiler command line name
 |  | ||||||
| #
 |  | ||||||
| CC           := wcc386 |  | ||||||
| COMPILER_SEP := $(SEP) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The object file extension (for standard and static libraries).  This can be
 |  | ||||||
| # .o, .tco, .obj, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| O  := obj |  | ||||||
| SO := obj |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The library file extension (for standard and static libraries).  This can
 |  | ||||||
| # be .a, .lib, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| A  := lib |  | ||||||
| SA := lib |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Path inclusion flag.  Some compilers use a different flag than `-I' to
 |  | ||||||
| # specify an additional include path.  Examples are `/i=' or `-J'.
 |  | ||||||
| #
 |  | ||||||
| I := -I= |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flag used to define a macro before the compilation of a given source
 |  | ||||||
| # object.  Usually it is `-D' like in `-DDEBUG'.
 |  | ||||||
| #
 |  | ||||||
| D := -D |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The link flag used to specify a given library file on link.  Note that
 |  | ||||||
| # this is only used to compile the demo programs, not the library itself.
 |  | ||||||
| #
 |  | ||||||
| L := -l |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Target flag.
 |  | ||||||
| #
 |  | ||||||
| T := -FO= |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flags
 |  | ||||||
| #
 |  | ||||||
| #   These should concern: debug output, optimization & warnings.
 |  | ||||||
| #
 |  | ||||||
| #   Use the ANSIFLAGS variable to define the compiler flags used to enforce
 |  | ||||||
| #   ANSI compliance.
 |  | ||||||
| #
 |  | ||||||
| CFLAGS ?= -zq |  | ||||||
| 
 |  | ||||||
| # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
 |  | ||||||
| #
 |  | ||||||
| ANSIFLAGS ?= -za |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Library linking
 |  | ||||||
| #
 |  | ||||||
| CLEAN_LIBRARY ?= $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY)) |  | ||||||
| LINK_LIBRARY   = $(subst /,$(COMPILER_SEP), \
 |  | ||||||
|                    wlib -q -n $@; \
 |  | ||||||
|                    $(foreach m, $(OBJECTS_LIST), wlib -q $@ +$(m);) \
 |  | ||||||
|                    echo > nul) |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,81 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 Win32-LCC specific definitions
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 1996-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Command line name
 |  | ||||||
| #
 |  | ||||||
| CC           := lcc |  | ||||||
| COMPILER_SEP := $(SEP) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The object file extension (for standard and static libraries).  This can be
 |  | ||||||
| # .o, .tco, .obj, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| O  := obj |  | ||||||
| SO := obj |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The library file extension (for standard and static libraries).  This can
 |  | ||||||
| # be .a, .lib, etc., depending on the platform.
 |  | ||||||
| #
 |  | ||||||
| A  := lib |  | ||||||
| SA := lib |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Path inclusion flag.  Some compilers use a different flag than `-I' to
 |  | ||||||
| # specify an additional include path.  Examples are `/i=' or `-J'.
 |  | ||||||
| #
 |  | ||||||
| I := -I |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flag used to define a macro before the compilation of a given source
 |  | ||||||
| # object.  Usually it is `-D' like in `-DDEBUG'.
 |  | ||||||
| #
 |  | ||||||
| D := -D |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The link flag used to specify a given library file on link.  Note that
 |  | ||||||
| # this is only used to compile the demo programs, not the library itself.
 |  | ||||||
| #
 |  | ||||||
| L := -Fl |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Target flag.
 |  | ||||||
| #
 |  | ||||||
| T := -Fo |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # C flags
 |  | ||||||
| #
 |  | ||||||
| #   These should concern: debug output, optimization & warnings.
 |  | ||||||
| #
 |  | ||||||
| #   Use the ANSIFLAGS variable to define the compiler flags used to enforce
 |  | ||||||
| #   ANSI compliance.
 |  | ||||||
| #
 |  | ||||||
| CFLAGS ?= -c -g2 -O |  | ||||||
| 
 |  | ||||||
| # ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
 |  | ||||||
| #
 |  | ||||||
| #  LCC is pure ANSI anyway!
 |  | ||||||
| #
 |  | ||||||
| ANSIFLAGS ?= |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # library linking
 |  | ||||||
| #
 |  | ||||||
| #CLEAN_LIBRARY :=
 |  | ||||||
| LINK_LIBRARY = lcclib /out:$(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST)) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,128 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 host platform detection rules
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 1996-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # This sub-Makefile is in charge of detecting the current platform.  It sets
 |  | ||||||
| # the following variables:
 |  | ||||||
| #
 |  | ||||||
| #   PLATFORM_DIR The configuration and system-specific directory.  Usually
 |  | ||||||
| #                `builds/$(PLATFORM)' but can be different for custom builds
 |  | ||||||
| #                of the library.
 |  | ||||||
| #
 |  | ||||||
| # The following variables must be defined in system specific `detect.mk'
 |  | ||||||
| # files:
 |  | ||||||
| #
 |  | ||||||
| #   PLATFORM     The detected platform.  This will default to `ansi' if
 |  | ||||||
| #                auto-detection fails.
 |  | ||||||
| #   CONFIG_FILE  The configuration sub-makefile to use.  This usually depends
 |  | ||||||
| #                on the compiler defined in the `CC' environment variable.
 |  | ||||||
| #   DELETE       The shell command used to remove a given file.
 |  | ||||||
| #   COPY         The shell command used to copy one file.
 |  | ||||||
| #   SEP          The platform-specific directory separator.
 |  | ||||||
| #   COMPILER_SEP The separator used in arguments of the compilation tools.
 |  | ||||||
| #   CC           The compiler to use.
 |  | ||||||
| #
 |  | ||||||
| # You need to set the following variable(s) before calling it:
 |  | ||||||
| #
 |  | ||||||
| #   TOP_DIR      The top-most directory in the FreeType library source
 |  | ||||||
| #                hierarchy.  If not defined, it will default to `.'.
 |  | ||||||
| 
 |  | ||||||
| # Set auto-detection default to `ansi' resp. UNIX-like operating systems.
 |  | ||||||
| #
 |  | ||||||
| PLATFORM     := ansi |  | ||||||
| DELETE       := $(RM) |  | ||||||
| COPY         := cp |  | ||||||
| CAT          := cat |  | ||||||
| SEP          := / |  | ||||||
| 
 |  | ||||||
| BUILD_CONFIG := $(TOP_DIR)/builds |  | ||||||
| 
 |  | ||||||
| # These two assignments must be delayed.
 |  | ||||||
| PLATFORM_DIR = $(BUILD_CONFIG)/$(PLATFORM) |  | ||||||
| CONFIG_RULES = $(PLATFORM_DIR)/$(CONFIG_FILE) |  | ||||||
| 
 |  | ||||||
| # We define the BACKSLASH variable to hold a single back-slash character.
 |  | ||||||
| # This is needed because a line like
 |  | ||||||
| #
 |  | ||||||
| #   SEP := \
 |  | ||||||
| #
 |  | ||||||
| # does not work with GNU Make (the backslash is interpreted as a line
 |  | ||||||
| # continuation).  While a line like
 |  | ||||||
| #
 |  | ||||||
| #   SEP := \\
 |  | ||||||
| #
 |  | ||||||
| # really defines $(SEP) as `\' on Unix, and `\\' on Dos and Windows!
 |  | ||||||
| #
 |  | ||||||
| BACKSLASH := $(strip \ ) |  | ||||||
| 
 |  | ||||||
| # Find all auto-detectable platforms.
 |  | ||||||
| #
 |  | ||||||
| PLATFORMS := $(notdir $(subst /detect.mk,,$(wildcard $(BUILD_CONFIG)/*/detect.mk))) |  | ||||||
| .PHONY: $(PLATFORMS) ansi |  | ||||||
| 
 |  | ||||||
| # Filter out platform specified as setup target.
 |  | ||||||
| #
 |  | ||||||
| PLATFORM := $(firstword $(filter $(MAKECMDGOALS),$(PLATFORMS))) |  | ||||||
| 
 |  | ||||||
| # If no setup target platform was specified, enable auto-detection/
 |  | ||||||
| # default platform.
 |  | ||||||
| #
 |  | ||||||
| ifeq ($(PLATFORM),) |  | ||||||
|   PLATFORM := ansi |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| # If the user has explicitly asked for `ansi' on the command line,
 |  | ||||||
| # disable auto-detection.
 |  | ||||||
| #
 |  | ||||||
| ifeq ($(findstring ansi,$(MAKECMDGOALS)),) |  | ||||||
|   # Now, include all detection rule files found in the `builds/<system>' |  | ||||||
|   # directories.  Note that the calling order of the various `detect.mk' |  | ||||||
|   # files isn't predictable. |  | ||||||
|   # |  | ||||||
|   include $(wildcard $(BUILD_CONFIG)/*/detect.mk) |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| # In case no detection rule file was successful, use the default.
 |  | ||||||
| #
 |  | ||||||
| ifndef CONFIG_FILE |  | ||||||
|   CONFIG_FILE := ansi.mk |  | ||||||
|   setup: std_setup |  | ||||||
|   .PHONY: setup |  | ||||||
| endif |  | ||||||
| 
 |  | ||||||
| # Flash out and copy rules.
 |  | ||||||
| #
 |  | ||||||
| .PHONY: std_setup |  | ||||||
| 
 |  | ||||||
| std_setup: |  | ||||||
| 	$(info ) |  | ||||||
| 	$(info $(PROJECT_TITLE) build system -- automatic system detection) |  | ||||||
| 	$(info ) |  | ||||||
| 	$(info The following settings are used:) |  | ||||||
| 	$(info ) |  | ||||||
| 	$(info $(empty)  platform                    $(PLATFORM)) |  | ||||||
| 	$(info $(empty)  compiler                    $(CC)) |  | ||||||
| 	$(info $(empty)  configuration directory     $(subst /,$(SEP),$(PLATFORM_DIR))) |  | ||||||
| 	$(info $(empty)  configuration rules         $(subst /,$(SEP),$(CONFIG_RULES))) |  | ||||||
| 	$(info ) |  | ||||||
| 	$(info If this does not correspond to your system or settings please remove the file) |  | ||||||
| 	$(info `$(CONFIG_MK)' from this directory then read the INSTALL file for help.) |  | ||||||
| 	$(info ) |  | ||||||
| 	$(info Otherwise, simply type `$(MAKE)' again to build the library,) |  | ||||||
| 	$(info or `$(MAKE) refdoc' to build the API reference (this needs Python >= 3.5).) |  | ||||||
| 	$(info ) |  | ||||||
| 	@$(COPY) $(subst /,$(SEP),$(CONFIG_RULES) $(CONFIG_MK)) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,152 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 configuration file to detect a DOS host platform.
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 1996-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| .PHONY: setup |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| ifeq ($(PLATFORM),ansi) |  | ||||||
| 
 |  | ||||||
|   # Test for DJGPP by checking the DJGPP environment variable, which must be |  | ||||||
|   # set in order to use the system (ie. it will always be present when the |  | ||||||
|   # `make' utility is run). |  | ||||||
|   # |  | ||||||
|   # We test for the COMSPEC environment variable, then run the `ver' |  | ||||||
|   # command-line program to see if its output contains the word `Dos' or |  | ||||||
|   # `DOS'. |  | ||||||
|   # |  | ||||||
|   # If this is true, we are running a Dos-ish platform (or an emulation). |  | ||||||
|   # |  | ||||||
|   ifdef DJGPP |  | ||||||
|     PLATFORM := dos |  | ||||||
|   else |  | ||||||
|     ifdef COMSPEC |  | ||||||
|       is_dos := $(findstring DOS,$(subst Dos,DOS,$(shell ver))) |  | ||||||
| 
 |  | ||||||
|       # We try to recognize a Dos session under OS/2.  The `ver' command |  | ||||||
|       # returns `Operating System/2 ...' there, so `is_dos' should be empty. |  | ||||||
|       # |  | ||||||
|       # To recognize a Dos session under OS/2, we check COMSPEC for the |  | ||||||
|       # substring `MDOS\COMMAND' |  | ||||||
|       # |  | ||||||
|       ifeq ($(is_dos),) |  | ||||||
|         is_dos := $(findstring MDOS\COMMAND,$(COMSPEC)) |  | ||||||
|       endif |  | ||||||
| 
 |  | ||||||
|       # We also try to recognize Dos 7.x without Windows 9X launched. |  | ||||||
|       # See builds/windows/detect.mk for explanations about the logic. |  | ||||||
|       # |  | ||||||
|       ifeq ($(is_dos),) |  | ||||||
|         ifdef winbootdir |  | ||||||
| #ifneq ($(OS),Windows_NT)
 |  | ||||||
|           # If windows is available, do not trigger this test. |  | ||||||
|           ifndef windir |  | ||||||
|             is_dos := $(findstring Windows,$(strip $(shell ver))) |  | ||||||
|           endif |  | ||||||
| #endif
 |  | ||||||
|         endif |  | ||||||
|       endif |  | ||||||
| 
 |  | ||||||
|     endif # test COMSPEC |  | ||||||
| 
 |  | ||||||
|     ifneq ($(is_dos),) |  | ||||||
| 
 |  | ||||||
|       PLATFORM := dos |  | ||||||
| 
 |  | ||||||
|     endif # test Dos |  | ||||||
|   endif # test DJGPP |  | ||||||
| endif # test PLATFORM ansi
 |  | ||||||
| 
 |  | ||||||
| ifeq ($(PLATFORM),dos) |  | ||||||
| 
 |  | ||||||
|   # Use DJGPP (i.e. gcc) by default. |  | ||||||
|   # |  | ||||||
|   CONFIG_FILE := dos-gcc.mk |  | ||||||
|   CC          ?= gcc |  | ||||||
| 
 |  | ||||||
|   # additionally, we provide hooks for various other compilers |  | ||||||
|   # |  | ||||||
|   ifneq ($(findstring emx,$(MAKECMDGOALS)),)        # EMX gcc |  | ||||||
|     CONFIG_FILE := dos-emx.mk |  | ||||||
|     CC          := gcc |  | ||||||
| 
 |  | ||||||
|     .PHONY: emx |  | ||||||
|     emx: setup |  | ||||||
| 	    @cd . |  | ||||||
|   endif |  | ||||||
| 
 |  | ||||||
|   ifneq ($(findstring turboc,$(MAKECMDGOALS)),)     # Turbo C |  | ||||||
|     CONFIG_FILE := dos-tcc.mk |  | ||||||
|     CC          := tcc |  | ||||||
| 
 |  | ||||||
|     .PHONY: turboc |  | ||||||
|     turboc: setup |  | ||||||
| 	    @cd . |  | ||||||
|   endif |  | ||||||
| 
 |  | ||||||
|   ifneq ($(findstring watcom,$(MAKECMDGOALS)),)     # Watcom C/C++ |  | ||||||
|     CONFIG_FILE := dos-wat.mk |  | ||||||
|     CC          := wcc386 |  | ||||||
| 
 |  | ||||||
|     .PHONY: watcom |  | ||||||
|     watcom: setup |  | ||||||
| 	    @cd . |  | ||||||
|   endif |  | ||||||
| 
 |  | ||||||
|   ifneq ($(findstring borlandc,$(MAKECMDGOALS)),)   # Borland C/C++ 32-bit |  | ||||||
|     CONFIG_FILE := dos-bcc.mk |  | ||||||
|     CC          := bcc32 |  | ||||||
| 
 |  | ||||||
|     .PHONY: borlandc |  | ||||||
|     borlandc: setup |  | ||||||
| 	    @cd . |  | ||||||
|   endif |  | ||||||
| 
 |  | ||||||
|   ifneq ($(findstring borlandc16,$(MAKECMDGOALS)),) # Borland C/C++ 16-bit |  | ||||||
|     CONFIG_FILE := dos-bcc.mk |  | ||||||
|     CC          := bcc |  | ||||||
| 
 |  | ||||||
|     .PHONY: borlandc16 |  | ||||||
|     borlandc16: setup |  | ||||||
| 	    @cd . |  | ||||||
|   endif |  | ||||||
| 
 |  | ||||||
|   ifneq ($(findstring bash,$(SHELL)),)              # check for bash |  | ||||||
|     SEP    := / |  | ||||||
|     DELETE := rm |  | ||||||
|     COPY   := cp |  | ||||||
|     CAT    := cat |  | ||||||
|     setup: std_setup |  | ||||||
|   else |  | ||||||
|     SEP    := $(BACKSLASH) |  | ||||||
|     DELETE := del |  | ||||||
|     CAT    := type |  | ||||||
| 
 |  | ||||||
|     # Setting COPY is a bit trickier.  We can be running DJGPP on some |  | ||||||
|     # Windows NT derivatives, like XP.  See builds/windows/detect.mk for |  | ||||||
|     # explanations why we need hacking here. |  | ||||||
|     # |  | ||||||
|     ifeq ($(OS),Windows_NT) |  | ||||||
|       COPY := cmd.exe /c copy |  | ||||||
|     else |  | ||||||
|       COPY := copy |  | ||||||
|     endif  # test NT |  | ||||||
| 
 |  | ||||||
|     setup: std_setup |  | ||||||
|   endif |  | ||||||
| 
 |  | ||||||
| endif     # test PLATFORM dos
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,48 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 DOS specific definitions
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 1996-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| DELETE       := del |  | ||||||
| CAT          := type |  | ||||||
| SEP          := $(strip \ ) |  | ||||||
| PLATFORM_DIR := $(TOP_DIR)/builds/dos |  | ||||||
| PLATFORM     := dos |  | ||||||
| 
 |  | ||||||
| # This is used for `make refdoc' and `make refdoc-venv'
 |  | ||||||
| #
 |  | ||||||
| BIN := Scripts |  | ||||||
| 
 |  | ||||||
| # The executable file extension (for tools), *with* leading dot.
 |  | ||||||
| #
 |  | ||||||
| E := .exe |  | ||||||
| 
 |  | ||||||
| # The directory where all library files are placed.
 |  | ||||||
| #
 |  | ||||||
| # By default, this is the same as $(OBJ_DIR); however, this can be changed
 |  | ||||||
| # to suit particular needs.
 |  | ||||||
| #
 |  | ||||||
| LIB_DIR := $(OBJ_DIR) |  | ||||||
| 
 |  | ||||||
| # The name of the final library file.  Note that the DOS-specific Makefile
 |  | ||||||
| # uses a shorter (8.3) name.
 |  | ||||||
| #
 |  | ||||||
| LIBRARY := $(PROJECT) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # The NO_OUTPUT macro is used to ignore the output of commands.
 |  | ||||||
| #
 |  | ||||||
| NO_OUTPUT = > nul |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,21 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 configuration rules for the EMX gcc compiler
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 2003-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| include $(TOP_DIR)/builds/dos/dos-def.mk |  | ||||||
| include $(TOP_DIR)/builds/compiler/emx.mk |  | ||||||
| include $(TOP_DIR)/builds/link_dos.mk |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,21 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 configuration rules for the DJGPP compiler
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 1996-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| include $(TOP_DIR)/builds/dos/dos-def.mk |  | ||||||
| include $(TOP_DIR)/builds/compiler/gcc.mk |  | ||||||
| include $(TOP_DIR)/builds/link_dos.mk |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
|  | @ -1,20 +0,0 @@ | ||||||
| #
 |  | ||||||
| # FreeType 2 configuration rules for the Watcom C/C++ compiler
 |  | ||||||
| #
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Copyright (C) 2003-2022 by
 |  | ||||||
| # David Turner, Robert Wilhelm, and Werner Lemberg.
 |  | ||||||
| #
 |  | ||||||
| # This file is part of the FreeType project, and may only be used, modified,
 |  | ||||||
| # and distributed under the terms of the FreeType project license,
 |  | ||||||
| # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 |  | ||||||
| # indicate that you have read the license and understand and accept it
 |  | ||||||
| # fully.
 |  | ||||||
| 
 |  | ||||||
| include $(TOP_DIR)/builds/dos/dos-def.mk |  | ||||||
| include $(TOP_DIR)/builds/compiler/watcom.mk |  | ||||||
| include $(TOP_DIR)/builds/link_dos.mk |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # EOF
 |  | ||||||
Some files were not shown because too many files have changed in this diff Show more
		Loading…
	
	Add table
		
		Reference in a new issue