initial commit
This commit is contained in:
		
						commit
						05604fd4da
					
				
							
								
								
									
										364
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										364
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,364 @@ | ||||
| dist/ | ||||
| 
 | ||||
| ## Ignore Visual Studio temporary files, build results, and | ||||
| ## files generated by popular Visual Studio add-ons. | ||||
| ## | ||||
| ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore | ||||
| 
 | ||||
| # 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 | ||||
| *.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 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/ | ||||
| 
 | ||||
| # 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 | ||||
							
								
								
									
										20
									
								
								FemboyGeometry.sln
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								FemboyGeometry.sln
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | ||||
|  | ||||
| Microsoft Visual Studio Solution File, Format Version 11.00 | ||||
| # Visual Studio 2010 | ||||
| Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FemboyGeometry", "FemboyGeometry\FemboyGeometry.vcxproj", "{23F4B47A-7836-427C-A7CD-6D430B3DE504}" | ||||
| EndProject | ||||
| Global | ||||
| 	GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||||
| 		Debug|Win32 = Debug|Win32 | ||||
| 		Release|Win32 = Release|Win32 | ||||
| 	EndGlobalSection | ||||
| 	GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||||
| 		{23F4B47A-7836-427C-A7CD-6D430B3DE504}.Debug|Win32.ActiveCfg = Debug|Win32 | ||||
| 		{23F4B47A-7836-427C-A7CD-6D430B3DE504}.Debug|Win32.Build.0 = Debug|Win32 | ||||
| 		{23F4B47A-7836-427C-A7CD-6D430B3DE504}.Release|Win32.ActiveCfg = Release|Win32 | ||||
| 		{23F4B47A-7836-427C-A7CD-6D430B3DE504}.Release|Win32.Build.0 = Release|Win32 | ||||
| 	EndGlobalSection | ||||
| 	GlobalSection(SolutionProperties) = preSolution | ||||
| 		HideSolutionNode = FALSE | ||||
| 	EndGlobalSection | ||||
| EndGlobal | ||||
							
								
								
									
										62
									
								
								FemboyGeometry/FemboyGeometry.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								FemboyGeometry/FemboyGeometry.cpp
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,62 @@ | ||||
| #include <iostream> | ||||
| 
 | ||||
| #ifdef _WIN32 | ||||
| #include <windows.h> | ||||
| #endif | ||||
| #include <gl/GL.h> | ||||
| #include <gl/GLU.h> | ||||
| #include <gl/GLUT.h> | ||||
| 
 | ||||
| 
 | ||||
| void display(void) | ||||
| { | ||||
| /*  clear all pixels  */ | ||||
|     glClear (GL_COLOR_BUFFER_BIT); | ||||
| 
 | ||||
| /*  draw white polygon (rectangle) with corners at
 | ||||
|  *  (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0)   | ||||
|  */ | ||||
|     glColor3f (1.0, 1.0, 1.0); | ||||
|     glBegin(GL_POLYGON); | ||||
|         glVertex3f (0.25, 0.25, 0.0); | ||||
|         glVertex3f (0.75, 0.25, 0.0); | ||||
|         glVertex3f (0.75, 0.75, 0.0); | ||||
|         glVertex3f (0.25, 0.75, 0.0); | ||||
|     glEnd(); | ||||
| 
 | ||||
| /*  don't wait!  
 | ||||
|  *  start processing buffered OpenGL routines  | ||||
|  */ | ||||
|     glFlush (); | ||||
| } | ||||
| 
 | ||||
| void init (void)  | ||||
| { | ||||
| /*  select clearing (background) color       */ | ||||
|     glClearColor (0.0, 0.0, 0.0, 0.0); | ||||
| 
 | ||||
| /*  initialize viewing values  */ | ||||
|     glMatrixMode(GL_PROJECTION); | ||||
|     glLoadIdentity(); | ||||
|     glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0); | ||||
| } | ||||
| 
 | ||||
| /* 
 | ||||
|  *  Declare initial window size, position, and display mode | ||||
|  *  (single buffer and RGBA).  Open window with "hello" | ||||
|  *  in its title bar.  Call initialization routines. | ||||
|  *  Register callback function to display graphics. | ||||
|  *  Enter main loop and process events. | ||||
|  */ | ||||
| int main(int argc, char** argv) | ||||
| { | ||||
|     glutInit(&argc, argv); | ||||
|     glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); | ||||
|     glutInitWindowSize (250, 250);  | ||||
|     glutInitWindowPosition (100, 100); | ||||
|     glutCreateWindow ("hello"); | ||||
|     init (); | ||||
|     glutDisplayFunc(display);  | ||||
|     glutMainLoop(); | ||||
|     return 0;   /* ISO C requires main to return int. */ | ||||
| } | ||||
							
								
								
									
										78
									
								
								FemboyGeometry/FemboyGeometry.vcxproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								FemboyGeometry/FemboyGeometry.vcxproj
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,78 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||
|   <ItemGroup Label="ProjectConfigurations"> | ||||
|     <ProjectConfiguration Include="Debug|Win32"> | ||||
|       <Configuration>Debug</Configuration> | ||||
|       <Platform>Win32</Platform> | ||||
|     </ProjectConfiguration> | ||||
|     <ProjectConfiguration Include="Release|Win32"> | ||||
|       <Configuration>Release</Configuration> | ||||
|       <Platform>Win32</Platform> | ||||
|     </ProjectConfiguration> | ||||
|   </ItemGroup> | ||||
|   <PropertyGroup Label="Globals"> | ||||
|     <ProjectGuid>{23F4B47A-7836-427C-A7CD-6D430B3DE504}</ProjectGuid> | ||||
|     <RootNamespace>FemboyGeometry</RootNamespace> | ||||
|   </PropertyGroup> | ||||
|   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | ||||
|   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | ||||
|     <ConfigurationType>Application</ConfigurationType> | ||||
|     <UseDebugLibraries>true</UseDebugLibraries> | ||||
|     <CharacterSet>MultiByte</CharacterSet> | ||||
|   </PropertyGroup> | ||||
|   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | ||||
|     <ConfigurationType>Application</ConfigurationType> | ||||
|     <UseDebugLibraries>false</UseDebugLibraries> | ||||
|     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||
|     <CharacterSet>MultiByte</CharacterSet> | ||||
|   </PropertyGroup> | ||||
|   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | ||||
|   <ImportGroup Label="ExtensionSettings"> | ||||
|   </ImportGroup> | ||||
|   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||||
|     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||
|   </ImportGroup> | ||||
|   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||||
|     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||
|   </ImportGroup> | ||||
|   <PropertyGroup Label="UserMacros" /> | ||||
|   <PropertyGroup /> | ||||
|   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||||
|     <ClCompile> | ||||
|       <WarningLevel>Level3</WarningLevel> | ||||
|       <Optimization>Disabled</Optimization> | ||||
|       <AdditionalIncludeDirectories>$(SolutionDir)thirdparty\freeglut\include</AdditionalIncludeDirectories> | ||||
|     </ClCompile> | ||||
|     <Link> | ||||
|       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||
|       <AdditionalLibraryDirectories>$(SolutionDir)thirdparty\freeglut\lib</AdditionalLibraryDirectories> | ||||
|     </Link> | ||||
|     <PostBuildEvent> | ||||
|       <Command>xcopy /y /d  "$(SolutionDir)thirdparty\freeglut\bin\*.dll" "$(OutDir)"</Command> | ||||
|     </PostBuildEvent> | ||||
|   </ItemDefinitionGroup> | ||||
|   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||||
|     <ClCompile> | ||||
|       <WarningLevel>Level3</WarningLevel> | ||||
|       <Optimization>MaxSpeed</Optimization> | ||||
|       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||
|       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||
|       <AdditionalIncludeDirectories>$(SolutionDir)thirdparty\freeglut\include</AdditionalIncludeDirectories> | ||||
|     </ClCompile> | ||||
|     <Link> | ||||
|       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||
|       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||
|       <OptimizeReferences>true</OptimizeReferences> | ||||
|       <AdditionalLibraryDirectories>$(SolutionDir)thirdparty\freeglut\lib</AdditionalLibraryDirectories> | ||||
|     </Link> | ||||
|     <PostBuildEvent> | ||||
|       <Command>xcopy /y /d  "$(ProjectDir)thirdparty\freeglut\bin\*.dll" "$(ProjectDir)$(OutDir)"</Command> | ||||
|     </PostBuildEvent> | ||||
|   </ItemDefinitionGroup> | ||||
|   <ItemGroup> | ||||
|     <ClCompile Include="FemboyGeometry.cpp" /> | ||||
|   </ItemGroup> | ||||
|   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||||
|   <ImportGroup Label="ExtensionTargets"> | ||||
|   </ImportGroup> | ||||
| </Project> | ||||
							
								
								
									
										22
									
								
								FemboyGeometry/FemboyGeometry.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								FemboyGeometry/FemboyGeometry.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||
|   <ItemGroup> | ||||
|     <Filter Include="Source Files"> | ||||
|       <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> | ||||
|       <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> | ||||
|     </Filter> | ||||
|     <Filter Include="Header Files"> | ||||
|       <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> | ||||
|       <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> | ||||
|     </Filter> | ||||
|     <Filter Include="Resource Files"> | ||||
|       <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> | ||||
|       <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> | ||||
|     </Filter> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <ClCompile Include="FemboyGeometry.cpp"> | ||||
|       <Filter>Source Files</Filter> | ||||
|     </ClCompile> | ||||
|   </ItemGroup> | ||||
| </Project> | ||||
							
								
								
									
										27
									
								
								thirdparty/freeglut/Copying.txt
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								thirdparty/freeglut/Copying.txt
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,27 @@ | ||||
| 
 | ||||
|   Freeglut Copyright | ||||
|   ------------------ | ||||
|    | ||||
|   Freeglut code without an explicit copyright is covered by the following  | ||||
|   copyright: | ||||
|    | ||||
|   Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved. | ||||
|   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 or substantial portions of the Software. | ||||
|    | ||||
|   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  | ||||
|   PAWEL W. OLSZTA 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. | ||||
|    | ||||
|   Except as contained in this notice,  the name of Pawel W. Olszta shall not be  | ||||
|   used  in advertising  or otherwise to promote the sale, use or other dealings  | ||||
|   in this Software without prior written authorization from Pawel W. Olszta. | ||||
							
								
								
									
										106
									
								
								thirdparty/freeglut/Readme.txt
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										106
									
								
								thirdparty/freeglut/Readme.txt
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,106 @@ | ||||
| freeglut 3.0.0-1.mp for MSVC | ||||
| 
 | ||||
| This package contains freeglut import libraries, headers, and Windows DLLs. | ||||
| These allow 32 and 64 bit GLUT applications to be compiled on Windows using | ||||
| Microsoft Visual C++. | ||||
| 
 | ||||
| For more information on freeglut, visit http://freeglut.sourceforge.net/. | ||||
| 
 | ||||
| 
 | ||||
| Installation | ||||
| 
 | ||||
| Create a folder on your PC which is readable by all users, for example | ||||
| “C:\Program Files\Common Files\MSVC\freeglut\” on a typical Windows system. Copy | ||||
| the “lib\” and “include\” folders from this zip archive to that location. | ||||
| 
 | ||||
| The appropriate freeglut DLL can either be placed in the same folder as your | ||||
| application, or can be installed in a system-wide folder which appears in your | ||||
| %PATH% environment variable. Be careful not to mix the 32 bit DLL up with the 64 | ||||
| bit DLL, as they are not interchangeable. | ||||
| 
 | ||||
| 
 | ||||
| Compiling 32 bit Applications | ||||
| 
 | ||||
| To create a 32 bit freeglut application, create a new Win32 C++ project in MSVC. | ||||
| From the “Win32 Application Wizard”, choose a “Windows application”, check the | ||||
| “Empty project” box, and submit. | ||||
| 
 | ||||
| You’ll now need to configure the compiler and linker settings. Open up the | ||||
| project properties, and select “All Configurations” (this is necessary to ensure | ||||
| our changes are applied for both debug and release builds). Open up the | ||||
| “general” section under “C/C++”, and configure the “include\” folder you created | ||||
| above as an “Additional Include Directory”. If you have more than one GLUT | ||||
| package which contains a “glut.h” file, it’s important to ensure that the | ||||
| freeglut include folder appears above all other GLUT include folders. | ||||
| 
 | ||||
| Now open up the “general” section under “Linker”, and configure the “lib\” | ||||
| folder you created above as an “Additional Library Directory”. A freeglut | ||||
| application depends on the import libraries “freeglut.lib” and “opengl32.lib”, | ||||
| which can be configured under the “Input” section. However, it shouldn’t be | ||||
| necessary to explicitly state these dependencies, since the freeglut headers | ||||
| handle this for you. Now open the “Advanced” section, and enter “mainCRTStartup” | ||||
| as the “Entry Point” for your application. This is necessary because GLUT | ||||
| applications use “main” as the application entry point, not “WinMain”—without it | ||||
| you’ll get an undefined reference when you try to link your application. | ||||
| 
 | ||||
| That’s all of your project properties configured, so you can now add source | ||||
| files to your project and build the application. If you want your application to | ||||
| be compatible with GLUT, you should “#include <GL/glut.h>”. If you want to use | ||||
| freeglut specific extensions, you should “#include <GL/freeglut.h>” instead. | ||||
| 
 | ||||
| Don’t forget to either include the freeglut DLL when distributing applications, | ||||
| or provide your users with some method of obtaining it if they don’t already | ||||
| have it! | ||||
| 
 | ||||
| 
 | ||||
| Compiling 64 bit Applications | ||||
| 
 | ||||
| Building 64 bit applications is almost identical to building 32 bit applications. | ||||
| When you use the configuration manager to add the x64 platform, it’s easiest to | ||||
| copy the settings from the Win32 platform. If you do so, it’s then only necessary | ||||
| to change the “Additional Library Directories” configuration so that it | ||||
| references the directory containing the 64 bit import library rather | ||||
| than the 32 bit one. | ||||
| 
 | ||||
| 
 | ||||
| Problems? | ||||
| 
 | ||||
| If you have problems using this package (compiler / linker errors etc.), please | ||||
| check that you have followed all of the steps in this readme file correctly. | ||||
| Almost all of the problems which are reported with these packages are due to | ||||
| missing a step or not doing it correctly, for example trying to build a 32 bit | ||||
| app against the 64 bit import library. If you have followed all of the steps | ||||
| correctly but your application still fails to build, try building a very simple | ||||
| but functional program (the example at | ||||
| http://www.transmissionzero.co.uk/computing/using-glut-with-mingw/ works fine | ||||
| with MSVC). A lot of people try to build very complex applications after | ||||
| installing these packages, and often the error is with the application code or | ||||
| other library dependencies rather than freeglut. | ||||
| 
 | ||||
| If you still can’t get it working after trying to compile a simple application, | ||||
| then please get in touch via http://www.transmissionzero.co.uk/contact/, | ||||
| providing as much detail as you can. Please don’t complain to the freeglut guys | ||||
| unless you’re sure it’s a freeglut bug, and have reproduced the issue after | ||||
| compiling freeglut from the latest SVN version—if that’s still the case, I’m | ||||
| sure they would appreciate a bug report or a patch. | ||||
| 
 | ||||
| 
 | ||||
| Changelog | ||||
| 
 | ||||
| 2015–07–22: Release 3.0.0-2.mp | ||||
| 
 | ||||
|   • Modified the freeglut_std.h file so that it doesn’t try to link against the | ||||
|     freeglutd.lib import library. | ||||
| 
 | ||||
| 2015–03–15: Release 3.0.0-1.mp | ||||
| 
 | ||||
|   • First 3.0.0 MSVC release. I’ve built the package using Visual Studio 2013, | ||||
|     and the only change I’ve made is to the DLL version resource—I’ve changed | ||||
|     the description so that my MinGW and MSVC builds are distinguishable from | ||||
|     each other (and other builds) using Windows Explorer. | ||||
| 
 | ||||
| 
 | ||||
| Transmission Zero | ||||
| 2015–07–22 | ||||
| 
 | ||||
| http://www.transmissionzero.co.uk/ | ||||
							
								
								
									
										22
									
								
								thirdparty/freeglut/include/GL/freeglut.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								thirdparty/freeglut/include/GL/freeglut.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | ||||
| #ifndef  __FREEGLUT_H__ | ||||
| #define  __FREEGLUT_H__ | ||||
| 
 | ||||
| /*
 | ||||
|  * freeglut.h | ||||
|  * | ||||
|  * The freeglut library include file | ||||
|  * | ||||
|  * 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 | ||||
|  * PAWEL W. OLSZTA 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. | ||||
|  */ | ||||
| 
 | ||||
| #include "freeglut_std.h" | ||||
| #include "freeglut_ext.h" | ||||
| 
 | ||||
| /*** END OF FILE ***/ | ||||
| 
 | ||||
| #endif /* __FREEGLUT_H__ */ | ||||
							
								
								
									
										271
									
								
								thirdparty/freeglut/include/GL/freeglut_ext.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										271
									
								
								thirdparty/freeglut/include/GL/freeglut_ext.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,271 @@ | ||||
| #ifndef  __FREEGLUT_EXT_H__ | ||||
| #define  __FREEGLUT_EXT_H__ | ||||
| 
 | ||||
| /*
 | ||||
|  * freeglut_ext.h | ||||
|  * | ||||
|  * The non-GLUT-compatible extensions to the freeglut library include file | ||||
|  * | ||||
|  * Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved. | ||||
|  * Written by Pawel W. Olszta, <olszta@sourceforge.net> | ||||
|  * Creation date: Thu Dec 2 1999 | ||||
|  * | ||||
|  * 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 | ||||
|  * PAWEL W. OLSZTA 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. | ||||
|  */ | ||||
| 
 | ||||
