forked from vpinball/vpinball
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ballex.h
95 lines (85 loc) · 4.03 KB
/
ballex.h
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#pragma once
#include "resource.h"
class Ball;
class BallEx :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<BallEx, &CLSID_Ball>,
public IDispatchImpl<IBall, &IID_IBall, &LIBID_VPinballLib>,
public IFireEvents,
public IDebugCommands
{
public:
BallEx();
~BallEx();
DECLARE_REGISTRY_RESOURCEID(IDR_BALL)
DECLARE_PROTECT_FINAL_CONSTRUCT()
BEGIN_COM_MAP(BallEx)
COM_INTERFACE_ENTRY(IBall)
COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()
// IBall
public:
STDMETHOD(get_Name)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_Name)(/*[in]*/ BSTR newVal);
STDMETHOD(get_FrontDecal)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_FrontDecal)(/*[in]*/ BSTR newVal);
STDMETHOD(get_DecalMode)(/*[out, retval]*/ VARIANT_BOOL *pVal);
STDMETHOD(put_DecalMode)(/*[in]*/ VARIANT_BOOL newVal);
STDMETHOD(get_Image)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_Image)(/*[in]*/ BSTR newVal);
STDMETHOD(get_Color)(/*[out, retval]*/ OLE_COLOR *pVal);
STDMETHOD(put_Color)(/*[in]*/ OLE_COLOR newVal);
STDMETHOD(get_VelZ)(/*[out, retval]*/ float *pVal);
STDMETHOD(put_VelZ)(/*[in]*/ float newVal);
STDMETHOD(get_Z)(/*[out, retval]*/ float *pVal);
STDMETHOD(put_Z)(/*[in]*/ float newVal);
STDMETHOD(get_VelY)(/*[out, retval]*/ float *pVal);
STDMETHOD(put_VelY)(/*[in]*/ float newVal);
STDMETHOD(get_VelX)(/*[out, retval]*/ float *pVal);
STDMETHOD(put_VelX)(/*[in]*/ float newVal);
STDMETHOD(get_AngVelZ)(/*[out, retval]*/ float *pVal);
STDMETHOD(put_AngVelZ)(/*[out, retval]*/ float newVal) { return S_OK; } // No-op to not break tables.
STDMETHOD(get_AngVelY)(/*[out, retval]*/ float *pVal);
STDMETHOD(put_AngVelY)(/*[out, retval]*/ float newVal) { return S_OK; } // No-op to not break tables.
STDMETHOD(get_AngVelX)(/*[out, retval]*/ float *pVal);
STDMETHOD(put_AngVelX)(/*[out, retval]*/ float newVal) { return S_OK; } // No-op to not break tables.
STDMETHOD(get_AngMomZ)(/*[out, retval]*/ float *pVal);
STDMETHOD(put_AngMomZ)(/*[in]*/ float newVal);
STDMETHOD(get_AngMomY)(/*[out, retval]*/ float *pVal);
STDMETHOD(put_AngMomY)(/*[in]*/ float newVal);
STDMETHOD(get_AngMomX)(/*[out, retval]*/ float *pVal);
STDMETHOD(put_AngMomX)(/*[in]*/ float newVal);
STDMETHOD(get_Y)(/*[out, retval]*/ float *pVal);
STDMETHOD(put_Y)(/*[in]*/ float newVal);
STDMETHOD(get_X)(/*[out, retval]*/ float *pVal);
STDMETHOD(put_X)(/*[in]*/ float newVal);
STDMETHOD(get_Radius)(/*[out, retval]*/ float *pVal);
STDMETHOD(put_Radius)(/*[in]*/ float newVal);
STDMETHOD(get_Mass)(/*[out, retval]*/ float *pVal);
STDMETHOD(put_Mass)(/*[in]*/ float newVal);
STDMETHOD(get_UserValue)(/*[out, retval]*/ VARIANT *pVal);
STDMETHOD(put_UserValue)(VARIANT *newVal);
STDMETHOD(get_ID)(/*[out, retval]*/ int *pVal);
STDMETHOD(put_ID)(/*[in]*/ int newVal);
STDMETHOD(DestroyBall)(/*[out, retval]*/ int *pVal);
STDMETHOD(get_BulbIntensityScale)(/*[out, retval]*/ float *pVal);
STDMETHOD(put_BulbIntensityScale)(/*[in]*/ float newVal);
STDMETHOD(get_ReflectionEnabled)(/*[out, retval]*/ VARIANT_BOOL *pVal);
STDMETHOD(put_ReflectionEnabled)(/*[in]*/ VARIANT_BOOL newVal);
STDMETHOD(get_PlayfieldReflectionScale)(/*[out, retval]*/ float *pVal);
STDMETHOD(put_PlayfieldReflectionScale)(/*[in]*/ float newVal);
STDMETHOD(get_ForceReflection)(/*[out, retval]*/ VARIANT_BOOL *pVal);
STDMETHOD(put_ForceReflection)(/*[in]*/ VARIANT_BOOL newVal);
STDMETHOD(get_Visible)(/*[out, retval]*/ VARIANT_BOOL *pVal);
STDMETHOD(put_Visible)(/*[in]*/ VARIANT_BOOL newVal);
virtual void FireGroupEvent(const int dispid) {}
virtual IDispatch *GetDispatch() { return ((IDispatch *) this); }
virtual const IDispatch *GetDispatch() const { return ((const IDispatch *) this); }
virtual IDebugCommands *GetDebugCommands() { return (IDebugCommands *) this; }
// IDebugCommands
virtual void GetDebugCommands(std::vector<int> & pvids, std::vector<int> & pvcommandid);
virtual void RunDebugCommand(int id);
Ball *m_pball;
private:
VARIANT m_uservalue;
};