home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1997 #3
/
amigamamagazinepolishissue03-1
/
ma_1995
/
03
/
ami021b.txt
< prev
next >
Wrap
Text File
|
1997-04-06
|
2KB
|
126 lines
<l>
/*
* LISTING 2
*
* $VER: Napis 0.99
*
* Makrodefinicja w jëzyku Arexx dla programu ImageFX.
* Autor: Tadeusz Talar
*
* Generuje brush'a zawierajâcego wprowadzony tekst na podstawie
* podanego pliku czcionki o rozszerzeniu ".font", w zadanym rozmiarze
* i proporcji znaku.
* Obróbce mogâ podlegaê czcionki wektorowe i bitmapowe.
*
*/
OPTIONS RESULTS
/* Parametry poczâtkowe */
czcionka = 'CGArial.font'
rozmiar = 100
proporcja = 100
tekst = ''
/* Sprawdzenie czy istniejâ w Clipboardzie ARexx'a odpowiednie Clip'y,
* jeûeli tak to przypisanie ich zawartoôci poszczególym zmiennym
*/
clips = SHOW('C')
IF INDEX(clips,'IFX_C') > 0 THEN czcionka = GETCLIP('IFX_Czcionka')
IF INDEX(clips,'IFX_R') > 0 THEN rozmiar = GETCLIP('IFX_Rozmiar')
IF INDEX(clips,'IFX_P') > 0 THEN proporcja = GETCLIP('IFX_Proporcja')
IF INDEX(clips,'IFX_T') > 0 THEN tekst = GETCLIP('IFX_Tekst')
/* Pobranie rozmiaru obrazka */
GetMain ; IF result = "" THEN EXIT
PARSE VAR result o_nazwa o_szer o_wys .
/* Wyôwietlenie listy dostëpnych plików ".font" i pobranie nazwy wybranego */
RequestFile '"Wybierz Czcionke" FONTS:' STRIP(czcionka,L,"FONTS:") ' "#?.font"'
FILESONLY
IF rc ~= 0 THEN EXIT
czcionka = result
/* Pobranie wartoôci rozmiaru znaku */
RequestSlider '"Rozmiar znaku:"' 10 300 rozmiar
IF rc ~= 0 THEN EXIT
rozmiar = result
/* Pobranie wartoôci proporcji znaku, od 10 do 300 % wartoôci szerokoôci
* standardowej dla wprowadzonego rozmiaru znaku
*/
RequestSlider '"Proporcja znaku:"' 10 300 proporcja
IF rc ~= 0 THEN EXIT
proporcja = result
/* Pobranie tekstu */
RequestString '"Wprowadz tekst:"' tekst
IF rc ~= 0 THEN EXIT
tekst = result
/* Generacja brush'a na podstawie wprowadzonych parametrów przy uûyciu
* komendy tekst
*/
Text czcionka rozmiar proporcja tekst
GetBrush ; IF result = "" THEN EXIT
PARSE VAR result nazwa szer wys .
AntiAlias 255
EdgeMode AntiAlias
BrushHandle szer%2 wys%2
/* Utworzenie Clip'ów w Clipboard'zie ARexx'a */
CALL SETCLIP('IFX_Czcionka', czcionka)
CALL SETCLIP('IFX_Rozmiar', rozmiar)
CALL SETCLIP('IFX_Proporcja', proporcja)
CALL SETCLIP('IFX_Tekst', tekst)
EXIT