Our texture collections give you a literally endless supply of variation for your images. Compatible with both Painter and Dabbler 2, they're a must-have!TAIL
put the number of lines of fld "Shopping List" into LineTotal
put LineTotal - 18 into TopLineNum
if TopLineNum < 1 then put 1 into TopLineNum
set the scrollLine of fld "Shopping List" to TopLineNum
end openCard
Shopping ListTAIL
kj+BUT
SaveSCRP
on mouseUp
send "saveTheList" to cd "Swatch 4.1"
end mouseUp
" to cd "S+BUT
ClearSCRP
on mouseUp
if clearShoppingList() is true then put empty into cd fld "Shopping List"
end mouseUp
fld +BUT
DoneSCRP
on mouseUp
dismiss
end mouseUp
mouseUp
AboutSCRP
on mouseUp
go cd "About Shopping List Card"
end mouseUp
Shopping ListBMAP
Swatch 3.2.1card
field id 18data
ShapesTAIL
J0+TXT
field id 19data
Shapes is a powerful vector drawing layer integrated into Painter bitmapped canvas. Use tools similar to those in Adobe Illustrator or Macromedia Freehand to create or edit PostScript
artwork. Then, interleave your Shapes with Painter's floating selections. Change their opacity, or convert them to bitmap floaters and paint on them!TAIL
The Painter 4 CD-ROM contains a rich set of art materials ready to use in Painter, including dozens of Pattern and Image Hose Nozzle libraries, PhotoDisc stock photography, and much more.
The Goodies Preview will show you thumbnails of all the Goodies available on the CD. Use it to scan what's available and note the items you want to work with. Then, go into Painter, load the Goodies you've chosen, and enjoy.
Hint: Double-click on a thumbnail to create your own custom "shopping list" of Goodies. Use this feature to remind yourself where your favorite Goodies are located on the CD-ROM!TAIL
The annual Fractal Design Digital Art Contest brings together the finest in digital artwork from around the world. The images featured here were created totally or primarily with Painter.TAIL
The Painter Art Gallery includes selected work from some of some of our favorite digital artists. If you would like more information about the art or the artists, please call 408-684-4218.TAIL
LogoSCRP
on mouseDown
--put (the short name of me) into MyName
put random(4) into Num
--play bg sound Num & ".snd"
--pressButton MyName,15
end mouseDown
Swatch 8SCRP
on openCard
--global AnimationFiles
--put "EXIT,CREDITS" into AnimationFiles
--openAnimation
--showAnimation "Choice 1"
--> These disable the nav button that doesn't apply to the last card
disable bg button "Nav 3"
show bg bitmap "Nav 3 fade"
end openCard
on closeCard
enable bg button "Nav 3"
hide bg bitmap "Nav 3 fade"
--closeAnimation
end closeCard
Choice 1SCRP
on mouseDown
flashChoice
end mouseDown
on mouseUp
set the cursor to watch
quit
end mouseUp
ExitTAIL
21ML1
MJ1+BiO
Choice 1 IconSCRP
on mouseDown
flashChoice
end mouseDown
on mouseUp
set the cursor to watch
quit
end mouseUp
>>J/M>+TXT
Choice 2SCRP
on mouseDown
flashChoice
end mouseDown
on mouseUp
global TheRecentCard
--if hasMemory(card "Credits") is false
--then
--answer memoryWarning()
--else
put the short name of this card into TheRecentCard
go card "Credits"
--end if
end mouseUp
CreditsTAIL
Choice 2 IconSCRP
on mouseDown
flashChoice
end mouseDown
on mouseUp
global TheRecentCard
--if hasMemory(card "Credits") is false
--then
--answer memoryWarning()
--else
put the short name of this card into TheRecentCard
The Goodies Shopping List allows you to collect a customized list of your favorite items from the Goodies Preview. It works like this:
1. Double-click on any thumbnail item in the Goodies Preview to add it to the list. Click "Done" to continue browsing the Goodies.
2. Edit or add comments to the list as you like. Use "Clear" to erase the list.
3. Click "Save" to save your custom list to the hard drive. You can open the list into any word processor or text editor.
Later, refer to your list as you work within Painter 4. It will remind you where your favorite Goodies are located on the CD-ROM.ADDD
(CRDHswatch 2.2
CRDHswatch 3
CRDHswatch 3.1
Swatch 3.2.2card
field id 18data
MosaicsTAIL
field id 19data
True to its heritage, Painter 4 includes some Natural-Media technologies that must be seen to be believed. The new Mosaic feature lets you create designs in the style of historic tile mosaics. As you paint with mosaics, each tile automatically carves its shape so that it fits together with existing tiles. Recolor or reshape the tiles at any time!TAIL
Poser is the extraordinary art creation tool that lets you design with the human form. Developed for graphic artists, illustrators, designers and multimedia mavens, Poser is the perfect tool for integrating the human figure into your creations.
An extensive list of third-party books, videos, and interactive training materials on Painter.
Choice 2 Blurbdata
Artistry is the monthly newsletter about Fractal Design products. Published by Karen Sperling, it features extensive images and step-by-step examples of how they were created.
A sample issue of Artistry in Adobe Acrobat (PDF) format.
Swatch 6.2.2card
Choice 3 Blurbdata
Dabbler 2 is the innovative Natural-Media
paint program that teaches you how to draw! Dabbler combines powerful paint and image-editing features with multimedia-based art tutorials. You can even create your own animated flipbooks!
Pull-down menus have been added to Painter's floating palettes. These logical groups give you instant access to associated features.
Then new Mask Edit mode lets you work directly on the mask layer to create subtle, detailed changes.TAIL
INFO
INFO
bitmap id 32data
mmmmmm
=,,=,
=,=,=
=,,,p
,=====
PmPmP
mPmPPm
=,=====
===,,
,====
,===,
====,=
,,,,,
,,,,,
ppppppp
uuuuu
,,,>,
>,,,=,
==///>/
=,>>>//
////(
I/I/I////=/
/////f//
//////I
)///f
,,,,,,,,,,,,
=,,,,,,,,,,,,,,,,,,,
=,,,=,,,,,,,,,,
nsjsss|
///////
//////
//////
/////
****66**
//////
,,,,,,,,,,,,
666A6666666
#~nm,
,,,,,,,,,,,,
,szzV
_kzz%
=kkzG
Vzzw,
J,aGZ
!INFO
bitmap id 33data
=,,,,
=====
====
ppppp
ppppppp
lllll
lllll
,>>>,>>,,,
>>>>,
,>>>KKKKKZJZZZZZ555
,ZJZJZ
.Z,Z.
nm\m\m\m\
,,5XelQlsZK,,,,,
488P)
f?/?/?
L?I?z
<gr h^-,
P\^tP
+^}___
,,,,,s|||^,
uuuuuu&!
sZeZZ99
UeeeeT9eeeeea
m>ywwww
w0.s\y)
,|||z,u
ZZZeZ99
eeeeee9`NHu
mmmmw~wvxv~
w~tstIps^\qx
k?M?P1|
i3b\QS|
||wuN
s.eZZe59
fdfhfhqsmhbbbhkbbbbDstd ::::
|zyuN
mmmmu
ZZeZZ9
sfhfhfh\spbbbbhbbbf_ms ::: :
NNunnm
gi=b<,<
>J4SQR,b
n3n3mp>
sZZeZ999
nJeeeeea
eeeee
mnKfsffhfh\sq[bbbdbbbhts
:::: :
=h|So
mmmmm
Nm=,,
nnmNu
sZZeZZ9
UeeeeUTeeeeea
eeeee
mnnnr{r}r}'w~
qiqfrhqh'~~w
,,u!!'Nm=,,
n&uNN
eZZeZ9
eeeeee9eeeee
wwwwwwx
wsmsmv\smh
u6)88I
+<|q\5C
eZeZ99
beeee[[eeeeea
mm)%XXX%X
hA???
oo]_\
o^?N-
(f8^m^l
3Q?IJ
NnnnN&&
nu!'&u
ZZeZe59
::: 6
uNNNn
sZeZZZ99
::::X:::X
uuuuuu
uxuuNN
yt{wtwtw`wpp%
m;[nV
s ;PVVm
VV>$>V;;>h
h"VPVVS
hVV;nt
uunnn
nmmmmnm
nuunn
unnnn
@TAIL
"INFO
bitmap id 34data
PTAIL
bitmap id 31data
mmmmmm
=,,=,
=,=,=
=,,,p
,=====
PmPmP
mPmPPm
=,=====
===,,
,====
,===,
====,=
,,,,,
,,,,,
ppppppp
uuuuu
P&o9@b
`tLttZ{
tZppp
,,,,,,,,,,,,
666A6666666
=mn2P
,nb*P!%u
,,,,,,,,,,,,
,szzV
_kzz%
=kkzG
Vzzw,
J,aGZ
"INFO
Swatch 3.2.4card
bitmap id 25data
70hi/.QS
! '#odeD
"7=*"=
loh4Cf
+<yu=/RT/,Xa
!'#X\cs
*5""W\g|
)595.?
99rr+
'1b`c
s a/ORdj
&8|u%
a:UKfX
$%Pn`F
e`{L?
&GNbE
!#,vNak
.,b`b4
&$!>
,/:;
*.'!SXdgDK5
@J&&AL.
;?a$\Pka
!," oabY
"!(MXch
;>b!_
I@a<K
.* 8]Ke
&<5q#
QUh8>
c2@G$
+]`|{
27 7BJo
o:*@b8&Ld<#Xk3?
,^X*3^X+5
CE`3M
"1Ma
Gg(&yo
eY+7[."8
7#]1?.]
">GP`(3No//
/rX#<
%9QO,>?M'$#n
+6,$.55
?/?]-Y
8.(y%@
j5)#+N
!do{?M
j6$U(D
>/7Y>
"`1/5m-#W(:
!?|24
+a26!c 90&N
^A|:Y
b0,;f3-
3Oc=B
$&n3O9
X05*$
:Dr}8
<$"'%:
]Qh6!
L}a9*
.$?d|
Wfb<#
~+!k)
%2[Aj
..&Off
'-@Kl
yx$#:F$
9.CXt
((zWt
+JT8?
s4$/;[
8(GPt
j$O@)\fa
()}Mt
&'Jsi
6g&@Y
jd*ROS
5e ;I
#moqZ
8(IPt
y:-7I
;3&Fb
%74+Y
36 u
fc8!S_
$6=8#f<
?3Z@t
OO*NRS
:w6!c
g`8$SL
qq+5LM
3Ol=0
ZZ&)BC
-%
*.'pz
IH91JO
)+#Ch
(Ko;*Knc$Fm
;W[I~
6,( Q
LM=D||
yO-0$
.q7,#7
++&Kg`
v"%%.B
+)w?<
j",-*S
"!v8>!
FCd>9
<! -A
<{|-N
5?xy<7cm?_
Yjb.INY
"4jU%
Y!ha%
=3l!'
`!///
+2pr{#HF0
,>uuaX
&)YYz4yj/
{9qr1
2=i#M@
$HM8s
-.JIt
q&Fqw_
9w{#l
a9776
~'>zW!#
7tSS+C
'f36,2
{066`1HDfz
p200/
%#>7R_'F
!-*)0\G^t
g&FCo=lS/
bWegc,))%'/#&
i.&%+
1??3oQ
4tz)1
1',7s8ww7
FF<;~y*s
)6gegR
=/VVar
!JKy
w <<5/__
8hj;5
p]MM,>CC
5on |13
u0dk?7bc
rr#Pqq"
mn++!
f5fe8
- vv
dHYY"h
4"CDq
--4>hg
;"LLp pp>
)=mfb
&4xty)733
cd>>`
993={{5D
9T068
JK+/::>
9m++*
LD-<}|,
&74%l
.Gbbb
CHmy
`LN9&;?/?
Swi,p
!!ZLrob
6aaa7e``7
1$((7
8hkk9
%Z_Y"
aC//a
}xy`wzz
akX[k
gSPPmI^^c
e\imh@
a~||d
-MRQ/
'%<<
\f`JAB`
$DEF#
|}#>//"
a&&&`
cpgg|
aT02cQIJ|Z78eF==f
XUa_[|
[_33X
5[[[<
7i T
],$Bf5
] &sa
|8))g
8*.e$
-+TXT
field id 18data
Net PainterTAIL
(+TXT
field id 19data
Using Painter 4's new networking feature, multiple artists can log into a single artwork session and take turns using any of Painter's brushes or effects. Net Painter works over any TCP/IP connection, including the Internet and local area networks. For the first time, artwork can be created in real-time by multiple artists!TAIL
,BMAP
#INFO
Swatch 3.2.5card
field id 18data
Web ToolsTAIL
field id 19data
Expanding upon the GIF and JPEG support introduced in Painter 3.1, Painter 4 allows you to easily create image maps for Web page design.
Tag any floating object in your Painter image with a distinct URL. Save the image, and the "clickable" region of your image is defined automatically.TAIL
bitmap id 28data
(e$:I
mTAIL
bitmap id 29data
bitmap id 31data
bitmap id 25data
!INFO
Swatch 3.2.3card
bitmap id 27data
:>:>B^B~F~F
_=c<c=c=c=_
F~B~>>:>6?:>6
`x`|
8!<!8!<@
|#x xA
`< <#
`x@|
@p@x"
@x x
!<!8`
/`/@'@
/`0a4@8
8 <`8A8a
<!<a<!
!<@8
<A8!
8 <
<#<#<
`x | x
@4A<
< <#<
4@4`0
p`x@
8`8
< < <
&< <#
8@<!
<#8a
,`8 < 8A
a< <!
4a8 <!4@
@8A8!
`8@^@b`
`< 8
#8#8@4c8@<!
AxAx!x
8c< 8#9
< 8 <
@4`8!4
< <`
<@8`
`8`<
`< 8
|!|!|
8 < < <
a<a<!
< <
a8a<A8!<`<
`8`<
`8@<
b8@4
@8@8`8@
x!|!x
8 8`<@<
8 < <`8@
`8 <
< 8 8`
`8`4`4`8`8@
a8`< < <
!8`8
< <!<
4 8 <@
!b@Z /
`8A<!
`x x
9a5A
@8@8
!< <`
`8`<
!9a9a
!x xa
p tAta
`t |!
`<`8@
9`9a
8@8`
4 <@<
8`8`
`1!1
4@<@
8#8 8
8`8 <`
8a8@<
a<!8!
<`8@4
<@<`<`
8`<`
`<`8
8@<`
`<`<`
A5B9c
&=a=`
<@8A4
8`<`<`8@
A8`<A5
!8@<@8@4A
4B4A5
`<A<'<@<!<
< <`<
`8`<B4c
a<@8!
8`<`<`<
<`<`<
c<`8!
`<`<`
<`<`<`<`
<`<`8@
8@<`
8`8`
<`<C8@
8#8@4!
8!8@8A
a<`<`<a
<a<a<
8`<a
<`<a<`8`
<a8`8@
`<a<a
<@<`
4@<`
`<`<a<
!<`8`
8`8@
`<`<a
8a4C
<`<`
`8`8C
8#<`<
x | x
x x |
x x x
!8`<`
`x x
8`<`
<`8`<`<`
@8`8#
4 8`<@8A<a
| |
| p`
c<`4
| x`
@8a8`<c<
x x@x t@
`<`<
| | x
`t&d%
`t!x!
`<@8
| | |
<`<c8
c<`<c
|!|!|!
8@<`
#8`8`
`8@8
|!|!
8 8!
| | | |
p@t`
x@p@
`8@<`8 8
x x@t`x`
`8A8A
tA|`
< 8a
4@8@
< < <
< < 8
ax`x!
xa| |
pnxNt.
*3*42T2
2u2u*4.U2v2
.V.W.
.v.U.v*5*4*5*5*4*
*U*U*T.t*T.U&4*4*T.w*5*T.u*U&4&4.x*5.u*4*U&4&4&
&U&U*V&8*>*=&5*V&4&6*6*v&5&5.
*v.t6y6
.w*v*V*T.T:
.v.u*5F
k}k~O
.U*T:wR
6v.u.u2u.U.U:vJ
c<c\c]c=c]c]_<_
[=W?S
S?S?S?O?J
6v.v.U.U2Y:
2Y.X.X.W.W*X2x2
.z.~2~2
.Z*V.v*v&4&
.w&4*
&5&5&
.t*T*
*3.T*32t2t6
.u2v6
2w2w6
.w2v2
*5*5*5*U*T*T&4*T*U.u*T.u&T*4*U.w.v*V&4*U*5&
*V.w*u.u*5&4*4&4&4"
&4&4.
*U&5&;&V*V&5"
&5&4"4&
*u*v.
*U.5.v2W*v*U.t*4*t.52
2v6w:
.u.T*5*T>
6w.V.T.u2u2u6
_<_<_
W?S?O
2x2w.U.u*V.Y:
2Z.w.V.v.u*u.W.
*7.9.|2
.X.v*V*5&5.V*V*4&4&
&5&3&
&2&2*2*3*32r6
.S&2&
.S*T6
2u*3*3*
.T.u2u2v*42u>
2U2v2v6
.v2v.V.V.V.V.v6
.w*6*5.
.V&5&5*5*U*5&4&
*4*U&4*V*U*4*U&
*T&4"
*v&4"
&S&3&U*v*v&V&3*4&S*T*T*3&4&
.52V.U*T.U.T*T*U*V*V&5&
.V*V*4&U.U*U6V2wR
>w2v2v6v.U*4*5.U.t6
*U*U:wB
.V.v2
*V.W2
.V.w2
2w2w6z2z.v2
.u.u&4*5*4.U*U&5*
*5*u*4.w.
.U.U.w6
*U&5.w*4"
.U*V*V&5&4&T*T*3&3&4*
"4*t!
"1&2"
@xexE
<a<a<
A<a<a
*3.S*S%
*R*S&
*1.s&1&
&2*R.T2w*4%
.t.T2u6
.T.3*3*3.
.3.T6
.U2T6
2u.4*T.U2v.V6
2W2w.V.52
*U.V:
2u.t*4*4&
&4&5&4*5*T*5*4*v2
*u*5.v.
*U*5.
*v*V*v*V&U&4.
*7*u*U*w"5&
&4&4.
&U&5"
&4&4"
&T&T&4&4*T*T*U&4.
*v.v.
*U*V.w.v6
*5&4*5*T&T&5*5*U*U*4&4*5*v.v*5.V.V.U.u.u6
.v.v.U.V2
2t6t2t.T.T.T.T:
.T*S*3!
*2.R*2!
*2.R*2!
&2&3!
*S*3&2*3!
*2.t.3&2
*1*1*2*
*R*1!
*S*S&
*3.v*U%
.s.T2
*3.T6t:
2T2U2u6
2u2v.T.4.4.U.T.U2u6u6
.U*4*U2V.S*S.T2U%
&4&U*U&4&
.v*U.5.U2
.u*v.
*U*5&U*5&
*v*5"
&V*V&6&U&
&5*v&V&
&4&4&4&T*U&T&4*U.
*V&U*V*V*4*v.u2
*U&4*U*U&
*4*4*T.u.T*T*U.v*V*5*5*U*U2u2
2w.U*V2u2v2v6
6v6v:
.T2T*S.S2
.S&3*
*1.R.r!
*S*2"
.t.t*3.s!
*s.t*S&
*Q*R*1.Q&
*3*S.t*3*R*s*3&2!
*3*4&
&4*4.v&
.S.u.u.u.u2
2u.T:
2U.T.4.T2t.T.T.T2U2t.T.t.S*4*
.t.t*3.4&
*U*T&U*4"
&4*U*U*U*5*4*v.v*U*4.
*V&5*U&4*U*V*5*v&V&
*s&3.u&6&4"5"
*T&5&V&4&4&5&V&5&U"
&4"3&
&4&V&T*U*T"4*T&4&U.
&U&5&
&5*U6
*U*U*4*5*V.u.T*T*U.
.w.v&5*
*U*T*T2
.v*V.v*5.U*V.u2w:
6t2t.T2T2t6
2u*3&3*
.t.u.U%
*t&3%
*2.t.t*S&
*S.t*3%
&2*S*s&2*s2
&2&3&
*2.R.T.s*
&2.t:
.t.4.T:
6T2t2s6t2t2t6
6t2t.t2t2T2t.S2
*5.u2
.U.U*v.T.
&4&4.v*U&
.52W*U*V&4.t%
&4*u"4!
"V&5&
"U&5&V&U
&S&3"4"
"3&4"
*T&T&
*R*Q&
*1*R*
&4*U*T.S.v&
*4*42
*4*T*T.v*T.S.2&
*S.4*3*
*T.U.u2u:
6t2t2v2T.T2t:
*2.s.R.r*2*
*3&4*u.u*T*3*T&
<A<~<!
a<`<!<
*s*3!
&3&3&
*R&R*S!
&3&3&3&
*2*S&3*R.s*3*3&
*S.t2t.T.t6
*2.323*3*
*4.3:
2t.4.4.4.36
2u.3*
*3*3.T*
*3.s&
.t*T&
3&v"S
&4"2&22r"1
*1*1%
*S.S.T.S*32S2
6u2u2U6u:
.52U2U2U6
2u2u6
2t.S.S2S*S*
*T*3%
*S.T*S&
&3*4&2.R&
"2&2&
&2*3&
*t*S&
&2.T.t&22
2u*3%
2t2T.4*4.4.S2T:
2T.U.4.3*
.T2t*
*2&3&
*2*2!
&2&2"
&1*2"
.r&R!
&3*3!
.S&3&
&2*3*3*3*
2t2t2T2U2u>
2v6U2T2u>
2T.T.T*
*R.t&3&
&R&2!
*2.t*3&3!
*32T*32
.S2t:
.4.S2S.3.T2t6t:
2v.T.4.42t2T.T.4.S*
&2*T&2
&Q.r&1
&S*3&
*3.s2s2T:
.T2T.t2U:
2U6u6
6s6u:
2T2T*3*
.u.4&
@8@< <
!<`<C
<@8@8@<
8c<'<
`< <A
!< 8a
8e<g8g<g
`<@< <B
<a8]<
<B<a<B
<?<?<
<^8^
*T*S*1&
*3.T2u6
2U2t2
2u.T*4*
*4.3&
*T&4&3
&2*T*3.t*3!
./2/*
8B4B<\
!<`8b
a<^<c
`<`8\
.R.2.R2s2R%
.3.T:
2t2u2u:
.T2T2t2T*16
*4*32
.s.S%
*t*T&
&4&U&1
&u"3&3
2O2o2/)
*-2o.n%
*2.S2s*
6u6U2t:
2T2t:
6p2/)
.t2u*
&3*T&4&3*T&3
)!j!J
(!i!i
2o2o2
:t6t.T:
2u.42t>
2T6p:q20)
2t.U*3*
2T.T!
*4&3*4&T&
J.-2o6
l2,2,!
*32u6u.S.42t2
.32T:
.S.P6
.R2T.T*3*
*T*4&
K2n.n2n.N)
**-.M.m*-!
*36t6
2t.t.32t6
.2*4.4.U6v./*
@<a<!
./2O2N2o2/.
6R2P2
*12R%
J*O&/
*-2o2
.N6o2O2P)
H.+6l
)2K6l
..6p*
6q.0)
H:+2K
A8G<'
)*-...
2o2n6
.n*-.m)
*P.P&
..2o*
)!I!I
H!i%i
.m*,*
2/6q6P.
*0*/%
*M*,&
2P202
2n.n*
`< <'
'!i!h
.n.M.m*
)6-:m!
2M..%
j.M*-!
h2K2K!
J2/6p)
**../)
b8e8'<d
6p2P%
!k*0%
.Q2q.
'.i.J!
a<C4b
!d>h)
.).K:
2N2p2O%
.+2L.+
I.M*.*-!
h6+2K%
2K2l>
!h*)%
f2+6l2K.K2
k*0.P*
E* 2).
*/*0%
%&'"(
2K2+* %
.).j*
8A<@4
)#5*4
2j.*2k.I%
@8A<M1L
8N4n4
2+.K:
2J6l.*2K.
field id 18data
Nozzle PaletteTAIL
field id 19data
The Image Hose, introduced in Painter 3, is now even more powerful with the new Nozzle palette, which organizes your nozzles into libraries. The new Scale slider lets you decide the size of the image elements on the fly. It's truly "painting with reality!"TAIL
repeat while (the mouse is down or ticks() < (StartTime + DownTime))
show bitmap MyName
end repeat
hide bitmap MyName
end if
end pressButtonLocal
field id 22data
Executive Producer:
Steve Guttman
Multimedia Design, Authoring, and Artwork:
Shawn Grunberger
Additional artwork by John Derry, Mark Zimmer, Steve Guttman, and Brian Moose.
All artwork in CD Central was created in Fractal Design Painter.
Special thanks to Jon Bass for his assistance in video digitizing, screen capture, and sound editing; Leila Kiba, for her in-a-pinch programming expertise; and Mary Mathis-Meltzer, for her support and sanity.
Thanks also to Laurie Hemnes, John Derry, Daryl Wise, Stephanie Workman, Tom Tilmant, Tad Shelby, Joyanne Soderholm, Karen Bullard, Annette Hart, Cori Tuck, Steve Rathmann, Bud Daumen, Christina Hall, and Michael Cinque and the gang in the QA lounge.
Opening animation: "Portrait of Jim Brickman" by Jeremy Sutton.
Copyright
1995 Jeremy Sutton. Used by permission.
Opening music: "Angel Eyes" by Jim Brickman, from the album By Heart
Copyright
1995 Windham Hill Records, Inc. Used by permission.TAIL
ermission.T+TXT
field id 23data
Copyright
1995 Fractal Design Corporation.
Fractal Design Painter and Natural-Media are registered trademarks, and Poser, Dabbler, and Image Hose are trademarks of Fractal Design Corp. Oracle Media Objects is a trademark of Oracle Corporation, used under license. All other product and brand names mentioned in this program are trademarks or registered trademarks of their respective holders.
This program was created in Oracle Media Objects.TAIL
cts.TAIL
bitmap id 24data
/TAIL
/TAIL
)INFO
Swatch 4.1SCRP
on openCard
global ThumbPath,CurrType,DirtyShoppingList
put thumbPath() into ThumbPath
--put "Painter 4 CD-ROM:MEDIA:THUMBS:" into ThumbPath --> to work on Mac
readTypes
readLibraries
allThumbs
put empty into cd fld "Shopping List" of cd "Shopping List Card"
put false into DirtyShoppingList
end openCard
on mouseDown
hide lst "Type popup"
hide lst "Library popup"
end mouseDown
function theDelim
if the platform = "Macintosh" then return ":"
else return "\"
end theDelim
on readTypes
global ThumbPath,CurrType,TypeNames,PlatformState
set the cursor to "watch"
put empty into field "Holding Area"
import ThumbPath & "LEGEND.TXT" into field "Holding Area"
put field "Holding Area" into TypeNames
put empty into field "Holding Area"
put empty into lst "Type Popup"
repeat with N = 1 to (number of lines in TypeNames)
put (item 2 of line N of TypeNames) after lst "Type Popup"
end repeat
put row 1 of lst "Type Popup" into cd fld "Type field"
put item 1 of line 1 of TypeNames into CurrType
put item 3 of line 1 of TypeNames into PlatformState
end readTypes
on readLibraries
global ThumbPath,CurrType,CurrLibrary,LibNames,ReadMeFlag
set the cursor to "watch"
put ThumbPath & CurrType & theDelim() into ThePath
put empty into field "Holding Area"
import ThePath & "LEGEND.TXT" into field "Holding Area"
put field "Holding Area" into LibNames
put empty into field "Holding Area"
put empty into lst "Library Popup"
repeat with N = 1 to (number of lines in LibNames)
put (item 2 of line N of LibNames) after lst "Library Popup"
end repeat
put row 1 of lst "Library Popup" into cd fld "Library field"
put item 1 of line 1 of LibNames into CurrLibrary
if item 3 of line 1 of LibNames contains "readme"
then
showReadMe true
put item 4 of line 1 of LibNames into ReadMeFlag
else
showReadMe false
end if
put empty into cd fld "How to"
import ThePath & "HOWTO.TXT" into cd fld "How to"
end readLibraries
on allThumbs NewOffset --> loads the thumbnail images & other goodies info
global Offset,ThumbPath,CurrType,CurrLibrary,ThumbNames,ThumbNameList
set the cursor to "watch"
put ThumbPath & CurrType & theDelim() & CurrLibrary & theDelim() into ThePath
put empty into field "Holding Area"
import ThePath & "LEGEND.TXT" into field "Holding Area"
put field "Holding Area" into ThumbNames
put empty into field "Holding Area"
if NewOffset is empty
then
put 0 into Offset
else
add NewOffset to Offset
if Offset < 0 then put 0 into Offset
end if
repeat with N = 0 to 9
put (N + 1 + Offset) into LineNum
put "Thumb" && (N + 1) into ThisThumb
if line LineNum of ThumbNames is not empty
then
put ThePath & eatExtension(item 1 of line LineNum of ThumbNames) & "PIC" into ThisPic
import ThisPic into cd bitmap ThisThumb
put (item 2 of line LineNum of ThumbNames) into item (N + 1) of ThumbNameList
else
put empty into cd bitmap ThisThumb
put "none" into item (N + 1) of ThumbNameList
end if
end repeat
if Offset = 0
then
show cd bitmap "Back off"
disable cd button "Back"
else
hide cd bitmap "Back off"
enable cd button "Back"
end if
if line (11 + Offset) of ThumbNames is empty
then
show cd bitmap "More off"
disable cd button "More"
else
hide cd bitmap "More off"
enable cd button "More"
end if
showPath
end allThumbs
on showPath CurrThumb
global CurrType,CurrLibrary,LibNames,ThumbNames,PlatformState
put goodiesPath() & CurrType & "\" into ThePath
if PlatformState contains "lib" or PlatformState contains "folder" then
if the platform = "Macintosh" and PlatformState contains "single"
then
put lineOffset(CurrLibrary,LibNames) into LineNum
put (item 2 of line LineNum of LibNames) after ThePath
else
put CurrLibrary after ThePath
end if
if PlatformState contains "folder" then put "\" after ThePath
end if
if PlatformState contains "file" and CurrThumb is not empty then
put lineOffset(CurrThumb,ThumbNames) into LineNum
if the platform = "Macintosh" and PlatformState contains "single"
then
put (item 2 of line LineNum of ThumbNames) after ThePath
else
put (item 1 of line LineNum of ThumbNames) after ThePath
end if
end if
put locationBlurb() & ThePath into cd fld "Path field"
end showPath
on showReadMe trueOrFalse
set the visible of cd bitmap "Read me button" to trueOrFalse
set the visible of cd button id 54 to trueOrFalse
set the enable of cd button id 54 to trueOrFalse
end showReadMe
on addToShopping MyName
global DirtyShoppingList
put itemNameBlurb() & return into ItemText
put space && space && quote & MyName & quote & return after ItemText
put itemTypeBlurb() & return after ItemText
put space && space && cd fld "Type field" of cd "Swatch 4.1" & return after ItemText
put line 1 of cd fld "Path field" of cd "Swatch 4.1" & return after ItemText
put space && space && line 2 of cd fld "Path field" of cd "Swatch 4.1" & return after ItemText
put commentsBlurb() & return & return after ItemText
put ItemText after cd field "Shopping List" of cd "Shopping List Card"
put true into DirtyShoppingList
popup cd "Shopping List Card" titled "Goodies Shopping List" at 15,50
--put textHeightSum(cd field "Shopping List" of
--wd "Goodies Shopping List") into TextV
--put TextV - (the height of cd field "Shopping List" of
--wd "Goodies Shopping List") into Delta
--if Delta > 0 then set the scroll of cd field "Shopping List" of
--wd "Goodies Shopping List" to Delta
end addToShopping
on saveTheList
global DirtyShoppingList
if cd fld "Shopping List" of cd "Shopping List Card" is not empty
then
ask file saveShoppingBlurb() for save with defaultShoppingFile()
put it into FilePath
if FilePath is not empty then
open file FilePath
write shoppingFileTitle() && "-" && date() && the time & return & return to file FilePath
write cd fld "Shopping List" of cd "Shopping List Card" to file FilePath
close file FilePath
put false into DirtyShoppingList
end if
else
answer shoppingEmptyBlurb()
end if
end saveTheList
on closeCard
global DirtyShoppingList
if cd fld "Shopping List" of cd "Shopping List Card" is not empty and DirtyShoppingList = true then
beep
--> this queries the user to save:
if saveShoppingList() is true then saveTheList
end if
put empty into cd fld "Shopping List" of cd "Shopping List Card"
--close wd "Goodies Shopping List"
send "mouseDown" to this card
clearThumbs
showReadMe false
put empty into cd fld "Path field"
put empty into cd fld "How to"
put empty into cd fld "Library field"
put empty into cd fld "Type field"
put empty into cd fld "Thumb Name"
end closeCard
on clearThumbs
global ThumbNameList
repeat with N = 0 to 9
put "Thumb" && (N + 1) into ThisThumb
put empty into cd bitmap ThisThumb
end repeat
put empty into ThumbNameList
end clearThumbs
function lineOffset SearchString,SearchContainer
repeat with N = 1 to 100
if (line N of SearchContainer) contains SearchString then return N