aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/irrlicht-1.8/examples/24.CursorControl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl.cbp56
-rw-r--r--libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl.vcproj132
-rw-r--r--libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc10.vcxproj184
-rw-r--r--libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc11.vcxproj188
-rw-r--r--libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc8.vcproj190
-rw-r--r--libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc9.vcproj185
-rw-r--r--libraries/irrlicht-1.8/examples/24.CursorControl/Makefile66
-rw-r--r--libraries/irrlicht-1.8/examples/24.CursorControl/main.cpp563
8 files changed, 1564 insertions, 0 deletions
diff --git a/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl.cbp b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl.cbp
new file mode 100644
index 0000000..6d1b92a
--- /dev/null
+++ b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl.cbp
@@ -0,0 +1,56 @@
1<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
2<CodeBlocks_project_file>
3 <FileVersion major="1" minor="6" />
4 <Project>
5 <Option title="Irrlicht Example 24 Cursor Control" />
6 <Option pch_mode="0" />
7 <Option compiler="gcc" />
8 <Build>
9 <Target title="Linux">
10 <Option platforms="Unix;" />
11 <Option output="..\..\bin\Linux\CursorControl" prefix_auto="0" extension_auto="0" />
12 <Option type="1" />
13 <Option compiler="gcc" />
14 <Compiler>
15 <Add option="-g" />
16 <Add option="-D_IRR_STATIC_LIB_" />
17 </Compiler>
18 <Linker>
19 <Add library="Xxf86vm" />
20 <Add library="Xcursor" />
21 <Add library="GL" />
22 <Add directory="..\..\lib\Linux" />
23 </Linker>
24 </Target>
25 <Target title="Windows">
26 <Option platforms="Windows;" />
27 <Option output="..\..\bin\Win32-gcc\CursorControl" prefix_auto="0" extension_auto="1" />
28 <Option type="1" />
29 <Option compiler="gcc" />
30 <Option projectResourceIncludeDirsRelation="1" />
31 <Compiler>
32 <Add option="-g" />
33 </Compiler>
34 <Linker>
35 <Add directory="..\..\lib\Win32-gcc" />
36 </Linker>
37 </Target>
38 </Build>
39 <VirtualTargets>
40 <Add alias="All" targets="Windows;Linux;" />
41 </VirtualTargets>
42 <Compiler>
43 <Add option="-g" />
44 <Add directory="..\..\include" />
45 </Compiler>
46 <Linker>
47 <Add library="Irrlicht" />
48 </Linker>
49 <Unit filename="main.cpp" />
50 <Extensions>
51 <code_completion />
52 <debugger />
53 <envvars />
54 </Extensions>
55 </Project>
56</CodeBlocks_project_file>
diff --git a/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl.vcproj b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl.vcproj
new file mode 100644
index 0000000..1bc2f53
--- /dev/null
+++ b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl.vcproj
@@ -0,0 +1,132 @@
1<?xml version="1.0" encoding="Windows-1252"?>
2<VisualStudioProject
3 ProjectType="Visual C++"
4 Version="7.10"
5 Name="24.CursorControl"
6 ProjectGUID="{02B67A37-50E1-49db-BECF-905BC029C2FE}"
7 Keyword="Win32Proj">
8 <Platforms>
9 <Platform
10 Name="Win32"/>
11 </Platforms>
12 <Configurations>
13 <Configuration
14 Name="Debug|Win32"
15 OutputDirectory="Debug"
16 IntermediateDirectory="Debug"
17 ConfigurationType="1"
18 CharacterSet="2">
19 <Tool
20 Name="VCCLCompilerTool"
21 Optimization="0"
22 AdditionalIncludeDirectories="..\..\include"
23 PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
24 MinimalRebuild="TRUE"
25 BasicRuntimeChecks="3"
26 RuntimeLibrary="5"
27 UsePrecompiledHeader="0"
28 WarningLevel="3"
29 Detect64BitPortabilityProblems="TRUE"
30 DebugInformationFormat="4"/>
31 <Tool
32 Name="VCCustomBuildTool"/>
33 <Tool
34 Name="VCLinkerTool"
35 OutputFile="..\..\bin\Win32-VisualStudio\24.CursorControl.exe"
36 LinkIncremental="1"
37 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
38 GenerateDebugInformation="TRUE"
39 ProgramDatabaseFile="$(OutDir)/CursorControl.pdb"
40 SubSystem="1"
41 TargetMachine="1"/>
42 <Tool
43 Name="VCMIDLTool"/>
44 <Tool
45 Name="VCPostBuildEventTool"/>
46 <Tool
47 Name="VCPreBuildEventTool"/>
48 <Tool
49 Name="VCPreLinkEventTool"/>
50 <Tool
51 Name="VCResourceCompilerTool"/>
52 <Tool
53 Name="VCWebServiceProxyGeneratorTool"/>
54 <Tool
55 Name="VCXMLDataGeneratorTool"/>
56 <Tool
57 Name="VCWebDeploymentTool"/>
58 <Tool
59 Name="VCManagedWrapperGeneratorTool"/>
60 <Tool
61 Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
62 </Configuration>
63 <Configuration
64 Name="Release|Win32"
65 OutputDirectory="Release"
66 IntermediateDirectory="Release"
67 ConfigurationType="1"
68 CharacterSet="2"
69 WholeProgramOptimization="TRUE">
70 <Tool
71 Name="VCCLCompilerTool"
72 AdditionalOptions="/QIfist /Oa"
73 Optimization="3"
74 GlobalOptimizations="TRUE"
75 InlineFunctionExpansion="2"
76 EnableIntrinsicFunctions="TRUE"
77 FavorSizeOrSpeed="1"
78 OmitFramePointers="TRUE"
79 AdditionalIncludeDirectories="..\..\include"
80 PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
81 RuntimeLibrary="4"
82 BufferSecurityCheck="FALSE"
83 UsePrecompiledHeader="0"
84 WarningLevel="3"
85 Detect64BitPortabilityProblems="TRUE"
86 DebugInformationFormat="0"
87 CallingConvention="1"/>
88 <Tool
89 Name="VCCustomBuildTool"/>
90 <Tool
91 Name="VCLinkerTool"
92 OutputFile="..\..\bin\Win32-VisualStudio\24.CursorControl.exe"
93 LinkIncremental="1"
94 SuppressStartupBanner="TRUE"
95 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
96 GenerateDebugInformation="FALSE"
97 SubSystem="1"
98 OptimizeReferences="2"
99 EnableCOMDATFolding="2"
100 TargetMachine="1"/>
101 <Tool
102 Name="VCMIDLTool"/>
103 <Tool
104 Name="VCPostBuildEventTool"/>
105 <Tool
106 Name="VCPreBuildEventTool"/>
107 <Tool
108 Name="VCPreLinkEventTool"/>
109 <Tool
110 Name="VCResourceCompilerTool"/>
111 <Tool
112 Name="VCWebServiceProxyGeneratorTool"/>
113 <Tool
114 Name="VCXMLDataGeneratorTool"/>
115 <Tool
116 Name="VCWebDeploymentTool"/>
117 <Tool
118 Name="VCManagedWrapperGeneratorTool"/>
119 <Tool
120 Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
121 </Configuration>
122 </Configurations>
123 <References>
124 </References>
125 <Files>
126 <File
127 RelativePath=".\main.cpp">
128 </File>
129 </Files>
130 <Globals>
131 </Globals>
132</VisualStudioProject>
diff --git a/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc10.vcxproj b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc10.vcxproj
new file mode 100644
index 0000000..9912eda
--- /dev/null
+++ b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc10.vcxproj
@@ -0,0 +1,184 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup Label="ProjectConfigurations">
4 <ProjectConfiguration Include="Debug|Win32">
5 <Configuration>Debug</Configuration>
6 <Platform>Win32</Platform>
7 </ProjectConfiguration>
8 <ProjectConfiguration Include="Debug|x64">
9 <Configuration>Debug</Configuration>
10 <Platform>x64</Platform>
11 </ProjectConfiguration>
12 <ProjectConfiguration Include="Release|Win32">
13 <Configuration>Release</Configuration>
14 <Platform>Win32</Platform>
15 </ProjectConfiguration>
16 <ProjectConfiguration Include="Release|x64">
17 <Configuration>Release</Configuration>
18 <Platform>x64</Platform>
19 </ProjectConfiguration>
20 </ItemGroup>
21 <PropertyGroup Label="Globals">
22 <ProjectName>24.CursorControl</ProjectName>
23 <ProjectGuid>{02B67A37-50E1-49DB-BECF-905BC029C2FE}</ProjectGuid>
24 <RootNamespace>24.CursorControl</RootNamespace>
25 <Keyword>Win32Proj</Keyword>
26 </PropertyGroup>
27 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
28 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
29 <ConfigurationType>Application</ConfigurationType>
30 <CharacterSet>MultiByte</CharacterSet>
31 </PropertyGroup>
32 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
33 <ConfigurationType>Application</ConfigurationType>
34 <CharacterSet>MultiByte</CharacterSet>
35 </PropertyGroup>
36 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
37 <ConfigurationType>Application</ConfigurationType>
38 <CharacterSet>MultiByte</CharacterSet>
39 </PropertyGroup>
40 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
41 <ConfigurationType>Application</ConfigurationType>
42 <CharacterSet>MultiByte</CharacterSet>
43 </PropertyGroup>
44 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
45 <ImportGroup Label="ExtensionSettings">
46 </ImportGroup>
47 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
48 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
49 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
50 </ImportGroup>
51 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
52 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
53 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
54 </ImportGroup>
55 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
56 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
57 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
58 </ImportGroup>
59 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
60 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
61 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
62 </ImportGroup>
63 <PropertyGroup Label="UserMacros" />
64 <PropertyGroup>
65 <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
66 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
67 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
68 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
69 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
70 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
71 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
72 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
73 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
74 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
75 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
76 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
77 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
78 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
79 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
80 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
81 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
82 </PropertyGroup>
83 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
84 <ClCompile>
85 <Optimization>Disabled</Optimization>
86 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
87 <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
88 <MinimalRebuild>true</MinimalRebuild>
89 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
90 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
91 <PrecompiledHeader>
92 </PrecompiledHeader>
93 <WarningLevel>Level3</WarningLevel>
94 <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
95 </ClCompile>
96 <Link>
97 <OutputFile>..\..\bin\Win32-VisualStudio\24.CursorControl.exe</OutputFile>
98 <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
99 <GenerateDebugInformation>true</GenerateDebugInformation>
100 <ProgramDatabaseFile>$(OutDir)CursorControl.pdb</ProgramDatabaseFile>
101 <SubSystem>Console</SubSystem>
102 <DataExecutionPrevention>
103 </DataExecutionPrevention>
104 </Link>
105 </ItemDefinitionGroup>
106 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
107 <ClCompile>
108 <Optimization>Disabled</Optimization>
109 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
110 <PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
111 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
112 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
113 <PrecompiledHeader>
114 </PrecompiledHeader>
115 <WarningLevel>Level3</WarningLevel>
116 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
117 </ClCompile>
118 <Link>
119 <OutputFile>..\..\bin\Win64-VisualStudio\24.CursorControl.exe</OutputFile>
120 <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
121 <GenerateDebugInformation>true</GenerateDebugInformation>
122 <ProgramDatabaseFile>$(OutDir)CursorControl.pdb</ProgramDatabaseFile>
123 <SubSystem>Console</SubSystem>
124 <DataExecutionPrevention>
125 </DataExecutionPrevention>
126 </Link>
127 </ItemDefinitionGroup>
128 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
129 <ClCompile>
130 <IntrinsicFunctions>true</IntrinsicFunctions>
131 <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
132 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
133 <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
134 <ExceptionHandling>Sync</ExceptionHandling>
135 <PrecompiledHeader>
136 </PrecompiledHeader>
137 <WarningLevel>Level3</WarningLevel>
138 <DebugInformationFormat>
139 </DebugInformationFormat>
140 <CallingConvention>Cdecl</CallingConvention>
141 </ClCompile>
142 <Link>
143 <OutputFile>..\..\bin\Win32-VisualStudio\24.CursorControl.exe</OutputFile>
144 <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
145 <GenerateDebugInformation>false</GenerateDebugInformation>
146 <SubSystem>Console</SubSystem>
147 <OptimizeReferences>true</OptimizeReferences>
148 <EnableCOMDATFolding>true</EnableCOMDATFolding>
149 <DataExecutionPrevention>
150 </DataExecutionPrevention>
151 </Link>
152 </ItemDefinitionGroup>
153 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
154 <ClCompile>
155 <IntrinsicFunctions>true</IntrinsicFunctions>
156 <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
157 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
158 <PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
159 <ExceptionHandling>Sync</ExceptionHandling>
160 <PrecompiledHeader>
161 </PrecompiledHeader>
162 <WarningLevel>Level3</WarningLevel>
163 <DebugInformationFormat>
164 </DebugInformationFormat>
165 <CallingConvention>Cdecl</CallingConvention>
166 </ClCompile>
167 <Link>
168 <OutputFile>..\..\bin\Win64-VisualStudio\24.CursorControl.exe</OutputFile>
169 <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
170 <GenerateDebugInformation>false</GenerateDebugInformation>
171 <SubSystem>Console</SubSystem>
172 <OptimizeReferences>true</OptimizeReferences>
173 <EnableCOMDATFolding>true</EnableCOMDATFolding>
174 <DataExecutionPrevention>
175 </DataExecutionPrevention>
176 </Link>
177 </ItemDefinitionGroup>
178 <ItemGroup>
179 <ClCompile Include="main.cpp" />
180 </ItemGroup>
181 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
182 <ImportGroup Label="ExtensionTargets">
183 </ImportGroup>
184</Project> \ No newline at end of file
diff --git a/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc11.vcxproj b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc11.vcxproj
new file mode 100644
index 0000000..362f064
--- /dev/null
+++ b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc11.vcxproj
@@ -0,0 +1,188 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup Label="ProjectConfigurations">
4 <ProjectConfiguration Include="Debug|Win32">
5 <Configuration>Debug</Configuration>
6 <Platform>Win32</Platform>
7 </ProjectConfiguration>
8 <ProjectConfiguration Include="Debug|x64">
9 <Configuration>Debug</Configuration>
10 <Platform>x64</Platform>
11 </ProjectConfiguration>
12 <ProjectConfiguration Include="Release|Win32">
13 <Configuration>Release</Configuration>
14 <Platform>Win32</Platform>
15 </ProjectConfiguration>
16 <ProjectConfiguration Include="Release|x64">
17 <Configuration>Release</Configuration>
18 <Platform>x64</Platform>
19 </ProjectConfiguration>
20 </ItemGroup>
21 <PropertyGroup Label="Globals">
22 <ProjectName>24.CursorControl</ProjectName>
23 <ProjectGuid>{02B67A37-50E1-49DB-BECF-905BC029C2FE}</ProjectGuid>
24 <RootNamespace>24.CursorControl</RootNamespace>
25 <Keyword>Win32Proj</Keyword>
26 </PropertyGroup>
27 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
28 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
29 <ConfigurationType>Application</ConfigurationType>
30 <CharacterSet>MultiByte</CharacterSet>
31 <PlatformToolset>v110</PlatformToolset>
32 </PropertyGroup>
33 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
34 <ConfigurationType>Application</ConfigurationType>
35 <CharacterSet>MultiByte</CharacterSet>
36 <PlatformToolset>v110</PlatformToolset>
37 </PropertyGroup>
38 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
39 <ConfigurationType>Application</ConfigurationType>
40 <CharacterSet>MultiByte</CharacterSet>
41 <PlatformToolset>v110</PlatformToolset>
42 </PropertyGroup>
43 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
44 <ConfigurationType>Application</ConfigurationType>
45 <CharacterSet>MultiByte</CharacterSet>
46 <PlatformToolset>v110</PlatformToolset>
47 </PropertyGroup>
48 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
49 <ImportGroup Label="ExtensionSettings">
50 </ImportGroup>
51 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
52 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
53 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
54 </ImportGroup>
55 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
56 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
57 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
58 </ImportGroup>
59 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
60 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
61 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
62 </ImportGroup>
63 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
64 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
65 <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
66 </ImportGroup>
67 <PropertyGroup Label="UserMacros" />
68 <PropertyGroup>
69 <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
70 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
71 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
72 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
73 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
74 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
75 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
76 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
77 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
78 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
79 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
80 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
81 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
82 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
83 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
84 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
85 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
86 </PropertyGroup>
87 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
88 <ClCompile>
89 <Optimization>Disabled</Optimization>
90 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
91 <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
92 <MinimalRebuild>true</MinimalRebuild>
93 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
94 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
95 <PrecompiledHeader>
96 </PrecompiledHeader>
97 <WarningLevel>Level3</WarningLevel>
98 <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
99 </ClCompile>
100 <Link>
101 <OutputFile>..\..\bin\Win32-VisualStudio\24.CursorControl.exe</OutputFile>
102 <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
103 <GenerateDebugInformation>true</GenerateDebugInformation>
104 <ProgramDatabaseFile>$(OutDir)CursorControl.pdb</ProgramDatabaseFile>
105 <SubSystem>Console</SubSystem>
106 <DataExecutionPrevention>
107 </DataExecutionPrevention>
108 </Link>
109 </ItemDefinitionGroup>
110 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
111 <ClCompile>
112 <Optimization>Disabled</Optimization>
113 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
114 <PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
115 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
116 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
117 <PrecompiledHeader>
118 </PrecompiledHeader>
119 <WarningLevel>Level3</WarningLevel>
120 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
121 </ClCompile>
122 <Link>
123 <OutputFile>..\..\bin\Win64-VisualStudio\24.CursorControl.exe</OutputFile>
124 <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
125 <GenerateDebugInformation>true</GenerateDebugInformation>
126 <ProgramDatabaseFile>$(OutDir)CursorControl.pdb</ProgramDatabaseFile>
127 <SubSystem>Console</SubSystem>
128 <DataExecutionPrevention>
129 </DataExecutionPrevention>
130 </Link>
131 </ItemDefinitionGroup>
132 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
133 <ClCompile>
134 <IntrinsicFunctions>true</IntrinsicFunctions>
135 <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
136 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
137 <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
138 <ExceptionHandling>Sync</ExceptionHandling>
139 <PrecompiledHeader>
140 </PrecompiledHeader>
141 <WarningLevel>Level3</WarningLevel>
142 <DebugInformationFormat>
143 </DebugInformationFormat>
144 <CallingConvention>Cdecl</CallingConvention>
145 </ClCompile>
146 <Link>
147 <OutputFile>..\..\bin\Win32-VisualStudio\24.CursorControl.exe</OutputFile>
148 <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
149 <GenerateDebugInformation>false</GenerateDebugInformation>
150 <SubSystem>Console</SubSystem>
151 <OptimizeReferences>true</OptimizeReferences>
152 <EnableCOMDATFolding>true</EnableCOMDATFolding>
153 <DataExecutionPrevention>
154 </DataExecutionPrevention>
155 </Link>
156 </ItemDefinitionGroup>
157 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
158 <ClCompile>
159 <IntrinsicFunctions>true</IntrinsicFunctions>
160 <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
161 <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
162 <PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
163 <ExceptionHandling>Sync</ExceptionHandling>
164 <PrecompiledHeader>
165 </PrecompiledHeader>
166 <WarningLevel>Level3</WarningLevel>
167 <DebugInformationFormat>
168 </DebugInformationFormat>
169 <CallingConvention>Cdecl</CallingConvention>
170 </ClCompile>
171 <Link>
172 <OutputFile>..\..\bin\Win64-VisualStudio\24.CursorControl.exe</OutputFile>
173 <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
174 <GenerateDebugInformation>false</GenerateDebugInformation>
175 <SubSystem>Console</SubSystem>
176 <OptimizeReferences>true</OptimizeReferences>
177 <EnableCOMDATFolding>true</EnableCOMDATFolding>
178 <DataExecutionPrevention>
179 </DataExecutionPrevention>
180 </Link>
181 </ItemDefinitionGroup>
182 <ItemGroup>
183 <ClCompile Include="main.cpp" />
184 </ItemGroup>
185 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
186 <ImportGroup Label="ExtensionTargets">
187 </ImportGroup>
188</Project> \ No newline at end of file
diff --git a/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc8.vcproj b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc8.vcproj
new file mode 100644
index 0000000..6148942
--- /dev/null
+++ b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc8.vcproj
@@ -0,0 +1,190 @@
1<?xml version="1.0" encoding="Windows-1252"?>
2<VisualStudioProject
3 ProjectType="Visual C++"
4 Version="8,00"
5 Name="24.CursorControl_vc8"
6 ProjectGUID="{02B67A37-50E1-49DB-BECF-905BC029C2FE}"
7 Keyword="Win32Proj"
8 >
9 <Platforms>
10 <Platform
11 Name="Win32"
12 />
13 </Platforms>
14 <ToolFiles>
15 </ToolFiles>
16 <Configurations>
17 <Configuration
18 Name="Debug|Win32"
19 OutputDirectory="Debug"
20 IntermediateDirectory="Debug"
21 ConfigurationType="1"
22 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
23 CharacterSet="2"
24 >
25 <Tool
26 Name="VCPreBuildEventTool"
27 />
28 <Tool
29 Name="VCCustomBuildTool"
30 />
31 <Tool
32 Name="VCXMLDataGeneratorTool"
33 />
34 <Tool
35 Name="VCWebServiceProxyGeneratorTool"
36 />
37 <Tool
38 Name="VCMIDLTool"
39 />
40 <Tool
41 Name="VCCLCompilerTool"
42 Optimization="0"
43 AdditionalIncludeDirectories="..\..\include"
44 PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
45 MinimalRebuild="true"
46 BasicRuntimeChecks="3"
47 RuntimeLibrary="1"
48 UsePrecompiledHeader="0"
49 WarningLevel="3"
50 Detect64BitPortabilityProblems="true"
51 DebugInformationFormat="4"
52 />
53 <Tool
54 Name="VCManagedResourceCompilerTool"
55 />
56 <Tool
57 Name="VCResourceCompilerTool"
58 />
59 <Tool
60 Name="VCPreLinkEventTool"
61 />
62 <Tool
63 Name="VCLinkerTool"
64 OutputFile="..\..\bin\Win32-VisualStudio\24.CursorControl.exe"
65 LinkIncremental="2"
66 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
67 GenerateDebugInformation="true"
68 ProgramDatabaseFile="$(OutDir)/CursorControl.pdb"
69 SubSystem="1"
70 TargetMachine="1"
71 />
72 <Tool
73 Name="VCALinkTool"
74 />
75 <Tool
76 Name="VCManifestTool"
77 />
78 <Tool
79 Name="VCXDCMakeTool"
80 />
81 <Tool
82 Name="VCBscMakeTool"
83 />
84 <Tool
85 Name="VCFxCopTool"
86 />
87 <Tool
88 Name="VCAppVerifierTool"
89 />
90 <Tool
91 Name="VCWebDeploymentTool"
92 />
93 <Tool
94 Name="VCPostBuildEventTool"
95 />
96 </Configuration>
97 <Configuration
98 Name="Release|Win32"
99 OutputDirectory="Release"
100 IntermediateDirectory="Release"
101 ConfigurationType="1"
102 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
103 CharacterSet="2"
104 >
105 <Tool
106 Name="VCPreBuildEventTool"
107 />
108 <Tool
109 Name="VCCustomBuildTool"
110 />
111 <Tool
112 Name="VCXMLDataGeneratorTool"
113 />
114 <Tool
115 Name="VCWebServiceProxyGeneratorTool"
116 />
117 <Tool
118 Name="VCMIDLTool"
119 />
120 <Tool
121 Name="VCCLCompilerTool"
122 EnableIntrinsicFunctions="true"
123 FavorSizeOrSpeed="1"
124 AdditionalIncludeDirectories="..\..\include"
125 PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
126 RuntimeLibrary="0"
127 BufferSecurityCheck="false"
128 UsePrecompiledHeader="0"
129 WarningLevel="3"
130 Detect64BitPortabilityProblems="true"
131 DebugInformationFormat="0"
132 CallingConvention="1"
133 />
134 <Tool
135 Name="VCManagedResourceCompilerTool"
136 />
137 <Tool
138 Name="VCResourceCompilerTool"
139 />
140 <Tool
141 Name="VCPreLinkEventTool"
142 />
143 <Tool
144 Name="VCLinkerTool"
145 OutputFile="..\..\bin\Win32-VisualStudio\24.CursorControl.exe"
146 LinkIncremental="1"
147 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
148 GenerateDebugInformation="false"
149 SubSystem="1"
150 OptimizeReferences="2"
151 EnableCOMDATFolding="2"
152 TargetMachine="1"
153 />
154 <Tool
155 Name="VCALinkTool"
156 />
157 <Tool
158 Name="VCManifestTool"
159 />
160 <Tool
161 Name="VCXDCMakeTool"
162 />
163 <Tool
164 Name="VCBscMakeTool"
165 />
166 <Tool
167 Name="VCFxCopTool"
168 />
169 <Tool
170 Name="VCAppVerifierTool"
171 />
172 <Tool
173 Name="VCWebDeploymentTool"
174 />
175 <Tool
176 Name="VCPostBuildEventTool"
177 />
178 </Configuration>
179 </Configurations>
180 <References>
181 </References>
182 <Files>
183 <File
184 RelativePath=".\main.cpp"
185 >
186 </File>
187 </Files>
188 <Globals>
189 </Globals>
190</VisualStudioProject>
diff --git a/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc9.vcproj b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc9.vcproj
new file mode 100644
index 0000000..90ebf1f
--- /dev/null
+++ b/libraries/irrlicht-1.8/examples/24.CursorControl/CursorControl_vc9.vcproj
@@ -0,0 +1,185 @@
1<?xml version="1.0" encoding="Windows-1252"?>
2<VisualStudioProject
3 ProjectType="Visual C++"
4 Version="9,00"
5 Name="24.CursorControl_vc9"
6 ProjectGUID="{02B67A37-50E1-49DB-BECF-905BC029C2FE}"
7 RootNamespace="24.CursorControl_vc9"
8 Keyword="Win32Proj"
9 TargetFrameworkVersion="131072"
10 >
11 <Platforms>
12 <Platform
13 Name="Win32"
14 />
15 </Platforms>
16 <ToolFiles>
17 </ToolFiles>
18 <Configurations>
19 <Configuration
20 Name="Debug|Win32"
21 OutputDirectory="Debug"
22 IntermediateDirectory="Debug"
23 ConfigurationType="1"
24 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
25 CharacterSet="2"
26 >
27 <Tool
28 Name="VCPreBuildEventTool"
29 />
30 <Tool
31 Name="VCCustomBuildTool"
32 />
33 <Tool
34 Name="VCXMLDataGeneratorTool"
35 />
36 <Tool
37 Name="VCWebServiceProxyGeneratorTool"
38 />
39 <Tool
40 Name="VCMIDLTool"
41 />
42 <Tool
43 Name="VCCLCompilerTool"
44 Optimization="0"
45 AdditionalIncludeDirectories="..\..\include"
46 PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
47 MinimalRebuild="true"
48 BasicRuntimeChecks="3"
49 RuntimeLibrary="1"
50 UsePrecompiledHeader="0"
51 WarningLevel="3"
52 DebugInformationFormat="4"
53 />
54 <Tool
55 Name="VCManagedResourceCompilerTool"
56 />
57 <Tool
58 Name="VCResourceCompilerTool"
59 />
60 <Tool
61 Name="VCPreLinkEventTool"
62 />
63 <Tool
64 Name="VCLinkerTool"
65 OutputFile="..\..\bin\Win32-VisualStudio\24.CursorControl.exe"
66 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
67 GenerateDebugInformation="true"
68 ProgramDatabaseFile="$(OutDir)/CursorControl.pdb"
69 SubSystem="1"
70 RandomizedBaseAddress="1"
71 DataExecutionPrevention="0"
72 TargetMachine="1"
73 />
74 <Tool
75 Name="VCALinkTool"
76 />
77 <Tool
78 Name="VCManifestTool"
79 />
80 <Tool
81 Name="VCXDCMakeTool"
82 />
83 <Tool
84 Name="VCBscMakeTool"
85 />
86 <Tool
87 Name="VCFxCopTool"
88 />
89 <Tool
90 Name="VCAppVerifierTool"
91 />
92 <Tool
93 Name="VCPostBuildEventTool"
94 />
95 </Configuration>
96 <Configuration
97 Name="Release|Win32"
98 OutputDirectory="Release"
99 IntermediateDirectory="Release"
100 ConfigurationType="1"
101 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
102 CharacterSet="2"
103 >
104 <Tool
105 Name="VCPreBuildEventTool"
106 />
107 <Tool
108 Name="VCCustomBuildTool"
109 />
110 <Tool
111 Name="VCXMLDataGeneratorTool"
112 />
113 <Tool
114 Name="VCWebServiceProxyGeneratorTool"
115 />
116 <Tool
117 Name="VCMIDLTool"
118 />
119 <Tool
120 Name="VCCLCompilerTool"
121 EnableIntrinsicFunctions="true"
122 FavorSizeOrSpeed="1"
123 AdditionalIncludeDirectories="..\..\include"
124 PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
125 ExceptionHandling="1"
126 UsePrecompiledHeader="0"
127 WarningLevel="3"
128 DebugInformationFormat="0"
129 CallingConvention="0"
130 />
131 <Tool
132 Name="VCManagedResourceCompilerTool"
133 />
134 <Tool
135 Name="VCResourceCompilerTool"
136 />
137 <Tool
138 Name="VCPreLinkEventTool"
139 />
140 <Tool
141 Name="VCLinkerTool"
142 OutputFile="..\..\bin\Win32-VisualStudio\24.CursorControl.exe"
143 AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
144 GenerateDebugInformation="false"
145 SubSystem="1"
146 OptimizeReferences="2"
147 EnableCOMDATFolding="2"
148 RandomizedBaseAddress="1"
149 DataExecutionPrevention="0"
150 TargetMachine="1"
151 />
152 <Tool
153 Name="VCALinkTool"
154 />
155 <Tool
156 Name="VCManifestTool"
157 />
158 <Tool
159 Name="VCXDCMakeTool"
160 />
161 <Tool
162 Name="VCBscMakeTool"
163 />
164 <Tool
165 Name="VCFxCopTool"
166 />
167 <Tool
168 Name="VCAppVerifierTool"
169 />
170 <Tool
171 Name="VCPostBuildEventTool"
172 />
173 </Configuration>
174 </Configurations>
175 <References>
176 </References>
177 <Files>
178 <File
179 RelativePath=".\main.cpp"
180 >
181 </File>
182 </Files>
183 <Globals>
184 </Globals>
185</VisualStudioProject>
diff --git a/libraries/irrlicht-1.8/examples/24.CursorControl/Makefile b/libraries/irrlicht-1.8/examples/24.CursorControl/Makefile
new file mode 100644
index 0000000..bc2a137
--- /dev/null
+++ b/libraries/irrlicht-1.8/examples/24.CursorControl/Makefile
@@ -0,0 +1,66 @@
1# Makefile for Irrlicht Examples
2# It's usually sufficient to change just the target name and source file list
3# and be sure that CXX is set to a valid compiler
4
5# Name of the executable created (.exe will be added automatically if necessary)
6Target := 24.CursorControl
7# List of source files, separated by spaces
8Sources := main.cpp
9# Path to Irrlicht directory, should contain include/ and lib/
10IrrlichtHome := ../..
11# Path for the executable. Note that Irrlicht.dll should usually also be there for win32 systems
12BinPath = ../../bin/$(SYSTEM)
13
14# general compiler settings (might need to be set when compiling the lib, too)
15# preprocessor flags, e.g. defines and include paths
16USERCPPFLAGS =
17# compiler flags such as optimization flags
18USERCXXFLAGS = -O3 -ffast-math
19#USERCXXFLAGS = -g -Wall
20# linker flags such as additional libraries and link paths
21USERLDFLAGS =
22
23####
24#no changes necessary below this line
25####
26
27CPPFLAGS = -I$(IrrlichtHome)/include -I/usr/X11R6/include $(USERCPPFLAGS)
28CXXFLAGS = $(USERCXXFLAGS)
29LDFLAGS = $(USERLDFLAGS)
30
31#default target is Linux
32all: all_linux
33
34# target specific settings
35all_linux all_win32 static_win32: LDFLAGS += -L$(IrrlichtHome)/lib/$(SYSTEM) -lIrrlicht
36all_linux: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm -lXext -lX11 -lXcursor
37all_linux clean_linux: SYSTEM=Linux
38all_win32 clean_win32 static_win32: SYSTEM=Win32-gcc
39all_win32 clean_win32 static_win32: SUF=.exe
40static_win32: CPPFLAGS += -D_IRR_STATIC_LIB_
41all_win32: LDFLAGS += -lopengl32 -lm
42static_win32: LDFLAGS += -lgdi32 -lwinspool -lcomdlg32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -lopengl32
43# name of the binary - only valid for targets which set SYSTEM
44DESTPATH = $(BinPath)/$(Target)$(SUF)
45
46all_linux all_win32 static_win32:
47 $(warning Building...)
48 $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(Sources) -o $(DESTPATH) $(LDFLAGS)
49
50clean: clean_linux clean_win32
51 $(warning Cleaning...)
52
53clean_linux clean_win32:
54 @$(RM) $(DESTPATH)
55
56.PHONY: all all_win32 static_win32 clean clean_linux clean_win32
57
58#multilib handling
59ifeq ($(HOSTTYPE), x86_64)
60LIBSELECT=64
61endif
62#solaris real-time features
63ifeq ($(HOSTTYPE), sun4)
64LDFLAGS += -lrt
65endif
66
diff --git a/libraries/irrlicht-1.8/examples/24.CursorControl/main.cpp b/libraries/irrlicht-1.8/examples/24.CursorControl/main.cpp
new file mode 100644
index 0000000..ff7c16f
--- /dev/null
+++ b/libraries/irrlicht-1.8/examples/24.CursorControl/main.cpp
@@ -0,0 +1,563 @@
1/** Example 024 CursorControl
2
3Show how to modify cursors and offer some useful tool-functions for creating cursors.
4It can also be used for experiments with the mouse in general.
5*/
6
7#include <irrlicht.h>
8#include "driverChoice.h"
9
10using namespace irr;
11using namespace core;
12using namespace scene;
13using namespace video;
14using namespace io;
15using namespace gui;
16
17#ifdef _IRR_WINDOWS_
18#pragma comment(lib, "Irrlicht.lib")
19#endif
20
21const int DELAY_TIME = 3000;
22
23enum ETimerAction
24{
25 ETA_MOUSE_VISIBLE,
26 ETA_MOUSE_INVISIBLE,
27};
28
29/*
30 Structure to allow delayed execution of some actions.
31*/
32struct TimerAction
33{
34 u32 TargetTime;
35 ETimerAction Action;
36};
37
38/*
39*/
40struct SAppContext
41{
42 SAppContext()
43 : Device(0), InfoStatic(0), EventBox(0), CursorBox(0), SpriteBox(0)
44 , ButtonSetVisible(0), ButtonSetInvisible(0), ButtonSimulateBadFps(0)
45 , ButtonChangeIcon(0)
46 , SimulateBadFps(false)
47 {
48 }
49
50 void update()
51 {
52 if (!Device)
53 return;
54 u32 timeNow = Device->getTimer()->getTime();
55 for ( u32 i=0; i < TimerActions.size(); ++i )
56 {
57 if ( timeNow >= TimerActions[i].TargetTime )
58 {
59 runTimerAction(TimerActions[i]);
60 TimerActions.erase(i);
61 }
62 else
63 {
64 ++i;
65 }
66 }
67 }
68
69 void runTimerAction(const TimerAction& action)
70 {
71 if (ETA_MOUSE_VISIBLE == action.Action)
72 {
73 Device->getCursorControl()->setVisible(true);
74 ButtonSetVisible->setEnabled(true);
75 }
76 else if ( ETA_MOUSE_INVISIBLE == action.Action)
77 {
78 Device->getCursorControl()->setVisible(false);
79 ButtonSetInvisible->setEnabled(true);
80 }
81 }
82
83 /*
84 Add another icon which the user can click and select as cursor later on.
85 */
86 void addIcon(const stringw& name, const SCursorSprite &sprite, bool addCursor=true)
87 {
88 // Sprites are just icons - not yet cursors. They can be displayed by Irrlicht sprite functions and be used to create cursors.
89 SpriteBox->addItem(name.c_str(), sprite.SpriteId);
90 Sprites.push_back(sprite);
91
92 // create the cursor together with the icon?
93 if ( addCursor )
94 {
95 /* Here we create a hardware cursor from a sprite */
96 Device->getCursorControl()->addIcon(sprite);
97
98 // ... and add it to the cursors selection listbox to the other system cursors.
99 CursorBox->addItem(name.c_str());
100 }
101 }
102
103 IrrlichtDevice * Device;
104 gui::IGUIStaticText * InfoStatic;
105 gui::IGUIListBox * EventBox;
106 gui::IGUIListBox * CursorBox;
107 gui::IGUIListBox * SpriteBox;
108 gui::IGUIButton * ButtonSetVisible;
109 gui::IGUIButton * ButtonSetInvisible;
110 gui::IGUIButton * ButtonSimulateBadFps;
111 gui::IGUIButton * ButtonChangeIcon;
112 array<TimerAction> TimerActions;
113 bool SimulateBadFps;
114 array<SCursorSprite> Sprites;
115};
116
117/*
118 Helper function to print mouse event names into a stringw
119*/
120void PrintMouseEventName(const SEvent& event, stringw &result)
121{
122 switch ( event.MouseInput.Event )
123 {
124 case EMIE_LMOUSE_PRESSED_DOWN: result += stringw(L"EMIE_LMOUSE_PRESSED_DOWN"); break;
125 case EMIE_RMOUSE_PRESSED_DOWN: result += stringw(L"EMIE_RMOUSE_PRESSED_DOWN"); break;
126 case EMIE_MMOUSE_PRESSED_DOWN: result += stringw(L"EMIE_MMOUSE_PRESSED_DOWN"); break;
127 case EMIE_LMOUSE_LEFT_UP: result += stringw(L"EMIE_LMOUSE_LEFT_UP"); break;
128 case EMIE_RMOUSE_LEFT_UP: result += stringw(L"EMIE_RMOUSE_LEFT_UP"); break;
129 case EMIE_MMOUSE_LEFT_UP: result += stringw(L"EMIE_MMOUSE_LEFT_UP"); break;
130 case EMIE_MOUSE_MOVED: result += stringw(L"EMIE_MOUSE_MOVED"); break;
131 case EMIE_MOUSE_WHEEL: result += stringw(L"EMIE_MOUSE_WHEEL"); break;
132 case EMIE_LMOUSE_DOUBLE_CLICK: result += stringw(L"EMIE_LMOUSE_DOUBLE_CLICK"); break;
133 case EMIE_RMOUSE_DOUBLE_CLICK: result += stringw(L"EMIE_RMOUSE_DOUBLE_CLICK"); break;
134 case EMIE_MMOUSE_DOUBLE_CLICK: result += stringw(L"EMIE_MMOUSE_DOUBLE_CLICK"); break;
135 case EMIE_LMOUSE_TRIPLE_CLICK: result += stringw(L"EMIE_LMOUSE_TRIPLE_CLICK"); break;
136 case EMIE_RMOUSE_TRIPLE_CLICK: result += stringw(L"EMIE_RMOUSE_TRIPLE_CLICK"); break;
137 case EMIE_MMOUSE_TRIPLE_CLICK: result += stringw(L"EMIE_MMOUSE_TRIPLE_CLICK"); break;
138 default:
139 break;
140 }
141}
142
143/*
144 Helper function to print all the state information which get from a mouse-event into a stringw
145*/
146void PrintMouseState(const SEvent& event, stringw &result)
147{
148 result += stringw(L"X: ");
149 result += stringw(event.MouseInput.X);
150 result += stringw(L"\n");
151
152 result += stringw(L"Y: ");
153 result += stringw(event.MouseInput.Y);
154 result += stringw(L"\n");
155
156
157 result += stringw(L"Wheel: ");
158 result += stringw(event.MouseInput.Wheel);
159 result += stringw(L"\n");
160
161 result += stringw(L"Shift: ");
162 if ( event.MouseInput.Shift )
163 result += stringw(L"true\n");
164 else
165 result += stringw(L"false\n");
166
167 result += stringw(L"Control: ");
168 if ( event.MouseInput.Control )
169 result += stringw(L"true\n");
170 else
171 result += stringw(L"false\n");
172
173 result += stringw(L"ButtonStates: ");
174 result += stringw(event.MouseInput.ButtonStates);
175 result += stringw(L"\n");
176
177 result += stringw(L"isLeftPressed: ");
178 if ( event.MouseInput.isLeftPressed() )
179 result += stringw(L"true\n");
180 else
181 result += stringw(L"false\n");
182
183 result += stringw(L"isRightPressed: ");
184 if ( event.MouseInput.isRightPressed() )
185 result += stringw(L"true\n");
186 else
187 result += stringw(L"false\n");
188
189 result += stringw(L"isMiddlePressed: ");
190 if ( event.MouseInput.isMiddlePressed() )
191 result += stringw(L"true\n");
192 else
193 result += stringw(L"false\n");
194
195 result += stringw(L"Event: ");
196
197 PrintMouseEventName(event, result);
198
199 result += stringw(L"\n");
200}
201
202/*
203 A typical event receiver.
204*/
205class MyEventReceiver : public IEventReceiver
206{
207public:
208 MyEventReceiver(SAppContext & context) : Context(context) { }
209
210 virtual bool OnEvent(const SEvent& event)
211 {
212 if (event.EventType == EET_GUI_EVENT )
213 {
214 switch ( event.GUIEvent.EventType )
215 {
216 case EGET_BUTTON_CLICKED:
217 {
218 u32 timeNow = Context.Device->getTimer()->getTime();
219 TimerAction action;
220 action.TargetTime = timeNow + DELAY_TIME;
221 if ( event.GUIEvent.Caller == Context.ButtonSetVisible )
222 {
223 action.Action = ETA_MOUSE_VISIBLE;
224 Context.TimerActions.push_back(action);
225 Context.ButtonSetVisible->setEnabled(false);
226 }
227 else if ( event.GUIEvent.Caller == Context.ButtonSetInvisible )
228 {
229 action.Action = ETA_MOUSE_INVISIBLE;
230 Context.TimerActions.push_back(action);
231 Context.ButtonSetInvisible->setEnabled(false);
232 }
233 else if ( event.GUIEvent.Caller == Context.ButtonSimulateBadFps )
234 {
235 Context.SimulateBadFps = Context.ButtonSimulateBadFps->isPressed();
236 }
237 else if ( event.GUIEvent.Caller == Context.ButtonChangeIcon )
238 {
239 /*
240 Replace an existing cursor icon by another icon.
241 The user has to select both - the icon which should be replaced and the icon which will replace it.
242 */
243 s32 selectedCursor = Context.CursorBox->getSelected();
244 s32 selectedSprite = Context.SpriteBox->getSelected();
245 if ( selectedCursor >= 0 && selectedSprite >= 0 )
246 {
247 /*
248 This does replace the icon.
249 */
250 Context.Device->getCursorControl()->changeIcon((ECURSOR_ICON)selectedCursor, Context.Sprites[selectedSprite] );
251
252 /*
253 Do also show the new icon.
254 */
255 Context.Device->getCursorControl()->setActiveIcon( ECURSOR_ICON(selectedCursor) );
256 }
257 }
258 }
259 break;
260 case EGET_LISTBOX_CHANGED:
261 case EGET_LISTBOX_SELECTED_AGAIN:
262 {
263 if ( event.GUIEvent.Caller == Context.CursorBox )
264 {
265 /*
266 Find out which cursor the user selected
267 */
268 s32 selected = Context.CursorBox->getSelected();
269 if ( selected >= 0 )
270 {
271 /*
272 Here we set the new cursor icon which will now be used within our window.
273 */
274 Context.Device->getCursorControl()->setActiveIcon( ECURSOR_ICON(selected) );
275 }
276 }
277 }
278 break;
279 default:
280 break;
281 }
282 }
283
284 if (event.EventType == EET_MOUSE_INPUT_EVENT)
285 {
286 stringw infoText;
287 PrintMouseState(event, infoText);
288 Context.InfoStatic->setText(infoText.c_str());
289 if ( event.MouseInput.Event != EMIE_MOUSE_MOVED && event.MouseInput.Event != EMIE_MOUSE_WHEEL ) // no spam
290 {
291 infoText = L"";
292 PrintMouseEventName(event, infoText);
293 Context.EventBox->insertItem(0, infoText.c_str(), -1);
294 }
295 }
296
297 return false;
298 }
299
300private:
301 SAppContext & Context;
302};
303
304/*
305 Use several imagefiles as animation frames for a sprite which can be used as cursor icon.
306 The images in those files all need to have the same size.
307 Return sprite index on success or -1 on failure
308*/
309s32 AddAnimatedIconToSpriteBank( gui::IGUISpriteBank * spriteBank, video::IVideoDriver* driver, const array< io::path >& files, u32 frameTime )
310{
311 if ( !spriteBank || !driver || !files.size() )
312 return -1;
313
314 video::ITexture * tex = driver->getTexture( files[0] );
315 if ( tex )
316 {
317 array< rect<s32> >& spritePositions = spriteBank->getPositions();
318 u32 idxRect = spritePositions.size();
319 spritePositions.push_back( rect<s32>(0,0, tex->getSize().Width, tex->getSize().Height) );
320
321 SGUISprite sprite;
322 sprite.frameTime = frameTime;
323
324 array< SGUISprite >& sprites = spriteBank->getSprites();
325 u32 startIdx = spriteBank->getTextureCount();
326 for ( u32 f=0; f < files.size(); ++f )
327 {
328 tex = driver->getTexture( files[f] );
329 if ( tex )
330 {
331 spriteBank->addTexture( driver->getTexture(files[f]) );
332 gui::SGUISpriteFrame frame;
333 frame.rectNumber = idxRect;
334 frame.textureNumber = startIdx+f;
335 sprite.Frames.push_back( frame );
336 }
337 }
338
339 sprites.push_back( sprite );
340 return sprites.size()-1;
341 }
342
343 return -1;
344}
345
346/*
347 Use several images within one imagefile as animation frames for a sprite which can be used as cursor icon
348 The sizes of the icons within that file all need to have the same size
349 Return sprite index on success or -1 on failure
350*/
351s32 AddAnimatedIconToSpriteBank( gui::IGUISpriteBank * spriteBank, video::IVideoDriver* driver, const io::path& file, const array< rect<s32> >& rects, u32 frameTime )
352{
353 if ( !spriteBank || !driver || !rects.size() )
354 return -1;
355
356 video::ITexture * tex = driver->getTexture( file );
357 if ( tex )
358 {
359 array< rect<s32> >& spritePositions = spriteBank->getPositions();
360 u32 idxRect = spritePositions.size();
361 u32 idxTex = spriteBank->getTextureCount();
362 spriteBank->addTexture( tex );
363
364 SGUISprite sprite;
365 sprite.frameTime = frameTime;
366
367 array< SGUISprite >& sprites = spriteBank->getSprites();
368 for ( u32 i=0; i < rects.size(); ++i )
369 {
370 spritePositions.push_back( rects[i] );
371
372 gui::SGUISpriteFrame frame;
373 frame.rectNumber = idxRect+i;
374 frame.textureNumber = idxTex;
375 sprite.Frames.push_back( frame );
376 }
377
378 sprites.push_back( sprite );
379 return sprites.size()-1;
380 }
381
382 return -1;
383}
384
385/*
386 Create a non-animated icon from the given file and position and put it into the spritebank.
387 We can use this icon later on in a cursor.
388*/
389s32 AddIconToSpriteBank( gui::IGUISpriteBank * spriteBank, video::IVideoDriver* driver, const io::path& file, const core::rect<s32>& rect )
390{
391 if ( !spriteBank || !driver )
392 return -1;
393
394 video::ITexture * tex = driver->getTexture( file );
395 if ( tex )
396 {
397 core::array< core::rect<irr::s32> >& spritePositions = spriteBank->getPositions();
398 spritePositions.push_back( rect );
399 array< SGUISprite >& sprites = spriteBank->getSprites();
400 spriteBank->addTexture( tex );
401
402 gui::SGUISpriteFrame frame;
403 frame.rectNumber = spritePositions.size()-1;
404 frame.textureNumber = spriteBank->getTextureCount()-1;
405
406 SGUISprite sprite;
407 sprite.frameTime = 0;
408 sprite.Frames.push_back( frame );
409
410 sprites.push_back( sprite );
411
412 return sprites.size()-1;
413 }
414
415 return -1;
416}
417
418int main()
419{
420 video::E_DRIVER_TYPE driverType = driverChoiceConsole();
421 if (driverType==video::EDT_COUNT)
422 return 1;
423
424 IrrlichtDevice * device = createDevice(driverType, dimension2d<u32>(640, 480));
425 if (device == 0)
426 return 1; // could not create selected driver.
427
428 // It's sometimes of interest to know how the mouse behaves after a resize
429 device->setResizable(true);
430
431 device->setWindowCaption(L"Cursor control - Irrlicht engine tutorial");
432 video::IVideoDriver* driver = device->getVideoDriver();
433 IGUIEnvironment* env = device->getGUIEnvironment();
434
435 gui::IGUISpriteBank * SpriteBankIcons;
436
437 SAppContext context;
438 context.Device = device;
439
440 rect< s32 > rectInfoStatic(10,10, 200, 200);
441 env->addStaticText (L"Cursor state information", rectInfoStatic, true, true);
442 rectInfoStatic.UpperLeftCorner += dimension2di(0, 15);
443 context.InfoStatic = env->addStaticText (L"", rectInfoStatic, true, true);
444 rect< s32 > rectEventBox(10,210, 200, 400);
445 env->addStaticText (L"click events (new on top)", rectEventBox, true, true);
446 rectEventBox.UpperLeftCorner += dimension2di(0, 15);
447 context.EventBox = env->addListBox(rectEventBox);
448 rect< s32 > rectCursorBox(210,10, 400, 250);
449 env->addStaticText (L"cursors, click to set the active one", rectCursorBox, true, true);
450 rectCursorBox.UpperLeftCorner += dimension2di(0, 15);
451 context.CursorBox = env->addListBox(rectCursorBox);
452 rect< s32 > rectSpriteBox(210,260, 400, 400);
453 env->addStaticText (L"sprites", rectSpriteBox, true, true);
454 rectSpriteBox.UpperLeftCorner += dimension2di(0, 15);
455 context.SpriteBox = env->addListBox(rectSpriteBox);
456
457 context.ButtonSetVisible = env->addButton( rect<s32>( 410, 20, 560, 40 ), 0, -1, L"set visible (delayed)" );
458 context.ButtonSetInvisible = env->addButton( rect<s32>( 410, 50, 560, 70 ), 0, -1, L"set invisible (delayed)" );
459 context.ButtonSimulateBadFps = env->addButton( rect<s32>( 410, 80, 560, 100 ), 0, -1, L"simulate bad FPS" );
460 context.ButtonSimulateBadFps->setIsPushButton(true);
461 context.ButtonChangeIcon = env->addButton( rect<s32>( 410, 140, 560, 160 ), 0, -1, L"replace cursor icon\n(cursor+sprite must be selected)" );
462
463 // set the names for all the system cursors
464 for ( int i=0; i < (int)gui::ECI_COUNT; ++i )
465 {
466 context.CursorBox->addItem(stringw( GUICursorIconNames[i] ).c_str());
467 }
468
469 /*
470 Create sprites which then can be used as cursor icons.
471 */
472 SpriteBankIcons = env->addEmptySpriteBank(io::path("cursor_icons"));
473 context.SpriteBox->setSpriteBank(SpriteBankIcons);
474
475 // create one animated icon from several files
476 array< io::path > files;
477 files.push_back( io::path("../../media/icon_crosshairs16x16bw1.png") );
478 files.push_back( io::path("../../media/icon_crosshairs16x16bw2.png") );
479 files.push_back( io::path("../../media/icon_crosshairs16x16bw3.png") );
480 files.push_back( io::path("../../media/icon_crosshairs16x16bw3.png") );
481 files.push_back( io::path("../../media/icon_crosshairs16x16bw2.png") );
482 SCursorSprite spriteBw; // the sprite + some additional information needed for cursors
483 spriteBw.SpriteId = AddAnimatedIconToSpriteBank( SpriteBankIcons, driver, files, 200 );
484 spriteBw.SpriteBank = SpriteBankIcons;
485 spriteBw.HotSpot = position2d<s32>(7,7);
486 context.addIcon(L"crosshair_bw", spriteBw);
487
488 // create one animated icon from one file
489 array< rect<s32> > iconRects;
490 iconRects.push_back( rect<s32>(0,0, 16, 16) );
491 iconRects.push_back( rect<s32>(16,0, 32, 16) );
492 iconRects.push_back( rect<s32>(0,16, 16, 32) );
493 iconRects.push_back( rect<s32>(0,16, 16, 32) );
494 iconRects.push_back( rect<s32>(16,0, 32, 16) );
495 SCursorSprite spriteCol; // the sprite + some additional information needed for cursors
496 spriteCol.SpriteId = AddAnimatedIconToSpriteBank( SpriteBankIcons, driver, io::path("../../media/icon_crosshairs16x16col.png"), iconRects, 200 );
497 spriteCol.HotSpot = position2d<s32>(7,7);
498 spriteCol.SpriteBank = SpriteBankIcons;
499 context.addIcon(L"crosshair_colored", spriteCol);
500
501 // Create some non-animated icons
502 rect<s32> rectIcon;
503 SCursorSprite spriteNonAnimated(SpriteBankIcons, 0, position2d<s32>(7,7));
504
505 rectIcon = rect<s32>(0,0, 16, 16);
506 spriteNonAnimated.SpriteId = AddIconToSpriteBank( SpriteBankIcons, driver, io::path("../../media/icon_crosshairs16x16col.png"), rectIcon );
507 context.addIcon(L"crosshair_col1", spriteNonAnimated, false);
508
509 rectIcon = rect<s32>(16,0, 32, 16);
510 spriteNonAnimated.SpriteId = AddIconToSpriteBank( SpriteBankIcons, driver, io::path("../../media/icon_crosshairs16x16col.png"), rectIcon );
511 context.addIcon(L"crosshair_col2", spriteNonAnimated, false);
512
513 rectIcon = rect<s32>(0,16, 16, 32);
514 spriteNonAnimated.SpriteId = AddIconToSpriteBank( SpriteBankIcons, driver, io::path("../../media/icon_crosshairs16x16col.png"), rectIcon );
515 context.addIcon(L"crosshair_col3", spriteNonAnimated, false);
516
517
518 MyEventReceiver receiver(context);
519 device->setEventReceiver(&receiver);
520
521 while(device->run() && driver)
522 {
523 // if (device->isWindowActive())
524 {
525 u32 realTimeNow = device->getTimer()->getRealTime();
526
527 context.update();
528
529 driver->beginScene(true, true, SColor(0,200,200,200));
530
531 env->drawAll();
532
533 // draw custom sprite with Irrlicht functions for comparison. It should usually look the same as the cursors.
534 if ( context.SpriteBox )
535 {
536 s32 selectedSprite = context.SpriteBox->getSelected();
537 if ( selectedSprite >= 0 && context.Sprites[selectedSprite].SpriteId >= 0 )
538 {
539 SpriteBankIcons->draw2DSprite(u32(context.Sprites[selectedSprite].SpriteId), position2di(580, 140), 0, video::SColor(255, 255, 255, 255), 0, realTimeNow);
540 }
541 }
542
543 driver->endScene();
544 }
545
546 // By simulating bad fps we can find out if hardware-support for cursors works or not. If it works the cursor will move as usual,while it otherwise will just update with 2 fps now.
547 if ( context.SimulateBadFps )
548 {
549 device->sleep(500); // 2 fps
550 }
551 else
552 {
553 device->sleep(10);
554 }
555 }
556
557 device->drop();
558
559 return 0;
560}
561
562/*
563**/