跳转到内容

PF_EventUnion

PF_EventUnion

PF_EventExtra 中的 PF_EventUnion 是以下四种结构的联合体。


Click

在自定义 UI 区域内发生了鼠标点击或拖动。

PF_DoClickEventInfo

成员用途
when点击发生的(操作系统级别的)时间。
screen_point点击发生的屏幕坐标位置。对于自定义合成 UI,可以使用 UI 回调 将这些坐标转换为合成坐标。
请参阅 CCU 示例项目以获取示例。
num_clicks发生的点击次数。
modifiers点击期间按下的修饰键(如果有)。
continue_refcon[4]插件可以在点击-拖动-拖动序列期间使用的 4 个 A_intptr_t 数组。
send_drag将此标志设置为 TRUE 以指示持续拖动。下一个点击事件将有效地成为拖动事件。
last_time在拖动事件结束时设置(用户已释放鼠标按钮)。

Draw

After Effects 需要刷新您的自定义 UI。

注意:处理绘制请求时,请使用 PF_InData 中提供的图像尺寸(而不是输入图层的尺寸,如在 PF_Cmd_RENDER 期间那样)。

PF_DrawEventInfo

成员用途
update_rect在上下文窗口的坐标系中绘制的矩形。可以使用 UI 回调 将这些坐标转换为不同的坐标系。
请参阅 CCU 示例项目以获取示例。
depth绘图上下文的像素深度。

Keydown

用户按下了键,并且效果的 UI 处于活动状态。

使用 AE_EffectUI.h 中的宏来访问和操作接收到的键码。

为了在 Premiere Pro 中接收按键事件,插件必须在 PF_Cmd_PARAM_SETUP 期间在 PF_CustomUIInfo.events 中设置 PF_CustomEFlag_COMP。

PF_KeyDownEvent

成员用途
when点击发生的时间。
screen_point按键时鼠标指针的屏幕坐标。
对于自定义合成 UI,可以使用 UI 回调 将这些坐标转换为合成坐标。
请参阅 CCU 示例项目以获取示例。
key_code字符码(对于可打印字符,我们使用未移位的上版本;A 而不是 a,7 而不是 &)或控制码:
- PF_ControlCode_Unknown
- PF_ControlCode_Space
- PF_ControlCode_Backspace
- PF_ControlCode_Tab
- PF_ControlCode_Return
- PF_ControlCode_Enter
- PF_ControlCode_Escape
- PF_ControlCode_F1
- …
- PF_ControlCode_F24
- PF_ControlCode_PrintScreen
- PF_ControlCode_ScrollLock
- PF_ControlCode_Pause
- PF_ControlCode_Insert
- PF_ControlCode_Delete
- PF_ControlCode_Home
- PF_ControlCode_End
- PF_ControlCode_PageUp
- PF_ControlCode_PageDown
- PF_ControlCode_Help
- PF_ControlCode_Clear
- PF_ControlCode_Left
- PF_ControlCode_Right
- PF_ControlCode_Up
- PF_ControlCode_Down
- PF_ControlCode_NumLock
- PF_ControlCode_Command
- PF_ControlCode_Option
- PF_ControlCode_Alt = PF_ControlCode_Option
- PF_ControlCode_Control
- PF_ControlCode_Shift
- PF_ControlCode_CapsLock
- PF_ControlCode_ContextMenu
modifiers按键期间按下的修饰键(如果有)。
- PF_Mod_NONE
- PF_Mod_CMD_CTRL_KEY(Mac 上的 cmd,Windows 上的 ctrl)
- PF_Mod_SHIFT_KEY
- PF_Mod_CAPS_LOCK_KEY
- PF_Mod_OPT_ALT_KEY(Mac 上的 option,Windows 上的 alt)
- PF_Mod_MAC_CONTROL_KEY

AdjustCursor

光标已移动到效果的自定义 UI 上(但未移出),以允许效果更改光标。

PF_AdjustCursorEventInfo

成员用途
screen_point鼠标指针的屏幕坐标。对于自定义合成 UI,可以使用 UI 回调 将这些坐标转换为合成坐标。
请参阅 CCU 示例项目以获取示例。
modifiers发送消息时按下的修饰键(如果有)。
set_cursor将此设置为您所需的光标,或如果您已使用操作系统特定的调用设置了光标,则设置为 PF_Cursor_CUSTOM。请参阅 AE_EffectUI.h 以获取内置光标的完整枚举。
如果您不想覆盖光标,请将此设置为 PF_Cursor_NONE,或者直接忽略此消息。

Arbitrary Parameters Event

After Effects 需要您的插件管理其任意数据参数。

尽管自定义 UI 支持不需要任意数据类型,但 PF_ArbParamsExtra 遵循 EventInfo 模型。

PF_ArbParamsExtra

成员用途
which_function指示调用哪个函数的 PF_FunctionSelector
id由 After Effects 使用;将与 PF_Cmd_PARAM_SETUP 期间分配给任意数据类型的 ID 匹配。
padding用于字节对齐
u {
new_func_params
dispose_func_params
copy_func_params
flat_size_func_params
flatten_func_params
unflatten_func_params
interp_func_params
compare_func_params
print_size_func_params
print_func_params
scan_func_params
}
(将传递其中之一;请参阅 任意数据参数