|  | Documentation VISION (LDV) |  | Dernière mise à jour : 24/07/01
Télécharger la doc | 4. D E F I N E S |

4.1 Type de code de retour

typedef long LDV_STATUS

Le type de code de retour des fonctions LDV est un entier 32 bits. Pourquoi ? Tout d'abord parce que certains compilateurs (GCC par exemple) retournent un entier 32 bits même si on spécifie une entier 16 bits (short). Ensuite, cela permet de prévoir une extension du code de retour, pour une évolution future, dans les bits restant.

4.2 Codes de retour

Define | Description
ELDV_NOERROR | Pas d'erreur. La fonction a fonctionné correctement
ELDV_INVALIDPARAMETER | Au moins un des paramètres est invalide
ELDV_NBPLANESNOTSUPPORTED | La fonction ne supporte pas le nombre de plans passé en paramètre
ELDV_NOTENOUGHMEMORY | Mémoire insuffisante
ELDV_PREVIEWNOTSUPPORTED | La fonction Preview n'est pas définie (pointe sur NULL)
ELDV_RUNNOTSUPPORTED | La fonction Run n'est pas définie (pointe sur NULL). Je me demande bien qui serait suffisamment naze pour écrire un LDV ne faisant rien !
ELDV_BADVAPIVERSION | La version de VAPI disponible ne permet pas d'utiliser le LDV (il manque certaines fonctions ou interfaces)
ELDV_IMGFORMATMISMATCH | Les formats d'images gérés par le LDV ne permettent pas à VISION de fournir une image compatible avec un des formats attendus. Cela est à priori une erreur du LDV.
ELDV_CANCELLED | L'opération en cours a été annulée par l'utilisateur
ELDV_GENERALFAILURE | Echec général, raison non précisée

Ces codes peuvent être renvoyés par les fonctions du LDV ou par VISION vers l'utilisateur afin d'afficher le message d'erreur correspondant. Pensez aussi à utiliser la macro LDV_SUCCESS qui vous indique si le code passé en paramètre correspond à un succes ou une erreur.

4.3 Types de modules

Define | Description
TLDV_MODIFYIMG | Module modificateur d'image. Peut également servir à initialiser une image en écrasant complètement son contenu afin d'en générer une nouvelle, sans prendre en compte les données actuelles.
TLDV_LOADIMG | Module de chargement d'image. VISION ne le gère pas encore
TLDV_SAVEIMG | Module de sauvegarde d'image. VISION ne le gère pas encore

4.4 Informations sur les capacités

Define | Description
LDVF_STDFORMAT | Le LDV accepte le format image standard défini par ATARI (bit-plans à la suite les uns des autres). Ce format n'est pas valable en True Color.
LDVF_ATARIFORMAT | Le LDV accepte le format ATARI (bit-plans entrelacés (ST), modes True Color du Falcon)
LDVF_SPECFORMAT | Le LDV accepte le format spécifique de la carte graphique
LDVF_SUPPORTPREVIEW | Le LDV fournit la fonction Preview (fortement conseillé même si elle appelle Run)
LDVF_AFFECTPALETTE | Le LDV modifie la palette (modes bit-plans uniquement). En ce cas, l'opération sur la palette doit toujours se faire "sur place". VISION sauvegardera systématiquement la palette de l'image dans le tampon undo.
LDVF_SUPPORTPROG | Le LDV appellera la fonction PrSetProg de l'interface VAPI (conseillé si le traitement dure plus de 2 secondes). Avant d'appeler Run, VISION affichera une fenêtre de progression pour le LDV et la fera disparaitre ensuite. En appelant PrSetProg de l'interface VAPI, le LDV pourra informer l'utilisateur de la progression du traitement.
LDVF_OPINPLACE | Le LDV sait travailler sur l'image source, sans que VISION alloue la destination (on dit que la transformation se fait sur place). En ce cas, le paramètre out de la fonction Run est le même que in. Dans la mesure du possible, utilisez ce flag, cela économise de la mémoire. La présence de ce flag impose évidemment que le LDV ne modifie pas la taille de l'image.

LDVF_REALTIMEPARAMS

Le LDV effectue assez rapidement la fonction Run en mode Preview (image petite affichée par la boite de dialogue de VISION), pour que la modification des paramètres du LDV par les ascenseurs soit suffisamment fluide (au moins 1 image par seconde). En ce cas, VISION appelera la fonction Preview lorsque l'utilisateur agira sur un ascenseur de contrôle de paramètre, sans que celui-ci soit obligé d'appuyer sur le bouton "Pré-Viualisation"

LDVF_SUPPORTCANCEL | La fonction Run peut être annulée en cours d'exécution. VISION permet alors à la fenêtre de progression d'être fermée par le bouton de fermeture de fenêtre GEM (CLOSER) et par Control-C. Dès que le LDV supporte la progression, je vous conseille d'ajouter (et de gérer ..) ce flag, c'est bien utile et pas compliqué à implémenter.

LDVF_NOSELECTION

Ce LDV ne peut pas travailler sur un bloc à l'intérieur de l'image (sélection). En ce cas, VISION invalide la possibilité de spécifier la sélection lors de l'application du LDV.
Remarque : depuis la version 4.0e, VISION crée une image "bloc" faisant ainsi croire au LDV qu'il travaille sur un bloc. VISION replace ensuite le bloc modifié dans l'image d'origine sans que le LDV ait à se préoccuper des spécificités du travail sur un bloc. En bref, si vous ne voulez pas vous embêter à gérer le travail sur un bloc, positionnez ce flag, VISION se charge de tout !

Ces flags sont à combiner avec le "ou logique" (|).

|  | Documentation VISION (LDV) |  | Dernière mise à jour : 24/07/01
Télécharger la doc | D E F I N E S |