Bonjour,
J'ai créé une surface de la manière suivante:
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 int textHeight=19; int nlines=2368; SDL_Surface *osd; osd=SDL_CreateRGbSurface(SDL_HWSURFACE,10,nlines*textHeight,32,0,0,0,0);
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
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);
Et 2200*19 est largement supérieur à 32767....
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;
Si quelqu'un avait une idée (à part recompiler la sdl en modifiant les sources ) pour contourner ce problème....
Merci d'avance,
Edgar.
Partager