resolve https://rt.cpan.org/Ticket/Display.html?id=7948
- i_writegif_low() wasn't setting the returned global palette, which
meant a rubbish palette was returned to the user (detected with valgrind)
16 files changed:
- resolves https://rt.cpan.org/Ticket/Display.html?id=7949
- the type 1 glyph_names() method didn't do correct error handling
when the string parameter wasn't supplied
- resolves https://rt.cpan.org/Ticket/Display.html?id=7949
- the type 1 glyph_names() method didn't do correct error handling
when the string parameter wasn't supplied
+- renamed io.h to imio.h to prevent problems building under cygwin.
+ resolve https://rt.cpan.org/Ticket/Display.html?id=7948
+- i_writegif_low() wasn't setting the returned global palette, which
+ meant a rubbish palette was returned to the user (detected with valgrind)
=================================================================
=================================================================
require Exporter;
require DynaLoader;
require Exporter;
require DynaLoader;
@ISA = qw(Exporter DynaLoader);
bootstrap Imager $VERSION;
}
@ISA = qw(Exporter DynaLoader);
bootstrap Imager $VERSION;
}
img16.c
imgdouble.c Implements double/sample images
io.c
img16.c
imgdouble.c Implements double/sample images
io.c
'INC' => "$DFLAGS $F_INC",
'OBJECT' => join(' ', @objs, $F_OBJECT),
clean => { FILES=>'testout' },
'INC' => "$DFLAGS $F_INC",
'OBJECT' => join(' ', @objs, $F_OBJECT),
clean => { FILES=>'testout' },
- read more metadata from images, esp tiff tags, EXIF format information
from TIFF and JPEG.
- read more metadata from images, esp tiff tags, EXIF format information
from TIFF and JPEG.
+- handle 16-bit/sample pgm/ppm files
+
Documentation:
- Add to the documentation
- Write a tutorial?
Documentation:
- Add to the documentation
- Write a tutorial?
for example), instead of putting these directly into the search path
search for the freetype{2}?/someheader and then add the subdirectory if
we find the file in that directory.
for example), instead of putting these directly into the search path
search for the freetype{2}?/someheader and then add the subdirectory if
we find the file in that directory.
#include "datatypes.h"
#include <stdlib.h>
#include <stdio.h>
#include "datatypes.h"
#include <stdlib.h>
#include <stdio.h>
#ifndef _DATATYPES_H_
#define _DATATYPES_H_
#ifndef _DATATYPES_H_
#define _DATATYPES_H_
if ((map = make_gif_map(quant, imgs[0], want_trans)) == NULL) {
i_mempool_destroy(&mp);
EGifCloseFile(gf);
if ((map = make_gif_map(quant, imgs[0], want_trans)) == NULL) {
i_mempool_destroy(&mp);
EGifCloseFile(gf);
+ quant->mc_colors = orig_colors;
mm_log((1, "Error in MakeMapObject"));
return 0;
}
mm_log((1, "Error in MakeMapObject"));
return 0;
}
mm_log((1, "Error in EGifCloseFile\n"));
return 0;
}
mm_log((1, "Error in EGifCloseFile\n"));
return 0;
}
+ if (glob_colors) {
+ int i;
+ for (i = 0; i < glob_color_count; ++i)
+ orig_colors[i] = glob_colors[i];
+ }
+
i_mempool_destroy(&mp);
quant->mc_colors = orig_colors;
i_mempool_destroy(&mp);
quant->mc_colors = orig_colors;
#include "image.h"
#include "imagei.h"
#include "image.h"
#include "imagei.h"
#ifndef _IMAGE_H_
#define _IMAGE_H_
#ifndef _IMAGE_H_
#define _IMAGE_H_
#include "iolayer.h"
#include "log.h"
#include "stackmach.h"
#include "iolayer.h"
#include "log.h"
#include "stackmach.h"
#include <stdlib.h>
#ifndef _MSC_VER
#include <unistd.h>
#include <stdlib.h>
#ifndef _MSC_VER
#include <unistd.h>
#include "iolayer.h"
#include "log.h"
#include <stdlib.h>
#include "iolayer.h"
#include "log.h"
#include <stdlib.h>
#include "log.h"
#include "iolayer.h"
#include "log.h"
#include "iolayer.h"
i_sample_t *line;
const int *sample_indices;
i_sample_t *line;
const int *sample_indices;
+ mm_log((1, "makemap_addi(quant %p { mc_count=%d, mc_colors=%p }, imgs %p, count %d)\n",
+ quant, quant->mc_count, quant->mc_colors, imgs, count));
+
i_mempool_init(&mp);
clr = i_mempool_alloc(&mp, sizeof(cvec) * quant->mc_size);
i_mempool_init(&mp);
clr = i_mempool_alloc(&mp, sizeof(cvec) * quant->mc_size);
}
/* mymalloc doesn't clear memory, so I think we need this */
for (; i < quant->mc_size; ++i) {
}
/* mymalloc doesn't clear memory, so I think we need this */
for (; i < quant->mc_size; ++i) {
+ /*clr[i].r = clr[i].g = clr[i].b = 0;*/
+ clr[i].dr = 0;
+ clr[i].dg = 0;
+ clr[i].db = 0;
clr[i].fixed = 0;
clr[i].mcount = 0;
}
clr[i].fixed = 0;
clr[i].mcount = 0;
}
quant->mc_count = cnum;
#endif
quant->mc_count = cnum;
#endif
+#if 0
+ mm_log((1, "makemap_addi returns - quant.mc_count = %d\n", quant->mc_count));
+ for (i = 0; i < quant->mc_count; ++i)
+ mm_log((5, " map entry %d: (%d, %d, %d)\n", i, clr[i].r, clr[i].g, clr[i].b));
+#endif
+
i_mempool_destroy(&mp);
}
i_mempool_destroy(&mp);
}
#include "log.h"
#include "iolayer.h"
#include "log.h"
#include "iolayer.h"
#include "log.h"
#include "iolayer.h"
#include "log.h"
#include "iolayer.h"