function new_pixmap (window_wgt, filename) { local pixmask; pixmask = gdk_pixmap_create_from_xpm (window_wgt.get_window(), nil, filename); if (!car(pixmask) || !cadr(pixmask)) { princ ("Pixmap load of ", filename, " failed.\n"); nil; } else gtk_pixmap_new (car(pixmask), cadr(pixmask)); } function create_pixmap () { local box1, box2, box3, button, label, separator, pixmapwid, pixmap, mask; win_pixmap = new (GtkWindow); win_pixmap.signal ("destroy", #win_pixmap = nil); win_pixmap.title = "GtkPixmap"; win_pixmap.border_width = 0; box1 = new(GtkVBox); win_pixmap.add(box1); box2 = new(GtkVBox); box2.spacing = 10; box2.border_width = 10; box1.pack_start(box2, TRUE, TRUE, 0); button = new(GtkButton); box2.pack_start(button, FALSE, FALSE, 0); pix1 = new_pixmap(win_pixmap, "test.xpm"); label = new(GtkLabel); label.set_text("Pixmap\ntest"); box3 = new(GtkHBox); box3.border_width = 2; box3.add(pix1); box3.add(label); button.add(box3); separator = new(GtkHSeparator); box1.pack_start(separator, FALSE, TRUE, 0); box2 = new(GtkVBox); box2.spacing = 10; box2.border_width = 10; box1.pack_start(box2, FALSE, TRUE, 0); button = new(GtkButton); button.label = "close"; button.signal("clicked", `(@win_pixmap).destroy()); box2.pack_start(button, TRUE, TRUE, 0); button.can_default = TRUE; button.grab_default(); win_pixmap.show_all(); win_pixmap; } function main () { local window, win_pixmap; TRUE=1; FALSE=0; window = create_pixmap (); window.signal ("destroy", #exit_program(0)); init_ipc("pixmap", "pixmapq"); gtk_main (); }
Copyright İ 1995-2010 by Cogent Real-Time Systems, Inc. All rights reserved.