home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / mac / misc / demo / hyp10dem.sit / HyperTint Demo / stack_-1.xml < prev    next >
Encoding:
Extensible Markup Language  |  1992-03-29  |  25.4 KB  |  65 lines

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE stack PUBLIC "-//Apple, Inc.//DTD stack V 2.0//EN" "" >
  3. <stack>
  4.     <name>in</name>
  5.     <id>-1</id>
  6.     <cardCount>41</cardCount>
  7.     <cardID>3020</cardID>
  8.     <listID>4289</listID>
  9.     <cantModify><false /></cantModify>
  10.     <cantDelete><false /></cantDelete>
  11.     <cantAbort><false /></cantAbort>
  12.     <cardSize>
  13.         <width>448</width>
  14.         <height>280</height>
  15.     </cardSize>
  16.     <script>
  17. on openstack
  18. global htxxInitialized, htxxLastMaxDepth, htxxNextScreenCheck
  19.  
  20. if isMe() then
  21. -- start using stack "Jump" -- during authoring only
  22. resetCardSize -- (Only needed if the user quit the stack from
  23. --                the registration form background.)
  24. show groups
  25. setupMenus
  26. put HTUMaxDepth() into htxxLastMaxDepth
  27. if htxxLastMaxDepth >= 4 then
  28. TryToInstall
  29. if the result is not empty then
  30. answer "Error trying to install HyperTint:  " & the result
  31. end if
  32. end if
  33. -- We'll keep track of the current screen depth so that
  34. -- if the user changes the screen depth, we can reinstall
  35. -- HyperTint to match the new settings
  36. put the seconds + 3 into htxxNextScreenCheck
  37. end if
  38. end openstack
  39.  
  40. on recheckScreenSettings
  41. global htxxInitialized,htxxLastMaxDepth
  42. put HTUMaxDepth() into newDepth
  43.  
  44. -- We keep track of whether HYperTint is installed when we
  45. -- start so that we can tell the user if new screen settings
  46. -- are insufficient to keep it installed.
  47. if htxxInitialized is empty then
  48. put false into wasThereBefore
  49. else
  50. put true into wasThereBefore
  51. end if
  52.  
  53. if newDepth is not htxxLastMaxDepth then
  54. -- The screen holding the card has a depth different
  55. -- from before.  First, we remove HyperTint and then
  56. -- try to reinstall it.
  57. if htxxInitialized is true then
  58. HTRemove
  59. put empty into htxxInitialized
  60. end if
  61.  
  62. -- If the new depth is less than 16 colors, and HyperTint
  63. -- was previously installed, let the user know why the
  64. -- color has disappeared.
  65. if wasThereBefore and newDepth < 4 then
  66. answer "I'm going to remove HyperTint because there aren't"┬¼
  67. & " enough colors anymore for it to look pretty."
  68.  
  69. -- Turn on the black and white background picts
  70. set the showPict of this background to true
  71.  
  72. go this card -- (Get rid of any remaining ugly color)
  73.  
  74. else
  75. TryToInstall
  76. if the result is not empty then
  77. answer "Dave, we've got a problem adjusting to the new"┬¼
  78. & " color settings:  " & the result
  79. else
  80. put true into htxxInitialized
  81. set the showPict of this background to false
  82. -- Now, we've got a problem (alright, ... *I* have a problem)
  83. -- We've just reinstalled HyperTint, so we have to go
  84. -- and re-establish the color regions and backdrop picture
  85. -- for this background (or card, if this card has a special
  86. -- color setup)
  87. send colorSetup to this card
  88. HTLock off
  89. end if
  90. end if
  91. put newDepth into htxxLastMaxDepth
  92. end if
  93. end recheckScreenSettings
  94.  
  95. on InstallHT  depthOption
  96. -- This routine tries to perform a single installation
  97. -- of HyperTint.  DepthOption should either be an empty
  98. -- string (or a missing parameter) or one of the maxDepthnn  keywords.
  99. HyperTint "later","delay",depthOption
  100. --  (If depthOption is an empty string, it will be
  101. --  ignored by the HyperTint command)
  102.  
  103. if the result is not empty then
  104. return the result
  105. else if the heapSpace < 100000 then
  106. -- No enough memory left over for HyperCard, so remove HyperTint
  107. HTRemove
  108. return "Out of Memory"
  109. else
  110. return empty   -- Success.
  111. end if
  112. end InstallHT
  113.  
  114.  
  115. on TryToInstall
  116. -- This routine will attempt to install HyperTint to match
  117. -- the current screen settings.  Calling routines can
  118. -- check "the result" afterwards to see if installation was a
  119. -- success.
  120. --
  121. -- On 16-bit and 24-bit color screens, we will first attempt to
  122. -- install using 32-bit offscreen buffers.  If there is not
  123. -- enough memory, we will install at 8 bits and turn off
  124. -- visual effects.
  125. global htxxInitialized, htxxLastMaxDepth, htxxNextScreenCheck
  126. global htxyVisAllowed -- This global is just used on our
  127. --                       visual effects example cards.
  128.  
  129. put empty into htxxInitialized  -- Assume the worst until we succeed
  130. put HTUMaxDepth() into htxxLastMaxDepth
  131. if htxxLastMaxDepth >= 4 then
  132. -- Try to install at full screen depth
  133. InstallHT
  134. if the result is empty then
  135. -- We succeeded at full screen depth
  136. put true into htxxInitialized
  137. put true into htxyVisAllowed
  138. put empty into resultValue
  139. else
  140. -- Special check for 16 and 24/32 bit screens.
  141. if htxxLastMaxDepth <= 8 then
  142. put the result into resultValue -- for 256 or fewer colors, give up now
  143. else
  144. -- We'll assume that any problem besides lack
  145. -- of memory will show up again the second time we try to
  146. -- install.
  147. InstallHT "maxdepth8" -- Try again restricted to 8 bits.
  148. if the result is not empty then
  149. put the result into resultValue    -- Still not enough memory
  150. else
  151. put true into htxxInitialized
  152. put false into htxyVisAllowed -- Installed, but visual effects will be too slow
  153. HTVisual "disallow"
  154. --  if the result is not empty then answer the result
  155. put empty into resultValue
  156. end if
  157. end if
  158. end if
  159. else
  160. put empty into resultValue -- We don't install at fewer than
  161. -- 16 colors, but we don't report it as an error either, since
  162. -- the title card tells the user that we won't install if
  163. -- fewer than 16 colors available and our recheckScreenSettings
  164. -- handler also informs the user when screen settings are
  165. -- changed.
  166.  
  167. end if
  168.  
  169. return resultValue
  170. end TryToInstall
  171.  
  172.  
  173.  
  174.  
  175.  
  176. on idle
  177. global htxxNextScreenCheck,bob
  178. if IsMe() then
  179.  
  180. if the seconds > htxxNextScreenCheck then
  181. -- Time to check whether the user has changed the monitor's
  182. -- pixel depth or moved the stack to another monitor
  183. recheckScreenSettings
  184. -- Wait awhile before checking again
  185. put the seconds + 3 into htxxNextScreenCheck
  186. end if
  187. end if
  188. end idle
  189.  
  190. on closeStack
  191. global htxyDisplayed,htxxInitialized
  192. if isMe() then
  193. put the lockScreen into saveScreen
  194. -- put (the short number of this card is 1) into wasFirst
  195. lock screen
  196. -- if not wasFirst then
  197. -- go first card
  198. -- end if
  199. set the showPict of background "TitleBackground" to true
  200. repeat with i = 1 to 4  -- the number of buttons in card 1
  201. hide button i of card 1
  202. end repeat
  203. -- if not wasFirst then
  204. -- go back
  205. -- end if
  206. clearMenus
  207. if htxxInitialized is true then
  208. HTRemove
  209. end if
  210.  
  211. put empty into htxyDisplayed
  212. put empty into htxxInitialized
  213. end if
  214. end closeStack
  215.  
  216. on suspendStack
  217. if isMe() then
  218. clearMenus
  219. end if
  220. end suspendStack
  221.  
  222. on resumeStack
  223. if isMe() then
  224. setupMenus
  225. end if
  226. end resumeStack
  227.  
  228. on colorSetup
  229.  
  230. -- This is the default colorSetup routine that looks for
  231. -- a color scheme matching the name of the background.
  232. -- So that the stack will run properly when HyperTint is
  233. -- not installed, we check for HyperTint before trying
  234. -- to read the color scheme.
  235. if HTUIsInstalled() then
  236. HTColorScheme the short name of this background
  237. if the result is not empty and the result is not "Not Installed" then
  238. answer "Error configuring color.  " & the result
  239. end if
  240. end if
  241. end colorSetup
  242.  
  243. -- on idle
  244. -- bddelay forceoff
  245. -- end idle
  246.  
  247. function isMe
  248. -- Because this stack can be inserted into the
  249. -- user-defined message hierarchy -- that is, a
  250. -- script can "start using" this stack -- this
  251. -- stack may get "openStack" and "closeStack"
  252. -- messages when other stacks are opened or closed.
  253. -- To make sure we don't trigger the opening sequence
  254. -- for this stack by mistake, the isMe() function
  255. -- is called to make sure that the stack being opened
  256. -- is this stack.
  257. return the long name of me is the long name of this stack
  258. end isMe
  259.  
  260.  
  261. on cw
  262. -- show the color wheel, get the result and put it into
  263. -- the message box and the global variable theColor
  264.  
  265. global theColor
  266.  
  267. HTUPickColor  "Choose a color, any color at all", theColor
  268. if the result is empty then
  269. put it into theColor
  270. put it
  271. else
  272. if the result is not "Cancel"  then answer the result
  273. end if
  274. end cw
  275.  
  276. on replaceScript oldString,newString
  277. -- Requires handlers: setUserLevelFive,restoreUserLevel
  278. -- search ALL scripts of a stack for a 'oldString' of characters
  279. global ScriptFindString -- HyperTalk global variable
  280. set lockRecent to true
  281. setUserLevelFive -- saves current level and sets level 5
  282. push card -- remember where we are
  283. if oldString is empty then
  284. ask "Search for what string?" with ScriptFindString -- Γêå
  285. if (it is empty) or (the result is "Cancel") then exit replaceScript
  286. put it into oldString -- otherwise use it as the search oldString
  287. end if
  288. -- put in HyperTalk global so just CMD-F in editor for easy find
  289. put oldString into ScriptFindString
  290. set lockMessages to true -- avoid open messages
  291. set cursor to busy
  292. -- search the stack script of the stack
  293. if the script of this stack contains oldString then
  294. set the script of this stack┬¼
  295. to strSandR(the script of this stack, oldString, newString)
  296. end if
  297.  
  298. -- search the background scripts and objects of the stack
  299. repeat with curBkgnd = 1 to the number of bkgnds
  300. set cursor to busy
  301. go to card 1 of bkgnd curBkgnd
  302. if the script of this bkgnd contains oldString then
  303. set the script of this background┬¼
  304. to strSandR(the script of this background, oldString, newString)
  305. end if
  306. repeat with curBgBtn = 1 to the number of bkgnd buttons
  307. set cursor to busy
  308. if the script of bkgnd button curBgBtn contains oldString then
  309. set the script of bkgnd button curBgBtn┬¼
  310. to strSandR(the script of bkgnd button curBgBtn, oldString, newString)
  311. end if
  312. end repeat
  313. repeat with curBgField = 1 to the number of bkgnd fields
  314. set cursor to busy
  315. if the script of bkgnd field curBgField contains oldString then
  316. set the script of bkgnd field curBgField┬¼
  317. to strSandR(the script of bkgnd field curBgField, oldString, newString)
  318. end if
  319. end repeat
  320. end repeat
  321. -- search the card scripts and objects of the stack
  322. repeat with curCard = 1 to the number of cards
  323. set cursor to busy
  324. go card curCard
  325. if the script of this card contains oldString then
  326. set the script of this card┬¼
  327. to strSandR(the script of this card, oldString, newString)
  328. end if
  329. repeat with curCdBtn = 1 to the number of card buttons
  330. set cursor to busy
  331. if the script of card button curCdBtn contains oldString then
  332. set the script of card button curCdBtn┬¼
  333. to strSandR(the script of card button curCdBtn, oldString, newString)
  334. end if
  335. end repeat
  336. repeat with curCdFld = 1 to the number of card fields
  337. set cursor to busy
  338. if the script of card field curCdFld contains oldString then
  339. set the script of card field curCdFld curCdBtn┬¼
  340. to strSandR(the script of card field curCdFld, oldString, newString)
  341. end if
  342. end repeat
  343. end repeat
  344. pop card -- return to where we were
  345. set lockMessages to false
  346. set lockRecent to false
  347. restoreUserLevel -- set userLevel back to whatever it was
  348. -- answer "Search replacement done!" -- Γêå
  349. end replaceScript
  350.  
  351. function strSandR patient,oldString,newString
  352. -- This function will return patient with all copies
  353. -- of oldString replaced by newString
  354. put length(oldString) into oldLength
  355. repeat
  356. put offset(oldString, patient) into startChar
  357. if startChar is 0 then exit repeat
  358. put newString into char startChar┬¼
  359. to (startChar + oldLength - 1) of patient
  360. end repeat
  361. return patient
  362. end strSandR
  363.  
  364. on clearAllRegions
  365. repeat with i = 1 to 10
  366. HTRClear i
  367. end repeat
  368. end clearAllRegions
  369.  
  370. function isInUse longName
  371. -- Given the long name of a stack, this function will return
  372. -- true if the stack is currently in the list of stacks in
  373. -- use.
  374. delete first word of longName
  375. delete first char of longName
  376. delete last char of longName
  377.  
  378. return longName is first line of the stacksInUse┬¼
  379. or longName is last line of the stacksInUse┬¼
  380. or return & longName & return is in the stacksInUse
  381. end isInUse
  382.  
  383. -- Our link follower
  384. on followLink topic
  385. put field "HJTopicList" into tList
  386. if return & topic & return is not in tList then
  387. -- NOPE, JUST DO NOTHING IF THE WORD ISN'T A VALID TOPIC
  388. -- answer "Sorry, ΓÇ£" & topic & "ΓÇ¥ is not linked to any card."
  389. else
  390. put empty into theLink
  391. repeat with i = 2 to the number of lines in tList
  392. --            \
  393. --             \_> (The first line is always blank.)
  394. if line i of tList is topic then
  395. put line i of field "HJLinkList" into theLink
  396. exit repeat
  397. end if
  398. end repeat
  399.  
  400. if theLink is not empty then
  401. if word 1 of theLink is not "S" then
  402. go to card id theLink
  403. else
  404. get word 2 to 999 of theLink
  405. if the number of words in it is 1 then
  406. send it && quote & topic & quote to this card
  407. else
  408. send it to this card
  409. end if
  410. end if
  411.  
  412. if the result is not empty then
  413. answer the result
  414. end if
  415. end if
  416. end if
  417. end followLink
  418.  
  419.  
  420. ---------------------------------------------------------------------
  421. - Routines to deal with the color selection palette
  422. ---------------------------------------------------------------------
  423.  
  424. on cc
  425. --
  426. palette "HT Color Panel"
  427. if the result is not empty then
  428. answer "Error when trying to open the region color panel.  "┬¼
  429. & the result & "."
  430. end if
  431. end cc
  432.  
  433. on cclick regionNumber
  434. -- This handler is called whenever the user clicks on
  435. -- one of the color palette region buttons
  436.  
  437. put the shiftKey into shiftK
  438. put the optionKey into optionK
  439.  
  440. if not HTUIsInstalled() then
  441. answer "Sorry, HyperTint is not active in this stack"
  442. else
  443. -- There's no sense redrawing the screen after the
  444. -- color wheel dialog box is dismissed:  we're just going to
  445. -- have to redraw it anyway.  So let's lock the screen and
  446. -- then unlock it afterwards.
  447. -- HTLock on
  448. --lock screen
  449. if optionK is down then
  450. -- A background color option
  451. answer "Make the region's background color the default color or make it transparent?" with "Default"┬¼
  452. or "Transparent" or "Cancel"
  453. if it is "Default" then
  454. HTRBackground regionNumber,"default","noDelay"
  455. else if it is "Transparent" then
  456. HTRBackground regionNumber,"transparent","noDelay"
  457. end if
  458. else
  459. -- No option key, so a straight-forward request to change a color
  460. if shiftK is up then
  461. -- First, if the background is currently the default
  462. -- or transparent, warn the user
  463. get HTRCurrBC(regionNumber)
  464. if it is "transparent" then
  465. answer "This background is currently transparent."┬¼
  466. & "  Do you want to select an opaque color?"┬¼
  467. with "Yes" or "No"
  468. if it is "No" then
  469. exit cclick
  470. else
  471. put "white" into it  -- make sure a valid color is
  472. --                      passed to HTUPickColor
  473. end if
  474. else if it is "default" then
  475. answer "This background currently uses the default background color."┬¼
  476. & "  Do you want to use a non-default background for this region?"┬¼
  477. with "Yes" or "No"
  478. if it is "No" then
  479. exit cclick
  480. else
  481. get HTCurrBC() -- use the default color as the starting color
  482. end if
  483. end if
  484. -- By this step, the variable it should contain a valid
  485. -- starting color which can be passed to HTUPickColor
  486. HTUPickColor "Region" && regionNumber && "background", it
  487. if the result is empty then
  488. HTRBackground regionNumber,it,"noDelay"
  489. else if the result is not "Cancel" then
  490. answer the result
  491. end if
  492. else
  493. HTUPickColor "Region" && regionNumber && "foreground",┬¼
  494. HTRCurrFC(regionNumber)
  495. if the result is empty then
  496. HTRForeground regionNumber,it,"noDelay"
  497. else if the result is not "Cancel" then
  498. answer the result
  499. end if
  500. end if
  501. end if
  502. -- unlock screen
  503. end if
  504. -- go this card
  505. end cclick
  506.  
  507. on cdefClick
  508. put the shiftKey into shiftK
  509. put the optionKey into optionK
  510.  
  511. if optionK is down then
  512. answer "Option-clicking does not work for the Default button."
  513. else
  514. if shiftK is down then
  515. HTUPickColor "Default foreground color", HTCurrFC()
  516. if the result is empty then
  517. HTForeground it,"noDelay"
  518. else if the result is not "Cancel" then
  519. answer the result
  520. end if
  521. else
  522. HTUPickColor "Default background color", HTCurrBC()
  523. if the result is empty then
  524. HTBackground it,"noDelay"
  525. else if the result is not "Cancel" then
  526. answer the result
  527. end if
  528. end if
  529. end if
  530. end cdefClick
  531.  
  532. on saveAsBkgnd
  533. -- Save the current color scheme under the name of this background
  534. -- Note:  if the background name is empty, HyperCard will
  535. -- return a "name" along the lines of "bkgnd id 42"
  536.  
  537. -- Change for demo:  tell the user that saving is unavailable.
  538. answer "Saving a color scheme requires the HTWriteScheme"┬¼
  539. && "XCMD, which is not included in this demo."
  540. exit saveAsBkgnd
  541.  
  542.  
  543. set the cursor to busy
  544. HTWriteScheme the short name of this background
  545. set the cursor to busy
  546. if the result is not empty then
  547. answer "Error when saving color scheme.  " & the result
  548. end if
  549. end saveAsBkgnd
  550.  
  551. on saveAsOther
  552. global htccLastSchemeName
  553.  
  554. -- Change for demo:  tell the user that saving is unavailable.
  555. answer "Saving a color scheme requires the HTWriteScheme"┬¼
  556. && "XCMD, which is not included in this demo."
  557. exit saveAsOther
  558.  
  559. --  This handler will allow the user to save the current
  560. -- color scheme under a different name.
  561. ask "Save color scheme as" with htccLastSchemeName
  562. if the result is empty then
  563. put it into htccLastSchemeName
  564. HTWriteScheme htccLastSchemeName
  565. if the result is not empty then
  566. answer "Error when saving color scheme.  " & the result
  567. end if
  568. end if
  569. end saveAsOther
  570.  
  571.  
  572. on openPalette palName
  573. -- We want to trap the palette opening, whether the color choosing
  574. -- palette is shown via our "cc" handler shortcut or by directly
  575. -- calling the palette command.
  576.  
  577. global htccWasInUse
  578.  
  579. if palName is "Colors" then
  580. -- We keep track of whether this stack is already in use,
  581. -- so that we don't yank it out of the message hierarchy
  582. -- when the palette is closed:  the scripter may be
  583. -- counting on this stack to supply the XCMDs for scripts.
  584. put IsInUse(the long name of me) into htccWasInUse
  585. if not htccWasInUse then
  586. start using me
  587. end if
  588. end if
  589. end openPalette
  590.  
  591. on closePalette palName
  592. global htccWasInUse
  593.  
  594. if palName is "Colors" then
  595. if not htccWasInUse then
  596. stop using me
  597. end if
  598. end if
  599. end closePalette
  600.  
  601.  
  602. -----------------------------------------------------------
  603. -- Handlers that are used for navigation through this stack
  604. -----------------------------------------------------------
  605.  
  606. on setupMenus
  607. global htxyRecent
  608.  
  609. if there is not a menu "Topics" then
  610. create menu "Topics"
  611. end if
  612. selectTopicMenu
  613. if there is not a menu "Recent" then
  614. create menu "Recent"
  615. end if
  616. if htxyRecent is empty then
  617. put "No where to go" into menu "Recent"
  618. disable menuItem 1 of menu "Recent"
  619. else
  620. put htxyRecent into menu "Recent"
  621. end if
  622. end setupmenus
  623.  
  624. on selectTopicMenu
  625. -- Our navigation menus
  626. global htxyOverview,htxyXCMD,htxyNotes,htxyAbout,htxyTitle
  627.  
  628. -- If we don't yet have our menus, get them
  629. if htxyOverview is empty then
  630. put card field "Title Card" of card 1 into htxyTitle
  631.  
  632. put htxyTitle & "-" & return ┬¼
  633. & card field "XCMD Reference" of card 1 into htxyXCMD
  634.  
  635. put htxyTitle & "-" & return ┬¼
  636. & card field "Notes and Tips" of card 1 into htxyNotes
  637.  
  638. put htxyTitle & "-" & return ┬¼
  639. & card field "HyperTint Overview" of card 1 into htxyOverview
  640.  
  641. put htxyTitle & "-" & return ┬¼
  642. & card field "About HyperTint" of card 1 into htxyAbout
  643. end if
  644.  
  645. get field "Section"
  646. if it is "Title Card" then
  647. put htxyTitle into menu "Topics"
  648. else if it is "XCMD Reference" then
  649. put htxyXCMD into menu "Topics"
  650. else if it is "Notes and Tips" then
  651. put htxyNotes into menu "Topics"
  652. else if it is "HyperTint Overview" then
  653. put htxyOverview into menu "Topics"
  654. else if it is "About HyperTint" then
  655. put htxyAbout into menu "Topics"
  656. end if
  657. set the markChar of menuItem it of menu "Topics" to "ΓÇó"
  658. send markCardMenu to this background
  659. end selectTopicMenu
  660.  
  661. on markCardMenu
  662. -- The default card action, good for the title card and
  663. -- the topic list cards, is that no further marking is required.
  664. end markCardMenu
  665.  
  666.  
  667.  
  668. on clearMenus
  669. if there is a menu "Recent" then -- This check really only necessary during stack authoring stages
  670. delete menu "Recent"
  671. end if
  672. if there is a menu "Topics" then -- This check really only necessary during stack authoring stages
  673. delete menu "Topics"
  674. end if
  675. end clearMenus
  676.  
  677. on addRecent cardName
  678. global htxyRecent
  679.  
  680. -- If this name is already in the list then get rid
  681. -- rid of it so that it will be moved to the top.
  682. if cardName is in htxyRecent then
  683. repeat with i = 1 to the number of lines in htxyRecent
  684. if cardName is line i of htxyRecent then
  685. delete line i of htxyRecent
  686. exit repeat
  687. end if
  688. end repeat
  689. end if
  690.  
  691. put cardName & return before htxyRecent
  692. if the number of lines in htxyRecent > 15 then
  693. -- (The if is used to avoid the bug in HyperCard 2.0
  694. -- involving deleting non-existent lines.)
  695. delete line 15 of htxyRecent
  696. end if
  697. put htxyRecent into menu "Recent"
  698. set the checkmark of menuItem 1 of menu "Recent" to true
  699. end addRecent
  700.  
  701. function truncateName cardName
  702. return char 1 to 25 of cardName
  703. end truncateName
  704.  
  705. on doMenu whichItem,whichMenu
  706. -- Both of this stack's menu operate the same way.
  707. if whichMenu is "Recent" or whichMenu is "Topics"  then
  708. go to card truncateName(whichItem)
  709. -- During development, it probably doesn't hurt to check the
  710. -- result.
  711. if the result is not empty then
  712. answer "I'm lost:  " & the result
  713. end if
  714. else
  715. pass doMenu
  716. end if
  717. end doMenu
  718.  
  719. on showAllCards
  720. repeat for the number of cards
  721. if the mouseClick then exit repeat
  722. go next
  723. end repeat
  724. end showAllCards
  725.  
  726. on ShowAll
  727. showAllCards
  728. end ShowAll
  729.  
  730. on showCards
  731. repeat for the number of cards
  732. if the mouseClick then exit repeat
  733. go next
  734. end repeat
  735. end showCards
  736.  
  737.  
  738. on resetCardSize
  739. set the rect of this card to 0,0,448,280
  740. end resetCardSize
  741.  
  742.  
  743. on yankeeize
  744. repeat
  745. find string "colour"
  746. if the result is not empty then
  747. exit repeat
  748. end if
  749. put "color" into the foundChunk
  750. end repeat
  751. end yankeeize
  752.  
  753. on HTWriteScheme
  754. answer "Sorry, the HTWriteScheme XCMD is not included in the demo version."
  755. exit to HyperCard
  756. end HTWriteScheme
  757.  
  758. on HTRClear
  759. answer "Sorry, the HTRClear XCMD is not included in the demo version."
  760. exit to HyperCard
  761. end HTRClear
  762.  
  763. on HTRAddRRect
  764. answer "Sorry, the HTRAddRRect XCMD is not included in the demo version."
  765. exit to HyperCard
  766. end HTRAddRRect
  767.  
  768. on HTRSubRRect
  769. answer "Sorry, the HTRSubRRect XCMD is not included in the demo version."
  770. exit to HyperCard
  771. end HTRSubRRect</script>
  772.     <background id="2760" file="background_2760.xml" name="TitleBackground" />
  773.     <background id="3997" file="background_3997.xml" name="Description" />
  774.     <background id="4603" file="background_4603.xml" name="Section Titles" />
  775.     <background id="18488" file="background_18488.xml" name="About" />
  776.     <background id="19747" file="background_19747.xml" name="Form" />
  777.     <background id="20104" file="background_20104.xml" name="Examples" />
  778.     <card id="3020" file="card_3020.xml" marked="false" name="Title Card" owner="2760" />
  779.     <card id="4709" file="card_4709.xml" marked="false" name="HyperTint Overview" owner="4603" />
  780.     <card id="25776" file="card_25776.xml" marked="false" name="HyperTint Overview (2)" owner="4603" />
  781.     <card id="9029" file="card_9029.xml" marked="false" name="About This Demo" owner="3997" />
  782.     <card id="7847" file="card_7847.xml" marked="false" name="An Overview of This Stack" owner="3997" />
  783.     <card id="25077" file="card_25077.xml" marked="false" name="How to Navigate Through T" owner="3997" />
  784.     <card id="6822" file="card_6822.xml" marked="false" name="HyperTint Features" owner="3997" />
  785.     <card id="6946" file="card_6946.xml" marked="false" name="Backdrops" owner="3997" />
  786.     <card id="2430" file="card_2430.xml" marked="false" name="Colorizing with HyperTint" owner="3997" />
  787.     <card id="6017" file="card_6017.xml" marked="false" name="Color Regions" owner="3997" />
  788.     <card id="8205" file="card_8205.xml" marked="false" name="Color Schemes" owner="3997" />
  789.     <card id="9289" file="card_9289.xml" marked="false" name="Visual Effects" owner="3997" />
  790.     <card id="8003" file="card_8003.xml" marked="false" name="Text Optimizations" owner="3997" />
  791.     <card id="10960" file="card_10960.xml" marked="false" name="Making Authoring Easier" owner="3997" />
  792.     <card id="7198" file="card_7198.xml" marked="false" name="System Requirements" owner="3997" />
  793.     <card id="7508" file="card_7508.xml" marked="false" name="Memory Requirements" owner="3997" />
  794.     <card id="6550" file="card_6550.xml" marked="false" name="XCMD Reference" owner="4603" />
  795.     <card id="21193" file="card_21193.xml" marked="false" name="XCMD Reference (2)" owner="4603" />
  796.     <card id="3747" file="card_3747.xml" marked="false" name="HyperTint XCMD" owner="3997" />
  797.     <card id="24169" file="card_24169.xml" marked="false" name="Color Specifier Examples" owner="20104" />
  798.     <card id="8801" file="card_8801.xml" marked="false" name="HTChangePict XCMD" owner="3997" />
  799.     <card id="12330" file="card_12330.xml" marked="false" name="HTAddPict XCMD" owner="3997" />
  800.     <card id="16192" file="card_16192.xml" marked="false" name="HTAddPict Option Examples" owner="20104" />
  801.     <card id="20861" file="card_20861.xml" marked="false" name="Color Region Examples" owner="20104" />
  802.     <card id="14255" file="card_14255.xml" marked="false" name="HTVisual XCMD" owner="3997" />
  803.     <card id="24485" file="card_24485.xml" marked="false" name="Visual Effect Examples" owner="20104" />
  804.     <card id="20591" file="card_20591.xml" marked="false" name="Button and Field Visual E" owner="20104" />
  805.     <card id="9755" file="card_9755.xml" marked="false" name="Additional Cards in Docum" owner="3997" />
  806.     <card id="8686" file="card_8686.xml" marked="false" name="Notes and Tips" owner="4603" />
  807.     <card id="5160" file="card_5160.xml" marked="false" name="Moving Things Around" owner="3997" />
  808.     <card id="15926" file="card_15926.xml" marked="false" name="Assigning Colors Interact" owner="3997" />
  809.     <card id="26670" file="card_26670.xml" marked="false" name="What Stays Black and Whit" owner="3997" />
  810.     <card id="25328" file="card_25328.xml" marked="false" name="Reducing Memory Requireme" owner="3997" />
  811.     <card id="17922" file="card_17922.xml" marked="false" name="Compatibility with Future" owner="3997" />
  812.     <card id="6295" file="card_6295.xml" marked="false" name="Additional Cards in Docum" owner="3997" />
  813.     <card id="18735" file="card_18735.xml" marked="false" name="About HyperTint" owner="18488" />
  814.     <card id="18200" file="card_18200.xml" marked="false" name="Symplex Systems" owner="18488" />
  815.     <card id="25926" file="card_25926.xml" marked="false" name="Distribution of this Demo" owner="18488" />
  816.     <card id="19338" file="card_19338.xml" marked="false" name="Ordering Info " owner="18488" />
  817.     <card id="23519" file="card_23519.xml" marked="false" name="HyperTint Order Form" owner="19747" />
  818.     <card id="29183" file="card_29183.xml" marked="false" name="HyperTint License Agreeme" owner="19747" />
  819. </stack>
  820.