1. 获取过滤器执行记录
- /**
- * record: 记录套件
- **/
- TRIGLAV_PLUGIN_API *TriglavPlugInGetFilterRunRecord(
- TriglavPlugInRecordSuite record);
2. 从指定的宿主对象中获取一个属性对象,若失败返回 null
- /**
- * record: 记录套件
- * hostObject: 宿主对象
- * propertyObject: 属性对象
- **/
- TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetProperty(
- TriglavPlugInRecordSuite record,
- TriglavPlugInHostObject hostObject,
- TriglavPlugInPropertyObject* propertyObject)
3. 从指定的宿主对象获取画布宽度
- /**
- * record: 记录套件
- * hostObject: 宿主对象
- * width: 画布宽度
- **/
- TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetCanvasWidth(
- TriglavPlugInRecordSuite record,
- TriglavPlugInHostObject hostObject,
- TriglavPlugInInt* width);
4. 从指定的宿主对象获取画布高度
- /**
- * record: 记录套件
- * hostObject: 宿主对象
- * height: 画布高度
- **/
- TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetCanvasHeight(
- TriglavPlugInRecordSuite record,
- TriglavPlugInHostObject hostObject,
- TriglavPlugInInt* height);
5. 从指定的宿主对象获取画布分辨率
- /**
- * record: 记录套件
- * hostObject: 宿主对象
- * resolution: 画布分辨率
- **/
- TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetCanvasResolution(
- TriglavPlugInRecordSuite record,
- TriglavPlugInHostObject hostObject,
- TriglavPlugInInt* resolution);
6. 从指定的宿主对象获取编辑图层原点
- /**
- * record: 记录套件
- * hostObject: 宿主对象
- * layerOrigin: 编辑图层原点
- **/
- TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetLayerOrigin(
- TriglavPlugInRecordSuite record,
- TriglavPlugInHostObject hostObject,
- TriglavPlugInPoint* layerOrigin);
7. 从指定的宿主对象判断是否选择了编辑图层的掩码。如果选择了,则 kTriglavPlugInBoolTrue 将替换所选参数;如果未选择,则 kTriglavPlugInBoolFalse 将替换所选参数;如果获取失败,则 kTriglavPlugInBoolFalse 将替换所选参数。
- /**
- * record: 记录套件
- * hostObject: 宿主对象
- * selected: 是否选择图层蒙版
- **/
- TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunIsLayerMaskSelected(
- TriglavPlugInRecordSuite record,
- TriglavPlugInHostObject hostObject,
- TriglavPlugInBool* selected);
8. 从指定的宿主对象判断编辑图层的透明像素是否被锁定
- /**
- * record: 记录套件
- * hostObject: 宿主对象
- * locked: 透明像素是否被锁定
- **/
- TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunIsAlphaLocked(
- TriglavPlugInRecordSuite record,
- TriglavPlugInHostObject hostObject,
- TriglavPlugInBool* locked);
9. 从指定的宿主对象获取执行过程的原始屏幕外资源
- /**
- * record: 记录套件
- * hostObject: 宿主对象
- * offscreenObject: 屏幕外对象
- **/
- TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetSourceOffscreen(
- TriglavPlugInRecordSuite record,
- TriglavPlugInHostObject hostObject,
- TriglavPlugInOffscreenObject* offscreenObject);
10. 从指定的宿主对象获取执行过程的目标屏幕外资源
- /**
- * record: 记录套件
- * hostObject: 宿主对象
- * offscreenObject: 屏幕外对象
- **/
- TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetDestinationOffscreen(
- TriglavPlugInRecordSuite record,
- TriglavPlugInHostObject hostObject,
- TriglavPlugInOffscreenObject* offscreenObject);
11. 从指定的宿主对象获取编辑图层是否有屏幕外选择
- /**
- * record: 记录套件
- * hostObject: 宿主对象
- * hasSelectAreaOffscreen: 是否有屏幕外选择
- **/
- TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunHasSelectAreaOffscreen(
- TriglavPlugInRecordSuite record,
- TriglavPlugInHostObject hostObject,
- TriglavPlugInBool* hasSelectAreaOffscreen);
12. 从指定的离屏对象获取选择区域的边界矩形
- /**
- * record: 记录套件
- * offscreenObject: 离屏对象
- * rect: 选择区域的边界矩形(像素)
- **/
- TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetSelectAreaRect(
- TriglavPlugInRecordSuite record,
- TriglavPlugInOffscreenObject offscreenObject,
- TriglavPlugInRect* rect);
从指定的宿主对象获取屏幕外选择的区域对象,可以使用函数 TriglavPlugInFilterRunHasSelectAreaOffscreen()。
13. 检查是否存在屏幕外选择
- /**
- * record: 记录套件
- * hostObject: 宿主对象
- * offscreenObject: 离屏对象
- **/
- TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetSelectAreaOffscreen(
- TriglavPlugInRecordSuite record,
- TriglavPlugInHostObject hostObject,
- TriglavPlugInOffscreenObject* offscreenObject);
14. 更新指定宿主对象的目标屏幕外
- /**
- * record: 记录套件
- * hostObject: 宿主对象
- * updateRect: 更新范围
- **/
- TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunUpdateDestinationOffscreenRect(
- TriglavPlugInRecordSuite record,
- TriglavPlugInHostObject hostObject,
- const TrigravPlugInRect* updateRect);
15. 从指定的宿主对象获取当前主颜色
- /**
- * record: 记录套件
- * hostObject: 宿主对象
- * mainColor: 主色调
- * mainAlpha: 主透明度
- **/
- TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetMainColor(
- TriglavPlugInRecordSuite record,
- TriglavPlugInHostObject hostObject,
- TriglavPlugInRGBColor* mainColor,
- TriglavPlugInUInt8* mainAlpha);
16. 从指定的宿主对象获取当前子颜色
- /**
- * record: 记录套件
- * hostObject: 宿主对象
- * subColor: 子色调
- * subAlpha: 子透明度
- **/
- TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetSubColor(
- TriglavPlugInRecordSuite record,
- TriglavPlugInHostObject hostObject,
- TriglavPlugInRGBColor* subColor,
- TriglavPlugInUInt8* subAlpha);
17. 从指定的宿主对象获取当前的绘图颜色
- /**
- * record: 记录套件
- * hostObject: 宿主对象
- * drawColor: 绘图颜色
- * drawAlpha: 绘图透明度
- **/
- TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetDrawColor(
- TriglavPlugInRecordSuite record,
- TriglavPlugInHostObject hostObject,
- TriglavPlugInRGBColor* drawColor,
- TriglavPlugInUInt8* drawAlpha);
18. 从指定插件的过滤运行状态获取宿主对象的过滤器运行状态
- /**
- * record: 记录套件
- * hostObject: 宿主对象
- * processState: 插件模块的过滤器运行状态
- * result: 宿主对象的过滤器运行状态
- **/
- TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunProcess(
- TriglavPlugInRecordSuite record,
- TriglavPlugInHostObject hostObject,
- const TriglavPlugInInt processState,
- TriglavPlugInInt* result);
指示参数 processState 的状态及其对应的参数结果,开发者必须根据参数结果的结果进行适当的处理。
processState | result | note |
kTriglavPlugInFilterRunProcessStateStart | kTriglavPlugInFilterRunProcessResultRestart | 处理需要重新计算 |
kTriglavPlugInFilterRunProcessResultContinue | 继续处理 | |
kTriglavPlugInFilterRunProcessResultExit | 需要完成处理(取消按钮或×按钮被按下) | |
kTriglavPlugInFilterRunProcessStateContinue | kTriglavPlugInFilterRunProcessResultRestart | 处理需要重新计算 |
kTriglavPlugInFilterRunProcessResultContinue | 继续处理 | |
kTriglavPlugInFilterRunProcessResultExit | 需要完成处理(取消按钮或×按钮被按下) | |
kTriglavPlugInFilterRunProcessStateEnd | kTriglavPlugInFilterRunProcessResultRestart | 处理需要重新计算 |
kTriglavPlugInFilterRunProcessResultExit | 需要结束处理(按下确定按钮) | |
kTriglavPlugInFilterRunProcessStateAbort | kTriglavPlugInFilterRunProcessResultContinue | 继续处理 |
kTriglavPlugInFilterRunProcessResultExit | 需要完成处理(取消按钮或×按钮被按下) |
19. 设置指定宿主对象的总进度
- /**
- * record: 记录套件
- * hostObject: 宿主对象
- * progressTotal: 总进度
- **/
- TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunSetProgressTotal(
- TriglavPlugInRecordSuite record,
- TriglavPlugInHostObject hostObject,
- const TriglavPlugInInt progressTotal);
20. 设置指定宿主对象的进度
- /**
- * record: 记录套件
- * hostObject: 宿主对象
- * progressState: 进度
- **/
- TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunSetProgressDone(
- TriglavPlugInRecordSuite record,
- TriglavPlugInHostObject hostObject,
- const TriglavPlugInInt progressState);
本篇以及上篇🔗clipStudioPaint插件开发之记录套件(一)介绍的就是记录套件的全部 api 了,下篇将介绍服务套件的相关内容。