繁体   English   中英

使用开罗在gtkentry上绘制

[英]drawing above gtkentry using cairo

我想使用开罗来增强gtkentry外观。 为此,我已将回调连接到'expose-event'。 在回调中,我调用了gtkentry的原始暴露事件处理程序。 之后,我创建开罗上下文并画一些线并销毁开罗。 我返回“ TRUE”作为回调函数的返回值,这样暴露事件不会传播。

现在我的问题是,我正在绘制从(0,0)到(100,100)的线。 但是线条仅出现在gtkentry的边界区域上。 文本所在的地方,不会出现。

请帮忙。

亲切的问候-Durgesh O Mishra

GtkEntry在文本区域使用了一个额外的GdkWindow 它是私有的,但是您可以使用以下代码访问它:

GDK_WINDOW (gdk_window_peek_children (GTK_WIDGET (entry)->window)->data);

因此,您可以将此窗口传递给gdk_cairo_create()

如果在将其应用于代码时遇到问题,请粘贴代码-如果没有任何测试方法,很难猜测该怎么做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM