/* flag de création */ var EDL_TRANSP = 0b000010000000;; /* background is transparent */ var EDL_NOTEDITABLE = 0b000100000000;; /* la ligne n'est pas éditable */ var EDL_PASSWORD = 0b001000000000;; /* saisie de mot de passe */ var EDL_ASCII7 = 0b010000000000;; /* n'accepte que les caractères inférieurs à 127 */ /* Edit line: EDLObj2D : l'objet 2D associe EDLbitmap: bitmap représentant la ligne EDLfont : police utilisée pour le texte EDLbackcolor : couleur de fond du texte EDLtextcolor : couleur des caractères du texte EDLflags : flags de l'edit line EDLipoint : position du point d'insertion de l'edit line EDLstring : texte de l'edit line EDLstate : etat de l'edit line EDLtimer : timer de l'edit line EDLOkReflex : reflexe utilisateur lors de l'appui de la touche entrée EDLEmptyReflex : reflexe utilisateur lorsque la ligne est vide EDLKeyReflex : reflexe utilisateur lors de l'appui d'une touche */ struct EDLtext=[ EDLObj2D : Obj2D, EDLbitmap: ObjBitmap, EDLfont : ObjFont, EDLbackcolor : I, EDLtextcolor : I, EDLmaxchar : I, EDLflags : I, EDLipoint : I, /* point d'insertion */ EDLbpoint : I, /* point de base */ EDLepoint : I, /* point de fin */ EDLstring : [I r1], /* liste des caractères composant le texte */ EDLstate : I, EDLtimer : Timer, EDLnotAllowed : [I r1], EDLOkReflex : fun [EDLtext S] EDLtext, EDLEmptyReflex : fun [EDLtext] EDLtext, EDLKeyReflex : fun [EDLtext I I] EDLtext, EDLfocusReflex : fun [EDLtext S I] EDLtext ] mkEDLtext;; /************************************************************************************/ /* Fonctions externes du EditLine */ /************************************************************************************/ /* Constructeur du EditLine channel : canal de construction cont : container auquel appartient le rollover parent : l'objet pere coord : coordonnees de l'objet par rapport au pere w : largeur h : hauteur name : nom de l'objet flag : flag de construction (O2D_ENABLE, O2D_DISABLE, O2D_HIDE, EDL_TRANSP) text : text initial */ proto EDL_New = fun [Chn ContainerType Obj2D [I I] I I S I I S I I S] EDLtext;; proto EDL_Del = fun [EDLtext] EDLtext;; proto EDL_GetObject = fun [EDLtext] Obj2D;; proto EDL_ChangeDisplayFlags = fun [EDLtext I I I] EDLtext;; proto EDL_ChangeCoordinates = fun [EDLtext [I I] I I] EDLtext;; proto EDL_GetCoordinates = fun [EDLtext] [I I];; proto EDL_GetGraphicalState = fun [EDLtext] [ObjBitmap I I I I I];; proto EDL_GetText = fun [EDLtext] S;; proto EDL_SetText = fun [EDLtext S I] EDLtext;; proto EDL_SetTextColor = fun [EDLtext I I] EDLtext;; proto EDL_SetBackColor = fun [EDLtext I I] EDLtext;; proto EDL_SetFont = fun [EDLtext ObjFont I] EDLtext;; proto EDL_SetEditable = fun [EDLtext I] EDLtext;; proto EDL_SetReflexOk = fun [EDLtext fun [EDLtext S u0] EDLtext u0] EDLtext;; proto EDL_SetOkReflex = fun [EDLtext fun [EDLtext S u0] EDLtext u0] EDLtext;; proto EDL_SetReflexEmpty = fun [EDLtext fun [EDLtext u0] EDLtext u0] EDLtext;; proto EDL_SetEmptyReflex = fun [EDLtext fun [EDLtext u0] EDLtext u0] EDLtext;; proto EDL_SetKeyReflex = fun [EDLtext fun [EDLtext I I u0] EDLtext u0] EDLtext;; proto EDL_SetFocusReflex = fun [EDLtext fun [EDLtext S I u0] EDLtext u0] EDLtext;; proto EDL_DisableChars = fun [EDLtext [I r1]] EDLtext;; proto EDL_Ascii7 = fun [EDLtext] EDLtext;; proto EDL_SetMaxChar = fun [EDLtext I] EDLtext;;