當前位置: 首頁>>代碼示例>>Golang>>正文


Golang C.sourcefunc_info類代碼示例

本文整理匯總了Golang中C.sourcefunc_info的典型用法代碼示例。如果您正苦於以下問題:Golang sourcefunc_info類的具體用法?Golang sourcefunc_info怎麽用?Golang sourcefunc_info使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了sourcefunc_info類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: _go_glib_sourcefunc

//export _go_glib_sourcefunc
func _go_glib_sourcefunc(sfi *C.sourcefunc_info) {
	context := sourcefunc_contexts[int(sfi.func_no)]
	t := context.f.Type()
	fargs := make([]reflect.Value, t.NumIn())
	if len(fargs) > 0 {
		fargs[0] = reflect.ValueOf(context.data)
	}
	ret := context.f.Call(fargs)
	if len(ret) > 0 {
		bret, _ := ret[0].Interface().(bool)
		sfi.ret = gbool(bret)
	}
}
開發者ID:pocke,項目名稱:go-gtk,代碼行數:14,代碼來源:glib.go

示例2: _go_glib_sourcefunc

//export _go_glib_sourcefunc
func _go_glib_sourcefunc(sfi *C.sourcefunc_info) {
	context := sourcefunc_contexts[int(sfi.func_no)]
	rf := reflect.ValueOf(context.f)
	t := rf.Type()
	fargs := make([]reflect.Value, t.NumIn())
	n := 0
	if len(fargs) > n && sfi.channel != nil {
		fargs[n] = reflect.ValueOf(int(sfi.condition))
		n++
	}
	if len(fargs) > n {
		fargs[n] = reflect.ValueOf(context.data)
		n++
	}
	ret := rf.Call(fargs)
	if len(ret) > 0 {
		bret, _ := ret[0].Interface().(bool)
		sfi.ret = bool2gboolean(bret)
	}
}
開發者ID:leif,項目名稱:go-gtk,代碼行數:21,代碼來源:glib.go

示例3: _go_glib_sourcefunc

//export _go_glib_sourcefunc
func _go_glib_sourcefunc(sfi *C.sourcefunc_info) {
	id := int(sfi.func_no)
	value, found := sourcefunc_contexts.Get(id)
	if !found {
		return
	}
	context := value.(*SourcefuncContext)
	t := context.f.Type()
	fargs := make([]reflect.Value, t.NumIn())
	if len(fargs) > 0 {
		fargs[0] = reflect.ValueOf(context.data)
	}
	ret := context.f.Call(fargs)
	if len(ret) > 0 {
		bret, _ := ret[0].Interface().(bool)
		sfi.ret = gbool(bret)
	}
	if !gobool(sfi.ret) {
		sourcefunc_contexts.Remove(id)
	}
}
開發者ID:mattn,項目名稱:go-gtk,代碼行數:22,代碼來源:glib.go


注:本文中的C.sourcefunc_info類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。