( Fenetre 4. Version 1.00 du 17 Fevrier 2008. Ecrit par jpb.forth . ) ( ***************************************************************************** Fenetre 3 + affichage --> FENETRE_4 ***************************************************************************** ) FEN_STRING" S_FEN FENETRE 4" WINDOW 4" FEN_STRING" S_A_PROPOS Ceci est un texte permettant de decrire l'application." This is a text allowing to describe the application." 0 VARIABLE FEN ( ++++ ) 0 VARIABLE TEINTE_1 0 VARIABLE TEINTE_2 0 VARIABLE TEINTE_3 ( ---- ) FEN: FERME_FEN FEN_DETRUIT ; FEN: A_PROPOS_FEN >R S_A_PROPOS R> FEN_DIALOGUE_MESSAGE ; ( ++++ ) : SP_TEINTE_RVB ( c --> r,v,b ) DUP 3 AND >R DUP -4 LSH 12 AND R@ + DUP 4 LSH + SWAP DUP 4/ 12 AND R> + DUP 4 LSH + SWAP 15 AND DUP 4 LSH + ; FEN: AFFICHE_FEN DUP >R FEN_TAILLE_? FEN_TEINTES_? DROP DROP DROP DROP >R DROP R> DUP 0 DUP 6 PICK 1- OVER 3+ R@ FEN_TRACE_REC DUP 0 4 3 6 PICK 16- R@ FEN_TRACE_REC DUP 4 PICK 4- 4 OVER 3+ 6 PICK 16- R@ FEN_TRACE_REC 0 3 PICK 16- 5 PICK 1- 5 PICK 1- R@ FEN_TRACE_REC TEINTE_3 @ SP_TEINTE_RVB TEINTE_2 @ SP_TEINTE_RVB TEINTE_1 @ SP_TEINTE_RVB 3 12 PICK 8- 12 PICK 20- -1 DEGRADE_\ ?DUP IF DUP 4 DUP R@ FEN_ECRIT_REC MEMOIRE_LIBERE DROP ELSE TEINTE_2 @ 4 DUP 5 PICK 4- 5 PICK 16- R@ FEN_TRACE_REC THEN DROP DROP R> DROP ; ( ---- ) : FENETRE_4 FEN @ ?DUP IF FEN_SELECTIONNE ELSE FEN_CREE ?DUP IF DUP >R FEN ! S_FEN R@ FEN_NOM 175 175 R@ FEN_POSITION 200 120 R@ FEN_TAILLE FERME_FEN R@ FEN_FERME A_PROPOS_FEN R@ FEN_A_PROPOS 200 120 20000 12000 R@ FEN_DIMENSIONS ( ++++ ) 194 TEINTE_1 ! 50 TEINTE_2 ! 14 TEINTE_3 ! AFFICHE_FEN R@ FEN_AFFICHE ( ---- ) R@ FEN_ACTIVE R> FEN_SELECTIONNE THEN THEN ; FENETRE_4 ( FIN )