博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

睡前要抱抱

   mash.cublog.cn
关于作者  
mystérieux

我的分类  




[C语言] 用xlib画的一个小球



#include <X11/Xlib.h>
#include <stdio.h>
#include <stdlib.h>

Window
create_simple_window(Display* display, int width, int height, int x, int y)
{
  int screen_num = DefaultScreen(display);
  int win_border_width = 2;
  Window win;
  win = XCreateSimpleWindow(display, RootWindow(display, screen_num),
                            x, y, width, height, win_border_width,
                            BlackPixel(display, screen_num),
                            WhitePixel(display, screen_num));
  XMapWindow(display, win);
  XFlush(display);
  return win;
}

GC
create_gc(Display* display, Window win, int reverse_video)
{
  GC gc;
  unsigned long valuemask = 0;
  XGCValues values; /* initial values for the GC. */
  gc = XCreateGC(display, win, valuemask, &values);
  if (gc < 0) {
        fprintf(stderr, "XCreateGC: \n");
  }
  return gc;
}

void
main(int argc, char* argv[])
{
  Display* display;
  int screen_num;
  Window win;
  unsigned int display_width,
               display_height;
  unsigned int width, height;
  char *display_name = getenv("DISPLAY");
  GC gc;
  Colormap screen_colormap;
  XColor blue;
  Status rc;
  display = XOpenDisplay(display_name);
  screen_num = DefaultScreen(display);
  display_width = DisplayWidth(display, screen_num);
  display_height = DisplayHeight(display, screen_num);

  width = (display_width / 3);
  height = (display_height / 3);
  
  win = create_simple_window(display, width, height, 0, 0);

  gc = create_gc(display, win, 0);
  XSync(display, False);

  screen_colormap = DefaultColormap(display, DefaultScreen(display));

  rc = XAllocNamedColor(display, screen_colormap, "blue", &blue, &blue);
  
  XSetForeground(display, gc, blue.pixel);
  XDrawArc(display, win, gc, 100-(30/2), 50-(50/2), 30, 30, 0, 360*64);

     XFlush(display);
       sleep(10);
   XCloseDisplay(display);

}


编译:
# cc -Wall -L/usr/X11R6/lib -lX11

 发表于: 2008-07-13,修改于: 2008-07-13 04:36 已浏览146次,有评论0条 推荐 投诉

  网友评论

  发表评论



Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们
页面生成时间:0.01744

京ICP证041476号