Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
UltimateZoneBuilder
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
STJr
UltimateZoneBuilder
Commits
e4b257a8
Commit
e4b257a8
authored
5 years ago
by
Magnus Norddahl
Browse files
Options
Downloads
Patches
Plain Diff
- remove SlimDX.DirectInput namespace
parent
21b46010
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
Source/Core/Actions/MouseInput.cs
+34
-101
34 additions, 101 deletions
Source/Core/Actions/MouseInput.cs
Source/Core/SlimDX.cs
+0
-45
0 additions, 45 deletions
Source/Core/SlimDX.cs
with
34 additions
and
146 deletions
Source/Core/Actions/MouseInput.cs
+
34
−
101
View file @
e4b257a8
...
...
@@ -18,8 +18,6 @@
using
System
;
using
System.Windows.Forms
;
using
SlimDX
;
using
SlimDX.DirectInput
;
using
CodeImp.DoomBuilder.Geometry
;
#endregion
...
...
@@ -31,18 +29,8 @@ namespace CodeImp.DoomBuilder.Actions
#
region
==================
Variables
// Mouse input
private
DirectInput
dinput
;
private
Mouse
mouse
;
private
RawMouse
mouse
;
// Disposing
private
bool
isdisposed
;
#
endregion
#
region
==================
Properties
public
bool
IsDisposed
{
get
{
return
isdisposed
;
}
}
#
endregion
#
region
==================
Constructor
/
Disposer
...
...
@@ -50,30 +38,8 @@ namespace CodeImp.DoomBuilder.Actions
// Constructor
public
MouseInput
(
Control
source
)
{
// Initialize
dinput
=
new
DirectInput
();
// Start mouse input
mouse
=
new
Mouse
(
dinput
);
if
(
mouse
==
null
)
throw
new
Exception
(
"No mouse device found."
);
// Set mouse input settings
mouse
.
Properties
.
AxisMode
=
DeviceAxisMode
.
Relative
;
// Set cooperative level
mouse
.
SetCooperativeLevel
(
source
,
CooperativeLevel
.
Nonexclusive
|
CooperativeLevel
.
Foreground
);
// Aquire device
try
{
mouse
.
Acquire
();
}
#if DEBUG
catch
(
Exception
e
)
{
Console
.
WriteLine
(
"MouseInput initialization failed: "
+
e
.
Message
);
}
#else
catch
(
Exception
)
{
}
#endif
mouse
=
new
RawMouse
(
source
);
// We have no destructor
GC
.
SuppressFinalize
(
this
);
...
...
@@ -82,20 +48,10 @@ namespace CodeImp.DoomBuilder.Actions
// Disposer
public
void
Dispose
()
{
// Not already disposed?
if
(!
isdisposed
)
if
(
mouse
!=
null
)
{
// Dispose
mouse
.
Unacquire
();
mouse
.
Dispose
();
dinput
.
Dispose
();
// Clean up
mouse
=
null
;
dinput
=
null
;
// Done
isdisposed
=
true
;
}
}
...
...
@@ -110,62 +66,39 @@ namespace CodeImp.DoomBuilder.Actions
// This processes the input
public
Vector2D
Process
()
{
// Poll the device
try
{
Result
result
=
mouse
.
Poll
();
if
(
result
.
IsSuccess
)
{
// Get the changes since previous poll
MouseState
ms
=
mouse
.
GetCurrentState
();
// Calculate changes depending on sensitivity
float
changex
=
ms
.
X
*
General
.
Settings
.
VisualMouseSensX
*
General
.
Settings
.
MouseSpeed
*
0.01f
;
float
changey
=
ms
.
Y
*
General
.
Settings
.
VisualMouseSensY
*
General
.
Settings
.
MouseSpeed
*
0.01f
;
// Return changes
return
new
Vector2D
(
changex
,
changey
);
}
// Reaquire device
try
{
mouse
.
Acquire
();
}
#if DEBUG
catch
(
Exception
e
)
{
Console
.
WriteLine
(
"MouseInput process failed: "
+
e
.
Message
);
}
#else
catch
(
Exception
)
{
}
#endif
return
new
Vector2D
();
}
#if DEBUG
catch
(
DirectInputException
die
)
{
Console
.
WriteLine
(
"MouseInput process failed: "
+
die
.
Message
);
// Reaquire device
try
{
mouse
.
Acquire
();
}
catch
(
Exception
e
)
{
Console
.
WriteLine
(
"MouseInput process failed: "
+
e
.
Message
);
}
return
new
Vector2D
();
}
#else
catch
(
DirectInputException
)
{
// Reaquire device
try
{
mouse
.
Acquire
();
}
catch
(
Exception
)
{
}
return
new
Vector2D
();
}
#endif
MouseState
ms
=
mouse
.
Poll
();
// Calculate changes depending on sensitivity
float
changex
=
ms
.
X
*
General
.
Settings
.
VisualMouseSensX
*
General
.
Settings
.
MouseSpeed
*
0.01f
;
float
changey
=
ms
.
Y
*
General
.
Settings
.
VisualMouseSensY
*
General
.
Settings
.
MouseSpeed
*
0.01f
;
return
new
Vector2D
(
changex
,
changey
);
}
#
endregion
}
public
struct
MouseState
{
public
MouseState
(
float
x
,
float
y
)
{
X
=
x
;
Y
=
y
;
}
public
float
X
{
get
;
}
public
float
Y
{
get
;
}
}
public
class
RawMouse
{
public
RawMouse
(
System
.
Windows
.
Forms
.
Control
control
)
{
}
public
MouseState
Poll
()
{
// To do: use WM_RAWINPUT to get data
return
new
MouseState
(
0.0f
,
0.0f
);
}
public
void
Dispose
()
{
}
}
}
This diff is collapsed.
Click to expand it.
Source/Core/SlimDX.cs
+
0
−
45
View file @
e4b257a8
...
...
@@ -261,49 +261,4 @@ namespace SlimDX
public
static
bool
operator
!=(
Vector4
left
,
Vector4
right
)
{
return
left
.
X
!=
right
.
X
||
left
.
Y
!=
right
.
Y
||
left
.
Z
!=
right
.
Z
||
left
.
W
!=
right
.
W
;
}
}
#
endregion
#
region
DirectInput
mouse
handling
namespace
DirectInput
{
public
enum
DeviceAxisMode
{
Relative
}
public
enum
CooperativeLevel
{
Nonexclusive
,
Foreground
}
public
class
DirectInput
{
public
void
Dispose
()
{
}
}
public
class
MouseProperties
{
public
DeviceAxisMode
AxisMode
{
private
get
;
set
;
}
}
public
class
MouseState
{
public
float
X
{
get
;
}
public
float
Y
{
get
;
}
}
public
class
Result
{
public
bool
IsSuccess
{
get
;
}
}
public
class
Mouse
{
public
Mouse
(
DirectInput
dinput
)
{
}
public
MouseProperties
Properties
{
get
;
}
public
void
SetCooperativeLevel
(
System
.
Windows
.
Forms
.
Control
control
,
CooperativeLevel
level
)
{
}
public
void
Acquire
()
{
}
public
void
Unacquire
()
{
}
public
Result
Poll
()
{
return
null
;
}
public
MouseState
GetCurrentState
()
{
return
null
;
}
public
void
Dispose
()
{
}
}
public
class
DirectInputException
:
ApplicationException
{
}
}
#
endregion
}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment