Avec l'arrivée de tous ces logiciels plutôt cools, tels que OvationPro, ArtWorks 1.7, TM Viewer 0.98 ou encore Compo 1.1, il semble qu'il fallait faire le point sur leur intégration.Cet article a été réalisé (mis en page) avec OvationPro, en ayant recours à différents artifices issus de sa très bonne collaboration avec d'autres logiciels.

Pour commencer, le titre de l'article a simplement été préparé sous Draw. Il est ensuite dropé sur Ovation pro dans un cadre dit draw frame. Ce type de cadre présente l'intérêt de pouvoir être déplacé et redimensionné librement. Une fois l'image en place dans son cadre, on clique sur l'icône Object contents sur laquelle on va choisir les options Center lock, Aspect lock, Auto scale, Skew à 15 % pour donner au texte un italique plus fort, et enfin Angle à 10% pour la rotation elle-même. Il ne reste plus qu'à obtenir que le texte contourne l'objet tout seul. Pour ce faire, plutôt que de se faire chier à dessiner un cadre irrégulier (approche Style/Publisher), il suffit d'aller au menu Object/Text flow et de choisir Runaround picture, et Text flow wider side. Le paramètre Standoff permet dans ce cas de déterminer l'espace entre la limite de l'image et le texte lui même (1mm par défaut suffit ici).
Ce paramètre devient pour ainsi dire inopérant quand on choisit de passer à l'option Text flow - both sides, qui permet de faire passer du texte à tous les endroits disponibles.
Cette opération fonctione parfaitement avec les fichiers Draw, mais pas encore avec les fichiers ArtWorks. Ceux-ci sont largement supportés sans même éxiger AWViewer me semble-t-il, mais la fonction Text flow pose un problème à leur égard. Le plus simple est de faire une conversion vers draw des fichiers ArtWorks.

Le plus gros du paquet de nouveautés est bien évidement la nouvelle norme PCA, qui signifie Plug-In Compliant Application. Créé par Rob Davison de chez Clares pour les besoins de Composition. Inspiré notament d'OpenDoc (projet abandoné depuis par apple), le PCA permet à plusieurs applications d'accéder en même temps à des données, s'en partager le contrôle et l'utilisation. Pour le moment, cette technique n'est employée que pour les images, mais elle pourait être étendue à toute sorte de données. Contrairement à l'OLE, le PCA est dynamique et ne crée pas plusieurs copies des données en mémoire.
En pratique, cette approche permet de rajouter des fonctions à des logiciels en quelque sorte. C'est une grande avancée dans l'intégration des applications entre elles. Par exemple, OvationPro ne permet de modifier les images que pour ce qui est du zoom, de la rotation, et quelques autres petites manipulations basiques. OvationPro ne supporte pas le PCA in-place qui permet au interface de deux programes de s'imbriquer, mais son support standard du PCA est suffisant.

L'image ci-dessus est un sprite importé directement dans OvationPro. Je m'aperçois alors qu'elle a un cadre qui est assez disgracieux autour, qu'il faut donc supprimer. Au lien de charger l'image dans un logiciel de traitement d'image pour la modifier puis la recharger dans OvationPro, j'utilise SimplePaint une des applications de démonstration PCA. Après avoir sélectionné le cadre de l'image, je vais au menu Applets/PCA. Il me montre alors les applications PCA vues par le filer. Je choisis SimplePaint: La fenêtre s'ouvre alors reprenant l'image du cadre. C'est un paint hyper minimal, avec un pinceau qui me permet d'effacer la bordure. Les modifications sont répercutées en temps réel dans le cadre d'OvationPro ! Comme vous le voyez, c'est assez grossier, mais le principe est là, j'ajuste l'image dans son contexte de ma PAO.
De facto, Composition est le champion actuel du PCA. La manipulation est alors aussi simple qu'avec SimplePaint. Composition est reconnu comme PCA par OvationPro dans le cas de sprites 24bits dans un cadre. Dans le cas d'une image d'une profondeur inférieure, la connexion pose plus de problèmes.

Le "êtes-vous" ci-dessus à été créé suivant la procédure suivante: Avec !Studio24Pro, je crée un bloc texturé ayant les même proportions que le cadre. Je l'exporte en format 32-bit sprites, puis je le place dans le cadre. Je l'envoie par PCA à Compo. Après avoir sélectionné le bloc texturé, je lui fais un edit/make text avec le texte en question en Garamond.Bold.Italic. J'utilise la fonction Fit to sprite pour arranger la taille du texte à celle de l'image. Et voila. Je rajoute ensuite une ombre au texte (en gris 46% placé en 4,4), je donne de la transparence au texte (blend à 50%). Les modifications sont opérées en temps réel avec parfois un temps de latence de quelques secondes pour redesinner l'image. Sur une machine sans StrongArm, ce phénomêne peut-être plus sensible.
La mise en oeuvre du PCA devient une véritable tuerie quand on s'attaque aux fonctions avancées de Composition. A la base, ce dernier ne comprends pas beaucoup de types de données, mais il sait trouver de l'aide. Il utilise ChangeFSI pour importer tous types d'images, AWViewer pour importer les fichiers ArtWorks, ou encore !TMViewer pour les fichiers TopModel. La version 1.0 de Composition permetait avec AWViewer d'importer des fichiers ArtWorks, mais la nouveauté de la version 1.1 est de pouvoir conserver ce type d'images dans leur mode vectoriel d'origine. Ainsi, on peut redimensioner et faire tourner un objet ArtWorks sans pour autant perdre de sa qualité. Toutes fonctions telles que la transparence sont appiquables à ce objet vectoriel que Composition sait masquer automatiquement. Le "oui" de cette page est un exemple d'une telle pratique.

Alors que le Text flow d'un fichier ArtWorks posait problème, si l'on passe par Composition tout va bien, bien qu'il s'agisse cette fois d‘un fichier bitmap ! Pratiquement, il faut commencer par "initier" la connexion PCA en chargeant dans OvationPro une image quelconque en 24bits, puis passer par applets/PCA/Composition. On peut ensuite surpimer l'image quelconque et mais il est impossible de modifier la taille de l'image. Prendre donc des précautions de taille avant d'engager le PCA. Cette petite limitation est assez génante au début, mais on fini par prendre l'habitude qui convient.
Pour notre exemple, j'ai créé une image blanche de 768 par 1024 dans Compo. Je l'ai sauvée dans un draw frame de Ovation pro, puis je l'ai renvoyée vers Compo par PCA. Le "oui !" est créé et déformé sous ArtWorks, puis importé dans Composition qui doit précédement avoir vu le AWViewer. Sous Compo, on lui donne de la transprence (blend 70%).
De même que pour un fichier ArtWorks, on va charger un fichier TopModel dans Compo (donc par PCA dans OvationPro) après avoir vu TMViewer dans le filer. Dès que le fichier TopModel est droppé dans Composition, il est affiché en 24bits ! Dans le cas présent, le dinosaure n'avait pas l'orientation qu'il fallait (il nous tournait le dos). Cela aurait été un gros problème si ce monstre avait été une simple image issue d'un autre logiciel. Heureusement, la bête n'est qu'un fichier 3d dont le rendu peut être adapté. De même qu'un fichier ArtWorks reste vectoriel, un fichier TopModel reste un modèle 3D dont Composition affiche une représentation en 2D. Par le menu Edit - A3 /Properties/ Render style on peut parfaitement ajuster le type de rendu que l'on veut, les couleurs, le type de perspective, la transparence et même le brouillard. Tout cela ne résouds pas notre problème. Il suffit de se placer en mode rotation de l'outil curseur de la palette principal de Compo :En faisant maintenant un adjust drag, on voit tout d'un coup le modèle fil de fer du dinosaure s'animer d'une rotation 3D contrôlée à la souris. YoYoYo ! Dans le menu Edit/ Properties/ transform style, on peut passer d'un rendu fil de fer à un rendu plus ellaboré dans ces mouvements, mais on perds alors de cette fluidité si agréable. Une fois la pose bestiale ajustée, on peut ajuster la taille de l'animal en passant sur l'autre mode du curseur, et en répétant la même manoeuvre.
Sous OvationPro, il ne reste qu'à aménager le Text flow pour intégrer l'image comme il faut dans la page.
L'encadré final ne fait appel qu'à des fonctions d'Ovation Pro: On crée un cadre le plus simplement du monde, puis on le transforme en un cercle par le menu Object/ Shape ellipse. On rentre ensuite du texte à l'intérieur. Pour le qui est de la rotation du texte, elle ne passe pas par l'attribut de texte rotate, mais par la rotation du cadre circulaire qui contient le texte. Même oblique, le texte demeure éditable.
Bref, on a vraiment de quoi s'amuser, et même travailler. Les fonctions des uns et des autres s'imbriquent pour former un ensemble d'une richesse incroyable. Ce qui manque à l'heure actuelle, ce serait d'autres applications PCA pour venir rejoindre le bal. Par exemple un ChangeFSIPCA, un Draw ou ArtWorksPCA, ... TopModel est annoncé compatible PCA ce qui permetrait d'éditer des modèles alors qu'ils appraissent dans OvationPro. Plus loin on pourait imaginer un dictionaire d'orthographe français en PCA, une capture vidéo PCA etc. La doc PCA prétends que tout cela n'est pas trop dur à programer. J'ai du mal à le croire.