void PixmapObjectResize( WindowObjectType *wo, PixmapObjectType *pot, Dimension width, Dimension height) { int numMetObjects; int i; MetObjectType **mot; pot->width = width; pot->height = height; FreePixmap( GetWindowObjectDisplay( wo ), pot->pixmap ); /* * Recreate the Pixmap from the window object. */ pot->pixmap = CreatePixmapFromWindowObject( wo ); ClearPixmap( wo, pot->pixmap ); numMetObjects = pot->numMetObjects; for( i = 0, mot = pot->metObjects; i < numMetObjects; i++, mot++ ) { SetMetObjectDrawnFlag( *mot, False ); } return; }
void FreePot( PixmapObjectType *pot ) { assert( pot ); FreeAllMots( pot ); FreePixmap( pot->display, pot->pixmap ); Free( pot ); }
gboolean on_color_sample_draw_area_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer user_data) { GdkWindow* window = widget->window; GdkGC* gc = gdk_gc_new(window); GdkPixmap* pixmap; pixmap = LoadPixmap(GetTopWidget(widget), NULL, "color_sample.xpm"); DrawPixmap(window, gc, 0, 0, pixmap, NULL); FreePixmap(pixmap, NULL); gdk_gc_unref(gc); return TRUE; }
void DrawQualityDrawingArea(GtkWidget* window, GtkWidget* area) { GdkWindow* area_window = area->window; GdkGC* gc = gdk_gc_new(window->window); GdkPixmap* pixmap; GdkBitmap* mask; int quality; const gchar* button_name[] = { "quality_high_button", "quality_standard_button", "quality_draft_button", "quality_custom_button", NULL }; const gchar* xpm_name[] = { "quality_best.xpm", "quality_best_color.xpm", "quality_normal.xpm", "quality_normal_color.xpm", "quality_draft.xpm", "quality_draft_color.xpm", "quality_custom.xpm", "quality_custom_color.xpm" }; quality = GetActiveButtonIndex(window, button_name, 0) << 1; if( !IsGrayPrint(g_main_window) ) quality++; pixmap = LoadPixmap(window, &mask, xpm_name[quality]); DrawPixmap(area_window, gc, QUALITY_PIXMAP_X, QUALITY_PIXMAP_Y, pixmap, mask); FreePixmap(pixmap, mask); gdk_gc_unref(gc); }
int ioShutdownPrintJob() { FreePixmap(); return 1; }
void DrawPrinterDrawingArea(GtkWidget* window, GtkWidget* area) { GdkWindow* area_window = area->window; GdkPixmap* pixmap; GdkBitmap* mask; gchar* xpm_name; gchar* key_str; gchar* message_str; GdkGC* gc = gdk_gc_new(window->window); // Background pattern. pixmap = LoadPixmap(window, NULL, "bg.xpm"); DrawPixmap(area_window, gc, 0, 0, pixmap, NULL); FreePixmap(pixmap, NULL); // Printer body. pixmap = LoadPixmap(window, &mask, "printer.xpm"); DrawPixmap(area_window, gc, BODY_PIXMAP_X, BODY_PIXMAP_Y, pixmap, mask); FreePixmap(pixmap, mask); // Paper set and out. // Right guide(Paper set). { gchar* in_xpm_name; gchar* out_xpm_name; gchar* guide_xpm_name; short supply = GetCurrentnValue(CNCL_MEDIASUPPLY); #ifdef SUPPORT_BANNER short media = GetCurrentnValue(CNCL_MEDIATYPE); #endif short size = GetCurrentnValue(CNCL_PAPERSIZE); if( supply == CND_SUPPLY_MANUAL ) in_xpm_name = "in_m.xpm"; else in_xpm_name = NULL; #ifdef SUPPORT_BANNER if( media == CND_MEDIA_BANNER ) guide_xpm_name = "guide_a3.xpm"; else #endif guide_xpm_name = NULL; if( GetPaperWidth(size) > GetPaperHeight(size) ) { if( in_xpm_name == NULL ) in_xpm_name = "in_l.xpm"; if( guide_xpm_name == NULL ) guide_xpm_name = "guide_a2.xpm"; out_xpm_name = "out_ph.xpm"; } else { if( in_xpm_name == NULL ) in_xpm_name = "in_p.xpm"; if( guide_xpm_name == NULL ) guide_xpm_name = "guide_a1.xpm"; out_xpm_name = "out_pv.xpm"; } pixmap = LoadPixmap(window, &mask, in_xpm_name); DrawPixmap(area_window, gc, BODY_PIXMAP_X, BODY_PIXMAP_Y, pixmap, mask); FreePixmap(pixmap, mask); pixmap = LoadPixmap(window, &mask, out_xpm_name); DrawPixmap(area_window, gc, BODY_PIXMAP_X, BODY_PIXMAP_Y, pixmap, mask); FreePixmap(pixmap, mask); pixmap = LoadPixmap(window, &mask, guide_xpm_name); DrawPixmap(area_window, gc, R_GUIDE_PIXMAP_X, R_GUIDE_PIXMAP_Y, pixmap, mask); FreePixmap(pixmap, mask); } // Left guide(Thickness). { short thick = GetCurrentnValue(CNCL_MESS_THICK); switch( thick ) { case CND_TMESSAGE_UPPER2: xpm_name = "guide_b1.xpm"; break; default: xpm_name = "guide_b3.xpm"; break; } pixmap = LoadPixmap(window, &mask, xpm_name); DrawPixmap(area_window, gc, L_GUIDE_PIXMAP_X, L_GUIDE_PIXMAP_Y, pixmap, mask); FreePixmap(pixmap, mask); } // Media type message. message_str = GetCurrentString(CNCL_MEDIATYPE); DrawString(area_window, g_main_font, gc, MEDIA_TEXT_X, MEDIA_TEXT_Y, message_str); { if( IsGrayPrint(g_main_window) ) { xpm_name = "print_mono.xpm"; key_str = "print_mono_message"; } else { xpm_name = "print_color.xpm"; key_str = "print_color_message"; } #ifndef NO_PRINT_COLOR_ICON // Print color icon. pixmap = LoadPixmap(window, &mask, xpm_name); DrawPixmap(area_window, gc, COLOR_PIXMAP_X, COLOR_PIXMAP_Y, pixmap, mask); FreePixmap(pixmap, mask); #endif // Color type message. message_str = LookupText(g_keytext_list, key_str); DrawString(area_window, g_main_font, gc, COLOR_TEXT_X, COLOR_TEXT_Y, message_str); } gdk_gc_unref(gc); }