Gocator GDK開發——(三)接口函數

一向拖延癥的我,終于把本系列更新到了第三篇,撒花,吼吼!言歸正題,本篇博文將具體介紹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
核心處理算法,每幀圖像調用一次。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容