风无情

我要花十年,练成一种绝世剑法

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  0 随笔 :: 3 文章 :: 0 评论 :: 0 Trackbacks
      1.gtk+提供一些控件,底层是gdk,而gdk的实现,目前有四种,一种是基于windows的实现,另外默认的一种是基于X11的实现,还有一种是直接基于linux framebuffer,这需要linux kernel支持framebuffer驱动,打开驱动的方式是在/boot/grub/menu.lst里加入vga=0x317,gdk封装framebuffer的源代码叫GTKFB,在gdk/linux-fb下,编译时需要加-with-gdktarget=framebuffer 选项.第四种是基于DirectFB,DirectFB 是德國 convergence 公司推動的 Open Source 計劃,主要是建構於 Linux Framebuffer Device 之上 hardware graphics acceleration、input device handling and abstraction、integrated windowing system with support for translucent windows,以及 multiple display layers 功能的新 Graphics 標準.
    
     2.gtk的信号机制依赖于gdk的事件机制,一般开发直接使用gtk的信号.

     3.GdkWindow是由X返回的整数ID号的一个封装.它确实保存一些信息的本地拷贝,所以一些Gdk操作比相应的Xlib操作效率更高.还有GdkWindow本质上是服务器端对象的一个句柄.许多Gdk对象都是相似的,font,pixmap,cursor等等也是服务器对象的一个句柄

    4.有些gtk控件没有与之关联的GdkWindow,用GTK_NO_WINDOW来标记它们,因而它们不能接受事件,因为事件总是由GdkWindow接收的,如果想让无窗口构件扑获事件,可以使用GtkEventBox.

    5.颜色的使用
      GdkColor color;
      /* 纯红色* /
     color.red = 65535;
     color.green = 0;
     color.blue = 0;
     if (gdk_colormap_alloc_color(colormap, &color, FALSE, TRUE))
    {
       /* 成功!* /
      }
       如果g d k _ c o l o r m a p _ a l l o c _ c o l o r ( )函数返回T R U E,然后分配了一个颜色, c o l o r. p i x e l中包含了一个有效的值,这个颜色就可以用于绘画了

     


 
posted on 2006-02-10 14:18 风无情 阅读(417) 评论(0)  编辑  收藏 所属分类: GTK+

只有注册用户登录后才能发表评论。


网站导航: