现在的位置: 首页 > 综合 > 正文

gkt特殊窗口

2013年10月27日 ⁄ 综合 ⁄ 共 911字 ⁄ 字号 评论关闭
/*
 *  specialWindow.c
 *  fileSystem
 *  Created on: 2012-2-24
 *      Author: zhushengben
 */

#ifndef SPECIALWINDOW_C_
#define SPECIALWINDOW_C_

#include <gtk/gtk.h>

int main(int argc, char *argv[])
{
	GtkWidget *window = NULL;
	GdkPixbuf *pixbuf = NULL;
	GdkBitmap *bitmap = NULL;
	GdkPixmap *pixmap = NULL;

	gtk_init(&argc, &argv);

	window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_window_set_decorated(GTK_WINDOW(window), FALSE); // 设置无边框
	gtk_widget_set_app_paintable(window, TRUE);
	gtk_window_set_default_size(GTK_WINDOW(window), 800, 600);
	gtk_widget_realize(window);

	pixbuf = gdk_pixbuf_new_from_file("penguin.gif", NULL); // gdk函数读取png文件
	gdk_pixbuf_render_pixmap_and_mask(pixbuf, &pixmap, &bitmap, 100); // alpha小于128认为透明
	gtk_widget_shape_combine_mask(window, bitmap, 0, 0); // 设置透明蒙板
	gdk_window_set_back_pixmap(window->window, pixmap, FALSE); // 设置窗口背景

	g_object_unref(pixbuf);
	g_object_unref(bitmap);
	g_object_unref(pixmap);

	gtk_widget_show_all(window);
	gtk_main();
	return TRUE;
}
#endif /* SPECIALWINDOW_C_ */

抱歉!评论已关闭.