IDirectManipulationUpdateHandler 接口是 Direct Manipulation API 中的一个接口,用于处理 Direct Manipulation 视口的更新事件。以下是该接口的定义:DECLARE_INTERFACE_(IDirectManipulationUpdateHandler, IUnknown){ STDMETHOD(Update)(THIS_ _In_ IDirectManipulationViewport *viewport, _In_ IDirectManipulationUpdateContext *updateContext) PURE;};这个接口只包含一个方法: Update: 当 Direct Manipulation 视口需要更新时调用。通过传入 IDirectManipulationViewport 接口和 IDirectManipulationUpdateContext 接口,该方法通知应用程序进行更新操作。在这个方法中,你可以实现具体的更新逻辑,以响应 Direct Manipu...
IDirectManipulationManager2 接口是 Direct Manipulation API 中的一个扩展接口,继承自 IDirectManipulationManager 接口,用于创建和管理 Direct Manipulation 会话。以下是该接口的定义:DECLARE_INTERFACE_(IDirectManipulationManager2, IDirectManipulationManager){ STDMETHOD(CreateViewport2)(THIS_ _In_ IDirectManipulationFrameInfoProvider *frameInfo, _In_opt_ IUnknown *callback, _Out_ IDirectManipulationViewport2 **viewport) PURE;};这个接口新增了一个方法: CreateViewport2: 创建一个 Direct Manipulation 视口,并返回相关的 IDirectManipulationViewp...
IDirectManipulationFrameInfoProvider 接口是 Direct Manipulation API 中的一个接口,用于提供有关 Direct Manipulation 框架信息的服务。以下是该接口的定义:DECLARE_INTERFACE_(IDirectManipulationFrameInfoProvider, IUnknown){ STDMETHOD(GetNextFrameInfo)(THIS_ _In_ ULONGLONG *time, _Out_ ULONGLONG *processTime, _Out_ ULONGLONG *compositionTime) PURE;};这个接口只包含一个方法: GetNextFrameInfo: 获取下一帧的信息。通过传入指向 ULONGLONG 类型的指针,该方法返回时间戳信息。time 参数表示当前帧的时间戳,processTime 表示 Direct Manipulation 处理这一帧所花费的时间,compositionTime 表示这一帧在合成中的...
IDirectManipulationContent 接口是 Direct Manipulation API 中的一个接口,用于表示 Direct Manipulation 操作的内容。以下是该接口的定义:DECLARE_INTERFACE_(IDirectManipulationContent, IUnknown){ STDMETHOD(GetContent)(THIS_ _Outptr_result_maybenull_ IUnknown **content) PURE; STDMETHOD(GetConfiguration)(THIS_ _In_ DWORD configuration, _Outptr_result_maybenull_ IUnknown **content) PURE;};这个接口包含以下两个方法: GetContent: 获取与当前 Direct Manipulation 内容关联的 COM 对象。该方法返回一个指向内容对象的指针,该对象实现了 IUnknown 接口。 GetConfiguration:...
IDirectManipulationCompositor 接口是 Direct Manipulation API 中的一个接口,用于创建和管理 Direct Manipulation 会话(sessions)。以下是该接口的定义:DECLARE_INTERFACE_(IDirectManipulationCompositor, IUnknown){ STDMETHOD(CreateDevice)(THIS_ _In_ IUnknown *device, _Out_ IDirectManipulationDevice **newDevice) PURE; STDMETHOD(CreateDevice2)(THIS_ _In_ IUnknown *device, _Out_ IDirectManipulationDevice2 **newDevice) PURE; STDMETHOD(CreateManager)(THIS_ _In_ IDirectManipulationFrameInfoProvi...
在 Direct Manipulation API 中,DIRECTMANIPULATION_VIEWPORT_OPTIONS 枚举用于指定视口的选项。以下是该枚举的定义:typedef enum DIRECTMANIPULATION_VIEWPORT_OPTIONS { DIRECTMANIPULATION_VIEWPORT_OPTIONS_DEFAULT = 0x00000000, DIRECTMANIPULATION_VIEWPORT_OPTIONS_AUTODISABLE = 0x00000001, DIRECTMANIPULATION_VIEWPORT_OPTIONS_MANUALUPDATE = 0x00000002, DIRECTMANIPULATION_VIEWPORT_OPTIONS_INPUT = 0x00000004, DIRECTMANIPULATION_VIEWPORT_OPTIONS_EXPLICITHITTEST = 0x00000008, DIRECTMANIPU...
在 Direct Manipulation API 中,DIRECTMANIPULATION_STATUS 枚举用于表示 Direct Manipulation 操作的状态。以下是该枚举的常见值:typedef enum DIRECTMANIPULATION_STATUS { DIRECTMANIPULATION_READY = 0, DIRECTMANIPULATION_BUSY = 1, DIRECTMANIPULATION_INERTIA = 2, DIRECTMANIPULATION_READYFORANIMATION = 3, DIRECTMANIPULATION_RUNNING = 4, DIRECTMANIPULATION_ERROR = 5, DIRECTMANIPULATION_SETTLING = 6,} DIRECTMANIPULATION_STATUS; DIRECTMANIP...
根据我了解的信息,DIRECTMANIPULATION_MOTION_TYPES 枚举用于表示 DirectManipulation 操作中的运动类型。在 Windows 的 DirectManipulation API 中,该枚举的定义如下:typedef enum DIRECTMANIPULATION_MOTION_TYPES { DIRECTMANIPULATION_MOTION_NONE, DIRECTMANIPULATION_MOTION_TRANSLATE_X, DIRECTMANIPULATION_MOTION_TRANSLATE_Y, DIRECTMANIPULATION_MOTION_SCALE, DIRECTMANIPULATION_MOTION_ROTATE} DIRECTMANIPULATION_MOTION_TYPES;这个枚举定义了以下常量: DIRECTMANIPULATION_MOTION_NONE: 无运动类型。 DIRECTMANIPULATION_MOTION_TRANSLATE_X: 沿 X 轴平移运动类型。 DIRECTMANIPUL...
根据我了解的信息,DIRECTMANIPULATION_INTERACTION_TYPE 是用于表示 DirectManipulation 操作中交互类型的枚举。在 Windows 的 DirectManipulation API 中,该枚举的定义如下:typedef enum DIRECTMANIPULATION_INTERACTION_TYPE { DIRECTMANIPULATION_INTERACTION_BEGIN, DIRECTMANIPULATION_INTERACTION_UPDATE, DIRECTMANIPULATION_INTERACTION_END} DIRECTMANIPULATION_INTERACTION_TYPE;这个枚举定义了以下常量: DIRECTMANIPULATION_INTERACTION_BEGIN: 交互开始。表示用户开始了 DirectManipulation 操作。 DIRECTMANIPULATION_INTERACTION_UPDATE: 交互更新。表示用户正在进行 DirectManipulation 操作的更新。 DIRE...
根据我了解的信息,DIRECTMANIPULATION_INPUT_MODE 是用于表示 DirectManipulation 操作中输入模式的枚举。在 Windows 的 DirectManipulation API 中,该枚举的定义如下:typedef enum DIRECTMANIPULATION_INPUT_MODE { DIRECTMANIPULATION_INPUT_MODE_AUTOMATIC, DIRECTMANIPULATION_INPUT_MODE_MANUAL} DIRECTMANIPULATION_INPUT_MODE;这个枚举定义了以下常量: DIRECTMANIPULATION_INPUT_MODE_AUTOMATIC: 自动输入模式。在此模式下,DirectManipulation 将根据用户的输入自动切换模式。 DIRECTMANIPULATION_INPUT_MODE_MANUAL: 手动输入模式。在此模式下,DirectManipulation 不会自动切换模式,需要手动设置。这些常量用于配置 DirectManipulation 操作中的输入模...
根据我了解的信息,DIRECTMANIPULATION_HORIZONTALALIGNMENT 是用于表示 DirectManipulation 操作中水平对齐方式的枚举。在 Windows 的 DirectManipulation API 中,该枚举的定义如下:typedef enum DIRECTMANIPULATION_HORIZONTALALIGNMENT { DIRECTMANIPULATION_HORIZONTALALIGNMENT_CENTER, DIRECTMANIPULATION_HORIZONTALALIGNMENT_LEFT, DIRECTMANIPULATION_HORIZONTALALIGNMENT_RIGHT} DIRECTMANIPULATION_HORIZONTALALIGNMENT;这个枚举定义了以下常量: DIRECTMANIPULATION_HORIZONTALALIGNMENT_CENTER: 中心对齐。 DIRECTMANIPULATION_HORIZONTALALIGNMENT_LEFT: 左对齐。 DIRECTMANIPULATION...
根据我了解的信息,DIRECTMANIPULATION_HITTEST_TYPE 是用于表示 DirectManipulation 命中测试类型的枚举。在 Windows 的 DirectManipulation API 中,该枚举的定义如下:typedef enum DIRECTMANIPULATION_HITTEST_TYPE { DIRECTMANIPULATION_HITTEST_TYPE_ASYNCHRONOUS, DIRECTMANIPULATION_HITTEST_TYPE_SYNCHRONOUS, DIRECTMANIPULATION_HITTEST_TYPE_AUTO} DIRECTMANIPULATION_HITTEST_TYPE;这个枚举定义了以下常量: DIRECTMANIPULATION_HITTEST_TYPE_ASYNCHRONOUS: 异步命中测试类型。 DIRECTMANIPULATION_HITTEST_TYPE_SYNCHRONOUS: 同步命中测试类型。 DIRECTMANIPULATION_HITTEST_TYPE_AUTO: 自动命中测...
根据我了解的信息,DIRECTMANIPULATION_GESTURE_CONFIGURATION 并不是一个枚举,而是表示用于配置 DirectManipulation 手势的结构体。在 Windows 的 DirectManipulation API 中,该结构体的定义如下:typedef struct DIRECTMANIPULATION_GESTURE_CONFIGURATION { DWORD dwSize; DWORD cAvailableGestures; DWORD dwDefaultConfiguration;} DIRECTMANIPULATION_GESTURE_CONFIGURATION;这个结构体包含以下字段: dwSize: 结构体的大小。 cAvailableGestures: 可用手势的数量。 dwDefaultConfiguration: 默认手势配置。这些字段用于配置 DirectManipulation 操作的手势行为,包括设置可用的手势数量和指定默认手势配置。请注意,使...
根据我了解的信息,DIRECTMANIPULATION_DRAG_DROP_STATUS 并不是一个枚举,而是用于表示 DirectManipulation 拖放操作状态的常量。在 Windows 的 DirectManipulation API 中,该状态常量的定义如下:#define DIRECTMANIPULATION_DRAG_DROP_STATUS_READY 0x00000000#define DIRECTMANIPULATION_DRAG_DROP_STATUS_HOLDING 0x00000001#define DIRECTMANIPULATION_DRAG_DROP_STATUS_DRAGGING 0x00000002#define DIRECTMANIPULATION_DRAG_DROP_STATUS_CANCELLED 0x00000003这些常量用于描述拖放操作的不同状态: DIRECTMANIPULATION_DRAG_DROP_STATUS_READY: 准备状态,表示可以开始拖放操作。 ...
根据我了解的信息,DIRECTMANIPULATION_DRAG_DROP_CONFIGURATION 不是一个枚举,而是表示用于配置 DirectManipulation 拖放操作的结构体。在 Windows 的 DirectManipulation API 中,该结构体的定义如下:typedef struct DIRECTMANIPULATION_DRAG_DROP_CONFIGURATION { DWORD dwSize; DWORD dragDropPositiveVelocity; DWORD dragDropPositiveAcceleration; DWORD dragDropNegativeVelocity; DWORD dragDropNegativeAcceleration;} DIRECTMANIPULATION_DRAG_DROP_CONFIGURATION;这个结构体包含以下字段: dwSize: 结构体的大小。 dragDropPositiveVelocity: 正向拖动的速度。 drag...
根据我了解的信息,DIRECTMANIPULATION_CONFIGURATION 不是一个枚举,而是表示一个用于配置 DirectManipulation 操作的结构体。在 Windows 的 DirectManipulation API 中,该结构体的定义如下:typedef struct DIRECTMANIPULATION_CONFIGURATION { DWORD dwSize; DWORD scrollLimitMask; DWORD interactionFlags; DWORD flags; UINT32 inertiaEndSpeed; FLOAT inertiaDecayRate; FLOAT boundaryLeft; FLOAT boundaryTop; FLOAT boundaryRight; FLOAT boundaryBottom; UINT32 tickCount; FLOAT ...
根据我了解的信息,DIRECTMANIPULATION_AUTOSCROLL_CONFIGURATION 并不是一个枚举,而是表示一个用于配置自动滚动行为的结构体。在 Windows 的 DirectManipulation API 中,该结构体的定义如下:typedef struct DIRECTMANIPULATION_AUTOSCROLL_CONFIGURATION { UINT32 tickCount; FLOAT endMultiplier; FLOAT tickMultiplier;} DIRECTMANIPULATION_AUTOSCROLL_CONFIGURATION;这个结构体包含了以下字段: tickCount: 表示触发自动滚动的时间间隔(以毫秒为单位)。 endMultiplier: 表示在滚动停止时的滚动速度的倍率。 tickMultiplier: 表示在每个时间间隔内的滚动速度的倍率。这些配置参数用于定义 DirectManipulation 操作中的自动滚动行为。在使用 DirectManipulation 进行滚动时,可以通过配置这些参数来调整...
IDirectInputJoyConfig8 接口是 DirectInput 中的一个接口,用于配置和管理游戏控制器的信息。以下是该接口的定义:#undef INTERFACE#define INTERFACE IDirectInputJoyConfig8DECLARE_INTERFACE_(IDirectInputJoyConfig8, IUnknown){ STDMETHOD(GetTypeInfo)(THIS_ REFGUID, LPDIJOYTYPEINFO, DWORD, LPCWSTR, LPCWSTR) PURE; STDMETHOD(SetTypeInfo)(THIS_ REFGUID, LPCDIJOYTYPEINFO, DWORD, LPCWSTR) PURE; STDMETHOD(DeleteType)(THIS_ REFGUID) PURE; STDMETHOD(GetConfig)(THIS_ UINT, LPDIJOYCONFIG, DWORD) PURE; STDMETHOD(SetConfig)(THIS_ UINT, LP...
JOYREGHWVALUES 结构是在 DirectInput 中用于描述游戏控制器硬件属性的结构。以下是该结构的定义:typedef struct joyreghwvalues { DWORD dwUsageSettings; DWORD dwTypeSettings; DWORD dwReserved1; DWORD dwReserved2; DWORD dwCalFlags; DWORD dwDPadFailSettings; DWORD dwPOVFailSettings; DWORD dwCalFlags2; DWORD dwReserved3[5];} JOYREGHWVALUES, *LPJOYREGHWVALUES;各个字段的含义如下: dwUsageSettings: 控制器的使用设置。 dwTypeSettings: 控制器的类型设置。 dwReserved1, dwReserved2: 保留字段。 dwCalFlags: 标志位,指示是否启用了校准。 dwDPadFailSettings: 十字键的故障检测设置...
DIOBJECTATTRIBUTES 结构是 DirectInput 中的一个结构,用于描述输入对象的属性。以下是该结构的定义:typedef struct DIOBJECTATTRIBUTES { DWORD dwSize; // 结构体的大小 DWORD dwFlags; // 标志位 DWORD dwType; // 对象的类型 DWORD dwInstance; // 对象的实例 DWORD dwFFMaxForce; // 力反馈的最大力量 DWORD dwFFForceResolution; // 力反馈力量的分辨率 DWORD dwFFSamplePeriod; // 力反馈采样周期 DWORD dwReserved; // 保留字段} DIOBJECTATTRIBUTES, *LPDIOBJECTATTRIBUTES;各个字段的含义如下: dwSize: 结构体的大小,以字节为单位。 dwFlags: ...
最新文章