跳转到内容

PF_EventExtra

PF_EventExtra

此结构体为当前事件提供上下文信息。After Effects 在 入口函数 函数的 extra 参数中传递指向此结构体的指针。

PF_EventUnion(通过 PF_EventExtra 发送)随事件类型而变化,并包含特定于该事件的信息。

成员用途
contextHPF_Context 的句柄。
此绘图上下文与 Drawbot 套件 一起用于绘图,也用于 UI 回调
e_type发生的 事件 类型。
u包含特定事件信息的 PF_EventUnion
effect_win如果事件发生在效果窗口内,则为关于该事件的 PF_EffectWindowInfo
否则,自 After Effects 5.0 起,effect_win 可以被 PF_WindowUnion 替换。
此结构体包含 PF_EffectWindowInfoPF_ItemWindowInfo(目前只是项目窗口的端口矩形)。
只有在编译时定义了 PF_USE_NEW_WINDOW_UNION 时才会进行替换;否则,它将继续只是一个 PF_EffectWindowInfo
cbs指向 UI 回调 的指针,这些回调用于在图层、合成和屏幕坐标系之间转换点。
evt_in_flags事件输入标志。目前仅包含一个值 PF_EI_DONT_DRAW,在绘制前应检查此标志!
evt_out_flags以下一个或多个值,通过按位 OR 操作组合:
- PF_EO_NONE
- PF_EO_HANDLED_EVENT 告诉 After Effects 你已经处理了该事件。
- PF_EO_ALWAYS_UPDATE 强制 After Effects 在每次点击或拖动时重新渲染合成;这与“alt-scrubbing”参数值生成的行为相同。
- PF_EO_NEVER_UPDATE 阻止 After Effects 在用户停止点击和拖动之前重新渲染合成。
- PF_EO_UPDATE_NOW 告诉 After Effects 在调用 PF_InvalidateRect 后立即更新视图。

PF_Context

PF_Context 详细说明了事件的 UI 上下文。

成员用途
magic请勿更改。
w_type窗口类型。如果你在同一插件中有自定义合成和 ECW UI,这是区分它们的方式(你到底是有多自虐?)。
- PF_Window_COMP,
- PF_Window_LAYER,
- PF_Window_EFFECT
reserved_flt请勿更改。
plugin_state[4]一个包含 4 个 A_longs 的数组,插件可以使用它来存储给定上下文的状态信息。
reserved_drawref用于 Drawbot 套件DRAWBOT_DrawRef
*reserved_paneP请勿更改。

PF_EffectWindowInfo

如果事件发生在 ECP 中,则会在 PF_EventExtra 中发送 PF_EffectWindowInfo。

成员用途
index这表示效果窗口中哪个参数受到影响。控件从 0 到控件数量减 1 编号。
area这表示是控件标题 (PF_EA_PARAM_TITLE) 还是控件本身 (PF_EA_CONTROL) 受到影响。
标题是当参数的“twirly”展开时仍然可见的区域。
current_frame一个 PF_Rect,指示控件占用的完整区域。
param_title_frame一个 PF_Rect,指示控件的标题区域。
horiz_offset从标题区域左侧的水平偏移量,用于在标题中绘制。