Widget上画RGB Image 出现闪屏

发布于 2022-08-09 22:37:26 字数 1862 浏览 9 评论 0

在一个240*340大小的widget上绘制图像(取自bitmap文件)
现在想每次上下部分交替更新,发现屏幕不停地闪.
我知道用离屏drawable可以解决闪烁问题,
但是我想问一下,GDK有没有OR操作的绘制函数,也就是说保持屏幕一部分不变,只更新另外一个部分.
这样我就不需要再新建一个offscreen drawables

很简单的一个函数

/* use rgbbuf */
static gint callback_expose_event(GtkWidget *widget, GdkEventExpose *event)
{

..............................
int y = height * 1/2 * (cnt%2);
int h = height * ((float)1/2 + (float)1/2*(cnt%2));
// 16bpp
  gdk_draw_rgb_image(widget->window,
                                           widget->style->fg_gc[GTK_STATE_NORMAL],
                                           0, y,
                                           240, h,
                                           GDK_RGB_DITHER_MAX,
                                           (guchar*)rgbbuf + y * virtual_width * 3,
                                           lcd->width * 3);

}

Any Idea?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文