99 lines
2.1 KiB
C
99 lines
2.1 KiB
C
|
/*
|
||
|
text1.c
|
||
|
-------
|
||
|
*/
|
||
|
|
||
|
#include <stdio.h>
|
||
|
#include <string.h>
|
||
|
#include <unistd.h>
|
||
|
#include <stdlib.h>
|
||
|
|
||
|
#include "../tthimage.h"
|
||
|
|
||
|
/*::------------------------------------------------------------------::*/
|
||
|
/*
|
||
|
* parameter 'flags' is not used (reserved), must be 0.
|
||
|
*/
|
||
|
int
|
||
|
Image_txt1_box_0(Image_Desc *img, char *txt, int x, int y, int w,
|
||
|
RGBA *paper, RGBA *ink, int flags)
|
||
|
{
|
||
|
int foo, lstr;
|
||
|
Image_Rect rect;
|
||
|
|
||
|
if (flags != 0)
|
||
|
{
|
||
|
fprintf(stderr, "%s : wrong flags: 0x%x\n", __func__, flags);
|
||
|
return WRONG_FLAG;
|
||
|
}
|
||
|
if (w < 0)
|
||
|
{
|
||
|
fprintf(stderr, "Ahem, w (%d) is < 0 ?\n", w);
|
||
|
}
|
||
|
|
||
|
lstr = strlen(txt);
|
||
|
|
||
|
#if DEBUG_LEVEL > 1
|
||
|
fprintf(stderr, "Txt1 box 0: taille texte: %d\n", lstr);
|
||
|
Image_print_rgba("Papier", paper, 0);
|
||
|
Image_print_rgba("Encre", ink, 0);
|
||
|
#endif
|
||
|
|
||
|
rect.x = x; rect.y = y;
|
||
|
rect.h = 8 + (w*2);
|
||
|
rect.w = (lstr*8) + (w*2);
|
||
|
|
||
|
foo = Image_paint_rect(img, &rect, paper->r, paper->g, paper->b);
|
||
|
if (foo)
|
||
|
Image_print_error("txt box 0: paint rect: ", foo);
|
||
|
|
||
|
foo = Image_trace_chaine_1(img, txt, x+w, y+w, "libimage.fonte", paper, ink);
|
||
|
if (foo)
|
||
|
Image_print_error("txt box 0: trace chaine 0: ", foo);
|
||
|
|
||
|
foo = Image_draw_rect(img, &rect, ink->r, ink->g, ink->b);
|
||
|
if (foo)
|
||
|
Image_print_error("txt box 0: draw rect: ", foo);
|
||
|
|
||
|
return FUNC_IS_BETA;
|
||
|
}
|
||
|
/*::------------------------------------------------------------------::*/
|
||
|
/* new --> Sun Feb 2 20:12:07 CET 2014 */
|
||
|
/*
|
||
|
* Don't forget to load a font, eg :
|
||
|
* Image_load_fnt8x8("8x8thin", NULL, 0);
|
||
|
*/
|
||
|
int Image_txt1_big_0(Image_Desc *im, char *txt, int x, int y,
|
||
|
int xf, int yf)
|
||
|
{
|
||
|
int foo, idx, len;
|
||
|
int xpos;
|
||
|
|
||
|
#if DEBUG_LEVEL
|
||
|
fprintf(stderr, "%s ( %p \"%s\" %d %d %d %d )\n", __func__, im,
|
||
|
txt, x, y, xf, yf);
|
||
|
#endif
|
||
|
|
||
|
len = strlen(txt);
|
||
|
#if DEBUG_LEVEL
|
||
|
fprintf(stderr, " len = %d\n", len);
|
||
|
#endif
|
||
|
|
||
|
xpos = x;
|
||
|
for (idx=0; idx<len; idx++)
|
||
|
{
|
||
|
#if DEBUG_LEVEL > 2
|
||
|
fprintf(stderr, " idx %3d ch 0x%02x x %d\n",
|
||
|
idx, txt[idx], xpos);
|
||
|
#endif
|
||
|
foo = Image_trace_big_char_0(im, xpos, y, txt[idx], xf, yf);
|
||
|
#if DEBUG_LEVEL
|
||
|
fprintf(stderr, "Image_trace_big_char_0 -> %d\n", foo);
|
||
|
#endif
|
||
|
xpos += (xf * 8);
|
||
|
}
|
||
|
|
||
|
return FULL_NUCKED;
|
||
|
}
|
||
|
/*::------------------------------------------------------------------::*/
|