Compare commits
	
		
			2 Commits
		
	
	
		
			56941f1215
			...
			86cb7eaa4a
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					86cb7eaa4a | ||
| 
						 | 
					2246a5d744 | 
@ -63,6 +63,7 @@ extractbits.o:	extractbits.c	$(DEPS)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
filtadapt.o:	filtadapt.c	$(DEPS)
 | 
					filtadapt.o:	filtadapt.c	$(DEPS)
 | 
				
			||||||
filtres.o:	filtres.c	$(DEPS)
 | 
					filtres.o:	filtres.c	$(DEPS)
 | 
				
			||||||
 | 
					falsecolors.o:	falsecolors.c	$(DEPS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
gadgrect.o:	gadgrect.c	$(DEPS)
 | 
					gadgrect.o:	gadgrect.c	$(DEPS)
 | 
				
			||||||
glitch.o:	glitch.c	$(DEPS)
 | 
					glitch.o:	glitch.c	$(DEPS)
 | 
				
			||||||
@ -132,7 +133,6 @@ vignetize.o:	vignetize.c	$(DEPS)
 | 
				
			|||||||
warp0.o:	warp0.c		$(DEPS)
 | 
					warp0.o:	warp0.c		$(DEPS)
 | 
				
			||||||
warp1.o:	warp1.c		$(DEPS)
 | 
					warp1.o:	warp1.c		$(DEPS)
 | 
				
			||||||
warp2.o:	warp2.c		$(DEPS)
 | 
					warp2.o:	warp2.c		$(DEPS)
 | 
				
			||||||
warp3.o:	warp3.c		$(DEPS)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
zoom.o:		zoom.c		$(DEPS)
 | 
					zoom.o:		zoom.c		$(DEPS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -152,7 +152,7 @@ OBJECTS =	7seg.o							\
 | 
				
			|||||||
		dither.o dither2.o dither3.o				\
 | 
							dither.o dither2.o dither3.o				\
 | 
				
			||||||
		doublesz.o drawalpha.o drawing.o drawpatt.o		\
 | 
							doublesz.o drawalpha.o drawing.o drawpatt.o		\
 | 
				
			||||||
		effects.o effects2.o effects3.o extractbits.o		\
 | 
							effects.o effects2.o effects3.o extractbits.o		\
 | 
				
			||||||
		filtadapt.o filtres.o					\
 | 
							filtadapt.o filtres.o falsecolors.o			\
 | 
				
			||||||
		gadgrect.o glitch.o gradient.o				\
 | 
							gadgrect.o glitch.o gradient.o				\
 | 
				
			||||||
		halfsize.o						\
 | 
							halfsize.o						\
 | 
				
			||||||
		image.o	imprime.o					\
 | 
							image.o	imprime.o					\
 | 
				
			||||||
@ -175,7 +175,7 @@ OBJECTS =	7seg.o							\
 | 
				
			|||||||
		text0.o text1.o text16x24.o				\
 | 
							text0.o text1.o text16x24.o				\
 | 
				
			||||||
		tga.o tools.o turtle.o					\
 | 
							tga.o tools.o turtle.o					\
 | 
				
			||||||
		vignetize.o						\
 | 
							vignetize.o						\
 | 
				
			||||||
		warp0.o warp1.o warp2.o warp3.o				\
 | 
							warp0.o warp1.o warp2.o					\
 | 
				
			||||||
		zoom.o
 | 
							zoom.o
 | 
				
			||||||
 | 
					
 | 
				
			||||||
../libtthimage.a: 	$(OBJECTS)
 | 
					../libtthimage.a: 	$(OBJECTS)
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,7 @@
 | 
				
			|||||||
			calcluts.c
 | 
								calcluts.c
 | 
				
			||||||
			----------
 | 
								----------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   voir aussi: luts15bits.c
 | 
					   voir aussi: luts15bits.c & palettes.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -42,7 +42,7 @@ for (foo=0; foo<256; foo++) {
 | 
				
			|||||||
	lut[foo] = quux;
 | 
						lut[foo] = quux;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
return FUNC_IS_BETA;
 | 
					return FUNC_IS_ALPHA;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
/*::------------------------------------------------------------------::*/
 | 
					/*::------------------------------------------------------------------::*/
 | 
				
			||||||
int Image_calclut_foo(int *lut, int v0, int v255)
 | 
					int Image_calclut_foo(int *lut, int v0, int v255)
 | 
				
			||||||
@ -67,7 +67,7 @@ for (foo=0; foo<256; foo++) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
if (fp!=stdout)			fclose(fp);
 | 
					if (fp!=stdout)			fclose(fp);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
return FUNC_IS_BETA;
 | 
					return FUNC_IS_ALPHA;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
/*::------------------------------------------------------------------::*/
 | 
					/*::------------------------------------------------------------------::*/
 | 
				
			||||||
int Image_load_lut(int *lut, char *fname, int flag)
 | 
					int Image_load_lut(int *lut, char *fname, int flag)
 | 
				
			||||||
@ -98,6 +98,6 @@ for (idx=0; idx<256; idx++) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
fclose(fp);
 | 
					fclose(fp);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
return FUNC_IS_BETA;
 | 
					return FUNC_IS_ALPHA;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
/*::------------------------------------------------------------------::*/
 | 
					/*::------------------------------------------------------------------::*/
 | 
				
			||||||
 | 
				
			|||||||
@ -42,7 +42,7 @@ if ( (foo=Image_compare_desc(s, d)) )
 | 
				
			|||||||
Image_TGA_save("/tmp/aaaa_debug_a.tga", s, 0);
 | 
					Image_TGA_save("/tmp/aaaa_debug_a.tga", s, 0);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Image_clear(d, 0, 0, 0);
 | 
					/* XXX Image_clear(d, 0, 0, 0); */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
for (y=0; y<s->height-3; y+=3)
 | 
					for (y=0; y<s->height-3; y+=3)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
@ -108,7 +108,7 @@ if ( (foo=Image_compare_desc(s, d)) )
 | 
				
			|||||||
fprintf(stderr, "* Image_dither_3x3_1 (%s) is experimental\n", __FILE__);
 | 
					fprintf(stderr, "* Image_dither_3x3_1 (%s) is experimental\n", __FILE__);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Image_clear(d, 0, 0, 0);
 | 
					/* XXX Image_clear(d, 0, 0, 0); */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
for (y=0; y<s->height-3; y+=3)
 | 
					for (y=0; y<s->height-3; y+=3)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
@ -167,7 +167,7 @@ if ( (foo=Image_compare_desc(s, d)) )
 | 
				
			|||||||
    return foo;
 | 
					    return foo;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Image_clear(d, 0, 0, 0);
 | 
					/* XXX Image_clear(d, 0, 0, 0); */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
return FUNC_NOT_FINISH;
 | 
					return FUNC_NOT_FINISH;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -183,7 +183,7 @@ if ( (foo=Image_compare_desc(s, d)) )
 | 
				
			|||||||
    return foo;
 | 
					    return foo;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Image_clear(d, 0, 0, 0);
 | 
					/* XXX Image_clear(d, 0, 0, 0); */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
return FUNC_NOT_FINISH;
 | 
					return FUNC_NOT_FINISH;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -69,8 +69,7 @@ fprintf(stderr, "%s ( %p %p %d %d )\n", __func__, s, d, shuff, mono);
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/* remplissage de la matrice */
 | 
					/* remplissage de la matrice */
 | 
				
			||||||
fprintf(stderr, "   init matrice\n");
 | 
					fprintf(stderr, "   init matrice\n");
 | 
				
			||||||
for(foo=0; foo<256; foo++)
 | 
					for(foo=0; foo<256; foo++) {
 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
	((uint16_t *)matrice)[foo] = foo;
 | 
						((uint16_t *)matrice)[foo] = foo;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
/* brasssage de la matrice */
 | 
					/* brasssage de la matrice */
 | 
				
			||||||
 | 
				
			|||||||
@ -64,7 +64,6 @@ printf("RGBA           :  %5ld\n", sizeof(RGBA));
 | 
				
			|||||||
printf("A_BitPlane     :  %5ld\n", sizeof(A_BitPlane)); 
 | 
					printf("A_BitPlane     :  %5ld\n", sizeof(A_BitPlane)); 
 | 
				
			||||||
printf("RGB_map        :  %5ld\n", sizeof(RGB_map)); 
 | 
					printf("RGB_map        :  %5ld\n", sizeof(RGB_map)); 
 | 
				
			||||||
printf("Image_Point    :  %5ld\n", sizeof(Image_Point)); 
 | 
					printf("Image_Point    :  %5ld\n", sizeof(Image_Point)); 
 | 
				
			||||||
printf("RGB LUTs       :  %5ld\n", sizeof(Image_LUTs));
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
/*::------------------------------------------------------------------::*/
 | 
					/*::------------------------------------------------------------------::*/
 | 
				
			||||||
 | 
				
			|||||||
@ -24,6 +24,9 @@ Image_save_color_Map(char *file, char *name, RGB_map *map)
 | 
				
			|||||||
int	foo;
 | 
					int	foo;
 | 
				
			||||||
FILE	*fp;
 | 
					FILE	*fp;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fprintf(stderr, ">>> %s ( '%s' '%s' %p )\n", __func__,
 | 
				
			||||||
 | 
									file, name, map);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ( (fp=fopen(file, "w")) == NULL ) {
 | 
					if ( (fp=fopen(file, "w")) == NULL ) {
 | 
				
			||||||
	fprintf(stderr, "Save Color Map: err fopen\n");
 | 
						fprintf(stderr, "Save Color Map: err fopen\n");
 | 
				
			||||||
	return FILE_CREATE_ERR;
 | 
						return FILE_CREATE_ERR;
 | 
				
			||||||
@ -81,11 +84,14 @@ FILE    *fp;
 | 
				
			|||||||
int     nbre, r, g, b, foo, errcode;
 | 
					int     nbre, r, g, b, foo, errcode;
 | 
				
			||||||
char    buffer[256];
 | 
					char    buffer[256];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fprintf(stderr, ">>> %s ( '%s' '%s' %p )\n", __func__,
 | 
				
			||||||
 | 
									file, name, where);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ( name != NULL ) {
 | 
					if ( name != NULL ) {
 | 
				
			||||||
    if (strlen(name)>IMG_OBJNAME_LEN) return STRING_TOO_LONG;
 | 
					    if (strlen(name)>IMG_OBJNAME_LEN) return STRING_TOO_LONG;
 | 
				
			||||||
    strcpy(where->name, name);
 | 
					    strcpy(where->name, name);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
else    strcpy(where->name, "no name");
 | 
					else    strcpy(where->name, "<noname>");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 *  patch du 11 Décembre 2001: on utilise une fonction qui recherche le
 | 
					 *  patch du 11 Décembre 2001: on utilise une fonction qui recherche le
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										51
									
								
								Lib/ptlist.c
									
									
									
									
									
								
							
							
						
						
									
										51
									
								
								Lib/ptlist.c
									
									
									
									
									
								
							@ -35,11 +35,10 @@ Image_PtList * Image_ptl_alloc(int nbre, char *name)
 | 
				
			|||||||
Image_PtList *ptr;
 | 
					Image_PtList *ptr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if DEBUG_LEVEL
 | 
					#if DEBUG_LEVEL
 | 
				
			||||||
fprintf(stderr, "Image PtList: alloc: %d '%s'\n", nbre, name);
 | 
					fprintf(stderr, ">>> %s ( %d '%s' )\n", __func__, nbre, name);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ( (ptr=malloc(sizeof(Image_PtList)))==NULL)
 | 
					if ( (ptr=malloc(sizeof(Image_PtList)))==NULL) {
 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
	fprintf(stderr, "Image PtList: struct malloc failed\n");
 | 
						fprintf(stderr, "Image PtList: struct malloc failed\n");
 | 
				
			||||||
#if FORCE_ABORT
 | 
					#if FORCE_ABORT
 | 
				
			||||||
	abort();
 | 
						abort();
 | 
				
			||||||
@ -56,8 +55,7 @@ if (strlen(name) < IMG_OBJNAME_LEN)
 | 
				
			|||||||
else
 | 
					else
 | 
				
			||||||
	strcpy(ptr->name, "name too long");
 | 
						strcpy(ptr->name, "name too long");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ( (ptr->points=malloc(sizeof(Image_Point)*nbre))==NULL)
 | 
					if ( (ptr->points=malloc(sizeof(Image_Point)*nbre))==NULL) {
 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
	fprintf(stderr, "Image PtList: array malloc failed\n");
 | 
						fprintf(stderr, "Image PtList: array malloc failed\n");
 | 
				
			||||||
#if FORCE_ABORT
 | 
					#if FORCE_ABORT
 | 
				
			||||||
	abort();
 | 
						abort();
 | 
				
			||||||
@ -80,8 +78,7 @@ fprintf(stderr, "Image PtList: addpt to %p: %5d %5d %5d %5d\n",
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/* in first, we check if this is a valid point list */
 | 
					/* in first, we check if this is a valid point list */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (ptl->control != 0xfde9601a)
 | 
					if (ptl->control != 0xfde9601a) {
 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
	fprintf(stderr, "ptl addpt: invalid point list %p\n", ptl);
 | 
						fprintf(stderr, "ptl addpt: invalid point list %p\n", ptl);
 | 
				
			||||||
#if FORCE_ABORT
 | 
					#if FORCE_ABORT
 | 
				
			||||||
	abort();
 | 
						abort();
 | 
				
			||||||
@ -91,12 +88,10 @@ if (ptl->control != 0xfde9601a)
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * in second, we check if we have room for the new point.
 | 
					 * in second, we check if we have room for the new point.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
if (ptl->nbre==ptl->alloc)
 | 
					if (ptl->nbre==ptl->alloc) {
 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
	newsize = ptl->alloc + 200;
 | 
						newsize = ptl->alloc + 200;
 | 
				
			||||||
	fprintf(stderr, "ptl: realloc array %d\n", newsize);
 | 
						fprintf(stderr, "ptl: realloc array %d\n", newsize);
 | 
				
			||||||
	if ((ptrpt=realloc(ptl->points, sizeof(Image_Point)*newsize))==NULL)
 | 
						if ((ptrpt=realloc(ptl->points, sizeof(Image_Point)*newsize))==NULL) {
 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
		fprintf(stderr, "%s: REALLOC FAIL\n", __func__);
 | 
							fprintf(stderr, "%s: REALLOC FAIL\n", __func__);
 | 
				
			||||||
		exit(5);
 | 
							exit(5);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@ -117,7 +112,7 @@ return FUNC_IS_BETA;
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 *	attention, il est _important_ de respecter le format d'écriture
 | 
					 *	attention, il est _important_ de respecter le format d'écriture
 | 
				
			||||||
 *	parce que les fichiers de liste de points sont parfois relus par
 | 
					 *	parce que les fichiers de liste de points sont parfois relus par
 | 
				
			||||||
 *	des programmes FORTRAN, beaucoup plus pointilleux sur le 
 | 
					 *	des programmes FORTRAN 77, beaucoup plus pointilleux sur le 
 | 
				
			||||||
 *	formatage des données.
 | 
					 *	formatage des données.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
int Image_ptl_write(char *filename, Image_PtList *ptl)
 | 
					int Image_ptl_write(char *filename, Image_PtList *ptl)
 | 
				
			||||||
@ -125,17 +120,15 @@ int Image_ptl_write(char *filename, Image_PtList *ptl)
 | 
				
			|||||||
FILE	*fp;
 | 
					FILE	*fp;
 | 
				
			||||||
int	foo;
 | 
					int	foo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ( (fp=fopen(filename, "w"))==NULL )
 | 
					if ( (fp=fopen(filename, "w"))==NULL ) {
 | 
				
			||||||
	{
 | 
						fprintf(stderr, "%s: write %s fopen fail.\n", __func__, filename);
 | 
				
			||||||
	fprintf(stderr, "Image PtList: write: fopen fail.\n");
 | 
					 | 
				
			||||||
	return FILE_CREATE_ERR;
 | 
						return FILE_CREATE_ERR;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fprintf(fp, "%8d\n", ptl->nbre);
 | 
					fprintf(fp, "%8d\n", ptl->nbre);
 | 
				
			||||||
fprintf(fp, "%08d%08d\n", ptl->width, ptl->height);
 | 
					fprintf(fp, "%08d%08d\n", ptl->width, ptl->height);
 | 
				
			||||||
fprintf(fp, "%08d%08d\n", 42, 42);			/* reserved */
 | 
					fprintf(fp, "%08d%08d\n", 42, 42);			/* reserved */
 | 
				
			||||||
for (foo=0; foo<ptl->nbre; foo++)
 | 
					for (foo=0; foo<ptl->nbre; foo++) {
 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
	fprintf(fp, "%8d%8d%8d%8d\n",
 | 
						fprintf(fp, "%8d%8d%8d%8d\n",
 | 
				
			||||||
				ptl->points[foo].x, ptl->points[foo].y,
 | 
									ptl->points[foo].x, ptl->points[foo].y,
 | 
				
			||||||
				ptl->points[foo].h, ptl->points[foo].c);
 | 
									ptl->points[foo].h, ptl->points[foo].c);
 | 
				
			||||||
@ -155,8 +148,7 @@ int	foo;
 | 
				
			|||||||
fprintf(stderr, ">>> %s ( '%s' %p )\n", __func__, filename, ptl);
 | 
					fprintf(stderr, ">>> %s ( '%s' %p )\n", __func__, filename, ptl);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (ptl->control != 0xfde9601a)
 | 
					if (ptl->control != 0xfde9601a)	{
 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
	fprintf(stderr, "%s: no deadbeef in %p\n", __func__, ptl);
 | 
						fprintf(stderr, "%s: no deadbeef in %p\n", __func__, ptl);
 | 
				
			||||||
	fprintf(stderr, "    can't read '%s'\n", filename);
 | 
						fprintf(stderr, "    can't read '%s'\n", filename);
 | 
				
			||||||
	return 666;
 | 
						return 666;
 | 
				
			||||||
@ -175,8 +167,7 @@ int Image_ptl_kill(Image_PtList *ptl, char *msg)
 | 
				
			|||||||
fprintf(stderr, "Killing point list %p for '%s'\n", ptl, msg);
 | 
					fprintf(stderr, "Killing point list %p for '%s'\n", ptl, msg);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (ptl->control != 0xfde9601a)
 | 
					if (ptl->control != 0xfde9601a) {
 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
	fprintf(stderr, "%s: no deadbeef in %p\n", __func__, ptl);
 | 
						fprintf(stderr, "%s: no deadbeef in %p\n", __func__, ptl);
 | 
				
			||||||
	return 666;
 | 
						return 666;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@ -198,8 +189,7 @@ return FULL_NUCKED;
 | 
				
			|||||||
int
 | 
					int
 | 
				
			||||||
Image_ptl_get_size(Image_PtList *ptl, int *nbre, int *alloc)
 | 
					Image_ptl_get_size(Image_PtList *ptl, int *nbre, int *alloc)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
if (ptl->control != 0xfde9601a)
 | 
					if (ptl->control != 0xfde9601a) {
 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
	fprintf(stderr, "%s: no deadbeef in %p\n", __func__, ptl);
 | 
						fprintf(stderr, "%s: no deadbeef in %p\n", __func__, ptl);
 | 
				
			||||||
	return 666;
 | 
						return 666;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@ -211,19 +201,16 @@ return OLL_KORRECT;
 | 
				
			|||||||
/*::------------------------------------------------------------------::*/
 | 
					/*::------------------------------------------------------------------::*/
 | 
				
			||||||
int Image_ptl_get_point(Image_PtList *ptl, Image_Point *pt, int idx)
 | 
					int Image_ptl_get_point(Image_PtList *ptl, Image_Point *pt, int idx)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
if (ptl->control != 0xfde9601a)
 | 
					if (ptl->control != 0xfde9601a) {
 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
	fprintf(stderr, "%s: no deadbeef in %p\n", __func__, ptl);
 | 
						fprintf(stderr, "%s: no deadbeef in %p\n", __func__, ptl);
 | 
				
			||||||
	return 666;
 | 
						return 666;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
if (idx < 0)
 | 
					if (idx < 0) {
 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
	fprintf(stderr, "%s:%s point idx %d is negative, so bad !\n",
 | 
						fprintf(stderr, "%s:%s point idx %d is negative, so bad !\n",
 | 
				
			||||||
			__FILE__, __func__, idx);
 | 
								__FILE__, __func__, idx);
 | 
				
			||||||
	return FULL_NUCKED;
 | 
						return FULL_NUCKED;
 | 
				
			||||||
	}	
 | 
						}	
 | 
				
			||||||
if (idx>ptl->nbre)
 | 
					if (idx>ptl->nbre) {
 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
	fprintf(stderr, "%s:%s point idx %d is too big, so bad !\n",
 | 
						fprintf(stderr, "%s:%s point idx %d is too big, so bad !\n",
 | 
				
			||||||
			__FILE__, __func__, idx);
 | 
								__FILE__, __func__, idx);
 | 
				
			||||||
	return FULL_NUCKED;
 | 
						return FULL_NUCKED;
 | 
				
			||||||
@ -243,8 +230,7 @@ int Image_ptl_boundingbox(Image_PtList *ptl, Image_Rect *box)
 | 
				
			|||||||
int	xmin, ymin, xmax, ymax;
 | 
					int	xmin, ymin, xmax, ymax;
 | 
				
			||||||
int	foo;
 | 
					int	foo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (ptl->control != 0xfde9601a)
 | 
					if (ptl->control != 0xfde9601a)	{
 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
	fprintf(stderr, "%s: no deadbeef in %p\n", __func__, ptl);
 | 
						fprintf(stderr, "%s: no deadbeef in %p\n", __func__, ptl);
 | 
				
			||||||
	return 666;
 | 
						return 666;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@ -252,8 +238,7 @@ if (ptl->control != 0xfde9601a)
 | 
				
			|||||||
xmin = ymin =  999999999;
 | 
					xmin = ymin =  999999999;
 | 
				
			||||||
xmax = ymax = -999999999;
 | 
					xmax = ymax = -999999999;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
for (foo=0; foo<ptl->nbre; foo++)
 | 
					for (foo=0; foo<ptl->nbre; foo++) {
 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
	if (ptl->points[foo].x < xmin)		xmin = ptl->points[foo].x;
 | 
						if (ptl->points[foo].x < xmin)		xmin = ptl->points[foo].x;
 | 
				
			||||||
	if (ptl->points[foo].x > xmax)		xmax = ptl->points[foo].x;
 | 
						if (ptl->points[foo].x > xmax)		xmax = ptl->points[foo].x;
 | 
				
			||||||
	if (ptl->points[foo].y < ymin)		ymin = ptl->points[foo].y;
 | 
						if (ptl->points[foo].y < ymin)		ymin = ptl->points[foo].y;
 | 
				
			||||||
 | 
				
			|||||||
@ -179,7 +179,7 @@ fprintf(stderr, "%s: ltr %3d  '%c'     %4d %4d\n", __func__, lettre,
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 *	use default if not provided my caller 
 | 
					 *	use default if not provided by caller 
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
if (NULL==pap)		pap = &blanc;
 | 
					if (NULL==pap)		pap = &blanc;
 | 
				
			||||||
if (NULL==ink)		ink = &noir;
 | 
					if (NULL==ink)		ink = &noir;
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										26
									
								
								Lib/turtle.c
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								Lib/turtle.c
									
									
									
									
									
								
							@ -9,16 +9,16 @@
 | 
				
			|||||||
#include   "../tthimage.h"
 | 
					#include   "../tthimage.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*::------------------------------------------------------------------::*/
 | 
					/*::------------------------------------------------------------------::*/
 | 
				
			||||||
int
 | 
					int Image_turtle_infos(Image_Desc *img, int flags)
 | 
				
			||||||
Image_turtle_infos(Image_Desc *img, int flags)
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if DEBUG_LEVEL
 | 
					#if DEBUG_LEVEL
 | 
				
			||||||
fprintf(stderr, "Image turtle infos: flags = %04x\n", flags);
 | 
					fprintf(stderr, "Image turtle infos: flags = %04x\n", flags);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ( flags & 1 )
 | 
					if ( flags & 1 ) {
 | 
				
			||||||
	Image_dump_descriptor(img, "turtle infos");
 | 
						Image_dump_descriptor(img, "turtle infos");
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
return FUNC_IS_ALPHA;
 | 
					return FUNC_IS_ALPHA;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -29,8 +29,7 @@ return FUNC_IS_ALPHA;
 | 
				
			|||||||
 *	Q: pourquoi le canal alpha n'est pas pris en compte ?
 | 
					 *	Q: pourquoi le canal alpha n'est pas pris en compte ?
 | 
				
			||||||
 *	A: parce que :)
 | 
					 *	A: parce que :)
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
int
 | 
					int Image_turtle_setcolors(Image_Desc *img, int r, int g, int b)
 | 
				
			||||||
Image_turtle_setcolors(Image_Desc *img, int r, int g, int b)
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
img->rt = r;	img->gt = g;	img->bt = b;
 | 
					img->rt = r;	img->gt = g;	img->bt = b;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -39,23 +38,28 @@ img->at = 0;	/* ? bonne valeur ? */
 | 
				
			|||||||
return FUNC_IS_ALPHA;
 | 
					return FUNC_IS_ALPHA;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
/*::------------------------------------------------------------------::*/
 | 
					/*::------------------------------------------------------------------::*/
 | 
				
			||||||
int
 | 
					int Image_turtle_move(Image_Desc *img, double xt, double yt)
 | 
				
			||||||
Image_turtle_move(Image_Desc *img, double xt, double yt)
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fprintf(stderr, ">>> %s ( %p   %f %f )\n", __func__, img, xt, yt);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
img->xt = xt;
 | 
					img->xt = xt;
 | 
				
			||||||
img->yt = yt;
 | 
					img->yt = yt;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fprintf(stderr, ">>> %s ( %p   %f %f )\n", __func__, img, xt, yt);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
return FUNC_NOT_FINISH;
 | 
					return FUNC_NOT_FINISH;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
/*::------------------------------------------------------------------::*/
 | 
					/*::------------------------------------------------------------------::*/
 | 
				
			||||||
int
 | 
					int Image_turtle_draw(Image_Desc *img, double xt, double yt)
 | 
				
			||||||
Image_turtle_draw(Image_Desc *img, double xt, double yt)
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					int	x1, y1, x2, y2;
 | 
				
			||||||
 | 
					RGBA	color = { 200, 200, 200, 0, 0, 0 };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fprintf(stderr, ">>> %s ( %p   %f %f )\n", __func__, img, xt, yt);
 | 
					fprintf(stderr, ">>> %s ( %p   %f %f )\n", __func__, img, xt, yt);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					x1 = (int)img->xt, y1 = (int)img->yt;
 | 
				
			||||||
 | 
					x2 = (int)xt     , y2 = (int)yt;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Image_draw_line(img, x1, y1, x2, y2, &color);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
return FUNC_NOT_FINISH;
 | 
					return FUNC_NOT_FINISH;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										10
									
								
								Lib/warp0.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								Lib/warp0.c
									
									
									
									
									
								
							@ -65,13 +65,13 @@ for (y=0; y<dst->height; y++) {
 | 
				
			|||||||
return FUNC_IS_BETA;
 | 
					return FUNC_IS_BETA;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
/*::------------------------------------------------------------------::*/
 | 
					/*::------------------------------------------------------------------::*/
 | 
				
			||||||
int
 | 
					int Image_warp_essai_1(Image_Desc *src, Image_Desc *dst, double angle, double shift)
 | 
				
			||||||
Image_warp_essai_1(Image_Desc *src, Image_Desc *dst, double angle)
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if DEBUG_LEVEL
 | 
					fprintf(stderr, ">>> %s ( %p %p %f %f )\n", __func__, src, dst, angle, shift);
 | 
				
			||||||
fprintf(stderr, "Warp 1: what I can do here ?\n");
 | 
					
 | 
				
			||||||
#endif
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
return FUNC_NOT_FINISH;
 | 
					return FUNC_NOT_FINISH;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -19,7 +19,7 @@ HTML_DIR=$(DESTDIR)/html
 | 
				
			|||||||
# 		use -Wmissing-prototypes ?
 | 
					# 		use -Wmissing-prototypes ?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LIBIMG_OPT=-DFORCE_ABORT=0 -DDEBUG_LEVEL=0 -DIMGCOMMENT=0
 | 
					LIBIMG_OPT=-DFORCE_ABORT=0 -DDEBUG_LEVEL=0 -DIMGCOMMENT=0
 | 
				
			||||||
CC_OPTS=-Wall -W -g  -ansi -O3 -fPIC -no-pie
 | 
					CC_OPTS=-Wall -W -g -ansi -O0 -fPIC -no-pie
 | 
				
			||||||
CC_HACKS=-DNEED_ALLOCA_H 
 | 
					CC_HACKS=-DNEED_ALLOCA_H 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CFLAGS= $(CC_OPTS)			\
 | 
					CFLAGS= $(CC_OPTS)			\
 | 
				
			||||||
 | 
				
			|||||||
@ -15,7 +15,7 @@ Le second, [`install.sh`](./install.sh) va mettre les choses au bon endroit.
 | 
				
			|||||||
Il est vivement conseillé de bien les lire avant de les utiliser.
 | 
					Il est vivement conseillé de bien les lire avant de les utiliser.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Les options globales de compilation sont dans
 | 
					Les options globales de compilation sont dans
 | 
				
			||||||
[Paramakes.mk](Paramakes.mk). Là aussi, soyez attentifs
 | 
					[Paramakes.mk](Paramakes.mk). Là aussi, soyez attentifs.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Utilisation
 | 
					## Utilisation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -4,7 +4,7 @@
 | 
				
			|||||||
test_des_xpers ()
 | 
					test_des_xpers ()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
command=$1
 | 
					command=$1
 | 
				
			||||||
echo ; echo " Test du xper $command"
 | 
					echo ; echo "======= Test du xper $command"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# generation d'une image sur laquelle travailler
 | 
					# generation d'une image sur laquelle travailler
 | 
				
			||||||
$COMDIR/tga_mires mircol0 $SRC "hard xper '$command'"
 | 
					$COMDIR/tga_mires mircol0 $SRC "hard xper '$command'"
 | 
				
			||||||
 | 
				
			|||||||
@ -51,7 +51,7 @@ if (foo) { Image_print_error("load thin font", foo); }
 | 
				
			|||||||
foo = Image_t16x24_chars_map("16x24gruik", "all16X24chars.tga", 2);
 | 
					foo = Image_t16x24_chars_map("16x24gruik", "all16X24chars.tga", 2);
 | 
				
			||||||
if (foo) { Image_print_error("load gruik font", foo); }
 | 
					if (foo) { Image_print_error("load gruik font", foo); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fprintf(stderr, "--------------------------\n");
 | 
					fprintf(stderr, "--------------------------------------\n");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
foo = essai_f1("pov.tga", "/tmp/aaaa_plop.tga", "0123456789");
 | 
					foo = essai_f1("pov.tga", "/tmp/aaaa_plop.tga", "0123456789");
 | 
				
			||||||
 | 
				
			|||||||
@ -10,6 +10,7 @@ install -m 0644    tthimage.h          $DESTDIR/include/tthimage.h
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
cp -v Datas/8x8thin  Datas/16x24thin	$DESTDIR/share/libimage/
 | 
					cp -v Datas/8x8thin  Datas/16x24thin	$DESTDIR/share/libimage/
 | 
				
			||||||
cp -v Datas/8x8std   Datas/16x24gruik	$DESTDIR/share/libimage/
 | 
					cp -v Datas/8x8std   Datas/16x24gruik	$DESTDIR/share/libimage/
 | 
				
			||||||
 | 
					cp -v Datas/*.map			$DESTDIR/share/libimage/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
liste="genplot2 tga_cadre tga_effects tga_filtres tga_remap tga_tools  \
 | 
					liste="genplot2 tga_cadre tga_effects tga_filtres tga_remap tga_tools  \
 | 
				
			||||||
       tga_combine tga_television tga_dither tga_applymap tga_makehf15 \
 | 
					       tga_combine tga_television tga_dither tga_applymap tga_makehf15 \
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										18
									
								
								tthimage.h
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								tthimage.h
									
									
									
									
									
								
							@ -4,7 +4,7 @@
 | 
				
			|||||||
	http://la.buvette.org/devel/libimage/
 | 
						http://la.buvette.org/devel/libimage/
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
#ifndef IMAGE_VERSION_STRING
 | 
					#ifndef IMAGE_VERSION_STRING
 | 
				
			||||||
	#define IMAGE_VERSION_STRING "0.4.51 pl 62"
 | 
						#define IMAGE_VERSION_STRING "0.4.51 pl 80"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*::------------------------------------------------------------------::*/
 | 
					/*::------------------------------------------------------------------::*/
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
@ -609,19 +609,15 @@ int	Image_quelques_calculs(Image_Desc *image);
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
int Image_histo_RGB(Image_Desc *im, long *hr, long *hg, long *hb);
 | 
					int Image_histo_RGB(Image_Desc *im, long *hr, long *hg, long *hb);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* XXX may be we need a struct for RGB luts ? */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
typedef struct {
 | 
					 | 
				
			||||||
	unsigned int		magic;
 | 
					 | 
				
			||||||
	uint8_t			R[256];
 | 
					 | 
				
			||||||
	uint8_t			G[256];
 | 
					 | 
				
			||||||
	uint8_t			B[256];
 | 
					 | 
				
			||||||
	int			flags;
 | 
					 | 
				
			||||||
	} Image_LUTs;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
int Image_LUT_RGB(Image_Desc *, Image_Desc *, int *, int *, int *);
 | 
					int Image_LUT_RGB(Image_Desc *, Image_Desc *, int *, int *, int *);
 | 
				
			||||||
int Image_LUT_mono(Image_Desc *src, Image_Desc *dst, int *lut);
 | 
					int Image_LUT_mono(Image_Desc *src, Image_Desc *dst, int *lut);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* 	falsecolors.c 		*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int Image_gen_fc_lut(float maxval, int nbslots, RGB_map *plut);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*::------------------------------------------------------------------::*/
 | 
					/*::------------------------------------------------------------------::*/
 | 
				
			||||||
/*		module distances.c					*/
 | 
					/*		module distances.c					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1310,7 +1306,7 @@ int Image_vectfont_text_0(Image_Desc *im, char *txt, int x, int y);
 | 
				
			|||||||
	
 | 
						
 | 
				
			||||||
int Image_warp_essai_0(Image_Desc *src, Image_Desc *dst, double angle, 
 | 
					int Image_warp_essai_0(Image_Desc *src, Image_Desc *dst, double angle, 
 | 
				
			||||||
						int xc, int yc);
 | 
											int xc, int yc);
 | 
				
			||||||
int Image_warp_essai_1(Image_Desc *src, Image_Desc *dst, double angle);
 | 
					int Image_warp_essai_1(Image_Desc *src, Image_Desc *dst, double ang, double off);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*::------------------------------------------------------------------::*/
 | 
					/*::------------------------------------------------------------------::*/
 | 
				
			||||||
int Image_center_rotate(Image_Desc *src, Image_Desc *dst, double angle);
 | 
					int Image_center_rotate(Image_Desc *src, Image_Desc *dst, double angle);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user