loading的代码

20090919
启动加载loading的代码片断
...
StartVideo();
...

方案1:(不弹出新窗口)
int StartVideo()
{
int count = 0;
//改变背景为灰暗
update_bg(...);
//阻塞点击按扭的事件
//g_signal_handler_block(GObject *object,gulong   handler_id);
//g_signal_handlers_block_by_func不行么?

//获取当前窗口数目
count = getWindowCount();//函数现写
g_timeout_add(500,watchCount,count);
launchApp("StartVideo.sh");
}

gboolean watchCount(gpointer data)
{
int watcher = (int)data;
int curCount = getWindowCount();
if(curCount != watcher)
{
//恢复背景颜色
update_bg(...);
//恢复信号阻塞
//g_signal_handler_unblock(GObject *object,gulong   handler_id);
//g_signal_handler_unblock_by_func不行么?
return FALSE;
}
//闪烁画出LOADING......
showLoading("LOADING......");
return TRUE;
}

void showLoading(const gchar *text)
{
cairo_t *cr; //声明一支画笔
cr=cairo_create();//创建画笔
//还是gdk_cairo_create(widget->window);?
//...这里用不用设置source...
cairo_set_rgb_color(cr,0,1,0);//设置画笔颜色,也就是红,绿,蓝,这里设置成绿色。
cairo_rectangle(cr,10,10,200,200);//画一个方块,位置从坐标(10,10)开始,宽200,高200
cairo_fill(cr);//填充,使用的颜色当然是上面设置的颜色。
cairo_move_to(cr,250,200);//将画笔移动到(250,200)
cairo_select_font (cr, "DongWen--Song",
CAIRO_FONT_SLANT_NORMAL,
CAIRO_FONT_WEIGHT_NORMAL);//为cairo设置一个字体,字体名DongWen--Song,非斜体,非粗体。
cairo_scale_font(cr,60);//缩放字体到60倍
cairo_show_text(cr,text);//画出一个串
cairo_destroy(cr);//销毁画笔

}

你可能感兴趣的:(object,Signal)