SDL, modifier un pointeur de surface

Résolu
Noha819 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   -  
Noha819 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   - 19 oct. 2023 à 20:00
Bonjour!!!

Vila mon probleme: J'ai créé un code qui trouve la position des icones du bureau Windows, et les redessine sur une surface SDL (un tableau de surfaces) sur un font bleu.
Le code marche nikel, a la fin mon tableau de surface est plein d'icones découpée, parfait.

Seuleument maintenant que j'ai fait la fonction, j'aimerai pouvoir l'integrer a mon code principal, mais quand j'appelle ma fonction en lui envoyant mon tableau de surface, mon compilateur m'engueul comme koi je ne peut pas dessiner sur un pointeur de surface.

J'ai alors essayer de contourner et de lancer ma fontion une fois par surface afin quelle puise retourner mes surfaces, mais le return ne fonctionne pas non plus!!

Et j'ai aussi essayer d'envoyer une surface et non un tableau de surfaces mais le probleme reste le même!!!

A present ma derniere idée est ke ma fonction écrive la position des icones dans un txt et que ma fonction main se charge du découpage, pour ne pas avoir a manipuler les surfaces.

Mais honnetement c'est vraiment pas propre comme codage! Alors si quelqun a un peu de lumiere a m'apporter... C'est volontier!!!

En clair ma question: Comment modifier une surface SDL du Main dans une fonction?


A voir également:

2 réponses

Dimos54
 
je suis pas experts et je déterre un vieux dossier mais si ca arrive à certain qui e par là...

Est ce que tu as bien fais gaffe à mettre la petite * devant le nom de ta fonction?

Bien que je ne pense pas qu'il y aura t réponse, je m'explique (car ca viens juste de m'arriver ^^). Je met ma fonction comme elle est dans mon programme:

SDL_Surface *LoadBMP(char *fichier_image)//ici j'avais pas mis * à LoadBMP
{

SDL_Surface* image_result;

SDL_Surface* image_ram = SDL_LoadBMP(fichier_image);

/*verification du chargement de l'image*/
if (!image_ram)
{
printf("Image %s introuvable !! \n",fichier_image);
exit(EXIT_FAILURE);
}
/*copie de l'image*/
image_result = SDL_DisplayFormat(image_ram);

/* libération de l'image temporaire.
SDL_FreeSurface(image_ram);

/*renvoie le résultat (ici l'image)*/
return image_result; //Donc pour que ca marche, tu as du la mettre ici(return *image_result)

Enfin, je pense que c'est le problème vu ce que tu écris:
"...mon compilateur m'engueule comme koi je ne peut pas dessiner sur un pointeur de surface."

}
1
Noha819 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   14
 

Salut,

Conversation intemporelle mais merci pour ta réponse, je me rend compte en relisant tout ceci à quel point je débutait :p Mais oui je me rappelle que je comprenais rien aux pointeurs à leur utilité et utilisation ^^

0
Noha819 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   14
 
Bouhou personne sait modifier un pointeur de surface?
0