   |

|
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 ;
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. |
   |

|
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
|
|