Bonjour,

J'ai créé une surface de la manière suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
int textHeight=19;
int nlines=2368;
SDL_Surface *osd;
 
osd=SDL_CreateRGbSurface(SDL_HWSURFACE,10,nlines*textHeight,32,0,0,0,0);
Le problème n'est pas la surface, le problème est d'y blitter quelque choe (à partir d'un certain point):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
SDL_Rect coo;
SDL_Surface *toBlit=.......
int numline=2200;
 
coo.x=0;
coo.y=textHeight*numline;
SDL_BlitSurface(toBlit,NULL,osd,&coo);
Pourquoi? Car la déclaration de SDL_Rect est la suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
typedef struct SDL_Rect {
	Sint16 x, y;
	Uint16 w, h;
} SDL_Rect;
Et 2200*19 est largement supérieur à 32767....

Si quelqu'un avait une idée (à part recompiler la sdl en modifiant les sources ) pour contourner ce problème....

Merci d'avance,

Edgar.