Neoplayer - Début du projet
Bon, suite au billet précédent, je me suis lancé dans le projet neoplayer. Vous remarquerez que j’ai beaucoup d’imagination pour les noms …
Par où commencer ?
Je suis resté longtemps devant une page blanche à réfléchir.
Il y a tellement de choses à faire, et il faut bien découper les tâches. J’ai fait dans cet ordre :
- Le logger qui me permet de debugger
- L’affichage d’un message d’erreur (écran rouge)
- Le parsing XML
- Le gestionnaire de chargement de fichiers
- Le placement des boîtes
Le dernier étant le plus compliqué et le coeur même du projet, j’ai voulu rapidement l’aborder sans trop bacler le reste. De toute façon, le refactoring fait parti du process de dev :)
LayoutManager
Qu’est-ce que j’entend par “placement des boîtes” ?
Eh ben c’est comme en HTML, quand on enchaine 2 <div>
, le deuxième va en dessous de l’autre. Quand on fait un <table>
, on veut que les <td>
se suivent etc.
Il y a Flex, fait par Adobe, qui s’occupe aussi de la disposition en boîtes. J’ai d’ailleurs essayé de regarder comment ils faisaient, ça a l’air sympa mais il y a beaucoup de code à assimiler pour tout comprendre. J’imagine qu’ils ont pensé à tout. Je ne sais pas si je vais aller si loin.
Voilà ce que ça donne pour l’instant : http://resources.neolao.com/download/flash/neoplayer/examples/dynamic/index.html
J’utilise 2 suites de fonctions pour mettre à jour l’affichage :
- du plus profond au plus haut, je calcule la taille minimale
- du plus haut au plus profond, je place suivant la place restante
Mais je vais vite tomber sur un cas où ça ne marche plus, j’en suis sûr :)
Conclusion
Ca avance petit à petit.
Commentaires