diff options
author | jakllsch <jakllsch@pkgsrc.org> | 2010-09-20 01:16:17 +0000 |
---|---|---|
committer | jakllsch <jakllsch@pkgsrc.org> | 2010-09-20 01:16:17 +0000 |
commit | 48fe2d2f6c8f5f55227cf02a185c8703149e2ae3 (patch) | |
tree | d2d824dc52af1d37844d56f0053006178b4275bd /graphics/xzgv/patches | |
parent | 37d8e4d2b70f35eae84149b85d83e7e2901a5524 (diff) | |
download | pkgsrc-48fe2d2f6c8f5f55227cf02a185c8703149e2ae3.tar.gz |
Update xzgv to 0.9.1.
Approved (but not reviewed) by shattered@.
Upstream "changelog":
This release fixes some important bugs and brings the documentation
more up to date.
Diffstat (limited to 'graphics/xzgv/patches')
-rw-r--r-- | graphics/xzgv/patches/patch-ab | 174 |
1 files changed, 0 insertions, 174 deletions
diff --git a/graphics/xzgv/patches/patch-ab b/graphics/xzgv/patches/patch-ab deleted file mode 100644 index a8b7e9c07cd..00000000000 --- a/graphics/xzgv/patches/patch-ab +++ /dev/null @@ -1,174 +0,0 @@ -$NetBSD: patch-ab,v 1.6 2009/01/29 17:57:55 shattered Exp $ - -Avoid using ARGB visuals. From http://bugs.debian.org/457252. - ---- src/main.c.orig 2007-12-18 13:55:59.000000000 +0100 -+++ src/main.c 2008-05-20 15:23:15.000000000 +0200 -@@ -38,6 +38,7 @@ - #include <gtk/gtk.h> - #include <gdk/gdkkeysyms.h> - #include <gdk/gdkx.h> /* needed for iconify stuff */ -+#include <gdk/gdkrgb.h> /* http://bugs.debian.org/457252 */ - #include <X11/Xlib.h> /* ditto */ - - #include "backend.h" -@@ -105,7 +106,7 @@ - - GtkWidget *mainwin; - --gint xvpic_pal[256]; /* palette for thumbnails */ -+guint8 xvpic_pal[256][3]; /* palette for thumbnails */ - - /* image & rendered pixmap for currently-loaded image */ - xzgv_image *theimage=NULL; -@@ -2514,77 +2515,92 @@ - */ - void find_xvpic_cols(void) - { --GdkColor col; --int r,g,b; --int n; -- --for(n=0,r=0;r<8;r++) -- for(g=0;g<8;g++) /* colours are 3:3:2 */ -- for(b=0;b<4;b++,n++) -- { -- col.red=r*0xffff/7; col.green=g*0xffff/7; col.blue=b*0xffff/3; -- backend_get_closest_colour(&col); -- xvpic_pal[n]=col.pixel; -- } -+ int r,g,b; -+ int n; -+ -+ for(n=0,r=0;r<8;r++) { -+ for(g=0;g<8;g++) {/* colours are 3:3:2 */ -+ for(b=0;b<4;b++,n++) { -+ xvpic_pal[n][0]=r*0xff/7; -+ xvpic_pal[n][1]=g*0xff/7; -+ xvpic_pal[n][2]=b*0xff/3; -+ } -+ } -+ } - } - - - GdkPixmap *xvpic2pixmap(unsigned char *xvpic,int w,int h,GdkPixmap **smallp) - { - GdkPixmap *pixmap,*small_pixmap; --GdkImage *image; -+guint8 *buffer; - unsigned char *ptr=xvpic; - int x,y; - int small_w,small_h; - - if(w==0 || h==0) return(NULL); - --/* we allocate pixmap and image, draw into image, copy to pixmap, -- * and ditch the image. -- */ -- --if((image=gdk_image_new(GDK_IMAGE_FASTEST,backend_get_visual(),w,h))==NULL) -- return(NULL); -- --if((pixmap=gdk_pixmap_new(mainwin->window,w,h, -- gdk_visual_get_best_depth()))==NULL) -- { -- gdk_image_destroy(image); -- return(NULL); -- } - --for(y=0;y<h;y++) -- for(x=0;x<w;x++) -- gdk_image_put_pixel(image,x,y,xvpic_pal[*ptr++]); -- --gdk_draw_image(pixmap,clist->style->white_gc,image,0,0,0,0,w,h); --gdk_flush(); -+if (NULL == (pixmap=gdk_pixmap_new(mainwin->window,w,h, -1))) { -+ return(NULL); -+} - --/* reuse image to draw scaled-down version for thin rows */ - small_w=w/ROW_HEIGHT_DIV; - small_h=h/ROW_HEIGHT_DIV; - if(small_w==0) small_w=1; - if(small_h==0) small_h=1; - --if((small_pixmap=gdk_pixmap_new(mainwin->window,small_w,small_h, -- gdk_visual_get_best_depth()))==NULL) -- { -- gdk_pixmap_unref(pixmap); -- gdk_image_destroy(image); -- return(NULL); -+if((small_pixmap=gdk_pixmap_new(mainwin->window,small_w,small_h,-1))==NULL) -+{ -+ gdk_pixmap_unref(pixmap); -+ return(NULL); -+} -+ -+buffer = malloc (w * h * sizeof (guint8) * 3); -+ -+if (NULL == buffer) { -+ /* malloc failed */ -+ gdk_pixmap_unref(pixmap); -+ gdk_pixmap_unref(small_pixmap); -+ return NULL; -+} -+ -+ -+for(y=0;y<h;y++) { -+ for(x=0;x<w;x++) { -+ buffer[3*(y*w + x)+0] = xvpic_pal[*ptr][0]; /* red */ -+ buffer[3*(y*w + x)+1] = xvpic_pal[*ptr][1]; /* green */ -+ buffer[3*(y*w + x)+2] = xvpic_pal[*ptr][2]; /* blue */ -+ ptr++; - } -+} -+ -+gdk_draw_rgb_image(pixmap,clist->style->white_gc,0,0,w,h, -+ GDK_RGB_DITHER_NORMAL, -+ (guchar*)buffer, w * 3); -+gdk_flush(); -+ -+/* reuse image to draw scaled-down version for thin rows */ - --for(y=0;y<small_h;y++) -- for(x=0;x<small_w;x++) -- gdk_image_put_pixel(image,x,y, -- xvpic_pal[xvpic[(y*w+x)*ROW_HEIGHT_DIV]]); - --gdk_draw_image(small_pixmap,clist->style->white_gc,image, -- 0,0,0,0,small_w,small_h); -+for(y=0;y<small_h;y++) { -+ for(x=0;x<small_w;x++) { -+ buffer[3*(y*w + x)+0] = xvpic_pal[xvpic[(y*w+x)*ROW_HEIGHT_DIV]][0]; -+ buffer[3*(y*w + x)+1] = xvpic_pal[xvpic[(y*w+x)*ROW_HEIGHT_DIV]][1]; -+ buffer[3*(y*w + x)+2] = xvpic_pal[xvpic[(y*w+x)*ROW_HEIGHT_DIV]][2]; -+ } -+} - --gdk_image_destroy(image); -+gdk_draw_rgb_image(small_pixmap,clist->style->white_gc,0,0,small_w, small_h, -+ GDK_RGB_DITHER_NORMAL, -+ (guchar*)buffer, small_w * 3); - - *smallp=small_pixmap; -+ -+if (NULL != buffer) { -+ free (buffer); -+} -+ - return(pixmap); - } - -@@ -3649,7 +3665,11 @@ - }; - - -+gtk_widget_push_visual(gdk_rgb_get_visual()); -+gtk_widget_push_colormap(gdk_rgb_get_cmap()); - mainwin=gtk_window_new(GTK_WINDOW_TOPLEVEL); -+gtk_widget_pop_visual(); -+gtk_widget_pop_colormap(); - GTK_WIDGET_UNSET_FLAGS(mainwin,GTK_CAN_FOCUS); - gtk_signal_connect(GTK_OBJECT(mainwin),"destroy", - GTK_SIGNAL_FUNC(cb_quit),NULL); |