From 7b271baae19db1528fbe6621bdf50af89a5a336b Mon Sep 17 00:00:00 2001 From: Hans Hagen 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