home *** CD-ROM | disk | FTP | other *** search
- PROCEDURE Beitelen
- *---------------------------------------------------------------------
- * OMSCHRIJVING
- * Toon twee gebeitelde meldingkaders. De eerste is helder witte
- * tekst met een grijze achtergrond. De tweede is gele tekst op
- * een cyaan achtergrond.
- *---------------------------------------------------------------------
- SET COLOR TO N/W
- SET TALK OFF
- SET STATUS OFF
-
- DO TestChis WITH .F., "W+", "W"
- DO TestChis WITH .F., "RG+", "BG"
-
- RETURN
- *-- EOP: Beitelen
-
- PROCEDURE TestChis
- PARAMETER pl_in, pc_fore, pc_back
- *---------------------------------------------------------------------
- * OMSCHRIJVING
- * Toont een gebeiteld kader binnen een andere voor het juiste
- * effekt. Toon daarna het bericht in het binnenste kader.
- *---------------------------------------------------------------------
-
- SAVE SCREEN TO Temp
-
- *-- Toon het buitenste gebeitelde venster met een schaduw.
- DO Chisel WITH "Win2",4,13,10,67,pc_fore,pc_back,pl_in, .T.
-
- *-- Toon het binnenste gebeitelde venster zonder schaduw.
- DO Chisel WITH "Win1",5,15,9,65,pc_fore,pc_back,.NOT. pl_in, .f.
-
- @ 2, 12 SAY "Ben even lunchen! Terug om 1 uur"
- ACTIVATE SCREEN
- WAIT
-
- RELEASE WINDOW Win2
- RELEASE WINDOW Win1
-
- RESTORE SCREEN FROM Temp
- RELEASE SCREEN Temp
- RETURN
- *-- EOP: TestChis
-
-
- PROCEDURE Chisel
- PARAMETERS pc_WinName, pn_TopRow, pn_LeftCol, pn_BotRow, pn_RtCol, ;
- pc_ClrFore, pc_ClrBack, pl_Indent, pl_Shadow
- *---------------------------------------------------------------------
- * OMSCHRIJVING
- * Maakt een gebeiteld venster aan met of zonder achtergrond.
- *
- * PARAMETERS
- * pc_WinName = Naam van het venster dat gebeiteld wordt.
- * Vrijgave hiervan door het aanroepende programma
- * pn_TopRow = Bovenste rij voor het venster
- * pn_LeftCol = Linker kolom voor het venster
- * pn_BotRow = Onderste rij voor het venster
- * pn_RtCol = Rechter kolom voor het venster
- * pc_ClrFore = Voorgrondkleur voor de tekst
- * pc_ClrBack = Achtergrondkleur voor het venster
- * pl_Indent = .T. voor effect van beitelen naar binnen
- * .F. voor effect van beitelen naar buiten
- * pl_Shadow = .T. voor een schaduweffect achter het venster
- *---------------------------------------------------------------------
-
- DEFINE WINDOW &pc_WinName FROM pn_TopRow, pn_LeftCol TO pn_BotRow, pn_RtCol ;
- NONE ;
- COLOR &pc_ClrFore./&pc_ClrBack.
-
- IF pl_Shadow
- DO ShadowG WITH pn_TopRow, pn_LeftCol, pn_BotRow, pn_RtCol
- ENDIF
-
- ACTIVATE WINDOW &pc_WinName
-
- IF pl_Indent
- pc_ClrUp = "N"
- pc_ClrDn = "W+"
- ELSE
- pc_ClrUp = "W+"
- pc_ClrDn = "N"
- ENDIF
- ln_wide = pn_RtCol - pn_LeftCol
- ln_high = pn_BotRow - pn_TopRow
-
- @ 0,0 SAY CHR( 218 ) ;
- COLOR &pc_ClrUp./&pc_ClrBack.
- @ 0,1 SAY REPLICATE( CHR( 196 ), ln_Wide - 1 ) ;
- COLOR &pc_ClrUp./&pc_ClrBack.
- @ ln_High, 0 SAY CHR( 192 ) ;
- COLOR &pc_ClrUp./&pc_ClrBack.
- @ 1,0 TO ln_High - 1, 0 ;
- COLOR &pc_ClrUp./&pc_ClrBack.
-
- @ 0, ln_Wide SAY CHR( 191 ) ;
- COLOR &pc_ClrDn./&pc_ClrBack.
- @ ln_High, 1 SAY REPLICATE( CHR( 196 ), ln_Wide - 1 ) ;
- COLOR &pc_ClrDn./&pc_ClrBack.
- @ ln_High, ln_Wide SAY CHR( 217 ) ;
- COLOR &pc_ClrDn./&pc_ClrBack.
- @ 1,ln_wide TO ln_High - 1, ln_Wide ;
- COLOR &pc_ClrDn./&pc_ClrBack.
-
- RETURN
- *-- EOP: Chisel
-
-
- PROCEDURE Shadowg && toont een groeiende schaduw
- PARAMETER x1,y1,x2,y2
- *---------------------------------------------------------------------
- * OMSCHRIJVING
- * Toont een schaduweffect achter het venster. ShadowG maakt gebruik
- * van dezelfde coordinaten ale het venster en berekent de offset.
- *---------------------------------------------------------------------
-
- PRIVATE x1,y1,x2,y2
-
- x0 = x2+1
- y0 = y2+2
- dx = 1
- dy = (y2-y1) / (x2-x1)
- DO WHILE x0 <> x1 .OR. y0 <> y1+2
- @ x0,y0 FILL TO x2+1,y2+2 COLOR n+/n
- x0 = IIF(x0<>x1,x0 - dx,x0)
- y0 = IIF(y0<>y1+2,y0 - dy,y0)
- y0 = IIF(y0<y1+2,y1+2,y0)
- ENDDO
- RETURN
- *-- EOP: Shadowg
-
-
-
-