当前位置: 首页>>代码示例>>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;未经允许,请勿转载。