• clipStudioPaint插件开发之记录套件(二)


    三、 过滤器执行记录

            1. 获取过滤器执行记录

    1. /**
    2.  * record: 记录套件
    3. **/
    4. TRIGLAV_PLUGIN_API *TriglavPlugInGetFilterRunRecord(
    5. TriglavPlugInRecordSuite record);

            2. 从指定的宿主对象中获取一个属性对象,若失败返回 null

    1. /**
    2.  * record: 记录套件
    3.  * hostObject: 宿主对象
    4.  * propertyObject: 属性对象
    5. **/
    6. TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetProperty(
    7. TriglavPlugInRecordSuite record,
    8. TriglavPlugInHostObject hostObject,
    9. TriglavPlugInPropertyObject* propertyObject)

            3. 从指定的宿主对象获取画布宽度

    1. /**
    2.  * record: 记录套件
    3.  * hostObject: 宿主对象
    4.  * width: 画布宽度
    5. **/
    6. TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetCanvasWidth(
    7. TriglavPlugInRecordSuite record,
    8. TriglavPlugInHostObject hostObject,
    9. TriglavPlugInInt* width);

            4. 从指定的宿主对象获取画布高度

    1. /**
    2.  * record: 记录套件
    3.  * hostObject: 宿主对象
    4.  * height: 画布高度
    5. **/
    6. TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetCanvasHeight(
    7. TriglavPlugInRecordSuite record,
    8. TriglavPlugInHostObject hostObject,
    9. TriglavPlugInInt* height);

            5. 从指定的宿主对象获取画布分辨率

    1. /**
    2.  * record: 记录套件
    3.  * hostObject: 宿主对象
    4.  * resolution: 画布分辨率
    5. **/
    6. TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetCanvasResolution(
    7. TriglavPlugInRecordSuite record,
    8. TriglavPlugInHostObject hostObject,
    9. TriglavPlugInInt* resolution);

            6. 从指定的宿主对象获取编辑图层原点

    1. /**
    2.  * record: 记录套件
    3.  * hostObject: 宿主对象
    4.  * layerOrigin: 编辑图层原点
    5. **/
    6. TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetLayerOrigin(
    7. TriglavPlugInRecordSuite record,
    8. TriglavPlugInHostObject hostObject,
    9. TriglavPlugInPoint* layerOrigin);

            7. 从指定的宿主对象判断是否选择了编辑图层的掩码。如果选择了,则 kTriglavPlugInBoolTrue 将替换所选参数;如果未选择,则 kTriglavPlugInBoolFalse 将替换所选参数;如果获取失败,则 kTriglavPlugInBoolFalse 将替换所选参数。

    1. /**
    2.  * record: 记录套件
    3.  * hostObject: 宿主对象
    4.  * selected: 是否选择图层蒙版
    5. **/
    6. TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunIsLayerMaskSelected(
    7. TriglavPlugInRecordSuite record,
    8. TriglavPlugInHostObject hostObject,
    9. TriglavPlugInBool* selected);

            8. 从指定的宿主对象判断编辑图层的透明像素是否被锁定

    1. /**
    2.  * record: 记录套件
    3.  * hostObject: 宿主对象
    4.  * locked: 透明像素是否被锁定
    5. **/
    6. TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunIsAlphaLocked(
    7. TriglavPlugInRecordSuite record,
    8. TriglavPlugInHostObject hostObject,
    9. TriglavPlugInBool* locked);

            9. 从指定的宿主对象获取执行过程的原始屏幕外资源

    1. /**
    2.  * record: 记录套件
    3.  * hostObject: 宿主对象
    4.  * offscreenObject: 屏幕外对象
    5. **/
    6. TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetSourceOffscreen(
    7. TriglavPlugInRecordSuite record,
    8. TriglavPlugInHostObject hostObject,
    9. TriglavPlugInOffscreenObject* offscreenObject);

            10. 从指定的宿主对象获取执行过程的目标屏幕外资源

    1. /**
    2.  * record: 记录套件
    3.  * hostObject: 宿主对象
    4.  * offscreenObject: 屏幕外对象
    5. **/
    6. TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetDestinationOffscreen(
    7. TriglavPlugInRecordSuite record,
    8. TriglavPlugInHostObject hostObject,
    9. TriglavPlugInOffscreenObject* offscreenObject);

            11. 从指定的宿主对象获取编辑图层是否有屏幕外选择

    1. /**
    2.  * record: 记录套件
    3.  * hostObject: 宿主对象
    4.  * hasSelectAreaOffscreen: 是否有屏幕外选择
    5. **/
    6. TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunHasSelectAreaOffscreen(
    7. TriglavPlugInRecordSuite record,
    8. TriglavPlugInHostObject hostObject,
    9. TriglavPlugInBool* hasSelectAreaOffscreen);

            12. 从指定的离屏对象获取选择区域的边界矩形

    1. /**
    2.  * record: 记录套件
    3.  * offscreenObject: 离屏对象
    4.  * rect: 选择区域的边界矩形(像素)
    5. **/
    6. TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetSelectAreaRect(
    7. TriglavPlugInRecordSuite record,
    8. TriglavPlugInOffscreenObject offscreenObject,
    9. TriglavPlugInRect* rect);

            从指定的宿主对象获取屏幕外选择的区域对象,可以使用函数 TriglavPlugInFilterRunHasSelectAreaOffscreen()。

            13. 检查是否存在屏幕外选择

    1. /**
    2.  * record: 记录套件
    3.  * hostObject: 宿主对象
    4.  * offscreenObject: 离屏对象
    5. **/
    6. TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetSelectAreaOffscreen(
    7. TriglavPlugInRecordSuite record,
    8. TriglavPlugInHostObject hostObject,
    9. TriglavPlugInOffscreenObject* offscreenObject);

            14. 更新指定宿主对象的目标屏幕外

    1. /**
    2.  * record: 记录套件
    3.  * hostObject: 宿主对象
    4.  * updateRect: 更新范围
    5. **/
    6. TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunUpdateDestinationOffscreenRect(
    7. TriglavPlugInRecordSuite record,
    8. TriglavPlugInHostObject hostObject,
    9. const TrigravPlugInRect* updateRect);

            15. 从指定的宿主对象获取当前主颜色

    1. /**
    2.  * record: 记录套件
    3.  * hostObject: 宿主对象
    4.  * mainColor: 主色调
    5.  * mainAlpha: 主透明度
    6. **/
    7. TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetMainColor(
    8. TriglavPlugInRecordSuite record,
    9. TriglavPlugInHostObject hostObject,
    10. TriglavPlugInRGBColor* mainColor,
    11. TriglavPlugInUInt8* mainAlpha);

            16. 从指定的宿主对象获取当前子颜色

    1. /**
    2.  * record: 记录套件
    3.  * hostObject: 宿主对象
    4.  * subColor: 子色调
    5.  * subAlpha: 子透明度
    6. **/
    7. TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetSubColor(
    8. TriglavPlugInRecordSuite record,
    9. TriglavPlugInHostObject hostObject,
    10. TriglavPlugInRGBColor* subColor,
    11. TriglavPlugInUInt8* subAlpha);

            17. 从指定的宿主对象获取当前的绘图颜色

    1. /**
    2.  * record: 记录套件
    3.  * hostObject: 宿主对象
    4.  * drawColor: 绘图颜色
    5.  * drawAlpha: 绘图透明度
    6. **/
    7. TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunGetDrawColor(
    8. TriglavPlugInRecordSuite record,
    9. TriglavPlugInHostObject hostObject,
    10. TriglavPlugInRGBColor* drawColor,
    11. TriglavPlugInUInt8* drawAlpha);

            18. 从指定插件的过滤运行状态获取宿主对象的过滤器运行状态

    1. /**
    2.  * record: 记录套件
    3.  * hostObject: 宿主对象
    4.  * processState: 插件模块的过滤器运行状态
    5.  * result: 宿主对象的过滤器运行状态
    6. **/
    7. TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunProcess(
    8. TriglavPlugInRecordSuite record,
    9. TriglavPlugInHostObject hostObject,
    10. const TriglavPlugInInt processState,
    11. TriglavPlugInInt* result);

            指示参数 processState 的状态及其对应的参数结果,开发者必须根据参数结果的结果进行适当的处理。

    processStateresultnote
    kTriglavPlugInFilterRunProcessStateStartkTriglavPlugInFilterRunProcessResultRestart处理需要重新计算
    kTriglavPlugInFilterRunProcessResultContinue继续处理
    kTriglavPlugInFilterRunProcessResultExit需要完成处理(取消按钮或×按钮被按下)
    kTriglavPlugInFilterRunProcessStateContinuekTriglavPlugInFilterRunProcessResultRestart处理需要重新计算
    kTriglavPlugInFilterRunProcessResultContinue继续处理
    kTriglavPlugInFilterRunProcessResultExit需要完成处理(取消按钮或×按钮被按下)
    kTriglavPlugInFilterRunProcessStateEndkTriglavPlugInFilterRunProcessResultRestart处理需要重新计算
    kTriglavPlugInFilterRunProcessResultExit需要结束处理(按下确定按钮)
    kTriglavPlugInFilterRunProcessStateAbortkTriglavPlugInFilterRunProcessResultContinue继续处理
    kTriglavPlugInFilterRunProcessResultExit需要完成处理(取消按钮或×按钮被按下)

            19. 设置指定宿主对象的总进度

    1. /**
    2.  * record: 记录套件
    3.  * hostObject: 宿主对象
    4.  * progressTotal: 总进度
    5. **/
    6. TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunSetProgressTotal(
    7. TriglavPlugInRecordSuite record,
    8. TriglavPlugInHostObject hostObject,
    9. const TriglavPlugInInt progressTotal);

            20. 设置指定宿主对象的进度

    1. /**
    2.  * record: 记录套件
    3.  * hostObject: 宿主对象
    4.  * progressState: 进度
    5. **/
    6. TRIGLAV_PLUGIN_API *TriglavPlugInFilterRunSetProgressDone(
    7. TriglavPlugInRecordSuite record,
    8. TriglavPlugInHostObject hostObject,
    9. const TriglavPlugInInt progressState);

            本篇以及上篇🔗clipStudioPaint插件开发之记录套件(一)介绍的就是记录套件的全部 api 了,下篇将介绍服务套件的相关内容。

  • 相关阅读:
    基于K8s构建Jenkins持续集成平台(部署流程)(转了一点)
    Delft3D水动力与泥沙运动模拟实践技术应用
    钉钉7.5版本多项产品升级,打造年轻人爱用的AI工具
    网络编程Netty的使用
    网络基础2(下):IP协议与MAC帧
    python第三方库pygame的使用
    调用okhttp3的案例代码
    TiUP 镜像参考指南
    hex文件合并
    百度Apollo成国内首家通过脱敏测试验证的Tier 1
  • 原文地址:https://blog.csdn.net/yang1018679/article/details/127638828