clip studio paint插件开发之记录套件(二)

三、 过滤器执行记录

        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 的状态及其对应的参数结果,开发者必须根据参数结果的结果进行适当的处理。

processStateresultnote
kTriglavPlugInFilterRunProcessStateStartkTriglavPlugInFilterRunProcessResultRestart处理需要重新计算
kTriglavPlugInFilterRunProcessResultContinue继续处理
kTriglavPlugInFilterRunProcessResultExit需要完成处理(取消按钮或×按钮被按下)
kTriglavPlugInFilterRunProcessStateContinuekTriglavPlugInFilterRunProcessResultRestart处理需要重新计算
kTriglavPlugInFilterRunProcessResultContinue继续处理
kTriglavPlugInFilterRunProcessResultExit需要完成处理(取消按钮或×按钮被按下)
kTriglavPlugInFilterRunProcessStateEndkTriglavPlugInFilterRunProcessResultRestart处理需要重新计算
kTriglavPlugInFilterRunProcessResultExit需要结束处理(按下确定按钮)
kTriglavPlugInFilterRunProcessStateAbortkTriglavPlugInFilterRunProcessResultContinue继续处理
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 了,下篇将介绍服务套件的相关内容。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值