From 7b271baae19db1528fbe6621bdf50af89a5a336b Mon Sep 17 00:00:00 2001
From: Hans Hagen <pragma@wxs.nl>
Date: Fri, 22 Feb 2019 20:29:46 +0100
Subject: 2019-02-22 19:43:00

---
 .../manuals/interaction/interaction-enabling.tex   | 117 +++++++++++++++++++++
 1 file changed, 117 insertions(+)
 create mode 100644 doc/context/sources/general/manuals/interaction/interaction-enabling.tex

(limited to 'doc/context/sources/general/manuals/interaction/interaction-enabling.tex')

diff --git a/doc/context/sources/general/manuals/interaction/interaction-enabling.tex b/doc/context/sources/general/manuals/interaction/interaction-enabling.tex
new file mode 100644
index 000000000..8e31ccbe6
--- /dev/null
+++ b/doc/context/sources/general/manuals/interaction/interaction-enabling.tex
@@ -0,0 +1,117 @@
+% language=uk
+
+\environment interaction-style
+
+\startcomponent interaction-enabling
+
+\startchapter[title=Enabling]
+
+Interaction is turned off by default. Of course cross referencing
+work without interaction but there are no hyperlinks. You turn on
+interaction with the \type {\setupinteraction} command:
+
+\showsetup {setupinteraction}
+
+The \type {state} key is the switch you need to use. In addition you might want
+to setup the style and color.
+
+\starttyping
+\setupinteraction
+  [state=start,
+   style=,
+   color=,
+   contrastcolor=]
+\stoptyping
+
+This is the least intrusive way to get interaction in your document. By default
+the style is bold and the \type {color} defaults to green. The \type
+{contrastcolor} is used when a hyperlink refers to the same page and defaults to
+red. A neutral setup makes sense because nowadays the reader kind of knows what
+can be clicked on.
+
+The \type {title}, \type {subtitle}, \type {author}, \type {date} and \type
+{keyword} parameters are passed to the document and will show up when you request
+document information.
+
+The \type {openaction} parameter can for instance be used to start at a specific
+page, while the \type {closeaction} can be used to trigger a \JAVASCRIPT\ cleanup
+script. The \type {openpageaction} and \type {closepageaction} can for instance
+initialize and reset states, something we do in some presentation styles.
+
+The \type {click} parameter controls how a viewer responds to pressing a mouse
+button on an annotation: highlight or not. The \type {display} parameter
+determines if a cross document link opens in the current window.
+
+The \type {menu} parameter is a quick way to disable menus, of which there can be
+many: at each side of the page, stacked or not, etc. The \type {symbolset}
+determines the look and feel of symbols used in for instance menus, buttons and
+status bars.
+
+The \type {page} parameters is a bit special, and it function is an inheritance
+from the early days. Some \DVI\ and \PDF\ viewers supported named destinations,
+others only page references. This parameter can be used to force one or the
+other. There was a time that there was a limit on the number of named references,
+so going page was the only option \footnote {We're talking of 1995 when we made
+documents of many thousands of pages with tens of thousands of hyperlinks, cross
+linked tables of contents, registers, active graphics, etc.\ Think of
+dictionaries used in very specific projects, or quality assurance manuals.}
+
+Personally I consider an electronic document an entity to be seen full screen on
+a dedicated device. However some users prefer the target of a link to fit the
+width of the screen and alike. The \type {focus} parameter can (within)
+reasonable bounds provide this. The \type {focusoffset} is then used to keep
+things a bit visual convenient.
+
+The \type {height} and \type{depth} parameters are sort of special and probably never
+used. When we go back in time, to when we started adding interactivity, there were
+a few issues that needed to be dealt with:
+
+\startitemize[packed]
+\startitem
+    We need to make sure that we have something to click on, so we need to add
+    some offset if needed.
+\stopitem
+\startitem
+    We need to handle nested hyperlinks, which is why \CONTEXT\ didn't use the
+    link features of for instance \PDFTEX\ but built its own.
+\stopitem
+\startitem
+    Hyperlinks should break properly across lines without side effects, again a
+    reason for bypassing some of the \TEX\ engine's behaviour.
+\stopitem
+\startitem
+    We have to make sure that there is at least a consistent height and depth
+    of hyperlinks. These tight links with viewer supplied bounding boxes to
+    click on just look real bad! So, we had to do better.
+\stopitem
+\stopitemize
+
+Normally the two mentioned parameters are not used. However, their value will
+kick in when we say \type {\setfalse \locationstrut}, in which case the given
+height and depth will be used. Some advice: don't mess with this. We only have
+this because it permits special effects.
+
+If you want to see what the target (destinations) and sources (references) of
+links are, you can say:
+
+\starttyping
+\enabletrackers[nodes.references,nodes.destinations]
+\stoptyping
+
+The \type {fieldlayer} parameter can be used to set a so called viewer layer, so
+that you can hide them (given that a viewer supports that). The \type {calculate}
+parameter can associate a calculator (initializer) with the fields.
+
+You can create an interaction environment with:
+
+\showsetup {defineinteraction}
+
+which then can be used with:
+
+\showsetup {startinteraction}
+
+\stopchapter
+
+\stopcomponent
+
+
-- 
cgit v1.2.3

