Chapitre précédentRetour au sommaireChapitre suivant

Documentation VISION (LDV)

Dernière mise à jour : 16/05/01

Télécharger la doc

5. S T R U C T U R E S

 

.5.1 LDV_INFOS

typedef struct
{
  short StrSize ;
  short Type ;
  char  Authors[1+45] ;

  LDV_CAPS Caps[10] ;

  char RFU[16] ;
}
LDV_INFOS ;
Champ Type Remarques
StrSize short Taille de la structure LDV_INFOS. Doit être initialisé à sizeof(LDV_INFOS). Le but de ce champ est de permettre à VISION de ne pas exploser ses données internes si la taille de cette structure est amenée à changer.
Type short Doit valoir TLDV_MODIFYIMG, TLDV_LOADIMG ou TLDV_SAVEIMG, voire plus à venir. Actuellement, seul le type TLDV_MODIFYIMG est accepté par VISION
Authors char[1+45] Noms du ou des auteurs. 45 caractères sont disponibles à cet effet.
Caps LDV_CAPS[10] Tableau décrivant les capacités du LDV pour chaque nombre de plans. Au maximum le LDV peut gérer 9 nombres de plans différents car le tableau de structures doit se terminer par une struture avec des champs initialisés à zéro.
RFU char[16] Pour usage futur. Ne pas toucher !

 

5.2 LDV_CAPS

typedef struct
{
  char          NbPlanes ; 
  char          NbPlanesOut ;
  unsigned long Flags ; 
}
LDV_CAPS ;
Champ Type Remarques
NbPlanes char Nombre de plans pour cette capacité (1, 2, 4, 8 , 16, 24 (non géré), 32)
NbPlanesOut char Nombre de plans en sortie pour cette capacité. Pour un LDV de type TLDV_MODIFYIMG, ce champ doit égaler NbPlanes
Flags unsigned long Combinaison (symbole |) des masques suivants:
  • LDVF_STDFORMAT : le LDV accepte le format standard
  • LDVF_ATARIFORMAT : le LDV accepte le format ATARI
  • 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 ne fait qu'appeller Run)
  • LDVF_AFFECTPALETTE : le LDV modifie la palette (NbPlanes doit être inférieur ou égal à 8)
  • LDVF_SUPPORTPROG : le LDV appellera la fonction PrSetProg de l'interface VAPI (conseillé si le traitement dure plus de 2 secondes)
  • 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.
  • LDVF_REALTIMEPARAMS : le LDV effectue assez rapidement la fonction 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)
  • LDVF_SUPPORTCANCEL : la fonction Run peut être annulée par l'utilisateur (à utiliser conjointement avec la fonction PrSetProgEx de l'interface Progress de VAPI)

 

5.3 LDV_IMAGE

typedef struct
{
  short       RasterFormat ;
  MFDB        Raster ; 
  LDV_PALETTE Palette ; /* Structure fournie si Raster.fd_nplanes <= 8 */
}
LDV_IMAGE ;
Champ Type Remarques
RasterFormat short LDVF_STDFORMAT, LDVF_ATARIFORMAT ou LDVF_SPECFORMAT
Raster MFDB Le MFDB classique ATARI décrivant les données de l'image (hors palette)
Palette LDV_PALETTE Pointeur sur une structure LDV_PALETTE décrivant la palette assoicée à l'image si le nombre de bits est inférieur ou égal à 8.

 

5.4 LDV_PALETTE

typedef struct
{
  short           NbColors ; 
  VDI_ELEMENTPAL* Pal ;
}
LDV_PALETTE ;
Champ Type Remarques
NbColors short Le nombre d'éléments dans le tableau pointé par Palette (soit 2, 4, 16 ou 256 couleurs)
Pal VDI_ELEMENTALPAL * Pointeur sur un tableau de NbColors éléments de type VDI_ELEMENTPAL. La palette proposée est indexée sur les indices VDI (ceux utilisés par les fonctions VDI comme le tracé d'une ligne) et non TOS (ceux que vous récupérerez par les fonctions raster de VAPI). Heureusement, VAPI propose des fonctions pour transformer les indices VDI en indices TOS et vice-versa.

 

5.5 VDI_ELEMENTALPAL

typedef struct
{
  short Red ;
  short Green ;
  short Blue ;
}
VDI_ELEMENTPAL ;
Champ Type Remarques
Red short Composante Rouge de l'index VDI de la palette (0 <= index <= 1000)
Green short Composante Verte de l'index VDI de la palette (0 <= index <= 1000)
Blue short Composante Bleue de l'index VDI de la palette (0 <= index <= 1000)

 

5.6 LDV_PARAMS

typedef struct
{
  short          x1, y1, x2, y2 ;
  short          NbParams ;
  LDV_BASICPARAM Param[LDVNBMAX_PARAMETERS] ;
  void*          UserParam ;
}
LDV_PARAMS ;
Champ Type Remarques
x1 short Position X du bord haut-gauche du rectangle à traiter (0 si image entière)
y1 short Position Y du bord haut-gauche du rectangle à traiter (0 si image entière)
x2 short Position X du bord bas-droit du rectangle à traiter (largeur image - 1 si image entière)
y2 short Position Y du bord bas-droit du rectangle à traiter (hauteur image - 1 si image entière)
NbParams short Nombre de paramètres valides dans le tableau Param
Param LDV_BASICPARAM Tableau contenant les paramètres saisis depuis l'interface de VISION
UserParam void * Si votre LDV a besoin de stocker des données supplémentaires lors d'un appel à GetParams, ce pointeur peut être utilisé pour ça. Par exemple si votre LDV prend en pararmètre un tableau de matrice 4x4, c'est clair que la structure "de base" LDV_PARAMS ne peut convenir. Il vous suffit alors de faire pointer UserParam sur votre matrice lors de l'appel à GetParams, vous retrouverez cette même valeur lorsque VISION appellera la fonction Run. Vous pouvez même décider d'allouer dynamiquement la structure qui vous convient lors de l'appel à GetParams, puis de l'utiliser (et de la libérer...) lors de l'appel à Run.

 

5.7 LDV_BASICPARAM (UNION)

typedef union
{
  short s ;
  float f ;
}
LDV_BASICPARAM ;
Champ Type Remarques
s short Valeur du paramètre (si ce paramètre, défini dans le .INI associé est de type entier)
f float Valeur du paramètre (si ce paramètre, défini dans le .INI associé est de type float). Actuellement le type float n'est pas géré et étant donné que les compilateurs peuvent ne pas coder les float suivant le même format, je vous recommande fortement d'utiliser le type short.

 


Chapitre précédentRetour au sommaireChapitre suivant

Documentation VISION (LDV)

Dernière mise à jour : 16/05/01

Télécharger la doc

S T R U C T U R E S