Bonjour à tous,
J'essaie de créer une GUI en C++ avec la SDL. Pour ça, j'ai créé une classe Widget de laquelle sont dérivés tous mes contrôles.
Dans les contrôles existants, on trouve notamment une classe FreeContainer, qui est un contrôle pouvant contenir d'autres contrôles.
Dans ma classe Widget, j'ai une fonction virtuelle "blit(surface)" qui permet de dessiner le contrôle sur une surface (en général, il s'agit de la surface du contrôle père).
Jusqu'ici tout va bien (du moins je crois).
Mais ce que j'ai essayé de faire, c'est ajouter une classe MainWindow, qui représente ma fenêtre principale. Comme il s'agit d'un contrôle visible qui peut contenir d'autres contrôles, je l'ai faite hériter de FreeContainer.
Mon problème (qui me fait penser qu'il y a une erreur dans ma logique de conception), c'est que pour cette classe (et uniquement celle-ci), la fonction "blit(surface)" n'a pas de sens. Quand on affiche la fenêtre principale, il n'est pas nécessaire de lui indiquer sur quelle surface elle doit se recopier...
Pour résoudre mon problème, j'ai créé dans MainWindow une fonction "blit()" et j'ai redéfini la fonction "blit(surface)", qui ignore son paramètre et exécute simplement blit(). Mais cette solution, si elle fonctionne, ne me parait pas très propre
Qu'est-ce que vous en pensez ?
Merci pour vos lumières !

 

 
		
		 
         
 

 
			
			


 
  
 
 
			

 Problème de conception
 Problème de conception
				
 Répondre avec citation
  Répondre avec citation


 
  
 
 
			 
   
 
						 
			 
  Envoyé par Alp
 Envoyé par Alp
					
				
Partager