bon voila le probleme:
void _main(void)
{
void *Teste=NULL;
void *fnt16=NULL;
XGOn();
Teste=XNewGPlan();
XGPlanc(Teste);
fnt16=XConvertFont8to16(feste,8,4,65);
XCpyGPlanToLCD();
XDestrFont16(fnt16);
// XDrawChar16x8(0,0,'A',fnt16);
ngetchx();
XGOff();
XDestrGPlan(Teste);
}
ca marche
mais:
void _main(void)
{
void *Teste=NULL;
void *fnt16=NULL;
XGOn();
Teste=XNewGPlan();
XGPlanc(Teste);
fnt16=XConvertFont8to16(feste,8,4,65);
XGSprite16x8(1,1,feste);
XCpyGPlanToLCD();
XDestrFont16(fnt16);
// XDrawChar16x8(0,0,'A',fnt16);
ngetchx();
XGOff();
XDestrGPlan(Teste);
}
ca me met add error!
alors que:
void _main(void)
{
void *Teste=NULL;
void *fnt16=NULL;
XGOn();
Teste=XNewGPlan();
XGPlanc(Teste);
XGSprite16x8(1,1,feste);
XCpyGPlanToLCD();
// XDrawChar16x8(0,0,'A',fnt16);
ngetchx();
XGOff();
XDestrGPlan(Teste);
}
ca marche et que:
void * XConvertFont8to16(unsigned char *font8,short hauteur,short nbrchar,short char1)
{
short Xsize=hauteur*4*nbrchar,i;
unsigned short *font16;
if(!(font16=malloc(Xsize+1))) return NULL;
memset(font16,0,Xsize+1);
for (i=0;i<Xsize/2;i++) font16[i+1]=((short)font8[i])<<8;
font16[0]=char1;
return font16;
}
void XDestrFont16(void *adrr ) { free(adrr); }
Je comprend pas ou ca merde... surtout que j'utilise que les registre permis + d3 que je sauve et restaure a la fin...