一向拖延症的我,终于把本系列更新到了第三篇,撒花,吼吼!言归正题,本篇博文将具体介绍Gocator GDK的常用接口函(tao)数(lu)。这里假定新建工具名称为“GdkNewTool”。
首先,这些接口函数需要在.x.h和.c文件中进行声明,如下所示。
//.x.h文件
ToolFx(kStatus) GdkNewTool_VDescribe(GdkToolInfo info);
ToolFx(kStatus) GdkNewTool_VInit(GdkNewTool tool, kType type, kAlloc alloc);
ToolFx(kStatus) GdkNewTool_VRelease(GdkNewTool tool);
ToolFx(kStatus) GdkNewTool_VNewToolConfig(const GdkToolEnv* env, GdkToolCfg toolConfig);
ToolFx(kStatus) GdkNewTool_VUpdateConfig(const GdkToolEnv* env, GdkToolCfg toolConfig);
ToolFx(kStatus) GdkNewTool_VStart(GdkNewTool tool);
ToolFx(kStatus) GdkNewTool_VStop(GdkNewTool tool);
ToolFx(kStatus) GdkNewTool_VProcess(GdkNewTool tool, GdkToolInput input, GdkToolOutput output);
//.c文件
kBeginClass(Tool, GdkNewTool, GdkTool)
kAddVMethod(GdkNewTool, kObject, VRelease)
kAddVMethod(GdkNewTool, GdkTool, VDescribe)
kAddVMethod(GdkNewTool, GdkTool, VInit)
kAddVMethod(GdkNewTool, GdkTool, VNewToolConfig)
kAddVMethod(GdkNewTool, GdkTool, VUpdateConfig)
kAddVMethod(GdkNewTool, GdkTool, VStart)
kAddVMethod(GdkNewTool, GdkTool, VStop)
kAddVMethod(GdkNewTool, GdkTool, VProcess)
kEndClass()
下面具体介绍一下各接口函数的作用。需要注意的是,接口函数的调用顺序在replay模式和live模式下会有所区别。
VDescribe
定义工具界面的各种控件和输出测量值。
VInit
初始化环境结构。(通常不需修改)
VRelease
释放工具。(通常不需修改)
VNewToolConfig
可以设置工具各参数的默认值。
VUpdateConifg
如果某些控件的显示/隐藏受到其他控件的影响,可以在此函数中定义。
VStart
更新工具的参数变量。
VStop
停止处理。(通常不需修改)
VProcess
核心处理算法,每帧图像调用一次。
网友评论