| #ifdef __cplusplus | ||||
|     extern "C" { | ||||
| #endif | ||||
| 
 | ||||
| /*
 | ||||
|  * Additional GLUT Key definitions for the Special key function | ||||
|  */ | ||||
| #define GLUT_KEY_NUM_LOCK           0x006D | ||||
| #define GLUT_KEY_BEGIN              0x006E | ||||
| #define GLUT_KEY_DELETE             0x006F | ||||
| #define GLUT_KEY_SHIFT_L            0x0070 | ||||
| #define GLUT_KEY_SHIFT_R            0x0071 | ||||
| #define GLUT_KEY_CTRL_L             0x0072 | ||||
| #define GLUT_KEY_CTRL_R             0x0073 | ||||
| #define GLUT_KEY_ALT_L              0x0074 | ||||
| #define GLUT_KEY_ALT_R              0x0075 | ||||
| 
 | ||||
| /*
 | ||||
|  * GLUT API Extension macro definitions -- behaviour when the user clicks on an "x" to close a window | ||||
|  */ | ||||
| #define GLUT_ACTION_EXIT                         0 | ||||
| #define GLUT_ACTION_GLUTMAINLOOP_RETURNS         1 | ||||
| #define GLUT_ACTION_CONTINUE_EXECUTION           2 | ||||
| 
 | ||||
| /*
 | ||||
|  * Create a new rendering context when the user opens a new window? | ||||
|  */ | ||||
| #define GLUT_CREATE_NEW_CONTEXT                  0 | ||||
| #define GLUT_USE_CURRENT_CONTEXT                 1 | ||||
| 
 | ||||
| /*
 | ||||
|  * Direct/Indirect rendering context options (has meaning only in Unix/X11) | ||||
|  */ | ||||
| #define GLUT_FORCE_INDIRECT_CONTEXT              0 | ||||
| #define GLUT_ALLOW_DIRECT_CONTEXT                1 | ||||
| #define GLUT_TRY_DIRECT_CONTEXT                  2 | ||||
| #define GLUT_FORCE_DIRECT_CONTEXT                3 | ||||
| 
 | ||||
| /*
 | ||||
|  * GLUT API Extension macro definitions -- the glutGet parameters | ||||
|  */ | ||||
| #define  GLUT_INIT_STATE                    0x007C | ||||
| 
 | ||||
| #define  GLUT_ACTION_ON_WINDOW_CLOSE        0x01F9 | ||||
| 
 | ||||
| #define  GLUT_WINDOW_BORDER_WIDTH           0x01FA | ||||
| #define  GLUT_WINDOW_BORDER_HEIGHT          0x01FB | ||||
| #define  GLUT_WINDOW_HEADER_HEIGHT          0x01FB  /* Docs say it should always have been GLUT_WINDOW_BORDER_HEIGHT, keep this for backward compatibility */ | ||||
| 
 | ||||
| #define  GLUT_VERSION                       0x01FC | ||||
| 
 | ||||
| #define  GLUT_RENDERING_CONTEXT             0x01FD | ||||
| #define  GLUT_DIRECT_RENDERING              0x01FE | ||||
| 
 | ||||
| #define  GLUT_FULL_SCREEN                   0x01FF | ||||
| 
 | ||||
| #define  GLUT_SKIP_STALE_MOTION_EVENTS      0x0204 | ||||
| 
 | ||||
| #define  GLUT_GEOMETRY_VISUALIZE_NORMALS    0x0205 | ||||
| 
 | ||||
| #define  GLUT_STROKE_FONT_DRAW_JOIN_DOTS    0x0206  /* Draw dots between line segments of stroke fonts? */ | ||||
| 
 | ||||
| /*
 | ||||
|  * New tokens for glutInitDisplayMode. | ||||
|  * Only one GLUT_AUXn bit may be used at a time. | ||||
|  * Value 0x0400 is defined in OpenGLUT. | ||||
|  */ | ||||
| #define  GLUT_AUX                           0x1000 | ||||
| 
 | ||||
| #define  GLUT_AUX1                          0x1000 | ||||
| #define  GLUT_AUX2                          0x2000 | ||||
| #define  GLUT_AUX3                          0x4000 | ||||
| #define  GLUT_AUX4                          0x8000 | ||||
| 
 | ||||
| /*
 | ||||
|  * Context-related flags, see fg_state.c | ||||
|  * Set the requested OpenGL version | ||||
|  */ | ||||
| #define  GLUT_INIT_MAJOR_VERSION            0x0200 | ||||
| #define  GLUT_INIT_MINOR_VERSION            0x0201 | ||||
| #define  GLUT_INIT_FLAGS                    0x0202 | ||||
| #define  GLUT_INIT_PROFILE                  0x0203 | ||||
| 
 | ||||
| /*
 | ||||
|  * Flags for glutInitContextFlags, see fg_init.c | ||||
|  */ | ||||
| #define  GLUT_DEBUG                         0x0001 | ||||
| #define  GLUT_FORWARD_COMPATIBLE            0x0002 | ||||
| 
 | ||||
| 
 | ||||
| /*
 | ||||
|  * Flags for glutInitContextProfile, see fg_init.c | ||||
|  */ | ||||
| #define GLUT_CORE_PROFILE                   0x0001 | ||||
| #define	GLUT_COMPATIBILITY_PROFILE          0x0002 | ||||
| 
 | ||||
| /*
 | ||||
|  * Process loop function, see fg_main.c | ||||
|  */ | ||||
| FGAPI void    FGAPIENTRY glutMainLoopEvent( void ); | ||||
| FGAPI void    FGAPIENTRY glutLeaveMainLoop( void ); | ||||
| FGAPI void    FGAPIENTRY glutExit         ( void ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Window management functions, see fg_window.c | ||||
|  */ | ||||
| FGAPI void    FGAPIENTRY glutFullScreenToggle( void ); | ||||
| FGAPI void    FGAPIENTRY glutLeaveFullScreen( void ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Menu functions | ||||
|  */ | ||||
| FGAPI void    FGAPIENTRY glutSetMenuFont( int menuID, void* font ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Window-specific callback functions, see fg_callbacks.c | ||||
|  */ | ||||
| FGAPI void    FGAPIENTRY glutMouseWheelFunc( void (* callback)( int, int, int, int ) ); | ||||
| FGAPI void    FGAPIENTRY glutPositionFunc( void (* callback)( int, int ) ); | ||||
| FGAPI void    FGAPIENTRY glutCloseFunc( void (* callback)( void ) ); | ||||
| FGAPI void    FGAPIENTRY glutWMCloseFunc( void (* callback)( void ) ); | ||||
| /* And also a destruction callback for menus */ | ||||
| FGAPI void    FGAPIENTRY glutMenuDestroyFunc( void (* callback)( void ) ); | ||||
| 
 | ||||
| /*
 | ||||
|  * State setting and retrieval functions, see fg_state.c | ||||
|  */ | ||||
| FGAPI void    FGAPIENTRY glutSetOption ( GLenum option_flag, int value ); | ||||
| FGAPI int *   FGAPIENTRY glutGetModeValues(GLenum mode, int * size); | ||||
| /* A.Donev: User-data manipulation */ | ||||
| FGAPI void*   FGAPIENTRY glutGetWindowData( void ); | ||||
| FGAPI void    FGAPIENTRY glutSetWindowData(void* data); | ||||
| FGAPI void*   FGAPIENTRY glutGetMenuData( void ); | ||||
| FGAPI void    FGAPIENTRY glutSetMenuData(void* data); | ||||
| 
 | ||||
| /*
 | ||||
|  * Font stuff, see fg_font.c | ||||
|  */ | ||||
| FGAPI int     FGAPIENTRY glutBitmapHeight( void* font ); | ||||
| FGAPI GLfloat FGAPIENTRY glutStrokeHeight( void* font ); | ||||
| FGAPI void    FGAPIENTRY glutBitmapString( void* font, const unsigned char *string ); | ||||
| FGAPI void    FGAPIENTRY glutStrokeString( void* font, const unsigned char *string ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Geometry functions, see fg_geometry.c | ||||
|  */ | ||||
| FGAPI void    FGAPIENTRY glutWireRhombicDodecahedron( void ); | ||||
| FGAPI void    FGAPIENTRY glutSolidRhombicDodecahedron( void ); | ||||
| FGAPI void    FGAPIENTRY glutWireSierpinskiSponge ( int num_levels, double offset[3], double scale ); | ||||
| FGAPI void    FGAPIENTRY glutSolidSierpinskiSponge ( int num_levels, double offset[3], double scale ); | ||||
| FGAPI void    FGAPIENTRY glutWireCylinder( double radius, double height, GLint slices, GLint stacks); | ||||
| FGAPI void    FGAPIENTRY glutSolidCylinder( double radius, double height, GLint slices, GLint stacks); | ||||
| 
 | ||||
| /*
 | ||||
|  * Rest of functions for rendering Newell's teaset, found in fg_teapot.c | ||||
|  * NB: front facing polygons have clockwise winding, not counter clockwise | ||||
|  */ | ||||
| FGAPI void    FGAPIENTRY glutWireTeacup( double size ); | ||||
| FGAPI void    FGAPIENTRY glutSolidTeacup( double size ); | ||||
| FGAPI void    FGAPIENTRY glutWireTeaspoon( double size ); | ||||
| FGAPI void    FGAPIENTRY glutSolidTeaspoon( double size ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Extension functions, see fg_ext.c | ||||
|  */ | ||||
| typedef void (*GLUTproc)(); | ||||
| FGAPI GLUTproc FGAPIENTRY glutGetProcAddress( const char *procName ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Multi-touch/multi-pointer extensions | ||||
|  */ | ||||
| 
 | ||||
| #define GLUT_HAS_MULTI 1 | ||||
| 
 | ||||
| /* TODO: add device_id parameter,
 | ||||
|    cf. http://sourceforge.net/mailarchive/forum.php?thread_name=20120518071314.GA28061%40perso.beuc.net&forum_name=freeglut-developer */
 | ||||
| FGAPI void FGAPIENTRY glutMultiEntryFunc( void (* callback)( int, int ) ); | ||||
| FGAPI void FGAPIENTRY glutMultiButtonFunc( void (* callback)( int, int, int, int, int ) ); | ||||
| FGAPI void FGAPIENTRY glutMultiMotionFunc( void (* callback)( int, int, int ) ); | ||||
| FGAPI void FGAPIENTRY glutMultiPassiveFunc( void (* callback)( int, int, int ) ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Joystick functions, see fg_joystick.c | ||||
|  */ | ||||
| /* USE OF THESE FUNCTIONS IS DEPRECATED !!!!! */ | ||||
| /* If you have a serious need for these functions in your application, please either
 | ||||
|  * contact the "freeglut" developer community at freeglut-developer@lists.sourceforge.net, | ||||
|  * switch to the OpenGLUT library, or else port your joystick functionality over to PLIB's | ||||
|  * "js" library. | ||||
|  */ | ||||
| int     glutJoystickGetNumAxes( int ident ); | ||||
| int     glutJoystickGetNumButtons( int ident ); | ||||
| int     glutJoystickNotWorking( int ident ); | ||||
| float   glutJoystickGetDeadBand( int ident, int axis ); | ||||
| void    glutJoystickSetDeadBand( int ident, int axis, float db ); | ||||
| float   glutJoystickGetSaturation( int ident, int axis ); | ||||
| void    glutJoystickSetSaturation( int ident, int axis, float st ); | ||||
| void    glutJoystickSetMinRange( int ident, float *axes ); | ||||
| void    glutJoystickSetMaxRange( int ident, float *axes ); | ||||
| void    glutJoystickSetCenter( int ident, float *axes ); | ||||
| void    glutJoystickGetMinRange( int ident, float *axes ); | ||||
| void    glutJoystickGetMaxRange( int ident, float *axes ); | ||||
| void    glutJoystickGetCenter( int ident, float *axes ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Initialization functions, see fg_init.c | ||||
|  */ | ||||
| /* to get the typedef for va_list */ | ||||
| #include <stdarg.h> | ||||
| FGAPI void    FGAPIENTRY glutInitContextVersion( int majorVersion, int minorVersion ); | ||||
| FGAPI void    FGAPIENTRY glutInitContextFlags( int flags ); | ||||
| FGAPI void    FGAPIENTRY glutInitContextProfile( int profile ); | ||||
| FGAPI void    FGAPIENTRY glutInitErrorFunc( void (* callback)( const char *fmt, va_list ap ) ); | ||||
| FGAPI void    FGAPIENTRY glutInitWarningFunc( void (* callback)( const char *fmt, va_list ap ) ); | ||||
| 
 | ||||
| /* OpenGL >= 2.0 support */ | ||||
| FGAPI void    FGAPIENTRY glutSetVertexAttribCoord3(GLint attrib); | ||||
| FGAPI void    FGAPIENTRY glutSetVertexAttribNormal(GLint attrib); | ||||
| FGAPI void    FGAPIENTRY glutSetVertexAttribTexCoord2(GLint attrib); | ||||
| 
 | ||||
| /* Mobile platforms lifecycle */ | ||||
| FGAPI void    FGAPIENTRY glutInitContextFunc(void (* callback)()); | ||||
| FGAPI void    FGAPIENTRY glutAppStatusFunc(void (* callback)(int)); | ||||
| /* state flags that can be passed to callback set by glutAppStatusFunc */ | ||||
| #define GLUT_APPSTATUS_PAUSE                0x0001 | ||||
| #define GLUT_APPSTATUS_RESUME               0x0002 | ||||
| 
 | ||||
| /*
 | ||||
|  * GLUT API macro definitions -- the display mode definitions | ||||
|  */ | ||||
| #define  GLUT_CAPTIONLESS                   0x0400 | ||||
| #define  GLUT_BORDERLESS                    0x0800 | ||||
| #define  GLUT_SRGB                          0x1000 | ||||
| 
 | ||||
| #ifdef __cplusplus | ||||
|     } | ||||
| #endif | ||||
| 
 | ||||
| /*** END OF FILE ***/ | ||||
| 
 | ||||
| #endif /* __FREEGLUT_EXT_H__ */ | ||||
							
								
								
									
										638
									
								
								thirdparty/freeglut/include/GL/freeglut_std.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										638
									
								
								thirdparty/freeglut/include/GL/freeglut_std.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,638 @@ | ||||
| #ifndef  __FREEGLUT_STD_H__ | ||||
| #define  __FREEGLUT_STD_H__ | ||||
| 
 | ||||
| /*
 | ||||
|  * freeglut_std.h | ||||
|  * | ||||
|  * The GLUT-compatible part of the freeglut library include file | ||||
|  * | ||||
|  * Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved. | ||||
|  * Written by Pawel W. Olszta, <olszta@sourceforge.net> | ||||
|  * Creation date: Thu Dec 2 1999 | ||||
|  * | ||||
|  * 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 | ||||
|  * PAWEL W. OLSZTA 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. | ||||
|  */ | ||||
| 
 | ||||
| #ifdef __cplusplus | ||||
|     extern "C" { | ||||
| #endif | ||||
| 
 | ||||
| /*
 | ||||
|  * Under windows, we have to differentiate between static and dynamic libraries | ||||
|  */ | ||||
| #ifdef _WIN32 | ||||
| /* #pragma may not be supported by some compilers.
 | ||||
|  * Discussion by FreeGLUT developers suggests that | ||||
|  * Visual C++ specific code involving pragmas may | ||||
|  * need to move to a separate header.  24th Dec 2003 | ||||
|  */ | ||||
| 
 | ||||
| /* Define FREEGLUT_LIB_PRAGMAS to 1 to include library
 | ||||
|  * pragmas or to 0 to exclude library pragmas. | ||||
|  * The default behavior depends on the compiler/platform. | ||||
|  */ | ||||
| #   ifndef FREEGLUT_LIB_PRAGMAS | ||||
| #       if ( defined(_MSC_VER) || defined(__WATCOMC__) ) && !defined(_WIN32_WCE) | ||||
| #           define FREEGLUT_LIB_PRAGMAS 1 | ||||
| #       else | ||||
| #           define FREEGLUT_LIB_PRAGMAS 0 | ||||
| #       endif | ||||
| #   endif | ||||
| 
 | ||||
| #  ifndef WIN32_LEAN_AND_MEAN | ||||
| #    define WIN32_LEAN_AND_MEAN 1 | ||||
| #  endif | ||||
| #  ifndef NOMINMAX | ||||
| #    define NOMINMAX | ||||
| #  endif | ||||
| #   include <windows.h> | ||||
| 
 | ||||
| /* Windows static library */ | ||||
| #   ifdef FREEGLUT_STATIC | ||||
| 
 | ||||
| #error Static linking is not supported with this build. Please remove the FREEGLUT_STATIC preprocessor directive, or download the source code from http://freeglut.sf.net/ and build against that.
 | ||||
| 
 | ||||
| /* Windows shared library (DLL) */ | ||||
| #   else | ||||
| 
 | ||||
| #       define FGAPIENTRY __stdcall | ||||
| #       if defined(FREEGLUT_EXPORTS) | ||||
| #           define FGAPI __declspec(dllexport) | ||||
| #       else | ||||
| #           define FGAPI __declspec(dllimport) | ||||
| 
 | ||||
|             /* Link with Win32 shared freeglut lib */ | ||||
| #           if FREEGLUT_LIB_PRAGMAS | ||||
| #             pragma comment (lib, "freeglut.lib") | ||||
| #           endif | ||||
| 
 | ||||
| #       endif | ||||
| 
 | ||||
| #   endif | ||||
| 
 | ||||
| /* Drag in other Windows libraries as required by FreeGLUT */ | ||||
| #   if FREEGLUT_LIB_PRAGMAS | ||||
| #       pragma comment (lib, "glu32.lib")    /* link OpenGL Utility lib     */ | ||||
| #       pragma comment (lib, "opengl32.lib") /* link Microsoft OpenGL lib   */ | ||||
| #       pragma comment (lib, "gdi32.lib")    /* link Windows GDI lib        */ | ||||
| #       pragma comment (lib, "winmm.lib")    /* link Windows MultiMedia lib */ | ||||
| #       pragma comment (lib, "user32.lib")   /* link Windows user lib       */ | ||||
| #   endif | ||||
| 
 | ||||
| #else | ||||
| 
 | ||||
| /* Non-Windows definition of FGAPI and FGAPIENTRY  */ | ||||
| #        define FGAPI | ||||
| #        define FGAPIENTRY | ||||
| 
 | ||||
| #endif | ||||
| 
 | ||||
| /*
 | ||||
|  * The freeglut and GLUT API versions | ||||
|  */ | ||||
| #define  FREEGLUT             1 | ||||
| #define  GLUT_API_VERSION     4 | ||||
| #define  GLUT_XLIB_IMPLEMENTATION 13 | ||||
| /* Deprecated:
 | ||||
|    cf. http://sourceforge.net/mailarchive/forum.php?thread_name=CABcAi1hw7cr4xtigckaGXB5X8wddLfMcbA_rZ3NAuwMrX_zmsw%40mail.gmail.com&forum_name=freeglut-developer */
 | ||||
| #define  FREEGLUT_VERSION_2_0 1 | ||||
| 
 | ||||
| /*
 | ||||
|  * Always include OpenGL and GLU headers | ||||
|  */ | ||||
| /* Note: FREEGLUT_GLES is only used to cleanly bootstrap headers
 | ||||
|    inclusion here; use GLES constants directly | ||||
|    (e.g. GL_ES_VERSION_2_0) for all other needs */ | ||||
| #ifdef FREEGLUT_GLES | ||||
| #   include <EGL/egl.h> | ||||
| #   include <GLES/gl.h> | ||||
| #   include <GLES2/gl2.h> | ||||
| #elif __APPLE__ | ||||
| #   include <OpenGL/gl.h> | ||||
| #   include <OpenGL/glu.h> | ||||
| #else | ||||
| #   include <GL/gl.h> | ||||
| #   include <GL/glu.h> | ||||
| #endif | ||||
| 
 | ||||
| /*
 | ||||
|  * GLUT API macro definitions -- the special key codes: | ||||
|  */ | ||||
| #define  GLUT_KEY_F1                        0x0001 | ||||
| #define  GLUT_KEY_F2                        0x0002 | ||||
| #define  GLUT_KEY_F3                        0x0003 | ||||
| #define  GLUT_KEY_F4                        0x0004 | ||||
| #define  GLUT_KEY_F5                        0x0005 | ||||
| #define  GLUT_KEY_F6                        0x0006 | ||||
| #define  GLUT_KEY_F7                        0x0007 | ||||
| #define  GLUT_KEY_F8                        0x0008 | ||||
| #define  GLUT_KEY_F9                        0x0009 | ||||
| #define  GLUT_KEY_F10                       0x000A | ||||
| #define  GLUT_KEY_F11                       0x000B | ||||
| #define  GLUT_KEY_F12                       0x000C | ||||
| #define  GLUT_KEY_LEFT                      0x0064 | ||||
| #define  GLUT_KEY_UP                        0x0065 | ||||
| #define  GLUT_KEY_RIGHT                     0x0066 | ||||
| #define  GLUT_KEY_DOWN                      0x0067 | ||||
| #define  GLUT_KEY_PAGE_UP                   0x0068 | ||||
| #define  GLUT_KEY_PAGE_DOWN                 0x0069 | ||||
| #define  GLUT_KEY_HOME                      0x006A | ||||
| #define  GLUT_KEY_END                       0x006B | ||||
| #define  GLUT_KEY_INSERT                    0x006C | ||||
| 
 | ||||
| /*
 | ||||
|  * GLUT API macro definitions -- mouse state definitions | ||||
|  */ | ||||
| #define  GLUT_LEFT_BUTTON                   0x0000 | ||||
| #define  GLUT_MIDDLE_BUTTON                 0x0001 | ||||
| #define  GLUT_RIGHT_BUTTON                  0x0002 | ||||
| #define  GLUT_DOWN                          0x0000 | ||||
| #define  GLUT_UP                            0x0001 | ||||
| #define  GLUT_LEFT                          0x0000 | ||||
| #define  GLUT_ENTERED                       0x0001 | ||||
| 
 | ||||
| /*
 | ||||
|  * GLUT API macro definitions -- the display mode definitions | ||||
|  */ | ||||
| #define  GLUT_RGB                           0x0000 | ||||
| #define  GLUT_RGBA                          0x0000 | ||||
| #define  GLUT_INDEX                         0x0001 | ||||
| #define  GLUT_SINGLE                        0x0000 | ||||
| #define  GLUT_DOUBLE                        0x0002 | ||||
| #define  GLUT_ACCUM                         0x0004 | ||||
| #define  GLUT_ALPHA                         0x0008 | ||||
| #define  GLUT_DEPTH                         0x0010 | ||||
| #define  GLUT_STENCIL                       0x0020 | ||||
| #define  GLUT_MULTISAMPLE                   0x0080 | ||||
| #define  GLUT_STEREO                        0x0100 | ||||
| #define  GLUT_LUMINANCE                     0x0200 | ||||
| 
 | ||||
| /*
 | ||||
|  * GLUT API macro definitions -- windows and menu related definitions | ||||
|  */ | ||||
| #define  GLUT_MENU_NOT_IN_USE               0x0000 | ||||
| #define  GLUT_MENU_IN_USE                   0x0001 | ||||
| #define  GLUT_NOT_VISIBLE                   0x0000 | ||||
| #define  GLUT_VISIBLE                       0x0001 | ||||
| #define  GLUT_HIDDEN                        0x0000 | ||||
| #define  GLUT_FULLY_RETAINED                0x0001 | ||||
| #define  GLUT_PARTIALLY_RETAINED            0x0002 | ||||
| #define  GLUT_FULLY_COVERED                 0x0003 | ||||
| 
 | ||||
| /*
 | ||||
|  * GLUT API macro definitions -- fonts definitions | ||||
|  * | ||||
|  * Steve Baker suggested to make it binary compatible with GLUT: | ||||
|  */ | ||||
| #if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__WATCOMC__) | ||||
| #   define  GLUT_STROKE_ROMAN               ((void *)0x0000) | ||||
| #   define  GLUT_STROKE_MONO_ROMAN          ((void *)0x0001) | ||||
| #   define  GLUT_BITMAP_9_BY_15             ((void *)0x0002) | ||||
| #   define  GLUT_BITMAP_8_BY_13             ((void *)0x0003) | ||||
| #   define  GLUT_BITMAP_TIMES_ROMAN_10      ((void *)0x0004) | ||||
| #   define  GLUT_BITMAP_TIMES_ROMAN_24      ((void *)0x0005) | ||||
| #   define  GLUT_BITMAP_HELVETICA_10        ((void *)0x0006) | ||||
| #   define  GLUT_BITMAP_HELVETICA_12        ((void *)0x0007) | ||||
| #   define  GLUT_BITMAP_HELVETICA_18        ((void *)0x0008) | ||||
| #else | ||||
|     /*
 | ||||
|      * I don't really know if it's a good idea... But here it goes: | ||||
|      */ | ||||
|     extern void* glutStrokeRoman; | ||||
|     extern void* glutStrokeMonoRoman; | ||||
|     extern void* glutBitmap9By15; | ||||
|     extern void* glutBitmap8By13; | ||||
|     extern void* glutBitmapTimesRoman10; | ||||
|     extern void* glutBitmapTimesRoman24; | ||||
|     extern void* glutBitmapHelvetica10; | ||||
|     extern void* glutBitmapHelvetica12; | ||||
|     extern void* glutBitmapHelvetica18; | ||||
| 
 | ||||
|     /*
 | ||||
|      * Those pointers will be used by following definitions: | ||||
|      */ | ||||
| #   define  GLUT_STROKE_ROMAN               ((void *) &glutStrokeRoman) | ||||
| #   define  GLUT_STROKE_MONO_ROMAN          ((void *) &glutStrokeMonoRoman) | ||||
| #   define  GLUT_BITMAP_9_BY_15             ((void *) &glutBitmap9By15) | ||||
| #   define  GLUT_BITMAP_8_BY_13             ((void *) &glutBitmap8By13) | ||||
| #   define  GLUT_BITMAP_TIMES_ROMAN_10      ((void *) &glutBitmapTimesRoman10) | ||||
| #   define  GLUT_BITMAP_TIMES_ROMAN_24      ((void *) &glutBitmapTimesRoman24) | ||||
| #   define  GLUT_BITMAP_HELVETICA_10        ((void *) &glutBitmapHelvetica10) | ||||
| #   define  GLUT_BITMAP_HELVETICA_12        ((void *) &glutBitmapHelvetica12) | ||||
| #   define  GLUT_BITMAP_HELVETICA_18        ((void *) &glutBitmapHelvetica18) | ||||
| #endif | ||||
| 
 | ||||
| /*
 | ||||
|  * GLUT API macro definitions -- the glutGet parameters | ||||
|  */ | ||||
| #define  GLUT_WINDOW_X                      0x0064 | ||||
| #define  GLUT_WINDOW_Y                      0x0065 | ||||
| #define  GLUT_WINDOW_WIDTH                  0x0066 | ||||
| #define  GLUT_WINDOW_HEIGHT                 0x0067 | ||||
| #define  GLUT_WINDOW_BUFFER_SIZE            0x0068 | ||||
| #define  GLUT_WINDOW_STENCIL_SIZE           0x0069 | ||||
| #define  GLUT_WINDOW_DEPTH_SIZE             0x006A | ||||
| #define  GLUT_WINDOW_RED_SIZE               0x006B | ||||
| #define  GLUT_WINDOW_GREEN_SIZE             0x006C | ||||
| #define  GLUT_WINDOW_BLUE_SIZE              0x006D | ||||
| #define  GLUT_WINDOW_ALPHA_SIZE             0x006E | ||||
| #define  GLUT_WINDOW_ACCUM_RED_SIZE         0x006F | ||||
| #define  GLUT_WINDOW_ACCUM_GREEN_SIZE       0x0070 | ||||
| #define  GLUT_WINDOW_ACCUM_BLUE_SIZE        0x0071 | ||||
| #define  GLUT_WINDOW_ACCUM_ALPHA_SIZE       0x0072 | ||||
| #define  GLUT_WINDOW_DOUBLEBUFFER           0x0073 | ||||
| #define  GLUT_WINDOW_RGBA                   0x0074 | ||||
| #define  GLUT_WINDOW_PARENT                 0x0075 | ||||
| #define  GLUT_WINDOW_NUM_CHILDREN           0x0076 | ||||
| #define  GLUT_WINDOW_COLORMAP_SIZE          0x0077 | ||||
| #define  GLUT_WINDOW_NUM_SAMPLES            0x0078 | ||||
| #define  GLUT_WINDOW_STEREO                 0x0079 | ||||
| #define  GLUT_WINDOW_CURSOR                 0x007A | ||||
| 
 | ||||
| #define  GLUT_SCREEN_WIDTH                  0x00C8 | ||||
| #define  GLUT_SCREEN_HEIGHT                 0x00C9 | ||||
| #define  GLUT_SCREEN_WIDTH_MM               0x00CA | ||||
| #define  GLUT_SCREEN_HEIGHT_MM              0x00CB | ||||
| #define  GLUT_MENU_NUM_ITEMS                0x012C | ||||
| #define  GLUT_DISPLAY_MODE_POSSIBLE         0x0190 | ||||
| #define  GLUT_INIT_WINDOW_X                 0x01F4 | ||||
| #define  GLUT_INIT_WINDOW_Y                 0x01F5 | ||||
| #define  GLUT_INIT_WINDOW_WIDTH             0x01F6 | ||||
| #define  GLUT_INIT_WINDOW_HEIGHT            0x01F7 | ||||
| #define  GLUT_INIT_DISPLAY_MODE             0x01F8 | ||||
| #define  GLUT_ELAPSED_TIME                  0x02BC | ||||
| #define  GLUT_WINDOW_FORMAT_ID              0x007B | ||||
| 
 | ||||
| /*
 | ||||
|  * GLUT API macro definitions -- the glutDeviceGet parameters | ||||
|  */ | ||||
| #define  GLUT_HAS_KEYBOARD                  0x0258 | ||||
| #define  GLUT_HAS_MOUSE                     0x0259 | ||||
| #define  GLUT_HAS_SPACEBALL                 0x025A | ||||
| #define  GLUT_HAS_DIAL_AND_BUTTON_BOX       0x025B | ||||
| #define  GLUT_HAS_TABLET                    0x025C | ||||
| #define  GLUT_NUM_MOUSE_BUTTONS             0x025D | ||||
| #define  GLUT_NUM_SPACEBALL_BUTTONS         0x025E | ||||
| #define  GLUT_NUM_BUTTON_BOX_BUTTONS        0x025F | ||||
| #define  GLUT_NUM_DIALS                     0x0260 | ||||
| #define  GLUT_NUM_TABLET_BUTTONS            0x0261 | ||||
| #define  GLUT_DEVICE_IGNORE_KEY_REPEAT      0x0262 | ||||
| #define  GLUT_DEVICE_KEY_REPEAT             0x0263 | ||||
| #define  GLUT_HAS_JOYSTICK                  0x0264 | ||||
| #define  GLUT_OWNS_JOYSTICK                 0x0265 | ||||
| #define  GLUT_JOYSTICK_BUTTONS              0x0266 | ||||
| #define  GLUT_JOYSTICK_AXES                 0x0267 | ||||
| #define  GLUT_JOYSTICK_POLL_RATE            0x0268 | ||||
| 
 | ||||
| /*
 | ||||
|  * GLUT API macro definitions -- the glutLayerGet parameters | ||||
|  */ | ||||
| #define  GLUT_OVERLAY_POSSIBLE              0x0320 | ||||
| #define  GLUT_LAYER_IN_USE                  0x0321 | ||||
| #define  GLUT_HAS_OVERLAY                   0x0322 | ||||
| #define  GLUT_TRANSPARENT_INDEX             0x0323 | ||||
| #define  GLUT_NORMAL_DAMAGED                0x0324 | ||||
| #define  GLUT_OVERLAY_DAMAGED               0x0325 | ||||
| 
 | ||||
| /*
 | ||||
|  * GLUT API macro definitions -- the glutVideoResizeGet parameters | ||||
|  */ | ||||
| #define  GLUT_VIDEO_RESIZE_POSSIBLE         0x0384 | ||||
| #define  GLUT_VIDEO_RESIZE_IN_USE           0x0385 | ||||
| #define  GLUT_VIDEO_RESIZE_X_DELTA          0x0386 | ||||
| #define  GLUT_VIDEO_RESIZE_Y_DELTA          0x0387 | ||||
| #define  GLUT_VIDEO_RESIZE_WIDTH_DELTA      0x0388 | ||||
| #define  GLUT_VIDEO_RESIZE_HEIGHT_DELTA     0x0389 | ||||
| #define  GLUT_VIDEO_RESIZE_X                0x038A | ||||
| #define  GLUT_VIDEO_RESIZE_Y                0x038B | ||||
| #define  GLUT_VIDEO_RESIZE_WIDTH            0x038C | ||||
| #define  GLUT_VIDEO_RESIZE_HEIGHT           0x038D | ||||
| 
 | ||||
| /*
 | ||||
|  * GLUT API macro definitions -- the glutUseLayer parameters | ||||
|  */ | ||||
| #define  GLUT_NORMAL                        0x0000 | ||||
| #define  GLUT_OVERLAY                       0x0001 | ||||
| 
 | ||||
| /*
 | ||||
|  * GLUT API macro definitions -- the glutGetModifiers parameters | ||||
|  */ | ||||
| #define  GLUT_ACTIVE_SHIFT                  0x0001 | ||||
| #define  GLUT_ACTIVE_CTRL                   0x0002 | ||||
| #define  GLUT_ACTIVE_ALT                    0x0004 | ||||
| 
 | ||||
| /*
 | ||||
|  * GLUT API macro definitions -- the glutSetCursor parameters | ||||
|  */ | ||||
| #define  GLUT_CURSOR_RIGHT_ARROW            0x0000 | ||||
| #define  GLUT_CURSOR_LEFT_ARROW             0x0001 | ||||
| #define  GLUT_CURSOR_INFO                   0x0002 | ||||
| #define  GLUT_CURSOR_DESTROY                0x0003 | ||||
| #define  GLUT_CURSOR_HELP                   0x0004 | ||||
| #define  GLUT_CURSOR_CYCLE                  0x0005 | ||||
| #define  GLUT_CURSOR_SPRAY                  0x0006 | ||||
| #define  GLUT_CURSOR_WAIT                   0x0007 | ||||
| #define  GLUT_CURSOR_TEXT                   0x0008 | ||||
| #define  GLUT_CURSOR_CROSSHAIR              0x0009 | ||||
| #define  GLUT_CURSOR_UP_DOWN                0x000A | ||||
| #define  GLUT_CURSOR_LEFT_RIGHT             0x000B | ||||
| #define  GLUT_CURSOR_TOP_SIDE               0x000C | ||||
| #define  GLUT_CURSOR_BOTTOM_SIDE            0x000D | ||||
| #define  GLUT_CURSOR_LEFT_SIDE              0x000E | ||||
| #define  GLUT_CURSOR_RIGHT_SIDE             0x000F | ||||
| #define  GLUT_CURSOR_TOP_LEFT_CORNER        0x0010 | ||||
| #define  GLUT_CURSOR_TOP_RIGHT_CORNER       0x0011 | ||||
| #define  GLUT_CURSOR_BOTTOM_RIGHT_CORNER    0x0012 | ||||
| #define  GLUT_CURSOR_BOTTOM_LEFT_CORNER     0x0013 | ||||
| #define  GLUT_CURSOR_INHERIT                0x0064 | ||||
| #define  GLUT_CURSOR_NONE                   0x0065 | ||||
| #define  GLUT_CURSOR_FULL_CROSSHAIR         0x0066 | ||||
| 
 | ||||
| /*
 | ||||
|  * GLUT API macro definitions -- RGB color component specification definitions | ||||
|  */ | ||||
| #define  GLUT_RED                           0x0000 | ||||
| #define  GLUT_GREEN                         0x0001 | ||||
| #define  GLUT_BLUE                          0x0002 | ||||
| 
 | ||||
| /*
 | ||||
|  * GLUT API macro definitions -- additional keyboard and joystick definitions | ||||
|  */ | ||||
| #define  GLUT_KEY_REPEAT_OFF                0x0000 | ||||
| #define  GLUT_KEY_REPEAT_ON                 0x0001 | ||||
| #define  GLUT_KEY_REPEAT_DEFAULT            0x0002 | ||||
| 
 | ||||
| #define  GLUT_JOYSTICK_BUTTON_A             0x0001 | ||||
| #define  GLUT_JOYSTICK_BUTTON_B             0x0002 | ||||
| #define  GLUT_JOYSTICK_BUTTON_C             0x0004 | ||||
| #define  GLUT_JOYSTICK_BUTTON_D             0x0008 | ||||
| 
 | ||||
| /*
 | ||||
|  * GLUT API macro definitions -- game mode definitions | ||||
|  */ | ||||
| #define  GLUT_GAME_MODE_ACTIVE              0x0000 | ||||
| #define  GLUT_GAME_MODE_POSSIBLE            0x0001 | ||||
| #define  GLUT_GAME_MODE_WIDTH               0x0002 | ||||
| #define  GLUT_GAME_MODE_HEIGHT              0x0003 | ||||
| #define  GLUT_GAME_MODE_PIXEL_DEPTH         0x0004 | ||||
| #define  GLUT_GAME_MODE_REFRESH_RATE        0x0005 | ||||
| #define  GLUT_GAME_MODE_DISPLAY_CHANGED     0x0006 | ||||
| 
 | ||||
| /*
 | ||||
|  * Initialization functions, see fglut_init.c | ||||
|  */ | ||||
| FGAPI void    FGAPIENTRY glutInit( int* pargc, char** argv ); | ||||
| FGAPI void    FGAPIENTRY glutInitWindowPosition( int x, int y ); | ||||
| FGAPI void    FGAPIENTRY glutInitWindowSize( int width, int height ); | ||||
| FGAPI void    FGAPIENTRY glutInitDisplayMode( unsigned int displayMode ); | ||||
| FGAPI void    FGAPIENTRY glutInitDisplayString( const char* displayMode ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Process loop function, see fg_main.c | ||||
|  */ | ||||
| FGAPI void    FGAPIENTRY glutMainLoop( void ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Window management functions, see fg_window.c | ||||
|  */ | ||||
| FGAPI int     FGAPIENTRY glutCreateWindow( const char* title ); | ||||
| FGAPI int     FGAPIENTRY glutCreateSubWindow( int window, int x, int y, int width, int height ); | ||||
| FGAPI void    FGAPIENTRY glutDestroyWindow( int window ); | ||||
| FGAPI void    FGAPIENTRY glutSetWindow( int window ); | ||||
| FGAPI int     FGAPIENTRY glutGetWindow( void ); | ||||
| FGAPI void    FGAPIENTRY glutSetWindowTitle( const char* title ); | ||||
| FGAPI void    FGAPIENTRY glutSetIconTitle( const char* title ); | ||||
| FGAPI void    FGAPIENTRY glutReshapeWindow( int width, int height ); | ||||
| FGAPI void    FGAPIENTRY glutPositionWindow( int x, int y ); | ||||
| FGAPI void    FGAPIENTRY glutShowWindow( void ); | ||||
| FGAPI void    FGAPIENTRY glutHideWindow( void ); | ||||
| FGAPI void    FGAPIENTRY glutIconifyWindow( void ); | ||||
| FGAPI void    FGAPIENTRY glutPushWindow( void ); | ||||
| FGAPI void    FGAPIENTRY glutPopWindow( void ); | ||||
| FGAPI void    FGAPIENTRY glutFullScreen( void ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Display-related functions, see fg_display.c | ||||
|  */ | ||||
| FGAPI void    FGAPIENTRY glutPostWindowRedisplay( int window ); | ||||
| FGAPI void    FGAPIENTRY glutPostRedisplay( void ); | ||||
| FGAPI void    FGAPIENTRY glutSwapBuffers( void ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Mouse cursor functions, see fg_cursor.c | ||||
|  */ | ||||
| FGAPI void    FGAPIENTRY glutWarpPointer( int x, int y ); | ||||
| FGAPI void    FGAPIENTRY glutSetCursor( int cursor ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Overlay stuff, see fg_overlay.c | ||||
|  */ | ||||
| FGAPI void    FGAPIENTRY glutEstablishOverlay( void ); | ||||
| FGAPI void    FGAPIENTRY glutRemoveOverlay( void ); | ||||
| FGAPI void    FGAPIENTRY glutUseLayer( GLenum layer ); | ||||
| FGAPI void    FGAPIENTRY glutPostOverlayRedisplay( void ); | ||||
| FGAPI void    FGAPIENTRY glutPostWindowOverlayRedisplay( int window ); | ||||
| FGAPI void    FGAPIENTRY glutShowOverlay( void ); | ||||
| FGAPI void    FGAPIENTRY glutHideOverlay( void ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Menu stuff, see fg_menu.c | ||||
|  */ | ||||
| FGAPI int     FGAPIENTRY glutCreateMenu( void (* callback)( int menu ) ); | ||||
| FGAPI void    FGAPIENTRY glutDestroyMenu( int menu ); | ||||
| FGAPI int     FGAPIENTRY glutGetMenu( void ); | ||||
| FGAPI void    FGAPIENTRY glutSetMenu( int menu ); | ||||
| FGAPI void    FGAPIENTRY glutAddMenuEntry( const char* label, int value ); | ||||
| FGAPI void    FGAPIENTRY glutAddSubMenu( const char* label, int subMenu ); | ||||
| FGAPI void    FGAPIENTRY glutChangeToMenuEntry( int item, const char* label, int value ); | ||||
| FGAPI void    FGAPIENTRY glutChangeToSubMenu( int item, const char* label, int value ); | ||||
| FGAPI void    FGAPIENTRY glutRemoveMenuItem( int item ); | ||||
| FGAPI void    FGAPIENTRY glutAttachMenu( int button ); | ||||
| FGAPI void    FGAPIENTRY glutDetachMenu( int button ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Global callback functions, see fg_callbacks.c | ||||
|  */ | ||||
| FGAPI void    FGAPIENTRY glutTimerFunc( unsigned int time, void (* callback)( int ), int value ); | ||||
| FGAPI void    FGAPIENTRY glutIdleFunc( void (* callback)( void ) ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Window-specific callback functions, see fg_callbacks.c | ||||
|  */ | ||||
| FGAPI void    FGAPIENTRY glutKeyboardFunc( void (* callback)( unsigned char, int, int ) ); | ||||
| FGAPI void    FGAPIENTRY glutSpecialFunc( void (* callback)( int, int, int ) ); | ||||
| FGAPI void    FGAPIENTRY glutReshapeFunc( void (* callback)( int, int ) ); | ||||
| FGAPI void    FGAPIENTRY glutVisibilityFunc( void (* callback)( int ) ); | ||||
| FGAPI void    FGAPIENTRY glutDisplayFunc( void (* callback)( void ) ); | ||||
| FGAPI void    FGAPIENTRY glutMouseFunc( void (* callback)( int, int, int, int ) ); | ||||
| FGAPI void    FGAPIENTRY glutMotionFunc( void (* callback)( int, int ) ); | ||||
| FGAPI void    FGAPIENTRY glutPassiveMotionFunc( void (* callback)( int, int ) ); | ||||
| FGAPI void    FGAPIENTRY glutEntryFunc( void (* callback)( int ) ); | ||||
| 
 | ||||
| FGAPI void    FGAPIENTRY glutKeyboardUpFunc( void (* callback)( unsigned char, int, int ) ); | ||||
| FGAPI void    FGAPIENTRY glutSpecialUpFunc( void (* callback)( int, int, int ) ); | ||||
| FGAPI void    FGAPIENTRY glutJoystickFunc( void (* callback)( unsigned int, int, int, int ), int pollInterval ); | ||||
| FGAPI void    FGAPIENTRY glutMenuStateFunc( void (* callback)( int ) ); | ||||
| FGAPI void    FGAPIENTRY glutMenuStatusFunc( void (* callback)( int, int, int ) ); | ||||
| FGAPI void    FGAPIENTRY glutOverlayDisplayFunc( void (* callback)( void ) ); | ||||
| FGAPI void    FGAPIENTRY glutWindowStatusFunc( void (* callback)( int ) ); | ||||
| 
 | ||||
| FGAPI void    FGAPIENTRY glutSpaceballMotionFunc( void (* callback)( int, int, int ) ); | ||||
| FGAPI void    FGAPIENTRY glutSpaceballRotateFunc( void (* callback)( int, int, int ) ); | ||||
| FGAPI void    FGAPIENTRY glutSpaceballButtonFunc( void (* callback)( int, int ) ); | ||||
| FGAPI void    FGAPIENTRY glutButtonBoxFunc( void (* callback)( int, int ) ); | ||||
| FGAPI void    FGAPIENTRY glutDialsFunc( void (* callback)( int, int ) ); | ||||
| FGAPI void    FGAPIENTRY glutTabletMotionFunc( void (* callback)( int, int ) ); | ||||
| FGAPI void    FGAPIENTRY glutTabletButtonFunc( void (* callback)( int, int, int, int ) ); | ||||
| 
 | ||||
| /*
 | ||||
|  * State setting and retrieval functions, see fg_state.c | ||||
|  */ | ||||
| FGAPI int     FGAPIENTRY glutGet( GLenum query ); | ||||
| FGAPI int     FGAPIENTRY glutDeviceGet( GLenum query ); | ||||
| FGAPI int     FGAPIENTRY glutGetModifiers( void ); | ||||
| FGAPI int     FGAPIENTRY glutLayerGet( GLenum query ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Font stuff, see fg_font.c | ||||
|  */ | ||||
| FGAPI void    FGAPIENTRY glutBitmapCharacter( void* font, int character ); | ||||
| FGAPI int     FGAPIENTRY glutBitmapWidth( void* font, int character ); | ||||
| FGAPI void    FGAPIENTRY glutStrokeCharacter( void* font, int character ); | ||||
| FGAPI int     FGAPIENTRY glutStrokeWidth( void* font, int character ); | ||||
| FGAPI GLfloat FGAPIENTRY glutStrokeWidthf( void* font, int character ); /* GLUT 3.8 */ | ||||
| FGAPI int     FGAPIENTRY glutBitmapLength( void* font, const unsigned char* string ); | ||||
| FGAPI int     FGAPIENTRY glutStrokeLength( void* font, const unsigned char* string ); | ||||
| FGAPI GLfloat FGAPIENTRY glutStrokeLengthf( void* font, const unsigned char *string ); /* GLUT 3.8 */ | ||||
| 
 | ||||
| /*
 | ||||
|  * Geometry functions, see fg_geometry.c | ||||
|  */ | ||||
| 
 | ||||
| FGAPI void    FGAPIENTRY glutWireCube( double size ); | ||||
| FGAPI void    FGAPIENTRY glutSolidCube( double size ); | ||||
| FGAPI void    FGAPIENTRY glutWireSphere( double radius, GLint slices, GLint stacks ); | ||||
| FGAPI void    FGAPIENTRY glutSolidSphere( double radius, GLint slices, GLint stacks ); | ||||
| FGAPI void    FGAPIENTRY glutWireCone( double base, double height, GLint slices, GLint stacks ); | ||||
| FGAPI void    FGAPIENTRY glutSolidCone( double base, double height, GLint slices, GLint stacks ); | ||||
| FGAPI void    FGAPIENTRY glutWireTorus( double innerRadius, double outerRadius, GLint sides, GLint rings ); | ||||
| FGAPI void    FGAPIENTRY glutSolidTorus( double innerRadius, double outerRadius, GLint sides, GLint rings ); | ||||
| FGAPI void    FGAPIENTRY glutWireDodecahedron( void ); | ||||
| FGAPI void    FGAPIENTRY glutSolidDodecahedron( void ); | ||||
| FGAPI void    FGAPIENTRY glutWireOctahedron( void ); | ||||
| FGAPI void    FGAPIENTRY glutSolidOctahedron( void ); | ||||
| FGAPI void    FGAPIENTRY glutWireTetrahedron( void ); | ||||
| FGAPI void    FGAPIENTRY glutSolidTetrahedron( void ); | ||||
| FGAPI void    FGAPIENTRY glutWireIcosahedron( void ); | ||||
| FGAPI void    FGAPIENTRY glutSolidIcosahedron( void ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Teapot rendering functions, found in fg_teapot.c | ||||
|  * NB: front facing polygons have clockwise winding, not counter clockwise | ||||
|  */ | ||||
| FGAPI void    FGAPIENTRY glutWireTeapot( double size ); | ||||
| FGAPI void    FGAPIENTRY glutSolidTeapot( double size ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Game mode functions, see fg_gamemode.c | ||||
|  */ | ||||
| FGAPI void    FGAPIENTRY glutGameModeString( const char* string ); | ||||
| FGAPI int     FGAPIENTRY glutEnterGameMode( void ); | ||||
| FGAPI void    FGAPIENTRY glutLeaveGameMode( void ); | ||||
| FGAPI int     FGAPIENTRY glutGameModeGet( GLenum query ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Video resize functions, see fg_videoresize.c | ||||
|  */ | ||||
| FGAPI int     FGAPIENTRY glutVideoResizeGet( GLenum query ); | ||||
| FGAPI void    FGAPIENTRY glutSetupVideoResizing( void ); | ||||
| FGAPI void    FGAPIENTRY glutStopVideoResizing( void ); | ||||
| FGAPI void    FGAPIENTRY glutVideoResize( int x, int y, int width, int height ); | ||||
| FGAPI void    FGAPIENTRY glutVideoPan( int x, int y, int width, int height ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Colormap functions, see fg_misc.c | ||||
|  */ | ||||
| FGAPI void    FGAPIENTRY glutSetColor( int color, GLfloat red, GLfloat green, GLfloat blue ); | ||||
| FGAPI GLfloat FGAPIENTRY glutGetColor( int color, int component ); | ||||
| FGAPI void    FGAPIENTRY glutCopyColormap( int window ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Misc keyboard and joystick functions, see fg_misc.c | ||||
|  */ | ||||
| FGAPI void    FGAPIENTRY glutIgnoreKeyRepeat( int ignore ); | ||||
| FGAPI void    FGAPIENTRY glutSetKeyRepeat( int repeatMode ); | ||||
| FGAPI void    FGAPIENTRY glutForceJoystickFunc( void ); | ||||
| 
 | ||||
| /*
 | ||||
|  * Misc functions, see fg_misc.c | ||||
|  */ | ||||
| FGAPI int     FGAPIENTRY glutExtensionSupported( const char* extension ); | ||||
| FGAPI void    FGAPIENTRY glutReportErrors( void ); | ||||
| 
 | ||||
| /* Comment from glut.h of classic GLUT:
 | ||||
| 
 | ||||
|    Win32 has an annoying issue where there are multiple C run-time | ||||
|    libraries (CRTs).  If the executable is linked with a different CRT | ||||
|    from the GLUT DLL, the GLUT DLL will not share the same CRT static | ||||
|    data seen by the executable.  In particular, atexit callbacks registered | ||||
|    in the executable will not be called if GLUT calls its (different) | ||||
|    exit routine).  GLUT is typically built with the | ||||
|    "/MD" option (the CRT with multithreading DLL support), but the Visual | ||||
|    C++ linker default is "/ML" (the single threaded CRT). | ||||
| 
 | ||||
|    One workaround to this issue is requiring users to always link with | ||||
|    the same CRT as GLUT is compiled with.  That requires users supply a | ||||
|    non-standard option.  GLUT 3.7 has its own built-in workaround where | ||||
|    the executable's "exit" function pointer is covertly passed to GLUT. | ||||
|    GLUT then calls the executable's exit function pointer to ensure that | ||||
|    any "atexit" calls registered by the application are called if GLUT | ||||
|    needs to exit. | ||||
| 
 | ||||
|    Note that the __glut*WithExit routines should NEVER be called directly. | ||||
|    To avoid the atexit workaround, #define GLUT_DISABLE_ATEXIT_HACK. */ | ||||
| 
 | ||||
| /* to get the prototype for exit() */ | ||||
| #include <stdlib.h> | ||||
| 
 | ||||
| #if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK) && !defined(__WATCOMC__) | ||||
| FGAPI void FGAPIENTRY __glutInitWithExit(int *argcp, char **argv, void (__cdecl *exitfunc)(int)); | ||||
| FGAPI int FGAPIENTRY __glutCreateWindowWithExit(const char *title, void (__cdecl *exitfunc)(int)); | ||||
| FGAPI int FGAPIENTRY __glutCreateMenuWithExit(void (* func)(int), void (__cdecl *exitfunc)(int)); | ||||
| #ifndef FREEGLUT_BUILDING_LIB | ||||
| #if defined(__GNUC__) | ||||
| #define FGUNUSED __attribute__((unused)) | ||||
| #else | ||||
| #define FGUNUSED | ||||
| #endif | ||||
| static void FGAPIENTRY FGUNUSED glutInit_ATEXIT_HACK(int *argcp, char **argv) { __glutInitWithExit(argcp, argv, exit); } | ||||
| #define glutInit glutInit_ATEXIT_HACK | ||||
| static int FGAPIENTRY FGUNUSED glutCreateWindow_ATEXIT_HACK(const char *title) { return __glutCreateWindowWithExit(title, exit); } | ||||
| #define glutCreateWindow glutCreateWindow_ATEXIT_HACK | ||||
| static int FGAPIENTRY FGUNUSED glutCreateMenu_ATEXIT_HACK(void (* func)(int)) { return __glutCreateMenuWithExit(func, exit); } | ||||
| #define glutCreateMenu glutCreateMenu_ATEXIT_HACK | ||||
| #endif | ||||
| #endif | ||||
| 
 | ||||
| #ifdef __cplusplus | ||||
|     } | ||||
| #endif | ||||
| 
 | ||||
| /*** END OF FILE ***/ | ||||
| 
 | ||||
| #endif /* __FREEGLUT_STD_H__ */ | ||||
							
								
								
									
										21
									
								
								thirdparty/freeglut/include/GL/glut.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								thirdparty/freeglut/include/GL/glut.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | ||||
| #ifndef  __GLUT_H__ | ||||
| #define  __GLUT_H__ | ||||
| 
 | ||||
| /*
 | ||||
|  * glut.h | ||||
|  * | ||||
|  * The freeglut library include file | ||||
|  * | ||||
|  * 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 | ||||
|  * PAWEL W. OLSZTA 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. | ||||
|  */ | ||||
| 
 | ||||
| #include "freeglut_std.h" | ||||
| 
 | ||||
| /*** END OF FILE ***/ | ||||
| 
 | ||||
| #endif /* __GLUT_H__ */ | ||||
							
								
								
									
										
											BIN
										
									
								
								thirdparty/freeglut/lib/freeglut.lib
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								thirdparty/freeglut/lib/freeglut.lib
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user