clip studio paint插件开发之服务套件(四)

         本篇介绍属性服务剩余部分。

四、属性服务2

        该服务继续提供处理过滤器中被使用的参数的功能。结构体定义如下:

typedef	struct	_TriglavPlugInPropertyService2 {
	TriglavPlugInPropertySetItemStoreValueProc			    setItemStoreValueProc;
	TriglavPlugInPropertySetPointValueProc				    setPointValueProc;
	TriglavPlugInPropertyGetPointValueProc				    getPointValueProc;
	TriglavPlugInPropertySetPointDefaultValueKindProc       setPointDefaultValueKindProc;
	TriglavPlugInPropertyGetPointDefaultValueKindProc       getPointDefaultValueKindProc;
	TriglavPlugInPropertySetPointDefaultValueProc		    setPointDefaultValueProc;
	TriglavPlugInPropertyGetPointDefaultValueProc		    getPointDefaultValueProc;
	TriglavPlugInPropertySetPointMinMaxValueKindProc    	setPointMinMaxValueKindProc;
	TriglavPlugInPropertyGetPointMinMaxValueKindProc	    getPointMinMaxValueKindProc;
	TriglavPlugInPropertySetPointMinValueProc				setPointMinValueProc;
	TriglavPlugInPropertyGetPointMinValueProc				getPointMinValueProc;
	TriglavPlugInPropertySetPointMaxValueProc				setPointMaxValueProc;
	TriglavPlugInPropertyGetPointMaxValueProc				getPointMaxValueProc;
	TriglavPlugInPropertySetEnumerationValueProc		    setEnumerationValueProc;
	TriglavPlugInPropertyGetEnumerationValueProc		    getEnumerationValueProc;
	TriglavPlugInPropertySetEnumerationDefaultValueProc     setEnumerationDefaultValueProc;
	TriglavPlugInPropertyGetEnumerationDefaultValueProc		getEnumerationDefaultValueProc;
	TriglavPlugInPropertyAddEnumerationItemProc				addEnumerationItemProc;
	TriglavPlugInPropertySetStringValueProc					setStringValueProc;
	TriglavPlugInPropertyGetStringValueProc					getStringValueProc;
	TriglavPlugInPropertySetStringDefaultValueProc			setStringDefaultValueProc;
	TriglavPlugInPropertyGetStringDefaultValueProc			getStringDefaultValueProc;
	TriglavPlugInPropertySetStringMaxLengthProc				setStringMaxLengthProc;
	TriglavPlugInPropertyGetStringMaxLengthProc			    getStringMaxLengthProc;
} TriglavPlugInPropertyService2;

        1. 设置是否存储指定属性对象的指定 itemKey 的值

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * storeValue: 存储项目值
**/
TRIGLAV_PLUGIN_API *setItemStoreValueProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    const TriglavPlugInBool storeValue);

        2. 对指定属性对象的指定 itemKey 设置坐标

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * value: 坐标
**/
TRIGLAV_PLUGIN_API *setPointValueProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    const TriglavPlugInPoint* value);

        3. 获取指定属性对象的指定 itemKey 的坐标

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * value: 坐标
**/
TRIGLAV_PLUGIN_API *getPointValueProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    TriglavPlugInPoint* value);

        4. 对指定属性对象的指定 itemKey 设置默认坐标类型

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * defaultValueKind: 默认坐标类型
**/
TRIGLAV_PLUGIN_API *setPointDefaultValueKindProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    const TriglavPlugInInt defaultValueKind);

        其中 defaultValueKind 取值于下列常量之一:

#define kTriglavPlugInPropertyPointDefaultValueKindDefault               (0x11)
#define kTriglavPlugInPropertyPointDefaultValueKindCanvasLeftTop         (0x21)
#define kTriglavPlugInPropertyPointDefaultValueKindCanvasRightTop        (0x22)
#define kTriglavPlugInPropertyPointDefaultValueKindCanvasLeftBottom      (0x23)
#define kTriglavPlugInPropertyPointDefaultValueKindCanvasRightBottom     (0x24)
#define kTriglavPlugInPropertyPointDefaultValueKindCanvasCenter          (0x25)
#define kTriglavPlugInPropertyPointDefaultValueKindSelectAreaLeftTop     (0x31)
#define kTriglavPlugInPropertyPointDefaultValueKindSelectAreaRightTop    (0x32)
#define kTriglavPlugInPropertyPointDefaultValueKindSelectAreaLeftBottom  (0x33)
#define kTriglavPlugInPropertyPointDefaultValueKindSelectAreaRightBottom (0x34)
#define kTriglavPlugInPropertyPointDefaultValueKindSelectAreaCenter      (0x35)

        5. 获取指定属性对象的指定 itemKey 的默认坐标类型

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * defaultValueKind: 默认坐标类型
**/
TRIGLAV_PLUGIN_API *getPointDefaultValueKindProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    TriglavPlugInInt* defaultValueKind);

        6. 对指定属性对象的指定 itemKey 设置默认坐标

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * defaultValue: 默认坐标
**/
TRIGLAV_PLUGIN_API *setPointDefaultValueProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    const TriglavPlugInPoint* defaultValue);

        7. 获取指定属性对象的指定 itemKey 的默认坐标

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * defaultValue: 默认坐标
**/
TRIGLAV_PLUGIN_API *getPointDefaultValueProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    TriglavPlugInPoint* defaultValue);

        8. 对指定属性对象的指定 itemKey 设置坐标最小最大值类型

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * minMaxValueKind: 坐标最小最大值类型
**/
TRIGLAV_PLUGIN_API *setPointMinMaxValueKindProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    const TriglavPlugInInt minMaxValueKind);

        坐标最小最大值类型一般取下列常量之一:

#define    kTriglavPlugInPropertyPointMinMaxValueKindDefault      (0x21)
#define    kTriglavPlugInPropertyPointMinMaxValueKindNo           (0x22)

        9. 获取指定属性对象的指定 itemKey 的坐标最小最大值类型

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * minMaxValueKind: 坐标最小最大值类型
**/
TRIGLAV_PLUGIN_API *getPointMinMaxValueKindProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    TriglavPlugInInt* minMaxValueKind);

        10. 对指定属性对象的指定 itemKey 设置最小坐标

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * minValue: 最小坐标
**/
TRIGLAV_PLUGIN_API *setPointMinValueProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    const TriglavPlugInPoint* minValue);

        11. 获取指定属性对象的指定 itemKey 的最小坐标

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * minValue: 最小坐标
**/
TRIGLAV_PLUGIN_API *getPointMinValueProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    TriglavPlugInPoint* minValue);

        12. 对指定属性对象的指定 itemKey 设置最大坐标

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * maxValue: 最大坐标
**/
TRIGLAV_PLUGIN_API *setPointMaxValueProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    const TriglavPlugInPoint* maxValue);

        13. 获取指定属性对象的指定 itemKey 的最大坐标

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * maxValue: 最大坐标
**/
TRIGLAV_PLUGIN_API *getPointMaxValueProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    TriglavPlugInPoint* maxValue);

        14. 对指定属性对象的指定 itemKey 设置当前枚举值

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * value: 当前枚举
**/
TRIGLAV_PLUGIN_API *setEnumerationValueProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    const TriglavPlugInInt value);

        对于可设置的 numerationValue,需先执行函数 addEnumerationItemProc() 添加。

        15. 获取指定属性对象的指定 itemKey 的当前枚举值

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * value: 当前枚举
**/
TRIGLAV_PLUGIN_API *getEnumerationValueProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    TriglavPlugInInt* value);

        16. 对指定属性对象的指定 itemKey 设置默认枚举值

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * value: 默认枚举值
**/
TRIGLAV_PLUGIN_API *setEnumerationDefaultValueProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    const TriglavPlugInInt value);

        对于可设置的 numerationValue,需先执行函数 addEnumerationItemProc() 添加。

        17. 获取指定属性对象的指定 itemKey 的默认枚举值

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * value: 默认枚举值
**/
TRIGLAV_PLUGIN_API *getEnumerationDefaultValueProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    TriglavPlugInInt* value);

        18. 对指定属性对象的指定 itemKey 添加枚举项

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * value: 枚举项
 * caption: 字符串对象
 * accessKey: 访问密钥
**/
TRIGLAV_PLUGIN_API *addEnumerationItemProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    const TriglavPlugInInt value, 
    TriglavPlugInStringObject caption, 
    const TriglavPlugInChar accessKey);

        19. 对指定属性对象的指定 itemKey 设置字符串

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * value: 字符串
**/
TRIGLAV_PLUGIN_API *setStringValueProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    TriglavPlugInStringObject value);

        20. 获取指定属性对象的指定 itemKey 的字符串

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * value: 字符串
**/
TRIGLAV_PLUGIN_API *getStringValueProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    TriglavPlugInStringObject* value);

        21. 对指定属性对象的指定 itemKey 设置默认字符串

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * defaultValue: 默认字符串
**/
TRIGLAV_PLUGIN_API *setStringDefaultValueProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    TriglavPlugInStringObject defaultValue);

        22. 获取指定属性对象的指定 itemKey 的默认字符串

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * defaultValue: 默认字符串
**/
TRIGLAV_PLUGIN_API *getStringDefaultValueProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    TriglavPlugInStringObject* defaultValue);

        23. 对指定属性对象的指定 itemKey 设置字符串最大字符数

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * maxLength: 字符串最大字符数
**/
TRIGLAV_PLUGIN_API *setStringMaxLengthProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    const TriglavPlugInInt maxLength);

        24. 获取指定属性对象的指定 itemKey 的字符串最大字符数

/**
 * propertyObject: 属性对象
 * itemKey: 项目键
 * maxLength: 字符串最大字符数
**/
TRIGLAV_PLUGIN_API *getStringMaxLengthProc(
    TriglavPlugInPropertyObject* propertyObject, 
    const TriglavPlugInInt itemKey, 
    TriglavPlugInInt* maxLength);

        至此,本篇以及前篇🔗clip studio paint插件开发之服务套件(三)介绍的就是属性服务的全部 api 了,clip studio paint 插件开发的全部 api 也随之介绍完毕。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值