• [^] # Re: Nouvelle version d'OpenDarwin

    Posté par . En réponse à la dépêche Nouvelle version d'OpenDarwin. Évalué à 1.

    Pour clarifier, *tout* ce qui est affichage sous GNUstep passe par des ordres de dessins particuliers (enfin, comme n'importe quelle lib de haut niveau j'espère :-), avec ceci dit la particularité que :
    - ces "ordres" sont très fortement inspirés de primitives PostScript (à l'origine sous NeXT il s'agissait simplement de wrappers Objective-C sur des bouts de codes PostScript)
    - l'affichage suit une approche vectorielle et non bitmap (coordonnées en flottant, possibilitées d'application de transformations matricielles sur les dessins, etc.)

    \begin{history}
    C'est pour ça qu'à l'origine, le projet GNUstep voulait implémenter un Display PostScript sous XFree (la FSF avait même donné des sous il me semble à une boîte pour cela), car cela semblait la meilleur méthode (vu que c'était celle choisie par NeXT pour faire tourner NeXTSTEP/OPENSTEP). Il reste d'ailleurs des bouts de code (deprecated) d'un backend DPS pour GNUstep -- ma foi si quelqu'un a du temps libre et une Sun ou une SGI qui traine, ça peut être un bon exercice ^_^ car cela ne doit pas être trop complexe de refaire un backend DPS à jour -- mais bon...

    Comme le DPS sous XFree n'a jamais réellement fonctionné de façon satisfaisante, ça a reculé d'autant plus le projet GNUstep (ce qui a eu pas mal de conséquence: moins de dev, lenteur du projet, pas de trucs "graphique" à montrer, encore moins de dev, émergeance de KDE puis GNOME, la FSF oublie GNUstep et le remplace par GNOME en tant que bureau officiel, etc...)

    Finalement, un backend graphique (certes, moins puissant que ne l'aurait été un vrai DPS, mais bon, on y perds autant que d'un passage PS->PDF on peut dire) utilisant la xlib a été fait, et les choses ont été faites de façon suffisamment modulaires pour pouvoir facilement ajouter des backends. Actuellement le backend le plus performant et le plus complet sous X11 utilise libart pour l'affichage par exemple.
    \end{history}

    Ceci dit, l'intérêt quand même, c'est donc que GNUstep est foncièrement "orienté" vectoriel -- ce qui risque d'être intéressant je l'espère avec des avancées comme Cairo.