blob: 24bcadb67e785c48e02876a33e16b8236ba2362d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#pragma once
#include "..\common\rawaccel.hpp";
#include "..\common\rawaccel-userspace.hpp";
#include <iostream>
using namespace rawaccel;
using namespace System;
public ref class ManagedAccel
{
protected:
accel_function* accel_instance;
public:
ManagedAccel(accel_function* accel)
: accel_instance(accel)
{
}
ManagedAccel(double mode, double offset, double accel, double lim_exp, double midpoint)
{
accel_function::args_t args{};
args.accel = accel;
args.lim_exp = lim_exp;
args.midpoint = midpoint;
args.accel_mode = (rawaccel::mode)mode;
args.offset = offset;
accel_instance = new accel_function(args);
}
virtual ~ManagedAccel()
{
if (accel_instance != nullptr)
{
delete accel_instance;
}
}
!ManagedAccel()
{
if (accel_instance != nullptr)
{
delete accel_instance;
}
}
accel_function* GetInstance()
{
return accel_instance;
}
Tuple<double, double>^ Accelerate(int x, int y, double time, double mode);
};
|