( Fenetre 5. Version 1.00 du 17 Fevrier 2008. Ecrit par jpb.forth . ) ( ***************************************************************************** Fenetre 4 + menu --> FENETRE_5 ***************************************************************************** ) FEN_STRING" S_FEN FENETRE 5" WINDOW 5" FEN_STRING" S_A_PROPOS Ceci est un texte permettant de decrire l'application." This is a text allowing to describe the application." ( ++++ ) FEN_STRING" S_MENU Teinte numero 1 Teinte numero 2 Teinte numero 3" Colour number 1 Colour number 2 Colour number 3" FEN_STRING" S_TEINTE_1 Choix de la teinte numero 1:" Choice of the colour number 1:" FEN_STRING" S_TEINTE_2 Choix de la teinte numero 2:" Choice of the colour number 2:" FEN_STRING" S_TEINTE_3 Choix de la teinte numero 3:" Choice of the colour number 3:" ( ---- ) 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 ; ( ++++ ) FEN: MENU_FEN >R BEGIN 1 S_MENU 0 R@ FEN_DIALOGUE_CHOIX CASE 1 OF TEINTE_1 S_TEINTE_1 ENDOF 2 OF TEINTE_2 S_TEINTE_2 ENDOF 3 OF TEINTE_3 S_TEINTE_3 ENDOF -1 0 ENDCASE ?DUP IF >R DUP @ R> R@ FEN_DIALOGUE_PALETTE DUP 0< IF DROP DROP 0 ELSE SWAP ! R@ AFFICHE_FEN EXECUTE -1 THEN THEN UNTIL R> DROP ; ( ---- ) : FENETRE_5 FEN @ ?DUP IF FEN_SELECTIONNE ELSE FEN_CREE ?DUP IF DUP >R FEN ! S_FEN R@ FEN_NOM 225 150 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_2 ! 50 TEINTE_3 ! 14 TEINTE_1 ! AFFICHE_FEN R@ FEN_AFFICHE ( ++++ ) MENU_FEN R@ FEN_MENU ( ---- ) R@ FEN_ACTIVE R> FEN_SELECTIONNE THEN THEN ; FENETRE_5 ( FIN )