InDesign插件开发中的Boss classes

来源:互联网 发布:免费域名官网 编辑:程序博客网 时间:2024/05/20 14:27

InDesign的对象模型是由Boss classes来表示的,因此要使用Boss class来完成插件的开发工作。Boss classes和C++ classes是不同的,在有着自己的特定。在Illustrator的插件开发中,经常要和各种各样的suite打交道,suite是Illustrator提供出来的一些C语言的api,提供了api函数指针,调用这些函数就可以达到操作ai文档和使用ai功能的目的。到底Boss classes是怎也的一个东西呢,官方是这么介绍的,它定义了一个由一个或多个C++类组成的对象,和C++类类似,一个boss类可以被实例化为一个对象,支持继承。和C++类不同的是,boss不由方法和变量组成。boss的成员是C++类,以接口的形式访问。你可以改变已有boss类的定义,如通过增加接口和实现。

Interfaces和Implementations

如kBscMnuActionComponetBoss,它就实现了IActionCompont接口、IControllingUnknown接口、IPMPersist接口

IPMUnknown

所有的interface都要公有继承于IPMUnknown,它包括三个重要的方法:AddRef()、Release()和QueryInterface()。AddRef()和Release()处理引用计数。QueryInterface()提供访问Boss里其它接口的方法。

如:IFoo* foo = bar->QueryInterface(IID_IFOO);

0 0
原创粉丝点击