Home » Archimedes archive » Acorn User » AU 1996-12 B.adf » Features » PCA/Docs/PCA7_HTM
PCA/Docs/PCA7_HTM
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
| Tape/disk: | Home » Archimedes archive » Acorn User » AU 1996-12 B.adf » Features |
| Filename: | PCA/Docs/PCA7_HTM |
| Read OK: | ✔ |
| File size: | D3E0 bytes |
| Load address: | 0000 |
| Exec address: | 0000 |
File contents
<HTML>
<HEAD>
<TITLE>PCA</TITLE>
</HEAD>
<BODY bgcolor="#bbbbbb" BACKGROUND="graphics/crumple.gif" text="#000000" link="#004499" vlink="#dd0000">
<CENTER><IMG SRC="GRAPHICS/PCA.GIF" ALT="PCA Logo" WIDTH=258 HEIGHT=144></CENTER><P>
<HR>To view the latest version of this protocol visit our web site at
<P>
<A HREF="http://www.stcoll.ac.uk/clares/support/pca.html">http://www.stcoll.ac.uk/clares/support/pca.html</A>
<BR><HR>
<H1>Plug In Compliant Application</H1>
<P>
<H4>
<A NAME="top">
Contents
</A></H4><P>
<UL>
<LI><A HREF="#intro">Introduction</A>
<LI><A HREF="#summary">Message Summary</A>
<LI><A HREF="#mesdefs">Message definitions</A>
<LI><A HREF="#remote">In-place editing</A>
<LI><A HREF="#interface">User Interface</A>
<LI><A HREF="#swis">SWIs</A>
<LI><A HREF="#licence">Licence Conditions</A>
<LI><A HREF="#contacts">Contacting Clares</A>
<LI><A HREF="#disclaim">Disclaimer</A>
<LI><A HREF="#examples">Example applications</A> (The examples archive contains a copy of this document for reading off line)
</UL>
<BR>
<P>
<HR>
<H2><A NAME="intro">Introduction</A></H2>
The Clares Plug In Compliant Application (PCA) specification provides an
easy to implement way of allowing multiple applications to share common
objects residing in shared memory areas. A program written to the PCA
specification will work with any other which supports the standard and uses
the same type of objects.<BR>
<P>
<B>What does PCA do for me as a user ?</B>
<P>
The PCA standard works at two levels. In each case a document in a common
memory area can be 'shared' between two or more applications. This is
<B>not</B> like the versions of OLE implemented on the Acorn platform. There
is a major difference in that OLE <B>copies</B> the document for the second
application to work on, thus your data takes up twice as much RAM. With PCA
all applications work on the <B>same</B> document thus incurring no RAM
overheads. <P> The controlling application is called the <A
HREF="#local">Local</A> application and the slave application is called the
<A HREF="#remote1">Remote</A> application.
<P>
When a document is edited in a Remote application the object in the Local
application is automatically updated.
<P>
What we have up to now is a more efficient way of doing OLE. However, PCA
does not stop there. Take an application like Composition which provides a
page make up environment for bit image and vector images - all of which can
be moved and edited - a bit like Draw for bit images but with a LOT of
extras. Composition does not provide 'painting' tools but ProArtisan 24
does. If both applications are PCA compliant then a Utilities menu in Compo
will show ProArt 24 as a 'tool'. Clicking on this menu entry opens a PA24
window showing the selected Compo object. PA24 can paint into this object or
indeed perform any of its functions on the object. All changes are reflected
immediately in Compo.
<P>
This means that an application can have other applications as 'tools'. Small
'applets' can be written to provide specific functions to a PCA application
<I>and they will be usable by any other PCA compliant application.</I>
<P>
Imagine a simple application that does nothing else except display a sprite
and conform to the PCA standard. Another application could provide paint
tools, yet another could provide filters, another might provide warping
tools - you get the picture I'm sure. From this range of applets you can
construct the <B>tool</B> that you require to get the job done.
<P>
What's more, more than one remote applet can work on the same object at the
same time and changes made in any one of these will be immediately reflected
in all of them.<P> This is an awful lot better than OLE but there's still
more.
<P>
Instead of each applet opening its own window we can use 'In-place' editing.
This means that only the <B>Local</B> application displays the document.
When you click on a 'tool' entry in the Utilities menu the new tool's
Toolbar opens over the Local application's window. All tools then work on
the image in the Local's window.
<P>
Now you are really able to construct an application from a range of applets.
All you will see is one window displaying the document.
<P>
Take this a little further and imagine a DTP package supporting the PCA
standard. It could have a frame containing a graphic image and you could
link this to PA24, Compo or any other PCA application, which could
manipulate the image. The changes would be reflected immediately in the DTP
window. However, if In-place editing is used, the Toolbars would appear in
the DTP window and allow you to edit the graphic directly in the DTP window.
<P>
<CENTER><IMG SRC="GRAPHICS/PCA1.GIF" ALT="A screenshot showing PCA in a DTP
app" WIDTH=254 HEIGHT=303></CENTER>
<CENTER><I>A PCA Toolbar acting on an image in a DTP frame</I></CENTER>
<P>
What we now have is a system whereby an application can have an infinite
number of additional tools and all applications conforming to PCA can be
used with and by all other PCA applications.
<P>
An example of this could be an image in a DTP frame linked to Compo which
used this image as a 'canvas' for a composite picture. From Compo one of
the images in the composite picture could also be linked to ProArt24 and
any changes would immediately be reflected in Compo and the DTP package.
<P>
If you jump to the bottom of this page you can download some <A HREF="#examples">example
applications</A> and documentation that may make things clearer. The main
document to read is 'ToTest'.
<P>
<H2>A more technical explanation</H2>
There are two 'sides' to PCA support. Applications may support either or
both as it suits them.
<P>
<B><A NAME=A NAME="local">Local</A></B>
<P>
A Local application creates and maintains an area of shared memory (on the
RiscPC this is most likely to be a dynamic area, older hardware must use RMA
or something like the Dynamite memory manager). Objects in this area may be
edited by any PCA 'remote' application which is running, provided that it
knows about the type of object concerned. It is the local application's
responsibility to create and maintain pointers to objects and to take the
correct action when an object moves or changes size.
<P>
<B><A NAME=A NAME="remote1">Remote</A></B>
<P>
A Remote application modifies an object in some way when requested to do so
by a Local application. Remote applications can be small 'applets' or
major programs in their own right. The PCA specification sets no limits
on the changes which may be made to an object.
<P>
In practice, the two sides blur considerably. For example, it is possible
for more than one 'Remote' task to work on the same object at the same
time in which case the 'Remote' tasks must respond to some messages in a similar
way to the 'Local' task.
<P>
In addition, an optional extension to the standard provides support for
'In-place' editing of objects directly in another application's window.
<P>
<B>
Limitations, assumptions and philosophy
</B>
<P>
The PCA standard requires the following:
<P>
<UL>
<LI> Objects are stored in an area of memory available to all tasks. (eg.
Dynamic areas). Beyond that the PCA is designed to be as transparent as
possible to the memory management system used by a program. See below for
some notes on memory management related issues.
<LI> Objects are either entirely paged into RAM during any PCA exchange, or a
virtual memory system which is transparent to the program accessing memory
is used (Eg. Clares Virtualise).<P>
<LI> Objects are stored in a cross-program standard format for which there is a
method of rendering readily available to other programmers.
Examples are RISC OS Sprites, Drawfiles, ArtWorks files, Plain text
etc.
</UL><P>If you are writing or have written a program which produces
data objects that may be desirable for other programs to render, you should
consider providing a rendering module (or some code) which
other applications can use to display your object types. You should also
consider placing the details (if not the rendering code itself) in the
public domain. <P>
No well written RISC OS application is an island. By supporting the PCA
standard programs can take advantage of each other's good features and
minimise their weaknesses while providing the user with a far richer and
more productive working environment.
<P>
<B>
Memory management issues
</B>
<P>
For backwards compatability programs that wish to use PCA on pre RiscPC
hardware can fall back to using the RMA or something like the Dynamite
memory manager. We do <b>not</b> however believe that Dynamite is the best
solution for a PCA task on the RiscPC. This is because Dynamite uses one
dynamic area to store all of its data rather than one dynamic area for each
task. This practice means that, in the event of a PCA remote task going
wrong and writing beyond the end of the object being edited, *all* tasks
using Dynamite could crash rather than just the one local task in question.
Also, Dynamite will not work with <i>Virtualise</i> which provides a PCA
compatible virtual memory system.<P>
<P>
<A HREF="#top">Return to Contents</A>
<HR>
<H1><A NAME="mesdefs">Plug In Compliant Application Message specification</A></H1> <P>
<AU>
</P> Author : Rob Davison (rdavison@xtra.co.nz)<BR>
Date : 01/08/96<BR>
Status : Release 1<BR>
</AU>
<P>
Message Index<BR>
<UL>
<TT>
<LI><A HREF="#whos">Message_WhosAbout0x83484</A>
<LI><A HREF="#im">Message_ImHere0x83485</A>
<LI><A HREF="#do">Message_DoYourStuff0x83486</A>
<LI><A HREF="#desel">Message_Deselect0x83487</A>
<LI><A HREF="#done">Message_DoneMyStuff0x83488</A>
<LI><A HREF="#changed">Message_Changed0x8348A</A>
<LI><A HREF="#resize">Message_ResizeRequest0x8348B</A>
<LI><A HREF="#update">Message_UpdateArea0x8348C</A>
<LI><A HREF="#resizeack">Message_ResizeAck0x8348D</A>
<LI><A HREF="#misc">Message_MiscOp0x8348E</A>
<LI><A HREF="#info">Message_Info0x8348F</A>
<LI><A HREF="#pos">Message_ObjectPosition0x83490</A>
<LI><A HREF="#hook">Message_HookMe0x83491</A>
<LI><A HREF="#unhook">Message_UnhookMe0x83492</A>
</UL>
</TT>
<P>
<B>
Notes:
</B>
<P>
Filetype is divided into two fields with this format:
<PRE>
b 0-12 RISC OS filetype
b13-31 reserved - zero.
</PRE>
<P>
On reading, please mask bits 13-31 out before checking the filetype.
<P>
Strings are null terminated but supporting applications should accept Ctrl.
terminated (ASCII 0-31).<P>
'Address of base' is the beginning of the data structure which contains the object.<P>
'Offset to object' is the offset from the Address of base to the object-of-interest
<P>
For example, the 'Offset to object' of a sprite is the offset to the sprite
itself (base!8 for the first sprite in a sprite area). The 'Address of base'
is the address of the sprite area in which the sprite resides. For objects
where the offset has no meaning the offset to the object must be zero.
<P>
The PCA references objects using 'tags'. Each tag is usually 16 bytes in length
and its format is defined thus:<P>
<PRE>
tag+0 = Address of base. (anchor)
tag+4 = Offset to object from base.
tag+8 = Length of object. (if applicable - see note below)
tag+12 = Extension size and flags
b0-15 These bits are to provide for expansion of the size of a
tag by up to 65532 bytes. Typically, this is for app. or object
specific data. This document specifies two extensions to show
you how it's done. Details below.
b16-31 (reserved, set to zero)
</PRE>
The first two values in a tag are most important as they are pointers to the
address of the object and the base of the data structure containing it.
Remote tasks must <B>*always*</B> reference an object by reading these values.
Generally speaking, Remote tasks can usually trust the address and offset
until the next Wimp_Poll but if in doubt, re-read it from the tag. The Local
task has the responsibility of creating the object's tag when the object
joins the PCA system, updating the relevant fields in the tag if the object
is moved or resized and discarding the tag when it is sure it is no longer
needed. Tags must themselves be in a common memory area and they <em>must
not move</em> during the lifetime of the object in the PCA system. Clares
provide a small module called 'PCASupport' which may be freely distributed
by registered PCA developers to facilitate the creation of PCA tags for
applications which do not want to create tags themselves.
<p>
Notes:<p>
Many objects store their length within the object data structure itself and
in that case you <b>must</b> use the value stored within the object's data
instead of relying on the length field in the tag. It is intended for object
types which include no record of their size (text for example).
<P>
Tag extensions must adhere to the following standard:
<pre>
tag+12.b0-15 = (bytes required+4). Multiples of 4 bytes only.
tag+16 extension id. Types 0-&fff are reserved for Clares PCA.
Other values are allocated in line with SWI/Message
chunk numbers for application developers.
(extended data dependant on tag id)
</pre>
To give an example of a tag extension we define two tag extensions which may
be used with PCA text objects.
<p>
<pre>
Simple text object
------------------
tag+12 8
tag+16 &FFF
tag+20 length of buffer allocated to object
(ie the remote task can extend the size of the text (as given at tag+8)
until its size reaches tag+20 bytes before calling Message_Resize.
Edited text object
------------------
tag+12 16
tag+16 &FFE
tag+20 length of buffer for first chunk
tag+24 offset to rest of text from object base
tag+28 length of rest of text
</pre>
Edited text objects are split into two separate parts, the pointer to base
at the beginning of the tag, points to the start of the first chunk of text,
the offset to object points to the end of this chunk of text (= the caret
position) while the values at tag+24 and tag+28 point to the rest of the
text. Suitable manipulation of these values should allow a text editor to
work with PCA. <em>Note:</em> this has not been tested with any code -
any comments please contact the author of PCA.
<p>
The tag extension system is potentially very powerful but please do not
abuse it. If everyone who ever writes a PCA program creates a tag extension
for their own object format then chaos will reign and the PCA system will
become useless. (Anyone questioning this is invited to use the specification
document for the TIFF file format as bedside reading - a perfect example of
a tagged file format gone wrong). In general, the basic tag structure or the
'pca text' extension defined above will do for most data types. If you
really feel you have to create your own extension then please double check
with Clares that a suitable extension does not already exist. The extension
should then be defined in the format given above and the information sent to
Clares for distribution to the PCA community.
<p>
On receipt of a PCA message you should decide if the message refers to one
of your objects (either a local one you created yourself or a remote object
which you are editing). You do this by comparing the object's tag address,
passed in the message, with a local array of tags that you know about. Get into
the habit of doing it this way (rather than comparing the tag's address
fields with your own data structures) as one message, <A
HREF="#desel">Message_Deselect</A> may pass a tag address which no longer
actually contains valid data (the object itself having been deleted). See
its entry for details.
<p>
In the following documentation '<I>Local</I>' is the 'owning task' being the
task to which the object is 'local'. This task created the object and its
PCA tag. It knows how to resize and how to delete the object.
<P>
'<I>Remote</I>' is the 'utility' task - the one which modifies an object for
the 'local' or owning task.
<P>
Please note which messages are to be broadcast and which are sent
task-to-task. The correct functioning of the system depends on the correct
usage.
<P>
<h3><A NAME="summary">PCA Message Summary</A></h3><BR>
This is intended to give the programmer an overview of what goes on in a typical
PCA session. It ignores many of the finer points of the protocol.
<p>
1. Local task broadcasts Message_WhosAbout for a selected object.<BR>
2. Remote tasks examine message data and respond with Message_ImHere.<BR>
3. Local task, in response to users choice of Remote sends Message_DoYourStuff.<BR>
4. (if doing inplace editing) Remote task, on receipt of DoYourStuff sends Message_HookMe.<BR>
5. (repeated) Remote and Local tasks broadcast Message_UpdateArea if the user changes the object.<BR>
6. Remote task sends Message_Unhook when user closes window/toolbar onto object.<BR>
7. Local task broadcasts Message_Deselect if user deletes object/quits program.<BR>
The variable names used in the example BASIC program are included after the
message number.
<P>
<STRONG><A NAME="whos">
Message_WhosAbout
</A> (&83484) </STRONG> (Msg_Whos%)<P>
Broadcast by Local task when opening Utility sub-menu/popup (see the section
on user interface).
<P>
The block pointed to by R1 contains:<P>
<PRE>
R1+20 filetype of object
R1+24 address of object tag
R1+28 reserved - 0
</PRE>
<P>
Receiving remote tasks should respond with <A HREF="#im">Message_ImHere</A>
as defined below if the filetype is 'interesting'. You can examine the data
in the tag at R1+24 if the filetype alone does not suffice (for example, a
program which can only edit 32bpp sprites should examine the sprite type
word at !(R1+24)+(R1+24)!4) +40 (ie tag address field+offset to object
field)+40 before sending <A HREF="#im">Message_ImHere</A>).
<P>
<STRONG><A NAME="im">
Message_ImHere
</A> (&83485) (Msg_Im%) </STRONG><P>
Sent by Remote task to Local task. Local records the data passed for later
use in creating a dialogue box or menu.
<P>
The block pointed to by R1 contains:<P>
<PRE>
R1+20
bits 0-7 flags:
b0 Spritename supplied
b1 Info available
b2 Reserved - 0
b3 Tool wants to 'own' the object
b4 Tool wants In place editing
b5-7 Reserved - 0
b8-31 Reserved - 0
R1+24 Tool id.
R1+28 String. Menu entry/Function name (eg. Contrast...).
Length limited to 31chars+terminator.
R1+60 String. Name of sprite in wimp sprite pool
(if b0 of R1+20 is set)
<P>
</PRE>
</P>
The tool id is intended for remote tasks which provide more than one
utility. It is returned to the task with <A
HREF="#do">Message_DoYourStuff</A>.
<P>
Flags:<P>
<PRE>
b0 indicates to the recipient that there is a sprite name at R1+60
- the sprite is stored in the Wimp sprite pool and should be
used when rendering the popup dialogue box.<P>
b1 indicates that the tool can provide a response
to <A HREF="#info">Message_Info</A>.
b2 Reserved - 0
b3 indicates that the tool wants to 'own' the object.
Local task should send Msg_Deselect for the object
before sending <A HREF="#do">Message_DoYourStuff</A> if this bit is
set. Do not set this bit unless you have to as it
will prevent other remote tasks from sharing the
object at the same time. It should only be set when
the remote task wants to 'take over' the object completely.
- such as Composition taking over a 32bpp sprite
for use as a canvas.
b4 This bit is designed to allow for real 'in place editing'
operations. Because of the amount of code necessary
at the local end to handle this it has been defined
as an optional part of the standard.
</PRE>
<P>
Local applications which do not support in place editing should clear bit 4
of the flags word and send that with DoYourStuff. On receipt, the remote
application should check if bit 4 is still set and if not open a remote
window onto the object.
<P>
Notes: In early versions of this standard bits 28-31 of the flags word had
another use. This data has been moved to <A HREF="#hook">Message_HookMe.</A>
Please see below.
<P>
<STRONG>
<A NAME="do">
Message_DoYourStuff
</A> (&83486) (Msg_Do%)
</STRONG>
<P>
The block pointed to by R1 contains:<P>
<PRE>
R1+20 Filetype of object
R1+24 Address of object tag
R1+28 reserved - 0
R1+32 Tool id
R1+36 Tool flags word
R1+40 String. Name of object or null (&0)
</PRE>
<P>
Sent by Local task to remote task depending on entry selected in Utilities
sub-menu/dialogue. Remote task should record the tag address and open its
window (or just its toolbar if bit 4 of the flags word is set).
<P>
<B>
Notes:
</B><P>
If the Remote task set bit 4 of the flags word in <A
HREF="#im">Message_ImHere</A> when replying to <A
HREF="#whos">Message_WhosAbout</A> it should check that this bit is still
set now. If it has been cleared then the Local task cannot handle remote
messaging and the Remote task must open a separate window onto the object.
<P>
If bit 4 is still set it means that the local task is willing to participate
in an in-place editing session. In this case the Remote task should simply
open its toolbar and send <A HREF="#hook">Message_HookMe</A> to the Local
task to ask it to intercept mouse button and other Wimp events. Receipt of
this message will also cause the Local task to send <A
HREF="#pos">Message_ObjectPosition</A> to move the remote tasks toolbar to
the correct position.
<P>
Nothing about the standard prevents the object changing type (eg from sprite
to Drawfile) between <A HREF="#whos">Message_WhosAbout</A> and this message.
On receipt of this message the Remote task must therefore check the filetype
field and as much of the object's data structure as necessary to ensure that
it can edit the object and delink/ignore the message quietly if the type is
not to its liking. This allows the Local task to 'move' a remote task to
different objects cleanly.
<P>
Before sending Message_DoYourStuff with bit 4 set the local task should
broadcast <A HREF="#unhook">Message_UnhookMe</A> to prevent more than one
remote task attempting to do in-place editing at once.
<p>
Before sending Message_DoYourStuff with bit 3 set the local task should
broadcast <A HREF="#desel">Message_Deselect</A> as the remote task in
question wants to 'own' the object.
<P>
<STRONG>
<A NAME="desel">
Message_Deselect
</A> (&83487) (Msg_Desel%)
</STRONG>
<P>
Broadcast by Local task when the object has been deleted.
<P>
The block pointed to by R1 contains:<P>
<PRE>
R1+20 Filetype of object.
R1+24 Address of object tag
</PRE>
<P>
All Tasks interested in the object should close their window/abandon their
operations as the object in question has been removed from the PCA system
(usually because it has been deleted). Local tasks <b>must</b> generate this
message when deleting an object, quitting etc. or remote tasks using the
object will crash. If the Local task is using PCASupport for tag generation
it should call SWI PCA_DeleteAndKill which will delete the tag and send this
message in one operation but <b>only</b> when the object really is being
deleted.<p> Note: This implies that the remote task, on receipt of this
message <b>cannot</b> rely on more than the tag address as a key to the
object. It _cannot_ access the object data via the tag passed as SWI
PCA_DeleteTag has already been called (the address fields within the tag
will contain -1 and the object data itself may well have been discarded).
This is unavoidable without a two message (Message/Ack) deselection system
which would be more difficuilt for tasks to handle. Especially (as is often
the case) if the local task is about to quit.
<P>
<STRONG>
<A NAME="done">
Message_DoneMyStuff
</A> (&83488) (Msg_Done%)
</STRONG>
<P>
Broadcast by a task when it has modified the object. All tasks accessing the
object other than the originator of the message should recognise this
message and redraw the object.
<P>
The block pointed to by R1 contains:<P>
<PRE>
R1+20 0
R1+24 Address of object tag
</PRE><P>
Use this message for 'whole object changed' operations which do not involve
changes to the object's basic structure (Eg. image filter of sprite).
<P>
Note: Recepit of this message by the Local task should
not be taken as an indication that the remote task is no longer interested
in it. That is what <A HREF="#unhook">Message_UnhookMe</A> is for.
<p>
<STRONG>
<A NAME="changed">
Message_Changed
</A> (&8348A) (Msg_Changed%)
</STRONG>
<P>
Broadcast by Local or Remote task when the object has changed (either in
size or its details). Task should act as if it had got a new DoYourStuff
message.
<P>
Broadcast by Remote task after it has changed the object's size. Local and
other interested Remote tasks will re-read the object's details and redraw
the object.<P>
The block pointed to by R1 contains:<P>
<PRE>
R1+20 Filetype of object
R1+24 Address of object tag
R1+28 reserved - 0
R1+32 String. New name of object or zero for no change.
</PRE><P>
Note: Nothing about the standard prevents the object changing type (eg from
sprite to Drawfile). On receipt of this message please check the filetype
field as well as all necessary aspects of the object's data structure. If
the object is not to a Remote task's liking it should send Message_UnHook and
delink quietly.
<P>
<STRONG>
<A NAME="resize">
Message_ResizeRequest
</A> (&8348B) (Msg_Resize%)
</STRONG><P>
Sent by Remote task to Local (task handle in R1+4 of DoYourStuff message).
If the Local task fails to deal successfully it will claim the message.
<P>
The block pointed to by R1 contains:<P>
<PRE>
R1+20 0
R1+24 Address of object tag
R1+28 reserved - 0
R1+32 New size. Total size of object structure
(including header, offset to base etc.) if flags b1
clear otherwise new size of object itself.
R1+36 Flags
b0 set 'Resize associated objects as well'
b1 set 'New Size is for object alone - does not include header.'
</PRE>
<P>
If the Local task succeeds then it will send <A
HREF="#resizeack">Message_ResizeAck</A> (basically, copy R1+8 to R1+12, put
Message ResizeAck into R1+16, update R1+32 and return to sender). On receipt
of ResizeAck message the sender of ResizeRequest should modify the object
appropriately (for example, adding rows/columns to a sprite).
<P>
<B>
Notes:
</B><P>
You must be prepared for the resize request to fail in which case it is the
responsibility of the Local task to report to the user and the Remote task
to continue safely.
<P>
If the ResizeAck message returns to a Remote task you must check that the
field in R1+12 is equal to the MyRef generated by the Resize message you
sent to ensure that the ResizeAck is for the object you have requested be
resized. If it is, ensure that the object is in a renderable state before
the next Wimp_Poll by updating the relevant parts of the object's internal
data structure.
<P>
The local task's only modification to the data after a Resize is to write new
size fields where appropriate and to update the object's tag address fields
if the object moves. For sprites the new total area size should be written
into 'Base of data'+0 - it does not know what the Remote task is going to do
with the sprite and therefore cannot make any other modifications to the
data.
<P>
For data types which do not store size within their data structure then the
length field of the tag should also be modified (along with the address
fields if the object has to be moved).
<P>
After modifying the object the Remote task must broadcast <A
HREF="#changed">Message_Changed</A>.
<P>
Composition will read bit zero of the flags word. If this bit is set, it will
resize masks associated with the sprite in question as well. The amount by
which masks will be resized is calculated from the resize-request for
the sprite itself. Other applications can ignore or act on this bit as they
wish. The task which requested the resize must be able to handle either
action.
<P>
Bit one of the flags word is intended to facilitate the resizing of paths
in Drawfiles and similar data structures under the PCA though no code has been
written to do this yet.
<p>
<H3>
Resize Summary
</H3><P>
This is what you do to change the size of an object you are editing:<P>
<em>From a Remote task's point of view:</em><P>
Send <A HREF="#resize">Message_ResizeRequest</A> and keep myref generated
>from the message. On receipt of ResizeAck check myref, modify object data
and broadcast <A HREF="#changed">Message_Changed</A>.
<P>
<em>From the Local task's point of view:</em><P>
On receipt of <A HREF="#resize">Message_ResizeRequest</A> resize object if
possible, update the objects tag anchors and send ResizeAck otherwise claim
the message and report an error to user.
<P>
<em>Both Remote and Local tasks:</em><P>
On receipt of <A HREF="#changed">Message_Changed</A> re-read the object
header as if it was newly created and redraw the entire object. (You may
need to regenerate an area of your window the size of the old object -
remember the new object may occupy less screen area).
<P>
<em>Resize speed issues</em>
<P>
When the object being resized is very large, VM (Virtual Memory)is being
used, or the resize requests are frequent, there may be a performance issue.
In such situations the Local task should consider moving the object to the
top of its data storage area to prevent repeated memory moving operations.
In applications where many small resize requests are likely then consider
employing a tag extension system similar to the one defined above for text
files to reduce the frequency of the resize requests.
<P>
<STRONG>
<A NAME="update">
Message_UpdateArea
</A> (&8348C) (Msg_Uparea%)
</STRONG><P>
Broadcast by task when it has modified part of an object. Apps interested in
the object should redraw the appropriate area of the object as quickly as
possible if they have a window onto the object open.
<P>
The block pointed to by R1 contains:<P>
<PRE>
R1+20 Format of subsequent data (0)
R1+24 Address of object tag
R1+28 Xlow (OS units at 1:1 scale)
R1+32 Ylow (OS units at 1:1 scale)
R1+36 Xhi (OS units at 1:1 scale)
R1+40 Yhi (OS units at 1:1 scale)
</PRE><P>
where coordinates are relative to the bottom left of the object.
<P>
Currently this is the only format supported by code (working with bitmap
sprites).
<P>
Other proposed formats are as follows:
<P>
<PRE>
R1+20 Format of subsequent data (1)
R1+24 Address of object tag
R1+28 Xlow (Draw units = OS units <<8)
R1+32 Ylow (Draw units = OS units <<8)
R1+36 Xhi (Draw units = OS units <<8)
R1+40 Yhi (Draw units = OS units <<8)
</PRE>
<P>
where coordinates are relative to the bottom left of the object.
<P>
<PRE>
R1+20 Format of subsequent data (2)
R1+24 Address of object tag
R1+28 Xlow (Draw units = OS units <<8)
R1+32 Ylow (Draw units = OS units <<8)
R1+36 Xhi (Draw units = OS units <<8)
R1+40 Yhi (Draw units = OS units <<8)
</PRE>
<P>
where coordinates are relative to the top left of the object.
<P>
If you have anyother suggestions please contact Clares or the author.
<p>
<STRONG>
<A NAME="resizeack">
Message_ResizeAck
</A> (&8348D) (Msg_ResizeAck%)
</STRONG>
<P>
Sent by Local task when a resize request has succeeded. On receipt by a
Remote task, check that R1+12 is the myref generated from <A
HREF="#resize">Message_ResizeRequest</A> before modifying the object data
structure and broadcasting <A HREF="#changed">Message_Changed</A>.
<P>
The block pointed to by R1 contains:
<P>
<PRE>
R1+20 reserved - 0
R1+24 Address of object tag
R1+28 reserved - 0
R1+32 New size allocated to object
R1+36 Flags
</PRE><P>
<STRONG>
<A NAME="misc">
Message_MiscOp
</A>(&8348E) (Msg_Misc%)
</STRONG>
<P>
This message is designed to provide a private interface option for PCA
programs without them having to request other message allocations from
Acorn.
<P>
The block pointed to by R1 contains:<P>
<PRE>
R1+20 Sub-reason code
</PRE>
<P>
- other data dependant on sub-reason code.<P>
The sub-reason codes available to application developers are allocated in
line with SWI and Message blocks - if you have one of these then those
values may be used by your programs. Where appropriate, please make details
of your messages available to the PCA community by sending them to Clares
for distribution.
<P>
Currently, only two sub-reasons are defined for use with Composition. The
current format of these is given below but is subject to change. Please
contact Clares before releasing programs which rely on it:
<P>
<STRONG>
SubReason_GiveAssociatedData (&83480)
</STRONG>
<P>
Broadcast by remote plug-in when it would like to know more about the object.
<P>
The block pointed to by R1 contains:<P>
<PRE>
R1+24 Address of object tag
</PRE>
<STRONG>
SubReason_AssociatedDataCompo (&83481)
</STRONG><P>
Sent by Compo to Remote which broadcast GiveAssociatedData containing a tag pointing to a Compo object.
<P>
The block pointed to by R1 contains:<P>
<PRE>
R1+24 Address of object tag
R1+28 reserved - 0
R1+32 two eight bit and one sixteen bit fields
bits 0-7 Masks in use by object
bits 8-15 Format of subsequent data (zero)
bits 16-31 Reserved
R1+36 Reserved (0)
R1+40 Blend mask address or zero = no Blend mask
R1+44 Tint mask address or zero = no Tint mask
R1+48 Curve mask address or zero = no Curve mask
R1+52 Displace mask address or zero = no Displace mask
R1+56 Shadow mask address or zero = no Shadow mask
R1+60 Reserved
R1+64 Reserved
R1+68 Opacity of object (65536=solid 0=transparent)
R1+72 Math type in use for object
</PRE><P>
Notes: The 'mask address' passed is the address of the base of a sprite area
containing one eight bit greyscale sprite (at address+address!8). The size
of a mask should not be assumed to be the same as that of the object - read
it from the mask sprite data or use OS_SpriteOp to extract it.
<P>
The data returned by this message is fragile - re-read whenever you want to
make use of it.
<P>
<STRONG>
<A NAME="info">
Message_Info
</A> (&8348F) (Msg_Info%)
</STRONG><P>
Sent by Local to Remote application when the info button in the pop-up is clicked.
<P>
The block pointed to by R1 contains:<P>
<PRE>
R1+20 0
</PRE>
<P>
Remote application should write a suitable info string into +20, change the
message size and return the message to the sender.
<P>
Example info strings:<BR>
"Image Filter. No image linked at the moment."<BR>
"Image Filter. Image 'Face' linked at the moment."<BR>
<P>
<STRONG>
<A NAME="pos">
Message_ObjectPosition
</A> (&83490) (Msg_ObjPos%)
</STRONG>
<P>
This message is generated by the Local application after receipt of <A
HREF="#hook">Message_HookMe</A>, object repositioning operations and window
open operations, if the Local application supports 'in-place editing'.<P>
The block pointed to by R1 contains:
<P>
<PRE>
R1+20 0
R1+24 Address of object tag
R1+28 Y scale of object in Local window (65536=1:1 or 100%)
R1+32 Xlow of object on screen in 'Local' window. (limited to visible area)
R1+36 Ylow of object on screen in 'Local' window. (limited to visible area)
R1+40 Handle of 'Local' window.
R1+44 Handle of Local windows toolbar window (or -1 if no toolbar)
R1+48 X scale factor of object in Local window (16.16 format eg 65536=1:1 or 100%)
R1+52 Xlow of object on screen in Local window. (unlimited)
R1+56 Ylow of object on screen in Local window. (unlimited)
</PRE><P>
On receipt, the Remote task should open its toolbar/infobar relative to the
positions in R1+32 and R1+36 behind the window handle at R1+44. The
coordinates passed in R1+32 and R1+36 should be limited to the windows
visible area (by the Local task) while those at +52 and +56 should not.
<P>
The information at R1+28 and R1+48 onwards is for use by the Remote task
during mouse click operations on the object. To convert mouse coordinates
read directly it should subtract the values at R1+52,R1+56 from the raw
mousex and mousey coordinates, and then scale them by the factors in
R1+28 and R1+48.
<P>
The X and Y scale factors are in 16.16 format. To convert a scale factor
into this format, multiply by 1 << 16. For example, 100% = a scale factor of
one and is therefore (1 << 16) * 1 which is 65536 or &10000. 150% = a scale
factor of 1.5 and is therefore (1 << 16) * 1.5 which is 98304 or &18000.
<p>
See the remote painting code (DEFPROCremote_win) in !Spaint for a practical
example of what you should do.
<P>
<STRONG>
<A NAME="hook">
Message_HookMe
</A> (&83491) (Msg_Hook%)
</STRONG><P>
This message is sent by the Remote task to the Local task. It indicates to
the Local task that it should begin intercepting mouse button and other Wimp
events to the object and send them to the Remote task. On receipt, the Local
task should create a trap icon over the object (using the button type in
r1+28) and send Message_ObjectPosition.
<P>
The block pointed to by R1 contains:<P>
<PRE>
R1+20 0
R1+24 Address of object tag
R1+28 bits 0-27 Flags - reserved and set to zero.
bits 28-31 Window 'work area' button type to use for trap icon.
R1+32 Window handle
R1+36 String. indirection string for icon or Null (&0)
</PRE>
<P>
To make life easier for the remote task the Local task should also take note
of the window handle at R1+32 and insert that value into the window handle
field when passing on Wimp messages. This allows the remote task to use much
of the same code to deal with remotely generated messages and messages to
their own window.
<P>
The optional indirection string at R1+36 is intended to allow for adding a
mouse pointer change when entering in-place edited objects. Take care with
this string as certain settings can disrupt the Local task's message
trapping. This extension is optional. Some local tasks may not support it so
do not rely on it.
<p>
If the remote task is already editing an object in-place (and it is going to
replace it) then it should send Message_Unhook to the local task previously
being worked with so that it deletes its trap icon.
<P>
Please see the section below on In-place editing for details of the best
method of trapping messages and the alterations which should be made before
forwarding them.
<P>
<STRONG>
<A NAME="unhook">
Message_UnhookMe
</A> (&83492) (Msg_Unhook%)
</STRONG><P>
This message is sent by a remote task to the Local task (or local to remote)
when it wants to 'unhook' from the object.
<P>
The block pointed to by R1 contains:<P>
<PRE>
R1+20 0
R1+24 Address of object tag
R1+28 reserved - 0
R1+32 Window handle
R1+36 Unhook 'type'
</PRE><P>
This message should be used by a Remote task to indicate its lack of
interest in an object. After sending this message the Remote task should
forget any references to the object and close its toolbar and/or window.
<P>
Little action need be taken at the Local end on receipt of this message
unless 'Inplace editing' is going on between the tasks in which case it
should remove the traps on Button click messages etc for the object. If the
Local task wishes to be efficient in its generation of PCA messages then it
should keep a counter for each object in the PCA system, increase the
counter on each call to Message_DoYourStuff and decrease it on each receipt
of Message_UnHook. Then PCA messages need only be generated in response to
changes made by the Local task if the objects counter is greater than zero.
When the counter reaches zero the Local task should broadcast Message_Deselect
as a saftey measure to ensure that all Remote tasks stop using the object.
<P>
The 'unhook type' at R1+36 currently has two defined values:
<P>
<PRE>
R1+36 0 'Unhook' is temporary
(used by Compo to support the 'Track selected'
preference option)
R1+36 1 'Unhook' is permanent - forget about this PCA.
</PRE><P>
All values other than zero should currently be treated as 'permanent'.<P>
<P>
<A HREF="#top">Return to Contents</A>
<HR>
<H1><A NAME="remote">PCA In-place editing specification</A></H1><P>
<AU>
Author : Rob Davison (rdavison@xtra.co.nz)<BR>
Date : 15/08/96<BR>
Status : Release 1<BR>
</AU>
<H2>
Introduction
</H2>
<P>
The aim of this section is to define the work necessary for applications to
support 'in-place' editing (applications working on an object within another
application's window) within the framework supplied by the PCA itself.
<P>
This feature is an optional part of the PCA specification. All remote tasks
must be able to operate according to the normal PCA specification (open
their own window onto the object) if the Local task in question does not
support in-place editing. Even if the Local task does support this, it is
wise for the remote task to give the user the option of switching to
external editing as in-place editing has its disadvantages as well as
advantages. (The principal disadvantage being that
only one in-place editing session per object can be undertaken at a time,
for obvious reasons).
<P>
<B>
Local task
</B><P>
The greatest amount of work is down to the 'Local' or object-owning application.
<P>
After invoking a remote task with the PCA message DoYourStuff when bit 4 of
the flags word is set, it must expect receipt of <A
HREF="#hook">Message_HookMe</A> from the remote task. When it gets this
message it should create a transparent icon in its window which completely
covers the object and send <A HREF="#pos">Message_ObjectPosition</A>.
<P>
The button type of this icon should be taken from bits 28-31 of the flags
word as sent by <A HREF="#hook">Message_HookMe</A> and the indirection
string (if supported) from R1+36
<P>
Then, on receipt of the following standard Wimp messages the Local task must
check to see if the message refers to an icon covering the object, and if it
is, modify the message block and pass the message to the remote task using
Wimp_SendMessage.
<P>
Doing this effectively cuts a 'hole' in the window where the object is.
Messages into that region get shunted to the Remote task and are ignored by
the Local task.
<P>
<H3>
Details of the modifications:
</H3><P>
<B>
6. Button_Click
</B><P>
xposition and yposition should be made relative to the object's bottom left.
Window handle must be set to the one supplied in <A
HREF="#hook">Message_HookMe</A>. Icon handle must be set to the special
value -&414350 (-"PCA")
<P>
??? Other messages ???<BR>
??? Which to support and how to modify them ???<BR>
??? Advise us if you have any suggestions ???
<P>
On receipt of Message_OpenWindow for the window in which the object resides
the Local task must send <A HREF="#pos">Message_ObjectPosition</A> to the
remote task so that it can open its toolbar at an appropriate place.
<P>
Also, any actions which cause the position or size of the remotely linked
object to change must resize and reposition the icon created above and send
<A HREF="#pos">Message_ObjectPosition</A> again.
<P>
On receipt of <A HREF="#unhook">Message_UnhookMe</A> it must delete the icon
covering the object and carry out any other work necessary to restore normal
access to the object. The same action should obviously also be undertaken if
the object is deleted.
<P>
<B>Remote Task</B>
<P>
On receipt of <A HREF="#pos">Message_ObjectPosition</A> the remote task must
open its toolbar at an appropriate position calculated from the data
contained in the message.
<P>
This toolbar must contain at least one icon which, when clicked on, sends <A
HREF="#unhook">Message_UnhookMe</A> to the local task, removes any
references it has to the object and closes the toolbar. Model the appearance
of this icon on the window close icon and position the icon at the far left
horizontal toolbars or at the top left of vertical toolbars.
<P>
On receipt of<A HREF="#do"> Message_Do</A>/<A
HREF="#changed">Message_Changed</A> the remote task must check to see if
In-place editing is on (b4 of flags in Message_Do) and, if so, send <A
HREF="#hook">Message_HookMe</A> rather than opening its own window onto the
object.
<P>
On receipt of ButtonClick messages (apparently) to its main window the
remote task should check the icon handle and if it is equal to -&414350
treat the coordinates passed in the ButtonClick block as 'corrected' for the
position of its window, scrollbars etc as the coordinates are already
relative to the objects bottom left. Modify the object data as appropriate
and generate <A HREF="#update">Message_UpdateArea</A> as with standard PCA
practice.
<P>
You should be able to use the same code for remote and local actions just do
not convert pointer coordinates to be relative to your main window and do
not redraw your main window (it should be closed anyway).
<P>
Note: For 'painting' or 'dragging' type actions it is sometimes wise to set
the remote button type (in Message_HookMe) to Click and to do a tight
repeating 'loop' around your redraw/paint code, reading the mouse pointer
information directly until the button click stops. In this situation the
Remote task should make use of the information in the last
Message_ObjectPosition it receieved to work out the visible size and
position of the object in the Local task's window (see the !Spaint example).
<P>
<A HREF="#top">Return to Contents</A>
<HR>
<H1>
<A NAME="interface">
PCA User Interface specifications
</A>
</H1><AU>
Author : Rob Davison (rdavison@xtra.co.nz)<BR>
Date : 15/08/96<BR>
Status : Release 1<BR>
</AU>
<P>
This documents the suggested user-interface and general message handling
requirements for applications on both sides of the PCA protocol. You should
note that it is possible for applications to implement either or both sides
of the protocol.
<P>
<H3>
Local application
</H3>
The local application must poll the PCA system with <A
HREF="#whos">Message_WhosAbout</A> and present that information to the user.
It is recommended that you provide several methods of doing this:
<P>
<H3>
Invoking the protocol
</H3>
Invoking the protocol scans the active tasks and presents a list of the
available utilities. This list can be presented in two ways; as a simple
RISC OS menu or as a graphical 'pop-up' window. You should support both
methods in your applications by providing a preferences option to the user.
<P>
To invoke the popup Ctrl-Shift-Double Click is recommended. If that shortcut
is not free another combination is acceptable, preferably related in some
way to the Ctrl-Double click Acorn OLE-1 standard.
<P>
In addition, add the PCA to your menu structure. The sub-menu item
"Utilities >" is appropriate.
<P>
Another alternative is to add a button to your toolbar to invoke the protocol.
<P>
<CENTER>
<IMG SRC="GRAPHICS/POPUP.gif" WIDTH=511 HEIGHT=253>
</CENTER>
<P>
<CENTER>
<B>
A typical PCA popup dialogue. All measurements in OS units
</B>
</CENTER>
<P>
The width of this dialogue should be set to the width of the longest tool
name returned in the <A HREF="#im">Message_ImHere</A> messages (which may be
found on the RiscPC using SWI Wimp_TextOp). Add 220 OS-units to the width of
all items to allow for the Tool icon and Info buttons. The height of each
item is fixed at 96 OS-units.
<P>
The tool icon is present in the Wimp sprite pool and is usually the PCA
applications icon. Applications which provide multiple 'tools' can register
more than once, passing a unique 'toolnumber' with <A
HREF="#im">Message_ImHere</A>.
<P>
The popup should be opened such that the pointer is centred over the top
tool name and as a menu so it automatically closes on any mouse access
outside it. If there are more than five PCAs available the popup dialogue
should be given a vertical scrollbar and the initial size limited to five
items. For a more detailed example, see the PCA version of Composition or
the dialogue creation and redraw code in !Spaint.
<P>
<B>Other options</B>
<P>
Several other options may be offered to the user by a Local task. Which are
practical depends on the application in question but the following may be
appropriate for a task which supports both sides of the protocol:
<P>
<CENTER>
<IMG SRC="GRAPHICS/prefs.gif" ALT="Preferences" WIDTH=382 HEIGHT=161 ALIGN="MIDDLE">
</CENTER>
<P>
The display radio buttons allow the user to choose the form of popup which
will be presented to the user. Menus are simpler and take up less desktop
space. Dialogue boxes look better and provide more information.
<P>
The In-place editing option should be provided by a Remote task. If no
objects are being edited then toggling this option simply prevents or allows
bit 4 of the flags word to be set in subsequent <A
HREF="#im">Message_ImHere</A> messages generated. If an object is being
edited in-place when this option is toggled the Remote task should switch
between in-place and remote operation on that object as the option is
toggled.
<P>
The 'Follow selected' option is provided by a Local task and, when on, the
last task sent a <A HREF="#do">Message_DoYourStuff</A> is automatically sent
a new <A HREF="#do">Message_DoYourStuff</A> every time the 'selected object'
changes. Obviously this option only has validity when there is a concept of
the 'selected object'.
<P>
<A HREF="#top">Return to Contents</A>
<HR>
<H1>
<A NAME="swis">
PCA support module SWIs
</A>
</H1>
Module : PCASupport<P>
Version : 0.07 (12 August 1996)<P>
Chunk : &4D6C0
<P>
<P>
The PCA support module is designed to facilitate the creation of PCA style
'tags' in an area of shared memory. At a future date other useful PCA
related SWIs (eg. colaescing update area rectangles) may be added. In the
meantime the following SWIs are provided.
<p>
<pre>
<STRONG>SWI PCA_CreateTag</STRONG>
on entry -
r1 = address of base
r2 = Offset to object
r3 = size of object (optional)
r4 = flags/extension data (not in this version.)
on exit -
r0 = address of tag
(r1-r4 are written into the tag as initial values.)
All other registers preserved.
Errors returnable:
"This version of the PCA support module cannot create extended tags."
Produced if bits set in R4 (b0-15).
"This version does not resize the tag block on old hardware. (too many tags)."
Produced on pre-RPC hardware if more than 2048 tags are in use.
</pre><p>
<b>NOTE:</b> PCASupport relies on the first value of a valid tag not being
&FFFFFFFF (-1). NEVER write this value into the base field of the tag as the
next call to PCA_CreateTag will probably map your tag to another object -
causing chaos.
<p>
<pre>
<STRONG>SWI PCA_DeleteTag</STRONG>
on entry -
R0 = ptr to tag
on exit all registers preserved.
Errors returnable:
"Bad tag passed to PCASupport."
<STRONG>SWI PCA_DeleteAndKill</STRONG>
on entry -
R0 = ptr to tag
R1 = filetype of object
on exit all registers preserved.
</pre>
As well as the functionality of the above SWI this also broadcasts
Message_Deselect for you.
<P>
<A HREF="#top">Return to Contents</A>
<HR>
<H1>
<A NAME="licence">
Licence conditions
</A>
</H1>
<P>
You are invited to add the PCA standard to your programs and to create PCA
'applets'. However, before publishing or distributing (in any form) a program
which makes use of the PCA standard you must first obtain a licence to do so
>from Clares Micro Supplies.
<P>
The licence is currently free of charge and early adopters will be guaranteed
that the license will remain free for a minimum of five years. We do not
have any plans to charge for a license but we do not want to preclude the
possibility at a later date - well would you ?<br>
<P>
PD Authors : We gurantee that your license will *always* be free.<p>
<P>
Licensing the PCA standard allows us to keep track of who is using it,
inform them of changes to the standard and provide support in the case of a
problem.
<P>
<B>
PCA Logo
</B>
<P>
The PCA logo may be used by licensed PCA developers to indicate PCA
compliancy. Licensed developers must not use the logo to suggest any Clares
approval or branding for their products.
<B><P>
<A NAME="contacts">
Contacts
</A>
</B>
<P>
<A HREF="mailto://DJackson@Clares.demon.co.uk">DJackson@clares.demon.co.uk</A> - Licensing details and project coordination.<BR>
<A HREF="mailto://rdavison@xtra.co.nz">
rdavison@xtra.co.nz
</A> - Author of the standard.
<P>
<B>
<A NAME="disclaim">
Disclaimer
</A>
</B><P>
This standard is supplied 'as is'; neither Clares nor the author of the standard
make any warranty, whether express or implied, as to the merchantability of
the software or standard or its fitness for any purpose.
<P>
In no circumstances will Clares or the author of the standard be liable for
any damage, loss of profits, goodwill or for any indirect or consequential
loss arising from the use of this standard or software.
<P>
Implementation of the standard is deemed acceptance of these terms.
<P>
<A HREF="#top">Return to Contents</A>
<P>
<HR>
<A NAME="examples"></A>
<H1>PCA Compliant examples</H1>
<P>
We have prepared several examples of PCA applications in both C and BASIC.
They show different interfaces that can be used as well as an example of
'In-Place' editing. <P>
Don't forget to let us know what applications you are writing to comply with
the standard. <A HREF="mailto://DClare@Clares.demon.co.uk">Clares</A> may be
interested in publishing any PCA applications that you write so please send
us a copy if this appeals to you.
<P>
The examples are compressed with Spark. Use either SparkFS or the PD
SparkPlug to decompress the files.
<P>
<A HREF="#top">Return to Contents</A>
<HR>
<FONT SIZE=1>
Last updated 28/08/96</FONT>
</BODY>
</HTML>
00000000 3c 48 54 4d 4c 3e 0a 3c 48 45 41 44 3e 0a 3c 54 |<HTML>.<HEAD>.<T| 00000010 49 54 4c 45 3e 50 43 41 3c 2f 54 49 54 4c 45 3e |ITLE>PCA</TITLE>| 00000020 0a 0a 0a 3c 2f 48 45 41 44 3e 0a 3c 42 4f 44 59 |...</HEAD>.<BODY| 00000030 20 62 67 63 6f 6c 6f 72 3d 22 23 62 62 62 62 62 | bgcolor="#bbbbb| 00000040 62 22 20 42 41 43 4b 47 52 4f 55 4e 44 3d 22 67 |b" BACKGROUND="g| 00000050 72 61 70 68 69 63 73 2f 63 72 75 6d 70 6c 65 2e |raphics/crumple.| 00000060 67 69 66 22 20 74 65 78 74 3d 22 23 30 30 30 30 |gif" text="#0000| 00000070 30 30 22 20 6c 69 6e 6b 3d 22 23 30 30 34 34 39 |00" link="#00449| 00000080 39 22 20 76 6c 69 6e 6b 3d 22 23 64 64 30 30 30 |9" vlink="#dd000| 00000090 30 22 3e 0a 3c 43 45 4e 54 45 52 3e 3c 49 4d 47 |0">.<CENTER><IMG| 000000a0 20 53 52 43 3d 22 47 52 41 50 48 49 43 53 2f 50 | SRC="GRAPHICS/P| 000000b0 43 41 2e 47 49 46 22 20 41 4c 54 3d 22 50 43 41 |CA.GIF" ALT="PCA| 000000c0 20 4c 6f 67 6f 22 20 57 49 44 54 48 3d 32 35 38 | Logo" WIDTH=258| 000000d0 20 48 45 49 47 48 54 3d 31 34 34 3e 3c 2f 43 45 | HEIGHT=144></CE| 000000e0 4e 54 45 52 3e 3c 50 3e 0a 3c 48 52 3e 54 6f 20 |NTER><P>.<HR>To | 000000f0 76 69 65 77 20 74 68 65 20 6c 61 74 65 73 74 20 |view the latest | 00000100 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 69 73 20 |version of this | 00000110 70 72 6f 74 6f 63 6f 6c 20 76 69 73 69 74 20 6f |protocol visit o| 00000120 75 72 20 77 65 62 20 73 69 74 65 20 61 74 0a 3c |ur web site at.<| 00000130 50 3e 0a 3c 41 20 48 52 45 46 3d 22 68 74 74 70 |P>.<A HREF="http| 00000140 3a 2f 2f 77 77 77 2e 73 74 63 6f 6c 6c 2e 61 63 |://www.stcoll.ac| 00000150 2e 75 6b 2f 63 6c 61 72 65 73 2f 73 75 70 70 6f |.uk/clares/suppo| 00000160 72 74 2f 70 63 61 2e 68 74 6d 6c 22 3e 68 74 74 |rt/pca.html">htt| 00000170 70 3a 2f 2f 77 77 77 2e 73 74 63 6f 6c 6c 2e 61 |p://www.stcoll.a| 00000180 63 2e 75 6b 2f 63 6c 61 72 65 73 2f 73 75 70 70 |c.uk/clares/supp| 00000190 6f 72 74 2f 70 63 61 2e 68 74 6d 6c 3c 2f 41 3e |ort/pca.html</A>| 000001a0 0a 20 3c 42 52 3e 3c 48 52 3e 0a 3c 48 31 3e 50 |. <BR><HR>.<H1>P| 000001b0 6c 75 67 20 49 6e 20 43 6f 6d 70 6c 69 61 6e 74 |lug In Compliant| 000001c0 20 41 70 70 6c 69 63 61 74 69 6f 6e 3c 2f 48 31 | Application</H1| 000001d0 3e 0a 3c 50 3e 0a 0a 3c 48 34 3e 0a 3c 41 20 4e |>.<P>..<H4>.<A N| 000001e0 41 4d 45 3d 22 74 6f 70 22 3e 0a 43 6f 6e 74 65 |AME="top">.Conte| 000001f0 6e 74 73 0a 3c 2f 41 3e 3c 2f 48 34 3e 3c 50 3e |nts.</A></H4><P>| 00000200 0a 0a 3c 55 4c 3e 0a 3c 4c 49 3e 3c 41 20 48 52 |..<UL>.<LI><A HR| 00000210 45 46 3d 22 23 69 6e 74 72 6f 22 3e 49 6e 74 72 |EF="#intro">Intr| 00000220 6f 64 75 63 74 69 6f 6e 3c 2f 41 3e 0a 3c 4c 49 |oduction</A>.<LI| 00000230 3e 3c 41 20 48 52 45 46 3d 22 23 73 75 6d 6d 61 |><A HREF="#summa| 00000240 72 79 22 3e 4d 65 73 73 61 67 65 20 53 75 6d 6d |ry">Message Summ| 00000250 61 72 79 3c 2f 41 3e 0a 3c 4c 49 3e 3c 41 20 48 |ary</A>.<LI><A H| 00000260 52 45 46 3d 22 23 6d 65 73 64 65 66 73 22 3e 4d |REF="#mesdefs">M| 00000270 65 73 73 61 67 65 20 64 65 66 69 6e 69 74 69 6f |essage definitio| 00000280 6e 73 3c 2f 41 3e 0a 3c 4c 49 3e 3c 41 20 48 52 |ns</A>.<LI><A HR| 00000290 45 46 3d 22 23 72 65 6d 6f 74 65 22 3e 49 6e 2d |EF="#remote">In-| 000002a0 70 6c 61 63 65 20 65 64 69 74 69 6e 67 3c 2f 41 |place editing</A| 000002b0 3e 0a 3c 4c 49 3e 3c 41 20 48 52 45 46 3d 22 23 |>.<LI><A HREF="#| 000002c0 69 6e 74 65 72 66 61 63 65 22 3e 55 73 65 72 20 |interface">User | 000002d0 49 6e 74 65 72 66 61 63 65 3c 2f 41 3e 0a 3c 4c |Interface</A>.<L| 000002e0 49 3e 3c 41 20 48 52 45 46 3d 22 23 73 77 69 73 |I><A HREF="#swis| 000002f0 22 3e 53 57 49 73 3c 2f 41 3e 0a 3c 4c 49 3e 3c |">SWIs</A>.<LI><| 00000300 41 20 48 52 45 46 3d 22 23 6c 69 63 65 6e 63 65 |A HREF="#licence| 00000310 22 3e 4c 69 63 65 6e 63 65 20 43 6f 6e 64 69 74 |">Licence Condit| 00000320 69 6f 6e 73 3c 2f 41 3e 0a 3c 4c 49 3e 3c 41 20 |ions</A>.<LI><A | 00000330 48 52 45 46 3d 22 23 63 6f 6e 74 61 63 74 73 22 |HREF="#contacts"| 00000340 3e 43 6f 6e 74 61 63 74 69 6e 67 20 43 6c 61 72 |>Contacting Clar| 00000350 65 73 3c 2f 41 3e 0a 3c 4c 49 3e 3c 41 20 48 52 |es</A>.<LI><A HR| 00000360 45 46 3d 22 23 64 69 73 63 6c 61 69 6d 22 3e 44 |EF="#disclaim">D| 00000370 69 73 63 6c 61 69 6d 65 72 3c 2f 41 3e 0a 3c 4c |isclaimer</A>.<L| 00000380 49 3e 3c 41 20 48 52 45 46 3d 22 23 65 78 61 6d |I><A HREF="#exam| 00000390 70 6c 65 73 22 3e 45 78 61 6d 70 6c 65 20 61 70 |ples">Example ap| 000003a0 70 6c 69 63 61 74 69 6f 6e 73 3c 2f 41 3e 20 28 |plications</A> (| 000003b0 54 68 65 20 65 78 61 6d 70 6c 65 73 20 61 72 63 |The examples arc| 000003c0 68 69 76 65 20 63 6f 6e 74 61 69 6e 73 20 61 20 |hive contains a | 000003d0 63 6f 70 79 20 6f 66 20 74 68 69 73 20 64 6f 63 |copy of this doc| 000003e0 75 6d 65 6e 74 20 66 6f 72 20 72 65 61 64 69 6e |ument for readin| 000003f0 67 20 6f 66 66 20 6c 69 6e 65 29 0a 0a 3c 2f 55 |g off line)..</U| 00000400 4c 3e 0a 3c 42 52 3e 0a 3c 50 3e 0a 0a 3c 48 52 |L>.<BR>.<P>..<HR| 00000410 3e 0a 0a 0a 3c 48 32 3e 3c 41 20 4e 41 4d 45 3d |>...<H2><A NAME=| 00000420 22 69 6e 74 72 6f 22 3e 49 6e 74 72 6f 64 75 63 |"intro">Introduc| 00000430 74 69 6f 6e 3c 2f 41 3e 3c 2f 48 32 3e 0a 0a 54 |tion</A></H2>..T| 00000440 68 65 20 43 6c 61 72 65 73 20 50 6c 75 67 20 49 |he Clares Plug I| 00000450 6e 20 43 6f 6d 70 6c 69 61 6e 74 20 41 70 70 6c |n Compliant Appl| 00000460 69 63 61 74 69 6f 6e 20 28 50 43 41 29 20 73 70 |ication (PCA) sp| 00000470 65 63 69 66 69 63 61 74 69 6f 6e 20 70 72 6f 76 |ecification prov| 00000480 69 64 65 73 20 61 6e 0a 65 61 73 79 20 74 6f 20 |ides an.easy to | 00000490 69 6d 70 6c 65 6d 65 6e 74 20 77 61 79 20 6f 66 |implement way of| 000004a0 20 61 6c 6c 6f 77 69 6e 67 20 6d 75 6c 74 69 70 | allowing multip| 000004b0 6c 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 |le applications | 000004c0 74 6f 20 73 68 61 72 65 20 63 6f 6d 6d 6f 6e 0a |to share common.| 000004d0 6f 62 6a 65 63 74 73 20 72 65 73 69 64 69 6e 67 |objects residing| 000004e0 20 69 6e 20 73 68 61 72 65 64 20 6d 65 6d 6f 72 | in shared memor| 000004f0 79 20 61 72 65 61 73 2e 20 41 20 70 72 6f 67 72 |y areas. A progr| 00000500 61 6d 20 77 72 69 74 74 65 6e 20 74 6f 20 74 68 |am written to th| 00000510 65 20 50 43 41 0a 73 70 65 63 69 66 69 63 61 74 |e PCA.specificat| 00000520 69 6f 6e 20 77 69 6c 6c 20 77 6f 72 6b 20 77 69 |ion will work wi| 00000530 74 68 20 61 6e 79 20 6f 74 68 65 72 20 77 68 69 |th any other whi| 00000540 63 68 20 73 75 70 70 6f 72 74 73 20 74 68 65 20 |ch supports the | 00000550 73 74 61 6e 64 61 72 64 20 61 6e 64 20 75 73 65 |standard and use| 00000560 73 0a 74 68 65 20 73 61 6d 65 20 74 79 70 65 20 |s.the same type | 00000570 6f 66 20 6f 62 6a 65 63 74 73 2e 3c 42 52 3e 0a |of objects.<BR>.| 00000580 3c 50 3e 0a 0a 3c 42 3e 57 68 61 74 20 64 6f 65 |<P>..<B>What doe| 00000590 73 20 50 43 41 20 64 6f 20 66 6f 72 20 6d 65 20 |s PCA do for me | 000005a0 61 73 20 61 20 75 73 65 72 20 3f 3c 2f 42 3e 0a |as a user ?</B>.| 000005b0 3c 50 3e 0a 0a 54 68 65 20 50 43 41 20 73 74 61 |<P>..The PCA sta| 000005c0 6e 64 61 72 64 20 77 6f 72 6b 73 20 61 74 20 74 |ndard works at t| 000005d0 77 6f 20 6c 65 76 65 6c 73 2e 20 49 6e 20 65 61 |wo levels. In ea| 000005e0 63 68 20 63 61 73 65 20 61 20 64 6f 63 75 6d 65 |ch case a docume| 000005f0 6e 74 20 69 6e 20 61 20 63 6f 6d 6d 6f 6e 0a 6d |nt in a common.m| 00000600 65 6d 6f 72 79 20 61 72 65 61 20 63 61 6e 20 62 |emory area can b| 00000610 65 20 27 73 68 61 72 65 64 27 20 62 65 74 77 65 |e 'shared' betwe| 00000620 65 6e 20 74 77 6f 20 6f 72 20 6d 6f 72 65 20 61 |en two or more a| 00000630 70 70 6c 69 63 61 74 69 6f 6e 73 2e 20 54 68 69 |pplications. Thi| 00000640 73 20 69 73 0a 3c 42 3e 6e 6f 74 3c 2f 42 3e 20 |s is.<B>not</B> | 00000650 6c 69 6b 65 20 74 68 65 20 76 65 72 73 69 6f 6e |like the version| 00000660 73 20 6f 66 20 4f 4c 45 20 69 6d 70 6c 65 6d 65 |s of OLE impleme| 00000670 6e 74 65 64 20 6f 6e 20 74 68 65 20 41 63 6f 72 |nted on the Acor| 00000680 6e 20 70 6c 61 74 66 6f 72 6d 2e 20 54 68 65 72 |n platform. Ther| 00000690 65 0a 69 73 20 61 20 6d 61 6a 6f 72 20 64 69 66 |e.is a major dif| 000006a0 66 65 72 65 6e 63 65 20 69 6e 20 74 68 61 74 20 |ference in that | 000006b0 4f 4c 45 20 3c 42 3e 63 6f 70 69 65 73 3c 2f 42 |OLE <B>copies</B| 000006c0 3e 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 66 |> the document f| 000006d0 6f 72 20 74 68 65 20 73 65 63 6f 6e 64 0a 61 70 |or the second.ap| 000006e0 70 6c 69 63 61 74 69 6f 6e 20 74 6f 20 77 6f 72 |plication to wor| 000006f0 6b 20 6f 6e 2c 20 74 68 75 73 20 79 6f 75 72 20 |k on, thus your | 00000700 64 61 74 61 20 74 61 6b 65 73 20 75 70 20 74 77 |data takes up tw| 00000710 69 63 65 20 61 73 20 6d 75 63 68 20 52 41 4d 2e |ice as much RAM.| 00000720 20 57 69 74 68 20 50 43 41 0a 61 6c 6c 20 61 70 | With PCA.all ap| 00000730 70 6c 69 63 61 74 69 6f 6e 73 20 77 6f 72 6b 20 |plications work | 00000740 6f 6e 20 74 68 65 20 3c 42 3e 73 61 6d 65 3c 2f |on the <B>same</| 00000750 42 3e 20 64 6f 63 75 6d 65 6e 74 20 74 68 75 73 |B> document thus| 00000760 20 69 6e 63 75 72 72 69 6e 67 20 6e 6f 20 52 41 | incurring no RA| 00000770 4d 0a 6f 76 65 72 68 65 61 64 73 2e 20 3c 50 3e |M.overheads. <P>| 00000780 20 54 68 65 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 | The controlling| 00000790 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 69 73 20 | application is | 000007a0 63 61 6c 6c 65 64 20 74 68 65 20 3c 41 0a 48 52 |called the <A.HR| 000007b0 45 46 3d 22 23 6c 6f 63 61 6c 22 3e 4c 6f 63 61 |EF="#local">Loca| 000007c0 6c 3c 2f 41 3e 20 61 70 70 6c 69 63 61 74 69 6f |l</A> applicatio| 000007d0 6e 20 61 6e 64 20 74 68 65 20 73 6c 61 76 65 20 |n and the slave | 000007e0 61 70 70 6c 69 63 61 74 69 6f 6e 20 69 73 20 63 |application is c| 000007f0 61 6c 6c 65 64 20 74 68 65 0a 3c 41 20 48 52 45 |alled the.<A HRE| 00000800 46 3d 22 23 72 65 6d 6f 74 65 31 22 3e 52 65 6d |F="#remote1">Rem| 00000810 6f 74 65 3c 2f 41 3e 20 61 70 70 6c 69 63 61 74 |ote</A> applicat| 00000820 69 6f 6e 2e 0a 0a 3c 50 3e 0a 57 68 65 6e 20 61 |ion...<P>.When a| 00000830 20 64 6f 63 75 6d 65 6e 74 20 69 73 20 65 64 69 | document is edi| 00000840 74 65 64 20 69 6e 20 61 20 52 65 6d 6f 74 65 20 |ted in a Remote | 00000850 61 70 70 6c 69 63 61 74 69 6f 6e 20 74 68 65 20 |application the | 00000860 6f 62 6a 65 63 74 20 69 6e 20 74 68 65 20 4c 6f |object in the Lo| 00000870 63 61 6c 0a 61 70 70 6c 69 63 61 74 69 6f 6e 20 |cal.application | 00000880 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 |is automatically| 00000890 20 75 70 64 61 74 65 64 2e 0a 3c 50 3e 0a 57 68 | updated..<P>.Wh| 000008a0 61 74 20 77 65 20 68 61 76 65 20 75 70 20 74 6f |at we have up to| 000008b0 20 6e 6f 77 20 69 73 20 61 20 6d 6f 72 65 20 65 | now is a more e| 000008c0 66 66 69 63 69 65 6e 74 20 77 61 79 20 6f 66 20 |fficient way of | 000008d0 64 6f 69 6e 67 20 4f 4c 45 2e 20 48 6f 77 65 76 |doing OLE. Howev| 000008e0 65 72 2c 20 50 43 41 0a 64 6f 65 73 20 6e 6f 74 |er, PCA.does not| 000008f0 20 73 74 6f 70 20 74 68 65 72 65 2e 20 54 61 6b | stop there. Tak| 00000900 65 20 61 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e |e an application| 00000910 20 6c 69 6b 65 20 43 6f 6d 70 6f 73 69 74 69 6f | like Compositio| 00000920 6e 20 77 68 69 63 68 20 70 72 6f 76 69 64 65 73 |n which provides| 00000930 20 61 0a 70 61 67 65 20 6d 61 6b 65 20 75 70 20 | a.page make up | 00000940 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 66 6f 72 20 |environment for | 00000950 62 69 74 20 69 6d 61 67 65 20 61 6e 64 20 76 65 |bit image and ve| 00000960 63 74 6f 72 20 69 6d 61 67 65 73 20 2d 20 61 6c |ctor images - al| 00000970 6c 20 6f 66 20 77 68 69 63 68 20 63 61 6e 0a 62 |l of which can.b| 00000980 65 20 6d 6f 76 65 64 20 61 6e 64 20 65 64 69 74 |e moved and edit| 00000990 65 64 20 2d 20 61 20 62 69 74 20 6c 69 6b 65 20 |ed - a bit like | 000009a0 44 72 61 77 20 66 6f 72 20 62 69 74 20 69 6d 61 |Draw for bit ima| 000009b0 67 65 73 20 62 75 74 20 77 69 74 68 20 61 20 4c |ges but with a L| 000009c0 4f 54 20 6f 66 0a 65 78 74 72 61 73 2e 20 43 6f |OT of.extras. Co| 000009d0 6d 70 6f 73 69 74 69 6f 6e 20 64 6f 65 73 20 6e |mposition does n| 000009e0 6f 74 20 70 72 6f 76 69 64 65 20 27 70 61 69 6e |ot provide 'pain| 000009f0 74 69 6e 67 27 20 74 6f 6f 6c 73 20 62 75 74 20 |ting' tools but | 00000a00 50 72 6f 41 72 74 69 73 61 6e 20 32 34 0a 64 6f |ProArtisan 24.do| 00000a10 65 73 2e 20 49 66 20 62 6f 74 68 20 61 70 70 6c |es. If both appl| 00000a20 69 63 61 74 69 6f 6e 73 20 61 72 65 20 50 43 41 |ications are PCA| 00000a30 20 63 6f 6d 70 6c 69 61 6e 74 20 74 68 65 6e 20 | compliant then | 00000a40 61 20 55 74 69 6c 69 74 69 65 73 20 6d 65 6e 75 |a Utilities menu| 00000a50 20 69 6e 20 43 6f 6d 70 6f 0a 77 69 6c 6c 20 73 | in Compo.will s| 00000a60 68 6f 77 20 50 72 6f 41 72 74 20 32 34 20 61 73 |how ProArt 24 as| 00000a70 20 61 20 27 74 6f 6f 6c 27 2e 20 43 6c 69 63 6b | a 'tool'. Click| 00000a80 69 6e 67 20 6f 6e 20 74 68 69 73 20 6d 65 6e 75 |ing on this menu| 00000a90 20 65 6e 74 72 79 20 6f 70 65 6e 73 20 61 20 50 | entry opens a P| 00000aa0 41 32 34 0a 77 69 6e 64 6f 77 20 73 68 6f 77 69 |A24.window showi| 00000ab0 6e 67 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 |ng the selected | 00000ac0 43 6f 6d 70 6f 20 6f 62 6a 65 63 74 2e 20 50 41 |Compo object. PA| 00000ad0 32 34 20 63 61 6e 20 70 61 69 6e 74 20 69 6e 74 |24 can paint int| 00000ae0 6f 20 74 68 69 73 20 6f 62 6a 65 63 74 20 6f 72 |o this object or| 00000af0 0a 69 6e 64 65 65 64 20 70 65 72 66 6f 72 6d 20 |.indeed perform | 00000b00 61 6e 79 20 6f 66 20 69 74 73 20 66 75 6e 63 74 |any of its funct| 00000b10 69 6f 6e 73 20 6f 6e 20 74 68 65 20 6f 62 6a 65 |ions on the obje| 00000b20 63 74 2e 20 41 6c 6c 20 63 68 61 6e 67 65 73 20 |ct. All changes | 00000b30 61 72 65 20 72 65 66 6c 65 63 74 65 64 0a 69 6d |are reflected.im| 00000b40 6d 65 64 69 61 74 65 6c 79 20 69 6e 20 43 6f 6d |mediately in Com| 00000b50 70 6f 2e 0a 3c 50 3e 0a 54 68 69 73 20 6d 65 61 |po..<P>.This mea| 00000b60 6e 73 20 74 68 61 74 20 61 6e 20 61 70 70 6c 69 |ns that an appli| 00000b70 63 61 74 69 6f 6e 20 63 61 6e 20 68 61 76 65 20 |cation can have | 00000b80 6f 74 68 65 72 20 61 70 70 6c 69 63 61 74 69 6f |other applicatio| 00000b90 6e 73 20 61 73 20 27 74 6f 6f 6c 73 27 2e 20 53 |ns as 'tools'. S| 00000ba0 6d 61 6c 6c 0a 27 61 70 70 6c 65 74 73 27 20 63 |mall.'applets' c| 00000bb0 61 6e 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f |an be written to| 00000bc0 20 70 72 6f 76 69 64 65 20 73 70 65 63 69 66 69 | provide specifi| 00000bd0 63 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 61 |c functions to a| 00000be0 20 50 43 41 20 61 70 70 6c 69 63 61 74 69 6f 6e | PCA application| 00000bf0 0a 3c 49 3e 61 6e 64 20 74 68 65 79 20 77 69 6c |.<I>and they wil| 00000c00 6c 20 62 65 20 75 73 61 62 6c 65 20 62 79 20 61 |l be usable by a| 00000c10 6e 79 20 6f 74 68 65 72 20 50 43 41 20 63 6f 6d |ny other PCA com| 00000c20 70 6c 69 61 6e 74 20 61 70 70 6c 69 63 61 74 69 |pliant applicati| 00000c30 6f 6e 2e 3c 2f 49 3e 0a 3c 50 3e 0a 49 6d 61 67 |on.</I>.<P>.Imag| 00000c40 69 6e 65 20 61 20 73 69 6d 70 6c 65 20 61 70 70 |ine a simple app| 00000c50 6c 69 63 61 74 69 6f 6e 20 74 68 61 74 20 64 6f |lication that do| 00000c60 65 73 20 6e 6f 74 68 69 6e 67 20 65 6c 73 65 20 |es nothing else | 00000c70 65 78 63 65 70 74 20 64 69 73 70 6c 61 79 20 61 |except display a| 00000c80 20 73 70 72 69 74 65 0a 61 6e 64 20 63 6f 6e 66 | sprite.and conf| 00000c90 6f 72 6d 20 74 6f 20 74 68 65 20 50 43 41 20 73 |orm to the PCA s| 00000ca0 74 61 6e 64 61 72 64 2e 20 41 6e 6f 74 68 65 72 |tandard. Another| 00000cb0 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 63 6f 75 | application cou| 00000cc0 6c 64 20 70 72 6f 76 69 64 65 20 70 61 69 6e 74 |ld provide paint| 00000cd0 0a 74 6f 6f 6c 73 2c 20 79 65 74 20 61 6e 6f 74 |.tools, yet anot| 00000ce0 68 65 72 20 63 6f 75 6c 64 20 70 72 6f 76 69 64 |her could provid| 00000cf0 65 20 66 69 6c 74 65 72 73 2c 20 61 6e 6f 74 68 |e filters, anoth| 00000d00 65 72 20 6d 69 67 68 74 20 70 72 6f 76 69 64 65 |er might provide| 00000d10 20 77 61 72 70 69 6e 67 0a 74 6f 6f 6c 73 20 2d | warping.tools -| 00000d20 20 79 6f 75 20 67 65 74 20 74 68 65 20 70 69 63 | you get the pic| 00000d30 74 75 72 65 20 49 27 6d 20 73 75 72 65 2e 20 46 |ture I'm sure. F| 00000d40 72 6f 6d 20 74 68 69 73 20 72 61 6e 67 65 20 6f |rom this range o| 00000d50 66 20 61 70 70 6c 65 74 73 20 79 6f 75 20 63 61 |f applets you ca| 00000d60 6e 0a 63 6f 6e 73 74 72 75 63 74 20 74 68 65 20 |n.construct the | 00000d70 3c 42 3e 74 6f 6f 6c 3c 2f 42 3e 20 74 68 61 74 |<B>tool</B> that| 00000d80 20 79 6f 75 20 72 65 71 75 69 72 65 20 74 6f 20 | you require to | 00000d90 67 65 74 20 74 68 65 20 6a 6f 62 20 64 6f 6e 65 |get the job done| 00000da0 2e 0a 3c 50 3e 0a 0a 57 68 61 74 27 73 20 6d 6f |..<P>..What's mo| 00000db0 72 65 2c 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e |re, more than on| 00000dc0 65 20 72 65 6d 6f 74 65 20 61 70 70 6c 65 74 20 |e remote applet | 00000dd0 63 61 6e 20 77 6f 72 6b 20 6f 6e 20 74 68 65 20 |can work on the | 00000de0 73 61 6d 65 20 6f 62 6a 65 63 74 20 61 74 20 74 |same object at t| 00000df0 68 65 0a 73 61 6d 65 20 74 69 6d 65 20 61 6e 64 |he.same time and| 00000e00 20 63 68 61 6e 67 65 73 20 6d 61 64 65 20 69 6e | changes made in| 00000e10 20 61 6e 79 20 6f 6e 65 20 6f 66 20 74 68 65 73 | any one of thes| 00000e20 65 20 77 69 6c 6c 20 62 65 20 69 6d 6d 65 64 69 |e will be immedi| 00000e30 61 74 65 6c 79 20 72 65 66 6c 65 63 74 65 64 0a |ately reflected.| 00000e40 69 6e 20 61 6c 6c 20 6f 66 20 74 68 65 6d 2e 3c |in all of them.<| 00000e50 50 3e 20 54 68 69 73 20 69 73 20 61 6e 20 61 77 |P> This is an aw| 00000e60 66 75 6c 20 6c 6f 74 20 62 65 74 74 65 72 20 74 |ful lot better t| 00000e70 68 61 6e 20 4f 4c 45 20 62 75 74 20 74 68 65 72 |han OLE but ther| 00000e80 65 27 73 20 73 74 69 6c 6c 0a 6d 6f 72 65 2e 0a |e's still.more..| 00000e90 0a 3c 50 3e 0a 49 6e 73 74 65 61 64 20 6f 66 20 |.<P>.Instead of | 00000ea0 65 61 63 68 20 61 70 70 6c 65 74 20 6f 70 65 6e |each applet open| 00000eb0 69 6e 67 20 69 74 73 20 6f 77 6e 20 77 69 6e 64 |ing its own wind| 00000ec0 6f 77 20 77 65 20 63 61 6e 20 75 73 65 20 27 49 |ow we can use 'I| 00000ed0 6e 2d 70 6c 61 63 65 27 20 65 64 69 74 69 6e 67 |n-place' editing| 00000ee0 2e 0a 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 |..This means tha| 00000ef0 74 20 6f 6e 6c 79 20 74 68 65 20 3c 42 3e 4c 6f |t only the <B>Lo| 00000f00 63 61 6c 3c 2f 42 3e 20 61 70 70 6c 69 63 61 74 |cal</B> applicat| 00000f10 69 6f 6e 20 64 69 73 70 6c 61 79 73 20 74 68 65 |ion displays the| 00000f20 20 64 6f 63 75 6d 65 6e 74 2e 0a 57 68 65 6e 20 | document..When | 00000f30 79 6f 75 20 63 6c 69 63 6b 20 6f 6e 20 61 20 27 |you click on a '| 00000f40 74 6f 6f 6c 27 20 65 6e 74 72 79 20 69 6e 20 74 |tool' entry in t| 00000f50 68 65 20 55 74 69 6c 69 74 69 65 73 20 6d 65 6e |he Utilities men| 00000f60 75 20 74 68 65 20 6e 65 77 20 74 6f 6f 6c 27 73 |u the new tool's| 00000f70 0a 54 6f 6f 6c 62 61 72 20 6f 70 65 6e 73 20 6f |.Toolbar opens o| 00000f80 76 65 72 20 74 68 65 20 4c 6f 63 61 6c 20 61 70 |ver the Local ap| 00000f90 70 6c 69 63 61 74 69 6f 6e 27 73 20 77 69 6e 64 |plication's wind| 00000fa0 6f 77 2e 20 41 6c 6c 20 74 6f 6f 6c 73 20 74 68 |ow. All tools th| 00000fb0 65 6e 20 77 6f 72 6b 20 6f 6e 0a 74 68 65 20 69 |en work on.the i| 00000fc0 6d 61 67 65 20 69 6e 20 74 68 65 20 4c 6f 63 61 |mage in the Loca| 00000fd0 6c 27 73 20 77 69 6e 64 6f 77 2e 0a 0a 3c 50 3e |l's window...<P>| 00000fe0 0a 4e 6f 77 20 79 6f 75 20 61 72 65 20 72 65 61 |.Now you are rea| 00000ff0 6c 6c 79 20 61 62 6c 65 20 74 6f 20 63 6f 6e 73 |lly able to cons| 00001000 74 72 75 63 74 20 61 6e 20 61 70 70 6c 69 63 61 |truct an applica| 00001010 74 69 6f 6e 20 66 72 6f 6d 20 61 20 72 61 6e 67 |tion from a rang| 00001020 65 20 6f 66 20 61 70 70 6c 65 74 73 2e 0a 41 6c |e of applets..Al| 00001030 6c 20 79 6f 75 20 77 69 6c 6c 20 73 65 65 20 69 |l you will see i| 00001040 73 20 6f 6e 65 20 77 69 6e 64 6f 77 20 64 69 73 |s one window dis| 00001050 70 6c 61 79 69 6e 67 20 74 68 65 20 64 6f 63 75 |playing the docu| 00001060 6d 65 6e 74 2e 0a 3c 50 3e 0a 54 61 6b 65 20 74 |ment..<P>.Take t| 00001070 68 69 73 20 61 20 6c 69 74 74 6c 65 20 66 75 72 |his a little fur| 00001080 74 68 65 72 20 61 6e 64 20 69 6d 61 67 69 6e 65 |ther and imagine| 00001090 20 61 20 44 54 50 20 70 61 63 6b 61 67 65 20 73 | a DTP package s| 000010a0 75 70 70 6f 72 74 69 6e 67 20 74 68 65 20 50 43 |upporting the PC| 000010b0 41 0a 73 74 61 6e 64 61 72 64 2e 20 49 74 20 63 |A.standard. It c| 000010c0 6f 75 6c 64 20 68 61 76 65 20 61 20 66 72 61 6d |ould have a fram| 000010d0 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 67 |e containing a g| 000010e0 72 61 70 68 69 63 20 69 6d 61 67 65 20 61 6e 64 |raphic image and| 000010f0 20 79 6f 75 20 63 6f 75 6c 64 0a 6c 69 6e 6b 20 | you could.link | 00001100 74 68 69 73 20 74 6f 20 50 41 32 34 2c 20 43 6f |this to PA24, Co| 00001110 6d 70 6f 20 6f 72 20 61 6e 79 20 6f 74 68 65 72 |mpo or any other| 00001120 20 50 43 41 20 61 70 70 6c 69 63 61 74 69 6f 6e | PCA application| 00001130 2c 20 77 68 69 63 68 20 63 6f 75 6c 64 0a 6d 61 |, which could.ma| 00001140 6e 69 70 75 6c 61 74 65 20 74 68 65 20 69 6d 61 |nipulate the ima| 00001150 67 65 2e 20 54 68 65 20 63 68 61 6e 67 65 73 20 |ge. The changes | 00001160 77 6f 75 6c 64 20 62 65 20 72 65 66 6c 65 63 74 |would be reflect| 00001170 65 64 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 69 |ed immediately i| 00001180 6e 20 74 68 65 20 44 54 50 0a 77 69 6e 64 6f 77 |n the DTP.window| 00001190 2e 20 48 6f 77 65 76 65 72 2c 20 69 66 20 49 6e |. However, if In| 000011a0 2d 70 6c 61 63 65 20 65 64 69 74 69 6e 67 20 69 |-place editing i| 000011b0 73 20 75 73 65 64 2c 20 74 68 65 20 54 6f 6f 6c |s used, the Tool| 000011c0 62 61 72 73 20 77 6f 75 6c 64 20 61 70 70 65 61 |bars would appea| 000011d0 72 20 69 6e 0a 74 68 65 20 44 54 50 20 77 69 6e |r in.the DTP win| 000011e0 64 6f 77 20 61 6e 64 20 61 6c 6c 6f 77 20 79 6f |dow and allow yo| 000011f0 75 20 74 6f 20 65 64 69 74 20 74 68 65 20 67 72 |u to edit the gr| 00001200 61 70 68 69 63 20 64 69 72 65 63 74 6c 79 20 69 |aphic directly i| 00001210 6e 20 74 68 65 20 44 54 50 20 77 69 6e 64 6f 77 |n the DTP window| 00001220 2e 0a 3c 50 3e 0a 3c 43 45 4e 54 45 52 3e 3c 49 |..<P>.<CENTER><I| 00001230 4d 47 20 53 52 43 3d 22 47 52 41 50 48 49 43 53 |MG SRC="GRAPHICS| 00001240 2f 50 43 41 31 2e 47 49 46 22 20 41 4c 54 3d 22 |/PCA1.GIF" ALT="| 00001250 41 20 73 63 72 65 65 6e 73 68 6f 74 20 73 68 6f |A screenshot sho| 00001260 77 69 6e 67 20 50 43 41 20 69 6e 20 61 20 44 54 |wing PCA in a DT| 00001270 50 0a 61 70 70 22 20 57 49 44 54 48 3d 32 35 34 |P.app" WIDTH=254| 00001280 20 48 45 49 47 48 54 3d 33 30 33 3e 3c 2f 43 45 | HEIGHT=303></CE| 00001290 4e 54 45 52 3e 0a 3c 43 45 4e 54 45 52 3e 3c 49 |NTER>.<CENTER><I| 000012a0 3e 41 20 50 43 41 20 54 6f 6f 6c 62 61 72 20 61 |>A PCA Toolbar a| 000012b0 63 74 69 6e 67 20 6f 6e 20 61 6e 20 69 6d 61 67 |cting on an imag| 000012c0 65 20 69 6e 20 61 20 44 54 50 20 66 72 61 6d 65 |e in a DTP frame| 000012d0 3c 2f 49 3e 3c 2f 43 45 4e 54 45 52 3e 0a 3c 50 |</I></CENTER>.<P| 000012e0 3e 0a 0a 57 68 61 74 20 77 65 20 6e 6f 77 20 68 |>..What we now h| 000012f0 61 76 65 20 69 73 20 61 20 73 79 73 74 65 6d 20 |ave is a system | 00001300 77 68 65 72 65 62 79 20 61 6e 20 61 70 70 6c 69 |whereby an appli| 00001310 63 61 74 69 6f 6e 20 63 61 6e 20 68 61 76 65 20 |cation can have | 00001320 61 6e 20 69 6e 66 69 6e 69 74 65 0a 6e 75 6d 62 |an infinite.numb| 00001330 65 72 20 6f 66 20 61 64 64 69 74 69 6f 6e 61 6c |er of additional| 00001340 20 74 6f 6f 6c 73 20 61 6e 64 20 61 6c 6c 20 61 | tools and all a| 00001350 70 70 6c 69 63 61 74 69 6f 6e 73 20 63 6f 6e 66 |pplications conf| 00001360 6f 72 6d 69 6e 67 20 74 6f 20 50 43 41 20 63 61 |orming to PCA ca| 00001370 6e 20 62 65 0a 75 73 65 64 20 77 69 74 68 20 61 |n be.used with a| 00001380 6e 64 20 62 79 20 61 6c 6c 20 6f 74 68 65 72 20 |nd by all other | 00001390 50 43 41 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 |PCA applications| 000013a0 2e 0a 3c 50 3e 0a 41 6e 20 65 78 61 6d 70 6c 65 |..<P>.An example| 000013b0 20 6f 66 20 74 68 69 73 20 63 6f 75 6c 64 20 62 | of this could b| 000013c0 65 20 61 6e 20 69 6d 61 67 65 20 69 6e 20 61 20 |e an image in a | 000013d0 44 54 50 20 66 72 61 6d 65 20 6c 69 6e 6b 65 64 |DTP frame linked| 000013e0 20 74 6f 20 43 6f 6d 70 6f 20 77 68 69 63 68 0a | to Compo which.| 000013f0 75 73 65 64 20 74 68 69 73 20 69 6d 61 67 65 20 |used this image | 00001400 61 73 20 61 20 27 63 61 6e 76 61 73 27 20 66 6f |as a 'canvas' fo| 00001410 72 20 61 20 63 6f 6d 70 6f 73 69 74 65 20 70 69 |r a composite pi| 00001420 63 74 75 72 65 2e 20 46 72 6f 6d 20 43 6f 6d 70 |cture. From Comp| 00001430 6f 20 6f 6e 65 20 6f 66 0a 74 68 65 20 69 6d 61 |o one of.the ima| 00001440 67 65 73 20 69 6e 20 74 68 65 20 63 6f 6d 70 6f |ges in the compo| 00001450 73 69 74 65 20 70 69 63 74 75 72 65 20 63 6f 75 |site picture cou| 00001460 6c 64 20 61 6c 73 6f 20 62 65 20 6c 69 6e 6b 65 |ld also be linke| 00001470 64 20 74 6f 20 50 72 6f 41 72 74 32 34 20 61 6e |d to ProArt24 an| 00001480 64 0a 61 6e 79 20 63 68 61 6e 67 65 73 20 77 6f |d.any changes wo| 00001490 75 6c 64 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 |uld immediately | 000014a0 62 65 20 72 65 66 6c 65 63 74 65 64 20 69 6e 20 |be reflected in | 000014b0 43 6f 6d 70 6f 20 61 6e 64 20 74 68 65 20 44 54 |Compo and the DT| 000014c0 50 20 70 61 63 6b 61 67 65 2e 0a 0a 3c 50 3e 0a |P package...<P>.| 000014d0 49 66 20 79 6f 75 20 6a 75 6d 70 20 74 6f 20 74 |If you jump to t| 000014e0 68 65 20 62 6f 74 74 6f 6d 20 6f 66 20 74 68 69 |he bottom of thi| 000014f0 73 20 70 61 67 65 20 79 6f 75 20 63 61 6e 20 64 |s page you can d| 00001500 6f 77 6e 6c 6f 61 64 20 73 6f 6d 65 20 3c 41 20 |ownload some <A | 00001510 48 52 45 46 3d 22 23 65 78 61 6d 70 6c 65 73 22 |HREF="#examples"| 00001520 3e 65 78 61 6d 70 6c 65 0a 61 70 70 6c 69 63 61 |>example.applica| 00001530 74 69 6f 6e 73 3c 2f 41 3e 20 61 6e 64 20 64 6f |tions</A> and do| 00001540 63 75 6d 65 6e 74 61 74 69 6f 6e 20 74 68 61 74 |cumentation that| 00001550 20 6d 61 79 20 6d 61 6b 65 20 74 68 69 6e 67 73 | may make things| 00001560 20 63 6c 65 61 72 65 72 2e 20 54 68 65 20 6d 61 | clearer. The ma| 00001570 69 6e 0a 64 6f 63 75 6d 65 6e 74 20 74 6f 20 72 |in.document to r| 00001580 65 61 64 20 69 73 20 27 54 6f 54 65 73 74 27 2e |ead is 'ToTest'.| 00001590 0a 3c 50 3e 0a 3c 48 32 3e 41 20 6d 6f 72 65 20 |.<P>.<H2>A more | 000015a0 74 65 63 68 6e 69 63 61 6c 20 65 78 70 6c 61 6e |technical explan| 000015b0 61 74 69 6f 6e 3c 2f 48 32 3e 0a 0a 54 68 65 72 |ation</H2>..Ther| 000015c0 65 20 61 72 65 20 74 77 6f 20 27 73 69 64 65 73 |e are two 'sides| 000015d0 27 20 74 6f 20 50 43 41 20 73 75 70 70 6f 72 74 |' to PCA support| 000015e0 2e 20 41 70 70 6c 69 63 61 74 69 6f 6e 73 20 6d |. Applications m| 000015f0 61 79 20 73 75 70 70 6f 72 74 20 65 69 74 68 65 |ay support eithe| 00001600 72 20 6f 72 0a 62 6f 74 68 20 61 73 20 69 74 20 |r or.both as it | 00001610 73 75 69 74 73 20 74 68 65 6d 2e 0a 3c 50 3e 0a |suits them..<P>.| 00001620 0a 3c 42 3e 3c 41 20 4e 41 4d 45 3d 41 20 4e 41 |.<B><A NAME=A NA| 00001630 4d 45 3d 22 6c 6f 63 61 6c 22 3e 4c 6f 63 61 6c |ME="local">Local| 00001640 3c 2f 41 3e 3c 2f 42 3e 0a 3c 50 3e 0a 0a 0a 41 |</A></B>.<P>...A| 00001650 20 4c 6f 63 61 6c 20 61 70 70 6c 69 63 61 74 69 | Local applicati| 00001660 6f 6e 20 63 72 65 61 74 65 73 20 61 6e 64 20 6d |on creates and m| 00001670 61 69 6e 74 61 69 6e 73 20 61 6e 20 61 72 65 61 |aintains an area| 00001680 20 6f 66 20 73 68 61 72 65 64 20 6d 65 6d 6f 72 | of shared memor| 00001690 79 20 28 6f 6e 20 74 68 65 0a 52 69 73 63 50 43 |y (on the.RiscPC| 000016a0 20 74 68 69 73 20 69 73 20 6d 6f 73 74 20 6c 69 | this is most li| 000016b0 6b 65 6c 79 20 74 6f 20 62 65 20 61 20 64 79 6e |kely to be a dyn| 000016c0 61 6d 69 63 20 61 72 65 61 2c 20 6f 6c 64 65 72 |amic area, older| 000016d0 20 68 61 72 64 77 61 72 65 20 6d 75 73 74 20 75 | hardware must u| 000016e0 73 65 20 52 4d 41 0a 6f 72 20 73 6f 6d 65 74 68 |se RMA.or someth| 000016f0 69 6e 67 20 6c 69 6b 65 20 74 68 65 20 44 79 6e |ing like the Dyn| 00001700 61 6d 69 74 65 20 6d 65 6d 6f 72 79 20 6d 61 6e |amite memory man| 00001710 61 67 65 72 29 2e 20 4f 62 6a 65 63 74 73 20 69 |ager). Objects i| 00001720 6e 20 74 68 69 73 20 61 72 65 61 20 6d 61 79 20 |n this area may | 00001730 62 65 0a 65 64 69 74 65 64 20 62 79 20 61 6e 79 |be.edited by any| 00001740 20 50 43 41 20 27 72 65 6d 6f 74 65 27 20 61 70 | PCA 'remote' ap| 00001750 70 6c 69 63 61 74 69 6f 6e 20 77 68 69 63 68 20 |plication which | 00001760 69 73 20 72 75 6e 6e 69 6e 67 2c 20 70 72 6f 76 |is running, prov| 00001770 69 64 65 64 20 74 68 61 74 20 69 74 0a 6b 6e 6f |ided that it.kno| 00001780 77 73 20 61 62 6f 75 74 20 74 68 65 20 74 79 70 |ws about the typ| 00001790 65 20 6f 66 20 6f 62 6a 65 63 74 20 63 6f 6e 63 |e of object conc| 000017a0 65 72 6e 65 64 2e 20 49 74 20 69 73 20 74 68 65 |erned. It is the| 000017b0 20 6c 6f 63 61 6c 20 61 70 70 6c 69 63 61 74 69 | local applicati| 000017c0 6f 6e 27 73 0a 72 65 73 70 6f 6e 73 69 62 69 6c |on's.responsibil| 000017d0 69 74 79 20 74 6f 20 63 72 65 61 74 65 20 61 6e |ity to create an| 000017e0 64 20 6d 61 69 6e 74 61 69 6e 20 70 6f 69 6e 74 |d maintain point| 000017f0 65 72 73 20 74 6f 20 6f 62 6a 65 63 74 73 20 61 |ers to objects a| 00001800 6e 64 20 74 6f 20 74 61 6b 65 20 74 68 65 0a 63 |nd to take the.c| 00001810 6f 72 72 65 63 74 20 61 63 74 69 6f 6e 20 77 68 |orrect action wh| 00001820 65 6e 20 61 6e 20 6f 62 6a 65 63 74 20 6d 6f 76 |en an object mov| 00001830 65 73 20 6f 72 20 63 68 61 6e 67 65 73 20 73 69 |es or changes si| 00001840 7a 65 2e 20 0a 0a 20 3c 50 3e 0a 0a 3c 42 3e 3c |ze. .. <P>..<B><| 00001850 41 20 4e 41 4d 45 3d 41 20 4e 41 4d 45 3d 22 72 |A NAME=A NAME="r| 00001860 65 6d 6f 74 65 31 22 3e 52 65 6d 6f 74 65 3c 2f |emote1">Remote</| 00001870 41 3e 3c 2f 42 3e 0a 3c 50 3e 0a 41 20 52 65 6d |A></B>.<P>.A Rem| 00001880 6f 74 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 |ote application | 00001890 6d 6f 64 69 66 69 65 73 20 61 6e 20 6f 62 6a 65 |modifies an obje| 000018a0 63 74 20 69 6e 20 73 6f 6d 65 20 77 61 79 20 77 |ct in some way w| 000018b0 68 65 6e 20 72 65 71 75 65 73 74 65 64 20 74 6f |hen requested to| 000018c0 20 64 6f 20 73 6f 0a 62 79 20 61 20 4c 6f 63 61 | do so.by a Loca| 000018d0 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 20 52 |l application. R| 000018e0 65 6d 6f 74 65 20 61 70 70 6c 69 63 61 74 69 6f |emote applicatio| 000018f0 6e 73 20 63 61 6e 20 62 65 20 73 6d 61 6c 6c 20 |ns can be small | 00001900 27 61 70 70 6c 65 74 73 27 20 6f 72 0a 6d 61 6a |'applets' or.maj| 00001910 6f 72 20 70 72 6f 67 72 61 6d 73 20 69 6e 20 74 |or programs in t| 00001920 68 65 69 72 20 6f 77 6e 20 72 69 67 68 74 2e 20 |heir own right. | 00001930 54 68 65 20 50 43 41 20 73 70 65 63 69 66 69 63 |The PCA specific| 00001940 61 74 69 6f 6e 20 73 65 74 73 20 6e 6f 20 6c 69 |ation sets no li| 00001950 6d 69 74 73 0a 6f 6e 20 74 68 65 20 63 68 61 6e |mits.on the chan| 00001960 67 65 73 20 77 68 69 63 68 20 6d 61 79 20 62 65 |ges which may be| 00001970 20 6d 61 64 65 20 74 6f 20 61 6e 20 6f 62 6a 65 | made to an obje| 00001980 63 74 2e 0a 3c 50 3e 0a 49 6e 20 70 72 61 63 74 |ct..<P>.In pract| 00001990 69 63 65 2c 20 74 68 65 20 74 77 6f 20 73 69 64 |ice, the two sid| 000019a0 65 73 20 62 6c 75 72 20 63 6f 6e 73 69 64 65 72 |es blur consider| 000019b0 61 62 6c 79 2e 20 46 6f 72 20 65 78 61 6d 70 6c |ably. For exampl| 000019c0 65 2c 20 69 74 20 69 73 20 70 6f 73 73 69 62 6c |e, it is possibl| 000019d0 65 0a 66 6f 72 20 6d 6f 72 65 20 74 68 61 6e 20 |e.for more than | 000019e0 6f 6e 65 20 27 52 65 6d 6f 74 65 27 20 74 61 73 |one 'Remote' tas| 000019f0 6b 20 74 6f 20 77 6f 72 6b 20 6f 6e 20 74 68 65 |k to work on the| 00001a00 20 73 61 6d 65 20 6f 62 6a 65 63 74 20 61 74 20 | same object at | 00001a10 74 68 65 20 73 61 6d 65 0a 74 69 6d 65 20 69 6e |the same.time in| 00001a20 20 77 68 69 63 68 20 63 61 73 65 20 74 68 65 20 | which case the | 00001a30 27 52 65 6d 6f 74 65 27 20 74 61 73 6b 73 20 6d |'Remote' tasks m| 00001a40 75 73 74 20 72 65 73 70 6f 6e 64 20 74 6f 20 73 |ust respond to s| 00001a50 6f 6d 65 20 6d 65 73 73 61 67 65 73 20 69 6e 20 |ome messages in | 00001a60 61 20 73 69 6d 69 6c 61 72 0a 77 61 79 20 74 6f |a similar.way to| 00001a70 20 74 68 65 20 27 4c 6f 63 61 6c 27 20 74 61 73 | the 'Local' tas| 00001a80 6b 2e 0a 3c 50 3e 0a 49 6e 20 61 64 64 69 74 69 |k..<P>.In additi| 00001a90 6f 6e 2c 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 |on, an optional | 00001aa0 65 78 74 65 6e 73 69 6f 6e 20 74 6f 20 74 68 65 |extension to the| 00001ab0 20 73 74 61 6e 64 61 72 64 20 70 72 6f 76 69 64 | standard provid| 00001ac0 65 73 20 73 75 70 70 6f 72 74 20 66 6f 72 0a 27 |es support for.'| 00001ad0 49 6e 2d 70 6c 61 63 65 27 20 65 64 69 74 69 6e |In-place' editin| 00001ae0 67 20 6f 66 20 6f 62 6a 65 63 74 73 20 64 69 72 |g of objects dir| 00001af0 65 63 74 6c 79 20 69 6e 20 61 6e 6f 74 68 65 72 |ectly in another| 00001b00 20 61 70 70 6c 69 63 61 74 69 6f 6e 27 73 20 77 | application's w| 00001b10 69 6e 64 6f 77 2e 0a 3c 50 3e 0a 0a 0a 3c 42 3e |indow..<P>...<B>| 00001b20 0a 4c 69 6d 69 74 61 74 69 6f 6e 73 2c 20 61 73 |.Limitations, as| 00001b30 73 75 6d 70 74 69 6f 6e 73 20 61 6e 64 20 70 68 |sumptions and ph| 00001b40 69 6c 6f 73 6f 70 68 79 0a 3c 2f 42 3e 0a 0a 3c |ilosophy.</B>..<| 00001b50 50 3e 0a 0a 0a 0a 54 68 65 20 50 43 41 20 73 74 |P>....The PCA st| 00001b60 61 6e 64 61 72 64 20 72 65 71 75 69 72 65 73 20 |andard requires | 00001b70 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 3c |the following:.<| 00001b80 50 3e 0a 0a 0a 0a 3c 55 4c 3e 0a 0a 3c 4c 49 3e |P>....<UL>..<LI>| 00001b90 20 20 20 20 4f 62 6a 65 63 74 73 20 61 72 65 20 | Objects are | 00001ba0 73 74 6f 72 65 64 20 69 6e 20 61 6e 20 61 72 65 |stored in an are| 00001bb0 61 20 6f 66 20 6d 65 6d 6f 72 79 20 61 76 61 69 |a of memory avai| 00001bc0 6c 61 62 6c 65 20 74 6f 20 61 6c 6c 20 74 61 73 |lable to all tas| 00001bd0 6b 73 2e 20 28 65 67 2e 0a 44 79 6e 61 6d 69 63 |ks. (eg..Dynamic| 00001be0 20 61 72 65 61 73 29 2e 20 42 65 79 6f 6e 64 20 | areas). Beyond | 00001bf0 74 68 61 74 20 74 68 65 20 50 43 41 20 69 73 20 |that the PCA is | 00001c00 64 65 73 69 67 6e 65 64 20 74 6f 20 62 65 20 61 |designed to be a| 00001c10 73 20 74 72 61 6e 73 70 61 72 65 6e 74 20 61 73 |s transparent as| 00001c20 0a 70 6f 73 73 69 62 6c 65 20 74 6f 20 74 68 65 |.possible to the| 00001c30 20 6d 65 6d 6f 72 79 20 6d 61 6e 61 67 65 6d 65 | memory manageme| 00001c40 6e 74 20 73 79 73 74 65 6d 20 75 73 65 64 20 62 |nt system used b| 00001c50 79 20 61 20 70 72 6f 67 72 61 6d 2e 20 53 65 65 |y a program. See| 00001c60 20 62 65 6c 6f 77 20 66 6f 72 0a 73 6f 6d 65 20 | below for.some | 00001c70 6e 6f 74 65 73 20 6f 6e 20 6d 65 6d 6f 72 79 20 |notes on memory | 00001c80 6d 61 6e 61 67 65 6d 65 6e 74 20 72 65 6c 61 74 |management relat| 00001c90 65 64 20 69 73 73 75 65 73 2e 0a 0a 3c 4c 49 3e |ed issues...<LI>| 00001ca0 20 20 20 20 4f 62 6a 65 63 74 73 20 61 72 65 20 | Objects are | 00001cb0 65 69 74 68 65 72 20 65 6e 74 69 72 65 6c 79 20 |either entirely | 00001cc0 70 61 67 65 64 20 69 6e 74 6f 20 52 41 4d 20 64 |paged into RAM d| 00001cd0 75 72 69 6e 67 20 61 6e 79 20 50 43 41 20 65 78 |uring any PCA ex| 00001ce0 63 68 61 6e 67 65 2c 20 6f 72 20 61 0a 20 20 20 |change, or a. | 00001cf0 20 20 20 20 20 76 69 72 74 75 61 6c 20 6d 65 6d | virtual mem| 00001d00 6f 72 79 20 73 79 73 74 65 6d 20 77 68 69 63 68 |ory system which| 00001d10 20 69 73 20 74 72 61 6e 73 70 61 72 65 6e 74 20 | is transparent | 00001d20 74 6f 20 74 68 65 20 70 72 6f 67 72 61 6d 20 61 |to the program a| 00001d30 63 63 65 73 73 69 6e 67 20 6d 65 6d 6f 72 79 0a |ccessing memory.| 00001d40 20 20 20 20 20 20 20 20 69 73 20 75 73 65 64 20 | is used | 00001d50 28 45 67 2e 20 43 6c 61 72 65 73 20 56 69 72 74 |(Eg. Clares Virt| 00001d60 75 61 6c 69 73 65 29 2e 3c 50 3e 0a 0a 3c 4c 49 |ualise).<P>..<LI| 00001d70 3e 20 20 20 20 4f 62 6a 65 63 74 73 20 61 72 65 |> Objects are| 00001d80 20 73 74 6f 72 65 64 20 69 6e 20 61 20 63 72 6f | stored in a cro| 00001d90 73 73 2d 70 72 6f 67 72 61 6d 20 73 74 61 6e 64 |ss-program stand| 00001da0 61 72 64 20 66 6f 72 6d 61 74 20 66 6f 72 20 77 |ard format for w| 00001db0 68 69 63 68 20 74 68 65 72 65 20 69 73 20 61 0a |hich there is a.| 00001dc0 20 20 20 20 20 20 20 20 6d 65 74 68 6f 64 20 6f | method o| 00001dd0 66 20 72 65 6e 64 65 72 69 6e 67 20 72 65 61 64 |f rendering read| 00001de0 69 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 74 6f |ily available to| 00001df0 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 6d 65 | other programme| 00001e00 72 73 2e 0a 20 20 20 20 20 20 20 20 45 78 61 6d |rs.. Exam| 00001e10 70 6c 65 73 20 61 72 65 20 52 49 53 43 20 4f 53 |ples are RISC OS| 00001e20 20 53 70 72 69 74 65 73 2c 20 44 72 61 77 66 69 | Sprites, Drawfi| 00001e30 6c 65 73 2c 20 41 72 74 57 6f 72 6b 73 20 66 69 |les, ArtWorks fi| 00001e40 6c 65 73 2c 20 50 6c 61 69 6e 20 74 65 78 74 0a |les, Plain text.| 00001e50 65 74 63 2e 0a 3c 2f 55 4c 3e 3c 50 3e 49 66 20 |etc..</UL><P>If | 00001e60 79 6f 75 20 61 72 65 20 77 72 69 74 69 6e 67 20 |you are writing | 00001e70 6f 72 20 68 61 76 65 20 77 72 69 74 74 65 6e 20 |or have written | 00001e80 61 20 70 72 6f 67 72 61 6d 20 77 68 69 63 68 20 |a program which | 00001e90 70 72 6f 64 75 63 65 73 0a 64 61 74 61 20 6f 62 |produces.data ob| 00001ea0 6a 65 63 74 73 20 74 68 61 74 20 6d 61 79 20 62 |jects that may b| 00001eb0 65 20 64 65 73 69 72 61 62 6c 65 20 66 6f 72 20 |e desirable for | 00001ec0 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 73 20 74 |other programs t| 00001ed0 6f 20 72 65 6e 64 65 72 2c 20 79 6f 75 20 73 68 |o render, you sh| 00001ee0 6f 75 6c 64 0a 63 6f 6e 73 69 64 65 72 20 70 72 |ould.consider pr| 00001ef0 6f 76 69 64 69 6e 67 20 61 20 72 65 6e 64 65 72 |oviding a render| 00001f00 69 6e 67 20 6d 6f 64 75 6c 65 20 28 6f 72 20 73 |ing module (or s| 00001f10 6f 6d 65 20 63 6f 64 65 29 20 77 68 69 63 68 0a |ome code) which.| 00001f20 6f 74 68 65 72 20 61 70 70 6c 69 63 61 74 69 6f |other applicatio| 00001f30 6e 73 20 63 61 6e 20 75 73 65 20 74 6f 20 64 69 |ns can use to di| 00001f40 73 70 6c 61 79 20 79 6f 75 72 20 6f 62 6a 65 63 |splay your objec| 00001f50 74 20 74 79 70 65 73 2e 20 59 6f 75 20 73 68 6f |t types. You sho| 00001f60 75 6c 64 20 61 6c 73 6f 0a 63 6f 6e 73 69 64 65 |uld also.conside| 00001f70 72 20 70 6c 61 63 69 6e 67 20 74 68 65 20 64 65 |r placing the de| 00001f80 74 61 69 6c 73 20 28 69 66 20 6e 6f 74 20 74 68 |tails (if not th| 00001f90 65 20 72 65 6e 64 65 72 69 6e 67 20 63 6f 64 65 |e rendering code| 00001fa0 20 69 74 73 65 6c 66 29 20 69 6e 20 74 68 65 0a | itself) in the.| 00001fb0 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2e 20 3c |public domain. <| 00001fc0 50 3e 0a 0a 4e 6f 20 77 65 6c 6c 20 77 72 69 74 |P>..No well writ| 00001fd0 74 65 6e 20 52 49 53 43 20 4f 53 20 61 70 70 6c |ten RISC OS appl| 00001fe0 69 63 61 74 69 6f 6e 20 69 73 20 61 6e 20 69 73 |ication is an is| 00001ff0 6c 61 6e 64 2e 20 42 79 20 73 75 70 70 6f 72 74 |land. By support| 00002000 69 6e 67 20 74 68 65 20 50 43 41 0a 73 74 61 6e |ing the PCA.stan| 00002010 64 61 72 64 20 70 72 6f 67 72 61 6d 73 20 63 61 |dard programs ca| 00002020 6e 20 74 61 6b 65 20 61 64 76 61 6e 74 61 67 65 |n take advantage| 00002030 20 6f 66 20 65 61 63 68 20 6f 74 68 65 72 27 73 | of each other's| 00002040 20 67 6f 6f 64 20 66 65 61 74 75 72 65 73 20 61 | good features a| 00002050 6e 64 0a 6d 69 6e 69 6d 69 73 65 20 74 68 65 69 |nd.minimise thei| 00002060 72 20 77 65 61 6b 6e 65 73 73 65 73 20 77 68 69 |r weaknesses whi| 00002070 6c 65 20 70 72 6f 76 69 64 69 6e 67 20 74 68 65 |le providing the| 00002080 20 75 73 65 72 20 77 69 74 68 20 61 20 66 61 72 | user with a far| 00002090 20 72 69 63 68 65 72 20 61 6e 64 0a 6d 6f 72 65 | richer and.more| 000020a0 20 70 72 6f 64 75 63 74 69 76 65 20 77 6f 72 6b | productive work| 000020b0 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e |ing environment.| 000020c0 0a 3c 50 3e 0a 0a 3c 42 3e 0a 4d 65 6d 6f 72 79 |.<P>..<B>.Memory| 000020d0 20 6d 61 6e 61 67 65 6d 65 6e 74 20 69 73 73 75 | management issu| 000020e0 65 73 0a 3c 2f 42 3e 0a 0a 3c 50 3e 0a 0a 46 6f |es.</B>..<P>..Fo| 000020f0 72 20 62 61 63 6b 77 61 72 64 73 20 63 6f 6d 70 |r backwards comp| 00002100 61 74 61 62 69 6c 69 74 79 20 70 72 6f 67 72 61 |atability progra| 00002110 6d 73 20 74 68 61 74 20 77 69 73 68 20 74 6f 20 |ms that wish to | 00002120 75 73 65 20 50 43 41 20 6f 6e 20 70 72 65 20 52 |use PCA on pre R| 00002130 69 73 63 50 43 0a 68 61 72 64 77 61 72 65 20 63 |iscPC.hardware c| 00002140 61 6e 20 66 61 6c 6c 20 62 61 63 6b 20 74 6f 20 |an fall back to | 00002150 75 73 69 6e 67 20 74 68 65 20 52 4d 41 20 6f 72 |using the RMA or| 00002160 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 | something like | 00002170 74 68 65 20 44 79 6e 61 6d 69 74 65 0a 6d 65 6d |the Dynamite.mem| 00002180 6f 72 79 20 6d 61 6e 61 67 65 72 2e 20 57 65 20 |ory manager. We | 00002190 64 6f 20 3c 62 3e 6e 6f 74 3c 2f 62 3e 20 68 6f |do <b>not</b> ho| 000021a0 77 65 76 65 72 20 62 65 6c 69 65 76 65 20 74 68 |wever believe th| 000021b0 61 74 20 44 79 6e 61 6d 69 74 65 20 69 73 20 74 |at Dynamite is t| 000021c0 68 65 20 62 65 73 74 0a 73 6f 6c 75 74 69 6f 6e |he best.solution| 000021d0 20 66 6f 72 20 61 20 50 43 41 20 74 61 73 6b 20 | for a PCA task | 000021e0 6f 6e 20 74 68 65 20 52 69 73 63 50 43 2e 20 54 |on the RiscPC. T| 000021f0 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 44 |his is because D| 00002200 79 6e 61 6d 69 74 65 20 75 73 65 73 20 6f 6e 65 |ynamite uses one| 00002210 0a 64 79 6e 61 6d 69 63 20 61 72 65 61 20 74 6f |.dynamic area to| 00002220 20 73 74 6f 72 65 20 61 6c 6c 20 6f 66 20 69 74 | store all of it| 00002230 73 20 64 61 74 61 20 72 61 74 68 65 72 20 74 68 |s data rather th| 00002240 61 6e 20 6f 6e 65 20 64 79 6e 61 6d 69 63 20 61 |an one dynamic a| 00002250 72 65 61 20 66 6f 72 20 65 61 63 68 0a 74 61 73 |rea for each.tas| 00002260 6b 2e 20 54 68 69 73 20 70 72 61 63 74 69 63 65 |k. This practice| 00002270 20 6d 65 61 6e 73 20 74 68 61 74 2c 20 69 6e 20 | means that, in | 00002280 74 68 65 20 65 76 65 6e 74 20 6f 66 20 61 20 50 |the event of a P| 00002290 43 41 20 72 65 6d 6f 74 65 20 74 61 73 6b 20 67 |CA remote task g| 000022a0 6f 69 6e 67 0a 77 72 6f 6e 67 20 61 6e 64 20 77 |oing.wrong and w| 000022b0 72 69 74 69 6e 67 20 62 65 79 6f 6e 64 20 74 68 |riting beyond th| 000022c0 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6f 62 6a |e end of the obj| 000022d0 65 63 74 20 62 65 69 6e 67 20 65 64 69 74 65 64 |ect being edited| 000022e0 2c 20 2a 61 6c 6c 2a 20 74 61 73 6b 73 0a 75 73 |, *all* tasks.us| 000022f0 69 6e 67 20 44 79 6e 61 6d 69 74 65 20 63 6f 75 |ing Dynamite cou| 00002300 6c 64 20 63 72 61 73 68 20 72 61 74 68 65 72 20 |ld crash rather | 00002310 74 68 61 6e 20 6a 75 73 74 20 74 68 65 20 6f 6e |than just the on| 00002320 65 20 6c 6f 63 61 6c 20 74 61 73 6b 20 69 6e 20 |e local task in | 00002330 71 75 65 73 74 69 6f 6e 2e 0a 41 6c 73 6f 2c 20 |question..Also, | 00002340 44 79 6e 61 6d 69 74 65 20 77 69 6c 6c 20 6e 6f |Dynamite will no| 00002350 74 20 77 6f 72 6b 20 77 69 74 68 20 3c 69 3e 56 |t work with <i>V| 00002360 69 72 74 75 61 6c 69 73 65 3c 2f 69 3e 20 77 68 |irtualise</i> wh| 00002370 69 63 68 20 70 72 6f 76 69 64 65 73 20 61 20 50 |ich provides a P| 00002380 43 41 0a 63 6f 6d 70 61 74 69 62 6c 65 20 76 69 |CA.compatible vi| 00002390 72 74 75 61 6c 20 6d 65 6d 6f 72 79 20 73 79 73 |rtual memory sys| 000023a0 74 65 6d 2e 3c 50 3e 20 0a 0a 3c 50 3e 0a 3c 41 |tem.<P> ..<P>.<A| 000023b0 20 48 52 45 46 3d 22 23 74 6f 70 22 3e 52 65 74 | HREF="#top">Ret| 000023c0 75 72 6e 20 74 6f 20 43 6f 6e 74 65 6e 74 73 3c |urn to Contents<| 000023d0 2f 41 3e 0a 3c 48 52 3e 0a 0a 0a 3c 48 31 3e 3c |/A>.<HR>...<H1><| 000023e0 41 20 4e 41 4d 45 3d 22 6d 65 73 64 65 66 73 22 |A NAME="mesdefs"| 000023f0 3e 50 6c 75 67 20 49 6e 20 43 6f 6d 70 6c 69 61 |>Plug In Complia| 00002400 6e 74 20 41 70 70 6c 69 63 61 74 69 6f 6e 20 4d |nt Application M| 00002410 65 73 73 61 67 65 20 73 70 65 63 69 66 69 63 61 |essage specifica| 00002420 74 69 6f 6e 3c 2f 41 3e 3c 2f 48 31 3e 20 20 3c |tion</A></H1> <| 00002430 50 3e 0a 0a 0a 0a 3c 41 55 3e 0a 20 3c 2f 50 3e |P>....<AU>. </P>| 00002440 20 41 75 74 68 6f 72 20 20 3a 20 52 6f 62 20 44 | Author : Rob D| 00002450 61 76 69 73 6f 6e 20 28 72 64 61 76 69 73 6f 6e |avison (rdavison| 00002460 40 78 74 72 61 2e 63 6f 2e 6e 7a 29 3c 42 52 3e |@xtra.co.nz)<BR>| 00002470 0a 44 61 74 65 20 20 20 20 3a 20 30 31 2f 30 38 |.Date : 01/08| 00002480 2f 39 36 3c 42 52 3e 0a 53 74 61 74 75 73 20 20 |/96<BR>.Status | 00002490 3a 20 52 65 6c 65 61 73 65 20 31 3c 42 52 3e 0a |: Release 1<BR>.| 000024a0 3c 2f 41 55 3e 0a 0a 3c 50 3e 0a 4d 65 73 73 61 |</AU>..<P>.Messa| 000024b0 67 65 20 49 6e 64 65 78 3c 42 52 3e 0a 0a 0a 3c |ge Index<BR>...<| 000024c0 55 4c 3e 0a 3c 54 54 3e 0a 0a 3c 4c 49 3e 3c 41 |UL>.<TT>..<LI><A| 000024d0 20 48 52 45 46 3d 22 23 77 68 6f 73 22 3e 4d 65 | HREF="#whos">Me| 000024e0 73 73 61 67 65 5f 57 68 6f 73 41 62 6f 75 74 30 |ssage_WhosAbout0| 000024f0 78 38 33 34 38 34 3c 2f 41 3e 0a 3c 4c 49 3e 3c |x83484</A>.<LI><| 00002500 41 20 48 52 45 46 3d 22 23 69 6d 22 3e 4d 65 73 |A HREF="#im">Mes| 00002510 73 61 67 65 5f 49 6d 48 65 72 65 30 78 38 33 34 |sage_ImHere0x834| 00002520 38 35 3c 2f 41 3e 0a 3c 4c 49 3e 3c 41 20 48 52 |85</A>.<LI><A HR| 00002530 45 46 3d 22 23 64 6f 22 3e 4d 65 73 73 61 67 65 |EF="#do">Message| 00002540 5f 44 6f 59 6f 75 72 53 74 75 66 66 30 78 38 33 |_DoYourStuff0x83| 00002550 34 38 36 3c 2f 41 3e 0a 3c 4c 49 3e 3c 41 20 48 |486</A>.<LI><A H| 00002560 52 45 46 3d 22 23 64 65 73 65 6c 22 3e 4d 65 73 |REF="#desel">Mes| 00002570 73 61 67 65 5f 44 65 73 65 6c 65 63 74 30 78 38 |sage_Deselect0x8| 00002580 33 34 38 37 3c 2f 41 3e 0a 3c 4c 49 3e 3c 41 20 |3487</A>.<LI><A | 00002590 48 52 45 46 3d 22 23 64 6f 6e 65 22 3e 4d 65 73 |HREF="#done">Mes| 000025a0 73 61 67 65 5f 44 6f 6e 65 4d 79 53 74 75 66 66 |sage_DoneMyStuff| 000025b0 30 78 38 33 34 38 38 3c 2f 41 3e 0a 3c 4c 49 3e |0x83488</A>.<LI>| 000025c0 3c 41 20 48 52 45 46 3d 22 23 63 68 61 6e 67 65 |<A HREF="#change| 000025d0 64 22 3e 4d 65 73 73 61 67 65 5f 43 68 61 6e 67 |d">Message_Chang| 000025e0 65 64 30 78 38 33 34 38 41 3c 2f 41 3e 0a 3c 4c |ed0x8348A</A>.<L| 000025f0 49 3e 3c 41 20 48 52 45 46 3d 22 23 72 65 73 69 |I><A HREF="#resi| 00002600 7a 65 22 3e 4d 65 73 73 61 67 65 5f 52 65 73 69 |ze">Message_Resi| 00002610 7a 65 52 65 71 75 65 73 74 30 78 38 33 34 38 42 |zeRequest0x8348B| 00002620 3c 2f 41 3e 0a 3c 4c 49 3e 3c 41 20 48 52 45 46 |</A>.<LI><A HREF| 00002630 3d 22 23 75 70 64 61 74 65 22 3e 4d 65 73 73 61 |="#update">Messa| 00002640 67 65 5f 55 70 64 61 74 65 41 72 65 61 30 78 38 |ge_UpdateArea0x8| 00002650 33 34 38 43 3c 2f 41 3e 0a 3c 4c 49 3e 3c 41 20 |348C</A>.<LI><A | 00002660 48 52 45 46 3d 22 23 72 65 73 69 7a 65 61 63 6b |HREF="#resizeack| 00002670 22 3e 4d 65 73 73 61 67 65 5f 52 65 73 69 7a 65 |">Message_Resize| 00002680 41 63 6b 30 78 38 33 34 38 44 3c 2f 41 3e 0a 3c |Ack0x8348D</A>.<| 00002690 4c 49 3e 3c 41 20 48 52 45 46 3d 22 23 6d 69 73 |LI><A HREF="#mis| 000026a0 63 22 3e 4d 65 73 73 61 67 65 5f 4d 69 73 63 4f |c">Message_MiscO| 000026b0 70 30 78 38 33 34 38 45 3c 2f 41 3e 0a 3c 4c 49 |p0x8348E</A>.<LI| 000026c0 3e 3c 41 20 48 52 45 46 3d 22 23 69 6e 66 6f 22 |><A HREF="#info"| 000026d0 3e 4d 65 73 73 61 67 65 5f 49 6e 66 6f 30 78 38 |>Message_Info0x8| 000026e0 33 34 38 46 3c 2f 41 3e 0a 3c 4c 49 3e 3c 41 20 |348F</A>.<LI><A | 000026f0 48 52 45 46 3d 22 23 70 6f 73 22 3e 4d 65 73 73 |HREF="#pos">Mess| 00002700 61 67 65 5f 4f 62 6a 65 63 74 50 6f 73 69 74 69 |age_ObjectPositi| 00002710 6f 6e 30 78 38 33 34 39 30 3c 2f 41 3e 0a 3c 4c |on0x83490</A>.<L| 00002720 49 3e 3c 41 20 48 52 45 46 3d 22 23 68 6f 6f 6b |I><A HREF="#hook| 00002730 22 3e 4d 65 73 73 61 67 65 5f 48 6f 6f 6b 4d 65 |">Message_HookMe| 00002740 30 78 38 33 34 39 31 3c 2f 41 3e 0a 3c 4c 49 3e |0x83491</A>.<LI>| 00002750 3c 41 20 48 52 45 46 3d 22 23 75 6e 68 6f 6f 6b |<A HREF="#unhook| 00002760 22 3e 4d 65 73 73 61 67 65 5f 55 6e 68 6f 6f 6b |">Message_Unhook| 00002770 4d 65 30 78 38 33 34 39 32 3c 2f 41 3e 0a 0a 0a |Me0x83492</A>...| 00002780 3c 2f 55 4c 3e 0a 3c 2f 54 54 3e 0a 0a 3c 50 3e |</UL>.</TT>..<P>| 00002790 0a 0a 0a 3c 42 3e 0a 4e 6f 74 65 73 3a 0a 3c 2f |...<B>.Notes:.</| 000027a0 42 3e 0a 3c 50 3e 0a 0a 0a 46 69 6c 65 74 79 70 |B>.<P>...Filetyp| 000027b0 65 20 69 73 20 64 69 76 69 64 65 64 20 69 6e 74 |e is divided int| 000027c0 6f 20 74 77 6f 20 66 69 65 6c 64 73 20 77 69 74 |o two fields wit| 000027d0 68 20 74 68 69 73 20 66 6f 72 6d 61 74 3a 0a 0a |h this format:..| 000027e0 3c 50 52 45 3e 0a 0a 20 20 20 20 20 20 20 20 20 |<PRE>.. | 000027f0 20 20 62 20 30 2d 31 32 20 52 49 53 43 20 4f 53 | b 0-12 RISC OS| 00002800 20 66 69 6c 65 74 79 70 65 0a 20 20 20 20 20 20 | filetype. | 00002810 20 20 20 20 20 62 31 33 2d 33 31 20 72 65 73 65 | b13-31 rese| 00002820 72 76 65 64 20 2d 20 7a 65 72 6f 2e 0a 0a 3c 2f |rved - zero...</| 00002830 50 52 45 3e 0a 0a 3c 50 3e 0a 0a 4f 6e 20 72 65 |PRE>..<P>..On re| 00002840 61 64 69 6e 67 2c 20 70 6c 65 61 73 65 20 6d 61 |ading, please ma| 00002850 73 6b 20 62 69 74 73 20 31 33 2d 33 31 20 6f 75 |sk bits 13-31 ou| 00002860 74 20 62 65 66 6f 72 65 20 63 68 65 63 6b 69 6e |t before checkin| 00002870 67 20 74 68 65 20 66 69 6c 65 74 79 70 65 2e 0a |g the filetype..| 00002880 3c 50 3e 0a 0a 53 74 72 69 6e 67 73 20 61 72 65 |<P>..Strings are| 00002890 20 6e 75 6c 6c 20 74 65 72 6d 69 6e 61 74 65 64 | null terminated| 000028a0 20 62 75 74 20 73 75 70 70 6f 72 74 69 6e 67 20 | but supporting | 000028b0 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 73 68 6f |applications sho| 000028c0 75 6c 64 20 61 63 63 65 70 74 20 43 74 72 6c 2e |uld accept Ctrl.| 000028d0 0a 74 65 72 6d 69 6e 61 74 65 64 20 28 41 53 43 |.terminated (ASC| 000028e0 49 49 20 30 2d 33 31 29 2e 3c 50 3e 0a 0a 0a 27 |II 0-31).<P>...'| 000028f0 41 64 64 72 65 73 73 20 6f 66 20 62 61 73 65 27 |Address of base'| 00002900 20 69 73 20 74 68 65 20 62 65 67 69 6e 6e 69 6e | is the beginnin| 00002910 67 20 6f 66 20 74 68 65 20 64 61 74 61 20 73 74 |g of the data st| 00002920 72 75 63 74 75 72 65 20 77 68 69 63 68 20 63 6f |ructure which co| 00002930 6e 74 61 69 6e 73 20 74 68 65 20 6f 62 6a 65 63 |ntains the objec| 00002940 74 2e 3c 50 3e 0a 27 4f 66 66 73 65 74 20 74 6f |t.<P>.'Offset to| 00002950 20 6f 62 6a 65 63 74 27 20 69 73 20 74 68 65 20 | object' is the | 00002960 6f 66 66 73 65 74 20 66 72 6f 6d 20 74 68 65 20 |offset from the | 00002970 41 64 64 72 65 73 73 20 6f 66 20 62 61 73 65 20 |Address of base | 00002980 74 6f 20 74 68 65 20 6f 62 6a 65 63 74 2d 6f 66 |to the object-of| 00002990 2d 69 6e 74 65 72 65 73 74 0a 3c 50 3e 0a 0a 46 |-interest.<P>..F| 000029a0 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 |or example, the | 000029b0 27 4f 66 66 73 65 74 20 74 6f 20 6f 62 6a 65 63 |'Offset to objec| 000029c0 74 27 20 6f 66 20 61 20 73 70 72 69 74 65 20 69 |t' of a sprite i| 000029d0 73 20 74 68 65 20 6f 66 66 73 65 74 20 74 6f 20 |s the offset to | 000029e0 74 68 65 20 73 70 72 69 74 65 0a 69 74 73 65 6c |the sprite.itsel| 000029f0 66 20 28 62 61 73 65 21 38 20 66 6f 72 20 74 68 |f (base!8 for th| 00002a00 65 20 66 69 72 73 74 20 73 70 72 69 74 65 20 69 |e first sprite i| 00002a10 6e 20 61 20 73 70 72 69 74 65 20 61 72 65 61 29 |n a sprite area)| 00002a20 2e 20 54 68 65 20 27 41 64 64 72 65 73 73 20 6f |. The 'Address o| 00002a30 66 20 62 61 73 65 27 0a 69 73 20 74 68 65 20 61 |f base'.is the a| 00002a40 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 73 70 |ddress of the sp| 00002a50 72 69 74 65 20 61 72 65 61 20 69 6e 20 77 68 69 |rite area in whi| 00002a60 63 68 20 74 68 65 20 73 70 72 69 74 65 20 72 65 |ch the sprite re| 00002a70 73 69 64 65 73 2e 20 46 6f 72 20 6f 62 6a 65 63 |sides. For objec| 00002a80 74 73 0a 77 68 65 72 65 20 74 68 65 20 6f 66 66 |ts.where the off| 00002a90 73 65 74 20 68 61 73 20 6e 6f 20 6d 65 61 6e 69 |set has no meani| 00002aa0 6e 67 20 74 68 65 20 6f 66 66 73 65 74 20 74 6f |ng the offset to| 00002ab0 20 74 68 65 20 6f 62 6a 65 63 74 20 6d 75 73 74 | the object must| 00002ac0 20 62 65 20 7a 65 72 6f 2e 0a 0a 3c 50 3e 0a 0a | be zero...<P>..| 00002ad0 54 68 65 20 50 43 41 20 72 65 66 65 72 65 6e 63 |The PCA referenc| 00002ae0 65 73 20 6f 62 6a 65 63 74 73 20 75 73 69 6e 67 |es objects using| 00002af0 20 27 74 61 67 73 27 2e 20 45 61 63 68 20 74 61 | 'tags'. Each ta| 00002b00 67 20 69 73 20 75 73 75 61 6c 6c 79 20 31 36 20 |g is usually 16 | 00002b10 62 79 74 65 73 20 69 6e 20 6c 65 6e 67 74 68 0a |bytes in length.| 00002b20 61 6e 64 20 69 74 73 20 66 6f 72 6d 61 74 20 69 |and its format i| 00002b30 73 20 64 65 66 69 6e 65 64 20 74 68 75 73 3a 3c |s defined thus:<| 00002b40 50 3e 0a 3c 50 52 45 3e 0a 74 61 67 2b 30 20 20 |P>.<PRE>.tag+0 | 00002b50 3d 20 41 64 64 72 65 73 73 20 6f 66 20 62 61 73 |= Address of bas| 00002b60 65 2e 20 28 61 6e 63 68 6f 72 29 0a 74 61 67 2b |e. (anchor).tag+| 00002b70 34 20 20 3d 20 4f 66 66 73 65 74 20 74 6f 20 6f |4 = Offset to o| 00002b80 62 6a 65 63 74 20 66 72 6f 6d 20 62 61 73 65 2e |bject from base.| 00002b90 0a 74 61 67 2b 38 20 20 3d 20 4c 65 6e 67 74 68 |.tag+8 = Length| 00002ba0 20 6f 66 20 6f 62 6a 65 63 74 2e 20 28 69 66 20 | of object. (if | 00002bb0 61 70 70 6c 69 63 61 62 6c 65 20 2d 20 73 65 65 |applicable - see| 00002bc0 20 6e 6f 74 65 20 62 65 6c 6f 77 29 0a 74 61 67 | note below).tag| 00002bd0 2b 31 32 20 3d 20 45 78 74 65 6e 73 69 6f 6e 20 |+12 = Extension | 00002be0 73 69 7a 65 20 61 6e 64 20 66 6c 61 67 73 0a 20 |size and flags. | 00002bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 30 | b0| 00002c00 2d 31 35 20 54 68 65 73 65 20 62 69 74 73 20 61 |-15 These bits a| 00002c10 72 65 20 74 6f 20 70 72 6f 76 69 64 65 20 66 6f |re to provide fo| 00002c20 72 20 65 78 70 61 6e 73 69 6f 6e 20 6f 66 20 74 |r expansion of t| 00002c30 68 65 20 73 69 7a 65 20 6f 66 20 61 0a 20 20 20 |he size of a. | 00002c40 20 20 20 20 20 20 20 20 20 20 20 20 74 61 67 20 | tag | 00002c50 62 79 20 75 70 20 74 6f 20 36 35 35 33 32 20 62 |by up to 65532 b| 00002c60 79 74 65 73 2e 20 54 79 70 69 63 61 6c 6c 79 2c |ytes. Typically,| 00002c70 20 74 68 69 73 20 69 73 20 66 6f 72 20 61 70 70 | this is for app| 00002c80 2e 20 6f 72 20 6f 62 6a 65 63 74 0a 20 20 20 20 |. or object. | 00002c90 20 20 20 20 20 20 20 20 20 20 20 73 70 65 63 69 | speci| 00002ca0 66 69 63 20 64 61 74 61 2e 20 54 68 69 73 20 64 |fic data. This d| 00002cb0 6f 63 75 6d 65 6e 74 20 73 70 65 63 69 66 69 65 |ocument specifie| 00002cc0 73 20 74 77 6f 20 65 78 74 65 6e 73 69 6f 6e 73 |s two extensions| 00002cd0 20 74 6f 20 73 68 6f 77 0a 20 20 20 20 20 20 20 | to show. | 00002ce0 20 20 20 20 20 20 20 20 79 6f 75 20 68 6f 77 20 | you how | 00002cf0 69 74 27 73 20 64 6f 6e 65 2e 20 44 65 74 61 69 |it's done. Detai| 00002d00 6c 73 20 62 65 6c 6f 77 2e 0a 0a 20 20 20 20 20 |ls below... | 00002d10 20 20 20 20 20 20 20 20 20 20 62 31 36 2d 33 31 | b16-31| 00002d20 20 28 72 65 73 65 72 76 65 64 2c 20 73 65 74 20 | (reserved, set | 00002d30 74 6f 20 7a 65 72 6f 29 0a 3c 2f 50 52 45 3e 0a |to zero).</PRE>.| 00002d40 0a 54 68 65 20 66 69 72 73 74 20 74 77 6f 20 76 |.The first two v| 00002d50 61 6c 75 65 73 20 69 6e 20 61 20 74 61 67 20 61 |alues in a tag a| 00002d60 72 65 20 6d 6f 73 74 20 69 6d 70 6f 72 74 61 6e |re most importan| 00002d70 74 20 61 73 20 74 68 65 79 20 61 72 65 20 70 6f |t as they are po| 00002d80 69 6e 74 65 72 73 20 74 6f 20 74 68 65 0a 61 64 |inters to the.ad| 00002d90 64 72 65 73 73 20 6f 66 20 74 68 65 20 6f 62 6a |dress of the obj| 00002da0 65 63 74 20 61 6e 64 20 74 68 65 20 62 61 73 65 |ect and the base| 00002db0 20 6f 66 20 74 68 65 20 64 61 74 61 20 73 74 72 | of the data str| 00002dc0 75 63 74 75 72 65 20 63 6f 6e 74 61 69 6e 69 6e |ucture containin| 00002dd0 67 20 69 74 2e 0a 52 65 6d 6f 74 65 20 74 61 73 |g it..Remote tas| 00002de0 6b 73 20 6d 75 73 74 20 3c 42 3e 2a 61 6c 77 61 |ks must <B>*alwa| 00002df0 79 73 2a 3c 2f 42 3e 20 72 65 66 65 72 65 6e 63 |ys*</B> referenc| 00002e00 65 20 61 6e 20 6f 62 6a 65 63 74 20 62 79 20 72 |e an object by r| 00002e10 65 61 64 69 6e 67 20 74 68 65 73 65 20 76 61 6c |eading these val| 00002e20 75 65 73 2e 0a 47 65 6e 65 72 61 6c 6c 79 20 73 |ues..Generally s| 00002e30 70 65 61 6b 69 6e 67 2c 20 52 65 6d 6f 74 65 20 |peaking, Remote | 00002e40 74 61 73 6b 73 20 63 61 6e 20 75 73 75 61 6c 6c |tasks can usuall| 00002e50 79 20 74 72 75 73 74 20 74 68 65 20 61 64 64 72 |y trust the addr| 00002e60 65 73 73 20 61 6e 64 20 6f 66 66 73 65 74 0a 75 |ess and offset.u| 00002e70 6e 74 69 6c 20 74 68 65 20 6e 65 78 74 20 57 69 |ntil the next Wi| 00002e80 6d 70 5f 50 6f 6c 6c 20 62 75 74 20 69 66 20 69 |mp_Poll but if i| 00002e90 6e 20 64 6f 75 62 74 2c 20 72 65 2d 72 65 61 64 |n doubt, re-read| 00002ea0 20 69 74 20 66 72 6f 6d 20 74 68 65 20 74 61 67 | it from the tag| 00002eb0 2e 20 54 68 65 20 4c 6f 63 61 6c 0a 74 61 73 6b |. The Local.task| 00002ec0 20 68 61 73 20 74 68 65 20 72 65 73 70 6f 6e 73 | has the respons| 00002ed0 69 62 69 6c 69 74 79 20 6f 66 20 63 72 65 61 74 |ibility of creat| 00002ee0 69 6e 67 20 74 68 65 20 6f 62 6a 65 63 74 27 73 |ing the object's| 00002ef0 20 74 61 67 20 77 68 65 6e 20 74 68 65 20 6f 62 | tag when the ob| 00002f00 6a 65 63 74 0a 6a 6f 69 6e 73 20 74 68 65 20 50 |ject.joins the P| 00002f10 43 41 20 73 79 73 74 65 6d 2c 20 75 70 64 61 74 |CA system, updat| 00002f20 69 6e 67 20 74 68 65 20 72 65 6c 65 76 61 6e 74 |ing the relevant| 00002f30 20 66 69 65 6c 64 73 20 69 6e 20 74 68 65 20 74 | fields in the t| 00002f40 61 67 20 69 66 20 74 68 65 20 6f 62 6a 65 63 74 |ag if the object| 00002f50 0a 69 73 20 6d 6f 76 65 64 20 6f 72 20 72 65 73 |.is moved or res| 00002f60 69 7a 65 64 20 61 6e 64 20 64 69 73 63 61 72 64 |ized and discard| 00002f70 69 6e 67 20 74 68 65 20 74 61 67 20 77 68 65 6e |ing the tag when| 00002f80 20 69 74 20 69 73 20 73 75 72 65 20 69 74 20 69 | it is sure it i| 00002f90 73 20 6e 6f 20 6c 6f 6e 67 65 72 0a 6e 65 65 64 |s no longer.need| 00002fa0 65 64 2e 20 54 61 67 73 20 6d 75 73 74 20 74 68 |ed. Tags must th| 00002fb0 65 6d 73 65 6c 76 65 73 20 62 65 20 69 6e 20 61 |emselves be in a| 00002fc0 20 63 6f 6d 6d 6f 6e 20 6d 65 6d 6f 72 79 20 61 | common memory a| 00002fd0 72 65 61 20 61 6e 64 20 74 68 65 79 20 3c 65 6d |rea and they <em| 00002fe0 3e 6d 75 73 74 0a 6e 6f 74 20 6d 6f 76 65 3c 2f |>must.not move</| 00002ff0 65 6d 3e 20 64 75 72 69 6e 67 20 74 68 65 20 6c |em> during the l| 00003000 69 66 65 74 69 6d 65 20 6f 66 20 74 68 65 20 6f |ifetime of the o| 00003010 62 6a 65 63 74 20 69 6e 20 74 68 65 20 50 43 41 |bject in the PCA| 00003020 20 73 79 73 74 65 6d 2e 20 43 6c 61 72 65 73 0a | system. Clares.| 00003030 70 72 6f 76 69 64 65 20 61 20 73 6d 61 6c 6c 20 |provide a small | 00003040 6d 6f 64 75 6c 65 20 63 61 6c 6c 65 64 20 27 50 |module called 'P| 00003050 43 41 53 75 70 70 6f 72 74 27 20 77 68 69 63 68 |CASupport' which| 00003060 20 6d 61 79 20 62 65 20 66 72 65 65 6c 79 20 64 | may be freely d| 00003070 69 73 74 72 69 62 75 74 65 64 0a 62 79 20 72 65 |istributed.by re| 00003080 67 69 73 74 65 72 65 64 20 50 43 41 20 64 65 76 |gistered PCA dev| 00003090 65 6c 6f 70 65 72 73 20 74 6f 20 66 61 63 69 6c |elopers to facil| 000030a0 69 74 61 74 65 20 74 68 65 20 63 72 65 61 74 69 |itate the creati| 000030b0 6f 6e 20 6f 66 20 50 43 41 20 74 61 67 73 20 66 |on of PCA tags f| 000030c0 6f 72 0a 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 |or.applications | 000030d0 77 68 69 63 68 20 64 6f 20 6e 6f 74 20 77 61 6e |which do not wan| 000030e0 74 20 74 6f 20 63 72 65 61 74 65 20 74 61 67 73 |t to create tags| 000030f0 20 74 68 65 6d 73 65 6c 76 65 73 2e 0a 0a 3c 70 | themselves...<p| 00003100 3e 0a 0a 4e 6f 74 65 73 3a 3c 70 3e 0a 0a 4d 61 |>..Notes:<p>..Ma| 00003110 6e 79 20 6f 62 6a 65 63 74 73 20 73 74 6f 72 65 |ny objects store| 00003120 20 74 68 65 69 72 20 6c 65 6e 67 74 68 20 77 69 | their length wi| 00003130 74 68 69 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 |thin the object | 00003140 64 61 74 61 20 73 74 72 75 63 74 75 72 65 20 69 |data structure i| 00003150 74 73 65 6c 66 20 61 6e 64 0a 69 6e 20 74 68 61 |tself and.in tha| 00003160 74 20 63 61 73 65 20 79 6f 75 20 3c 62 3e 6d 75 |t case you <b>mu| 00003170 73 74 3c 2f 62 3e 20 75 73 65 20 74 68 65 20 76 |st</b> use the v| 00003180 61 6c 75 65 20 73 74 6f 72 65 64 20 77 69 74 68 |alue stored with| 00003190 69 6e 20 74 68 65 20 6f 62 6a 65 63 74 27 73 20 |in the object's | 000031a0 64 61 74 61 0a 69 6e 73 74 65 61 64 20 6f 66 20 |data.instead of | 000031b0 72 65 6c 79 69 6e 67 20 6f 6e 20 74 68 65 20 6c |relying on the l| 000031c0 65 6e 67 74 68 20 66 69 65 6c 64 20 69 6e 20 74 |ength field in t| 000031d0 68 65 20 74 61 67 2e 20 49 74 20 69 73 20 69 6e |he tag. It is in| 000031e0 74 65 6e 64 65 64 20 66 6f 72 20 6f 62 6a 65 63 |tended for objec| 000031f0 74 0a 74 79 70 65 73 20 77 68 69 63 68 20 69 6e |t.types which in| 00003200 63 6c 75 64 65 20 6e 6f 20 72 65 63 6f 72 64 20 |clude no record | 00003210 6f 66 20 74 68 65 69 72 20 73 69 7a 65 20 28 74 |of their size (t| 00003220 65 78 74 20 66 6f 72 20 65 78 61 6d 70 6c 65 29 |ext for example)| 00003230 2e 0a 0a 3c 50 3e 0a 0a 54 61 67 20 65 78 74 65 |...<P>..Tag exte| 00003240 6e 73 69 6f 6e 73 20 6d 75 73 74 20 61 64 68 65 |nsions must adhe| 00003250 72 65 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 |re to the follow| 00003260 69 6e 67 20 73 74 61 6e 64 61 72 64 3a 0a 3c 70 |ing standard:.<p| 00003270 72 65 3e 0a 74 61 67 2b 31 32 2e 62 30 2d 31 35 |re>.tag+12.b0-15| 00003280 20 20 20 3d 20 28 62 79 74 65 73 20 72 65 71 75 | = (bytes requ| 00003290 69 72 65 64 2b 34 29 2e 20 4d 75 6c 74 69 70 6c |ired+4). Multipl| 000032a0 65 73 20 6f 66 20 34 20 62 79 74 65 73 20 6f 6e |es of 4 bytes on| 000032b0 6c 79 2e 0a 74 61 67 2b 31 36 20 20 20 20 20 20 |ly..tag+16 | 000032c0 20 20 20 20 20 65 78 74 65 6e 73 69 6f 6e 20 69 | extension i| 000032d0 64 2e 20 54 79 70 65 73 20 30 2d 26 66 66 66 20 |d. Types 0-&fff | 000032e0 61 72 65 20 72 65 73 65 72 76 65 64 20 66 6f 72 |are reserved for| 000032f0 20 43 6c 61 72 65 73 20 50 43 41 2e 0a 20 20 20 | Clares PCA.. | 00003300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 | Ot| 00003310 68 65 72 20 76 61 6c 75 65 73 20 61 72 65 20 61 |her values are a| 00003320 6c 6c 6f 63 61 74 65 64 20 69 6e 20 6c 69 6e 65 |llocated in line| 00003330 20 77 69 74 68 20 53 57 49 2f 4d 65 73 73 61 67 | with SWI/Messag| 00003340 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |e. | 00003350 20 20 20 63 68 75 6e 6b 20 6e 75 6d 62 65 72 73 | chunk numbers| 00003360 20 66 6f 72 20 61 70 70 6c 69 63 61 74 69 6f 6e | for application| 00003370 20 64 65 76 65 6c 6f 70 65 72 73 2e 0a 28 65 78 | developers..(ex| 00003380 74 65 6e 64 65 64 20 64 61 74 61 20 64 65 70 65 |tended data depe| 00003390 6e 64 61 6e 74 20 6f 6e 20 74 61 67 20 69 64 29 |ndant on tag id)| 000033a0 0a 3c 2f 70 72 65 3e 0a 0a 54 6f 20 67 69 76 65 |.</pre>..To give| 000033b0 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 61 | an example of a| 000033c0 20 74 61 67 20 65 78 74 65 6e 73 69 6f 6e 20 77 | tag extension w| 000033d0 65 20 64 65 66 69 6e 65 20 74 77 6f 20 74 61 67 |e define two tag| 000033e0 20 65 78 74 65 6e 73 69 6f 6e 73 20 77 68 69 63 | extensions whic| 000033f0 68 20 6d 61 79 0a 62 65 20 75 73 65 64 20 77 69 |h may.be used wi| 00003400 74 68 20 50 43 41 20 74 65 78 74 20 6f 62 6a 65 |th PCA text obje| 00003410 63 74 73 2e 0a 0a 3c 70 3e 0a 0a 3c 70 72 65 3e |cts...<p>..<pre>| 00003420 0a 0a 53 69 6d 70 6c 65 20 74 65 78 74 20 6f 62 |..Simple text ob| 00003430 6a 65 63 74 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |ject.-----------| 00003440 2d 2d 2d 2d 2d 2d 2d 0a 74 61 67 2b 31 32 20 38 |-------.tag+12 8| 00003450 0a 74 61 67 2b 31 36 20 26 46 46 46 0a 74 61 67 |.tag+16 &FFF.tag| 00003460 2b 32 30 20 6c 65 6e 67 74 68 20 6f 66 20 62 75 |+20 length of bu| 00003470 66 66 65 72 20 61 6c 6c 6f 63 61 74 65 64 20 74 |ffer allocated t| 00003480 6f 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 |o object. | 00003490 28 69 65 20 74 68 65 20 72 65 6d 6f 74 65 20 74 |(ie the remote t| 000034a0 61 73 6b 20 63 61 6e 20 65 78 74 65 6e 64 20 74 |ask can extend t| 000034b0 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 74 |he size of the t| 000034c0 65 78 74 20 28 61 73 20 67 69 76 65 6e 20 61 74 |ext (as given at| 000034d0 20 74 61 67 2b 38 29 0a 20 20 20 20 20 20 20 75 | tag+8). u| 000034e0 6e 74 69 6c 20 69 74 73 20 73 69 7a 65 20 72 65 |ntil its size re| 000034f0 61 63 68 65 73 20 74 61 67 2b 32 30 20 62 79 74 |aches tag+20 byt| 00003500 65 73 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e |es before callin| 00003510 67 20 4d 65 73 73 61 67 65 5f 52 65 73 69 7a 65 |g Message_Resize| 00003520 2e 0a 0a 45 64 69 74 65 64 20 74 65 78 74 20 6f |...Edited text o| 00003530 62 6a 65 63 74 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |bject.----------| 00003540 2d 2d 2d 2d 2d 2d 2d 2d 0a 74 61 67 2b 31 32 20 |--------.tag+12 | 00003550 31 36 0a 74 61 67 2b 31 36 20 26 46 46 45 0a 74 |16.tag+16 &FFE.t| 00003560 61 67 2b 32 30 20 6c 65 6e 67 74 68 20 6f 66 20 |ag+20 length of | 00003570 62 75 66 66 65 72 20 66 6f 72 20 66 69 72 73 74 |buffer for first| 00003580 20 63 68 75 6e 6b 0a 74 61 67 2b 32 34 20 6f 66 | chunk.tag+24 of| 00003590 66 73 65 74 20 74 6f 20 72 65 73 74 20 6f 66 20 |fset to rest of | 000035a0 74 65 78 74 20 66 72 6f 6d 20 6f 62 6a 65 63 74 |text from object| 000035b0 20 62 61 73 65 0a 74 61 67 2b 32 38 20 6c 65 6e | base.tag+28 len| 000035c0 67 74 68 20 6f 66 20 72 65 73 74 20 6f 66 20 74 |gth of rest of t| 000035d0 65 78 74 0a 3c 2f 70 72 65 3e 0a 0a 45 64 69 74 |ext.</pre>..Edit| 000035e0 65 64 20 74 65 78 74 20 6f 62 6a 65 63 74 73 20 |ed text objects | 000035f0 61 72 65 20 73 70 6c 69 74 20 69 6e 74 6f 20 74 |are split into t| 00003600 77 6f 20 73 65 70 61 72 61 74 65 20 70 61 72 74 |wo separate part| 00003610 73 2c 20 74 68 65 20 70 6f 69 6e 74 65 72 20 74 |s, the pointer t| 00003620 6f 20 62 61 73 65 0a 61 74 20 74 68 65 20 62 65 |o base.at the be| 00003630 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 74 |ginning of the t| 00003640 61 67 2c 20 70 6f 69 6e 74 73 20 74 6f 20 74 68 |ag, points to th| 00003650 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 66 |e start of the f| 00003660 69 72 73 74 20 63 68 75 6e 6b 20 6f 66 20 74 65 |irst chunk of te| 00003670 78 74 2c 0a 74 68 65 20 6f 66 66 73 65 74 20 74 |xt,.the offset t| 00003680 6f 20 6f 62 6a 65 63 74 20 70 6f 69 6e 74 73 20 |o object points | 00003690 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 |to the end of th| 000036a0 69 73 20 63 68 75 6e 6b 20 6f 66 20 74 65 78 74 |is chunk of text| 000036b0 20 28 3d 20 74 68 65 20 63 61 72 65 74 0a 70 6f | (= the caret.po| 000036c0 73 69 74 69 6f 6e 29 20 77 68 69 6c 65 20 74 68 |sition) while th| 000036d0 65 20 76 61 6c 75 65 73 20 61 74 20 74 61 67 2b |e values at tag+| 000036e0 32 34 20 61 6e 64 20 74 61 67 2b 32 38 20 70 6f |24 and tag+28 po| 000036f0 69 6e 74 20 74 6f 20 74 68 65 20 72 65 73 74 20 |int to the rest | 00003700 6f 66 20 74 68 65 0a 74 65 78 74 2e 20 53 75 69 |of the.text. Sui| 00003710 74 61 62 6c 65 20 6d 61 6e 69 70 75 6c 61 74 69 |table manipulati| 00003720 6f 6e 20 6f 66 20 74 68 65 73 65 20 76 61 6c 75 |on of these valu| 00003730 65 73 20 73 68 6f 75 6c 64 20 61 6c 6c 6f 77 20 |es should allow | 00003740 61 20 74 65 78 74 20 65 64 69 74 6f 72 20 74 6f |a text editor to| 00003750 0a 77 6f 72 6b 20 77 69 74 68 20 50 43 41 2e 20 |.work with PCA. | 00003760 3c 65 6d 3e 4e 6f 74 65 3a 3c 2f 65 6d 3e 20 74 |<em>Note:</em> t| 00003770 68 69 73 20 68 61 73 20 6e 6f 74 20 62 65 65 6e |his has not been| 00003780 20 74 65 73 74 65 64 20 77 69 74 68 20 61 6e 79 | tested with any| 00003790 20 63 6f 64 65 20 2d 0a 61 6e 79 20 63 6f 6d 6d | code -.any comm| 000037a0 65 6e 74 73 20 70 6c 65 61 73 65 20 63 6f 6e 74 |ents please cont| 000037b0 61 63 74 20 74 68 65 20 61 75 74 68 6f 72 20 6f |act the author o| 000037c0 66 20 50 43 41 2e 0a 0a 3c 70 3e 0a 0a 54 68 65 |f PCA...<p>..The| 000037d0 20 74 61 67 20 65 78 74 65 6e 73 69 6f 6e 20 73 | tag extension s| 000037e0 79 73 74 65 6d 20 69 73 20 70 6f 74 65 6e 74 69 |ystem is potenti| 000037f0 61 6c 6c 79 20 76 65 72 79 20 70 6f 77 65 72 66 |ally very powerf| 00003800 75 6c 20 62 75 74 20 70 6c 65 61 73 65 20 64 6f |ul but please do| 00003810 20 6e 6f 74 0a 61 62 75 73 65 20 69 74 2e 20 49 | not.abuse it. I| 00003820 66 20 65 76 65 72 79 6f 6e 65 20 77 68 6f 20 65 |f everyone who e| 00003830 76 65 72 20 77 72 69 74 65 73 20 61 20 50 43 41 |ver writes a PCA| 00003840 20 70 72 6f 67 72 61 6d 20 63 72 65 61 74 65 73 | program creates| 00003850 20 61 20 74 61 67 20 65 78 74 65 6e 73 69 6f 6e | a tag extension| 00003860 0a 66 6f 72 20 74 68 65 69 72 20 6f 77 6e 20 6f |.for their own o| 00003870 62 6a 65 63 74 20 66 6f 72 6d 61 74 20 74 68 65 |bject format the| 00003880 6e 20 63 68 61 6f 73 20 77 69 6c 6c 20 72 65 69 |n chaos will rei| 00003890 67 6e 20 61 6e 64 20 74 68 65 20 50 43 41 20 73 |gn and the PCA s| 000038a0 79 73 74 65 6d 20 77 69 6c 6c 0a 62 65 63 6f 6d |ystem will.becom| 000038b0 65 20 75 73 65 6c 65 73 73 2e 20 28 41 6e 79 6f |e useless. (Anyo| 000038c0 6e 65 20 71 75 65 73 74 69 6f 6e 69 6e 67 20 74 |ne questioning t| 000038d0 68 69 73 20 69 73 20 69 6e 76 69 74 65 64 20 74 |his is invited t| 000038e0 6f 20 75 73 65 20 74 68 65 20 73 70 65 63 69 66 |o use the specif| 000038f0 69 63 61 74 69 6f 6e 0a 64 6f 63 75 6d 65 6e 74 |ication.document| 00003900 20 66 6f 72 20 74 68 65 20 54 49 46 46 20 66 69 | for the TIFF fi| 00003910 6c 65 20 66 6f 72 6d 61 74 20 61 73 20 62 65 64 |le format as bed| 00003920 73 69 64 65 20 72 65 61 64 69 6e 67 20 2d 20 61 |side reading - a| 00003930 20 70 65 72 66 65 63 74 20 65 78 61 6d 70 6c 65 | perfect example| 00003940 20 6f 66 0a 61 20 74 61 67 67 65 64 20 66 69 6c | of.a tagged fil| 00003950 65 20 66 6f 72 6d 61 74 20 67 6f 6e 65 20 77 72 |e format gone wr| 00003960 6f 6e 67 29 2e 20 49 6e 20 67 65 6e 65 72 61 6c |ong). In general| 00003970 2c 20 74 68 65 20 62 61 73 69 63 20 74 61 67 20 |, the basic tag | 00003980 73 74 72 75 63 74 75 72 65 20 6f 72 20 74 68 65 |structure or the| 00003990 0a 27 70 63 61 20 74 65 78 74 27 20 65 78 74 65 |.'pca text' exte| 000039a0 6e 73 69 6f 6e 20 64 65 66 69 6e 65 64 20 61 62 |nsion defined ab| 000039b0 6f 76 65 20 77 69 6c 6c 20 64 6f 20 66 6f 72 20 |ove will do for | 000039c0 6d 6f 73 74 20 64 61 74 61 20 74 79 70 65 73 2e |most data types.| 000039d0 20 49 66 20 79 6f 75 0a 72 65 61 6c 6c 79 20 66 | If you.really f| 000039e0 65 65 6c 20 79 6f 75 20 68 61 76 65 20 74 6f 20 |eel you have to | 000039f0 63 72 65 61 74 65 20 79 6f 75 72 20 6f 77 6e 20 |create your own | 00003a00 65 78 74 65 6e 73 69 6f 6e 20 74 68 65 6e 20 70 |extension then p| 00003a10 6c 65 61 73 65 20 64 6f 75 62 6c 65 20 63 68 65 |lease double che| 00003a20 63 6b 0a 77 69 74 68 20 43 6c 61 72 65 73 20 74 |ck.with Clares t| 00003a30 68 61 74 20 61 20 73 75 69 74 61 62 6c 65 20 65 |hat a suitable e| 00003a40 78 74 65 6e 73 69 6f 6e 20 64 6f 65 73 20 6e 6f |xtension does no| 00003a50 74 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 2e |t already exist.| 00003a60 20 54 68 65 20 65 78 74 65 6e 73 69 6f 6e 0a 73 | The extension.s| 00003a70 68 6f 75 6c 64 20 74 68 65 6e 20 62 65 20 64 65 |hould then be de| 00003a80 66 69 6e 65 64 20 69 6e 20 74 68 65 20 66 6f 72 |fined in the for| 00003a90 6d 61 74 20 67 69 76 65 6e 20 61 62 6f 76 65 20 |mat given above | 00003aa0 61 6e 64 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 |and the informat| 00003ab0 69 6f 6e 20 73 65 6e 74 20 74 6f 0a 43 6c 61 72 |ion sent to.Clar| 00003ac0 65 73 20 66 6f 72 20 64 69 73 74 72 69 62 75 74 |es for distribut| 00003ad0 69 6f 6e 20 74 6f 20 74 68 65 20 50 43 41 20 63 |ion to the PCA c| 00003ae0 6f 6d 6d 75 6e 69 74 79 2e 0a 0a 3c 70 3e 0a 0a |ommunity...<p>..| 00003af0 4f 6e 20 72 65 63 65 69 70 74 20 6f 66 20 61 20 |On receipt of a | 00003b00 50 43 41 20 6d 65 73 73 61 67 65 20 79 6f 75 20 |PCA message you | 00003b10 73 68 6f 75 6c 64 20 64 65 63 69 64 65 20 69 66 |should decide if| 00003b20 20 74 68 65 20 6d 65 73 73 61 67 65 20 72 65 66 | the message ref| 00003b30 65 72 73 20 74 6f 20 6f 6e 65 0a 6f 66 20 79 6f |ers to one.of yo| 00003b40 75 72 20 6f 62 6a 65 63 74 73 20 28 65 69 74 68 |ur objects (eith| 00003b50 65 72 20 61 20 6c 6f 63 61 6c 20 6f 6e 65 20 79 |er a local one y| 00003b60 6f 75 20 63 72 65 61 74 65 64 20 79 6f 75 72 73 |ou created yours| 00003b70 65 6c 66 20 6f 72 20 61 20 72 65 6d 6f 74 65 20 |elf or a remote | 00003b80 6f 62 6a 65 63 74 0a 77 68 69 63 68 20 79 6f 75 |object.which you| 00003b90 20 61 72 65 20 65 64 69 74 69 6e 67 29 2e 20 59 | are editing). Y| 00003ba0 6f 75 20 64 6f 20 74 68 69 73 20 62 79 20 63 6f |ou do this by co| 00003bb0 6d 70 61 72 69 6e 67 20 74 68 65 20 6f 62 6a 65 |mparing the obje| 00003bc0 63 74 27 73 20 74 61 67 20 61 64 64 72 65 73 73 |ct's tag address| 00003bd0 2c 0a 70 61 73 73 65 64 20 69 6e 20 74 68 65 20 |,.passed in the | 00003be0 6d 65 73 73 61 67 65 2c 20 77 69 74 68 20 61 20 |message, with a | 00003bf0 6c 6f 63 61 6c 20 61 72 72 61 79 20 6f 66 20 74 |local array of t| 00003c00 61 67 73 20 74 68 61 74 20 79 6f 75 20 6b 6e 6f |ags that you kno| 00003c10 77 20 61 62 6f 75 74 2e 20 47 65 74 20 69 6e 74 |w about. Get int| 00003c20 6f 0a 74 68 65 20 68 61 62 69 74 20 6f 66 20 64 |o.the habit of d| 00003c30 6f 69 6e 67 20 69 74 20 74 68 69 73 20 77 61 79 |oing it this way| 00003c40 20 28 72 61 74 68 65 72 20 74 68 61 6e 20 63 6f | (rather than co| 00003c50 6d 70 61 72 69 6e 67 20 74 68 65 20 74 61 67 27 |mparing the tag'| 00003c60 73 20 61 64 64 72 65 73 73 0a 66 69 65 6c 64 73 |s address.fields| 00003c70 20 77 69 74 68 20 79 6f 75 72 20 6f 77 6e 20 64 | with your own d| 00003c80 61 74 61 20 73 74 72 75 63 74 75 72 65 73 29 20 |ata structures) | 00003c90 61 73 20 6f 6e 65 20 6d 65 73 73 61 67 65 2c 20 |as one message, | 00003ca0 3c 41 0a 48 52 45 46 3d 22 23 64 65 73 65 6c 22 |<A.HREF="#desel"| 00003cb0 3e 4d 65 73 73 61 67 65 5f 44 65 73 65 6c 65 63 |>Message_Deselec| 00003cc0 74 3c 2f 41 3e 20 6d 61 79 20 70 61 73 73 20 61 |t</A> may pass a| 00003cd0 20 74 61 67 20 61 64 64 72 65 73 73 20 77 68 69 | tag address whi| 00003ce0 63 68 20 6e 6f 20 6c 6f 6e 67 65 72 0a 61 63 74 |ch no longer.act| 00003cf0 75 61 6c 6c 79 20 63 6f 6e 74 61 69 6e 73 20 76 |ually contains v| 00003d00 61 6c 69 64 20 64 61 74 61 20 28 74 68 65 20 6f |alid data (the o| 00003d10 62 6a 65 63 74 20 69 74 73 65 6c 66 20 68 61 76 |bject itself hav| 00003d20 69 6e 67 20 62 65 65 6e 20 64 65 6c 65 74 65 64 |ing been deleted| 00003d30 29 2e 20 53 65 65 0a 69 74 73 20 65 6e 74 72 79 |). See.its entry| 00003d40 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0a 0a 3c | for details...<| 00003d50 70 3e 0a 0a 49 6e 20 74 68 65 20 66 6f 6c 6c 6f |p>..In the follo| 00003d60 77 69 6e 67 20 64 6f 63 75 6d 65 6e 74 61 74 69 |wing documentati| 00003d70 6f 6e 20 27 3c 49 3e 4c 6f 63 61 6c 3c 2f 49 3e |on '<I>Local</I>| 00003d80 27 20 69 73 20 74 68 65 20 27 6f 77 6e 69 6e 67 |' is the 'owning| 00003d90 20 74 61 73 6b 27 20 62 65 69 6e 67 20 74 68 65 | task' being the| 00003da0 0a 74 61 73 6b 20 74 6f 20 77 68 69 63 68 20 74 |.task to which t| 00003db0 68 65 20 6f 62 6a 65 63 74 20 69 73 20 27 6c 6f |he object is 'lo| 00003dc0 63 61 6c 27 2e 20 54 68 69 73 20 74 61 73 6b 20 |cal'. This task | 00003dd0 63 72 65 61 74 65 64 20 74 68 65 20 6f 62 6a 65 |created the obje| 00003de0 63 74 20 61 6e 64 20 69 74 73 0a 50 43 41 20 74 |ct and its.PCA t| 00003df0 61 67 2e 20 49 74 20 6b 6e 6f 77 73 20 68 6f 77 |ag. It knows how| 00003e00 20 74 6f 20 72 65 73 69 7a 65 20 61 6e 64 20 68 | to resize and h| 00003e10 6f 77 20 74 6f 20 64 65 6c 65 74 65 20 74 68 65 |ow to delete the| 00003e20 20 6f 62 6a 65 63 74 2e 0a 0a 3c 50 3e 0a 0a 27 | object...<P>..'| 00003e30 3c 49 3e 52 65 6d 6f 74 65 3c 2f 49 3e 27 20 69 |<I>Remote</I>' i| 00003e40 73 20 74 68 65 20 27 75 74 69 6c 69 74 79 27 20 |s the 'utility' | 00003e50 74 61 73 6b 20 2d 20 74 68 65 20 6f 6e 65 20 77 |task - the one w| 00003e60 68 69 63 68 20 6d 6f 64 69 66 69 65 73 20 61 6e |hich modifies an| 00003e70 20 6f 62 6a 65 63 74 20 66 6f 72 0a 74 68 65 20 | object for.the | 00003e80 27 6c 6f 63 61 6c 27 20 6f 72 20 6f 77 6e 69 6e |'local' or ownin| 00003e90 67 20 74 61 73 6b 2e 0a 3c 50 3e 0a 0a 50 6c 65 |g task..<P>..Ple| 00003ea0 61 73 65 20 6e 6f 74 65 20 77 68 69 63 68 20 6d |ase note which m| 00003eb0 65 73 73 61 67 65 73 20 61 72 65 20 74 6f 20 62 |essages are to b| 00003ec0 65 20 62 72 6f 61 64 63 61 73 74 20 61 6e 64 20 |e broadcast and | 00003ed0 77 68 69 63 68 20 61 72 65 20 73 65 6e 74 0a 74 |which are sent.t| 00003ee0 61 73 6b 2d 74 6f 2d 74 61 73 6b 2e 20 54 68 65 |ask-to-task. The| 00003ef0 20 63 6f 72 72 65 63 74 20 66 75 6e 63 74 69 6f | correct functio| 00003f00 6e 69 6e 67 20 6f 66 20 74 68 65 20 73 79 73 74 |ning of the syst| 00003f10 65 6d 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 |em depends on th| 00003f20 65 20 63 6f 72 72 65 63 74 0a 75 73 61 67 65 2e |e correct.usage.| 00003f30 0a 3c 50 3e 0a 0a 3c 68 33 3e 3c 41 20 4e 41 4d |.<P>..<h3><A NAM| 00003f40 45 3d 22 73 75 6d 6d 61 72 79 22 3e 50 43 41 20 |E="summary">PCA | 00003f50 4d 65 73 73 61 67 65 20 53 75 6d 6d 61 72 79 3c |Message Summary<| 00003f60 2f 41 3e 3c 2f 68 33 3e 3c 42 52 3e 0a 0a 54 68 |/A></h3><BR>..Th| 00003f70 69 73 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 |is is intended t| 00003f80 6f 20 67 69 76 65 20 74 68 65 20 70 72 6f 67 72 |o give the progr| 00003f90 61 6d 6d 65 72 20 61 6e 20 6f 76 65 72 76 69 65 |ammer an overvie| 00003fa0 77 20 6f 66 20 77 68 61 74 20 67 6f 65 73 20 6f |w of what goes o| 00003fb0 6e 20 69 6e 20 61 20 74 79 70 69 63 61 6c 0a 50 |n in a typical.P| 00003fc0 43 41 20 73 65 73 73 69 6f 6e 2e 20 49 74 20 69 |CA session. It i| 00003fd0 67 6e 6f 72 65 73 20 6d 61 6e 79 20 6f 66 20 74 |gnores many of t| 00003fe0 68 65 20 66 69 6e 65 72 20 70 6f 69 6e 74 73 20 |he finer points | 00003ff0 6f 66 20 74 68 65 20 70 72 6f 74 6f 63 6f 6c 2e |of the protocol.| 00004000 0a 0a 3c 70 3e 0a 0a 31 2e 20 4c 6f 63 61 6c 20 |..<p>..1. Local | 00004010 74 61 73 6b 20 62 72 6f 61 64 63 61 73 74 73 20 |task broadcasts | 00004020 4d 65 73 73 61 67 65 5f 57 68 6f 73 41 62 6f 75 |Message_WhosAbou| 00004030 74 20 66 6f 72 20 61 20 73 65 6c 65 63 74 65 64 |t for a selected| 00004040 20 6f 62 6a 65 63 74 2e 3c 42 52 3e 0a 32 2e 20 | object.<BR>.2. | 00004050 52 65 6d 6f 74 65 20 74 61 73 6b 73 20 65 78 61 |Remote tasks exa| 00004060 6d 69 6e 65 20 6d 65 73 73 61 67 65 20 64 61 74 |mine message dat| 00004070 61 20 61 6e 64 20 72 65 73 70 6f 6e 64 20 77 69 |a and respond wi| 00004080 74 68 20 4d 65 73 73 61 67 65 5f 49 6d 48 65 72 |th Message_ImHer| 00004090 65 2e 3c 42 52 3e 0a 33 2e 20 4c 6f 63 61 6c 20 |e.<BR>.3. Local | 000040a0 74 61 73 6b 2c 20 69 6e 20 72 65 73 70 6f 6e 73 |task, in respons| 000040b0 65 20 74 6f 20 75 73 65 72 73 20 63 68 6f 69 63 |e to users choic| 000040c0 65 20 6f 66 20 52 65 6d 6f 74 65 20 73 65 6e 64 |e of Remote send| 000040d0 73 20 4d 65 73 73 61 67 65 5f 44 6f 59 6f 75 72 |s Message_DoYour| 000040e0 53 74 75 66 66 2e 3c 42 52 3e 0a 34 2e 20 28 69 |Stuff.<BR>.4. (i| 000040f0 66 20 64 6f 69 6e 67 20 69 6e 70 6c 61 63 65 20 |f doing inplace | 00004100 65 64 69 74 69 6e 67 29 20 52 65 6d 6f 74 65 20 |editing) Remote | 00004110 74 61 73 6b 2c 20 6f 6e 20 72 65 63 65 69 70 74 |task, on receipt| 00004120 20 6f 66 20 44 6f 59 6f 75 72 53 74 75 66 66 20 | of DoYourStuff | 00004130 20 73 65 6e 64 73 20 4d 65 73 73 61 67 65 5f 48 | sends Message_H| 00004140 6f 6f 6b 4d 65 2e 3c 42 52 3e 0a 35 2e 20 28 72 |ookMe.<BR>.5. (r| 00004150 65 70 65 61 74 65 64 29 20 52 65 6d 6f 74 65 20 |epeated) Remote | 00004160 61 6e 64 20 4c 6f 63 61 6c 20 74 61 73 6b 73 20 |and Local tasks | 00004170 62 72 6f 61 64 63 61 73 74 20 4d 65 73 73 61 67 |broadcast Messag| 00004180 65 5f 55 70 64 61 74 65 41 72 65 61 20 69 66 20 |e_UpdateArea if | 00004190 74 68 65 20 75 73 65 72 20 63 68 61 6e 67 65 73 |the user changes| 000041a0 20 74 68 65 20 6f 62 6a 65 63 74 2e 3c 42 52 3e | the object.<BR>| 000041b0 0a 36 2e 20 52 65 6d 6f 74 65 20 74 61 73 6b 20 |.6. Remote task | 000041c0 73 65 6e 64 73 20 4d 65 73 73 61 67 65 5f 55 6e |sends Message_Un| 000041d0 68 6f 6f 6b 20 77 68 65 6e 20 75 73 65 72 20 63 |hook when user c| 000041e0 6c 6f 73 65 73 20 77 69 6e 64 6f 77 2f 74 6f 6f |loses window/too| 000041f0 6c 62 61 72 20 6f 6e 74 6f 20 6f 62 6a 65 63 74 |lbar onto object| 00004200 2e 3c 42 52 3e 0a 37 2e 20 4c 6f 63 61 6c 20 74 |.<BR>.7. Local t| 00004210 61 73 6b 20 62 72 6f 61 64 63 61 73 74 73 20 4d |ask broadcasts M| 00004220 65 73 73 61 67 65 5f 44 65 73 65 6c 65 63 74 20 |essage_Deselect | 00004230 69 66 20 75 73 65 72 20 64 65 6c 65 74 65 73 20 |if user deletes | 00004240 6f 62 6a 65 63 74 2f 71 75 69 74 73 20 70 72 6f |object/quits pro| 00004250 67 72 61 6d 2e 3c 42 52 3e 0a 0a 54 68 65 20 76 |gram.<BR>..The v| 00004260 61 72 69 61 62 6c 65 20 6e 61 6d 65 73 20 75 73 |ariable names us| 00004270 65 64 20 69 6e 20 74 68 65 20 65 78 61 6d 70 6c |ed in the exampl| 00004280 65 20 42 41 53 49 43 20 70 72 6f 67 72 61 6d 20 |e BASIC program | 00004290 61 72 65 20 69 6e 63 6c 75 64 65 64 20 61 66 74 |are included aft| 000042a0 65 72 20 74 68 65 0a 6d 65 73 73 61 67 65 20 6e |er the.message n| 000042b0 75 6d 62 65 72 2e 0a 0a 3c 50 3e 0a 0a 0a 0a 3c |umber...<P>....<| 000042c0 53 54 52 4f 4e 47 3e 3c 41 20 4e 41 4d 45 3d 22 |STRONG><A NAME="| 000042d0 77 68 6f 73 22 3e 0a 4d 65 73 73 61 67 65 5f 57 |whos">.Message_W| 000042e0 68 6f 73 41 62 6f 75 74 0a 3c 2f 41 3e 20 28 26 |hosAbout.</A> (&| 000042f0 38 33 34 38 34 29 20 3c 2f 53 54 52 4f 4e 47 3e |83484) </STRONG>| 00004300 20 28 4d 73 67 5f 57 68 6f 73 25 29 3c 50 3e 0a | (Msg_Whos%)<P>.| 00004310 0a 0a 42 72 6f 61 64 63 61 73 74 20 62 79 20 4c |..Broadcast by L| 00004320 6f 63 61 6c 20 74 61 73 6b 20 77 68 65 6e 20 6f |ocal task when o| 00004330 70 65 6e 69 6e 67 20 55 74 69 6c 69 74 79 20 73 |pening Utility s| 00004340 75 62 2d 6d 65 6e 75 2f 70 6f 70 75 70 20 28 73 |ub-menu/popup (s| 00004350 65 65 20 74 68 65 20 73 65 63 74 69 6f 6e 0a 6f |ee the section.o| 00004360 6e 20 75 73 65 72 20 69 6e 74 65 72 66 61 63 65 |n user interface| 00004370 29 2e 20 0a 0a 3c 50 3e 0a 0a 54 68 65 20 62 6c |). ..<P>..The bl| 00004380 6f 63 6b 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 |ock pointed to b| 00004390 79 20 52 31 20 63 6f 6e 74 61 69 6e 73 3a 3c 50 |y R1 contains:<P| 000043a0 3e 0a 3c 50 52 45 3e 0a 52 31 2b 32 30 20 20 20 |>.<PRE>.R1+20 | 000043b0 66 69 6c 65 74 79 70 65 20 6f 66 20 6f 62 6a 65 |filetype of obje| 000043c0 63 74 0a 52 31 2b 32 34 20 20 20 61 64 64 72 65 |ct.R1+24 addre| 000043d0 73 73 20 6f 66 20 6f 62 6a 65 63 74 20 74 61 67 |ss of object tag| 000043e0 0a 52 31 2b 32 38 20 20 20 72 65 73 65 72 76 65 |.R1+28 reserve| 000043f0 64 20 2d 20 30 0a 3c 2f 50 52 45 3e 0a 0a 3c 50 |d - 0.</PRE>..<P| 00004400 3e 0a 0a 0a 52 65 63 65 69 76 69 6e 67 20 72 65 |>...Receiving re| 00004410 6d 6f 74 65 20 74 61 73 6b 73 20 73 68 6f 75 6c |mote tasks shoul| 00004420 64 20 72 65 73 70 6f 6e 64 20 77 69 74 68 20 3c |d respond with <| 00004430 41 20 48 52 45 46 3d 22 23 69 6d 22 3e 4d 65 73 |A HREF="#im">Mes| 00004440 73 61 67 65 5f 49 6d 48 65 72 65 3c 2f 41 3e 0a |sage_ImHere</A>.| 00004450 61 73 20 64 65 66 69 6e 65 64 20 62 65 6c 6f 77 |as defined below| 00004460 20 69 66 20 74 68 65 20 66 69 6c 65 74 79 70 65 | if the filetype| 00004470 20 69 73 20 27 69 6e 74 65 72 65 73 74 69 6e 67 | is 'interesting| 00004480 27 2e 20 59 6f 75 20 63 61 6e 20 65 78 61 6d 69 |'. You can exami| 00004490 6e 65 20 74 68 65 20 64 61 74 61 0a 69 6e 20 74 |ne the data.in t| 000044a0 68 65 20 74 61 67 20 61 74 20 52 31 2b 32 34 20 |he tag at R1+24 | 000044b0 69 66 20 74 68 65 20 66 69 6c 65 74 79 70 65 20 |if the filetype | 000044c0 61 6c 6f 6e 65 20 64 6f 65 73 20 6e 6f 74 20 73 |alone does not s| 000044d0 75 66 66 69 63 65 20 28 66 6f 72 20 65 78 61 6d |uffice (for exam| 000044e0 70 6c 65 2c 20 61 0a 70 72 6f 67 72 61 6d 20 77 |ple, a.program w| 000044f0 68 69 63 68 20 63 61 6e 20 6f 6e 6c 79 20 65 64 |hich can only ed| 00004500 69 74 20 33 32 62 70 70 20 73 70 72 69 74 65 73 |it 32bpp sprites| 00004510 20 73 68 6f 75 6c 64 20 65 78 61 6d 69 6e 65 20 | should examine | 00004520 74 68 65 20 73 70 72 69 74 65 20 74 79 70 65 0a |the sprite type.| 00004530 77 6f 72 64 20 61 74 20 21 28 52 31 2b 32 34 29 |word at !(R1+24)| 00004540 2b 28 52 31 2b 32 34 29 21 34 29 20 2b 34 30 20 |+(R1+24)!4) +40 | 00004550 28 69 65 20 74 61 67 20 61 64 64 72 65 73 73 20 |(ie tag address | 00004560 66 69 65 6c 64 2b 6f 66 66 73 65 74 20 74 6f 20 |field+offset to | 00004570 6f 62 6a 65 63 74 0a 66 69 65 6c 64 29 2b 34 30 |object.field)+40| 00004580 20 62 65 66 6f 72 65 20 73 65 6e 64 69 6e 67 20 | before sending | 00004590 3c 41 20 48 52 45 46 3d 22 23 69 6d 22 3e 4d 65 |<A HREF="#im">Me| 000045a0 73 73 61 67 65 5f 49 6d 48 65 72 65 3c 2f 41 3e |ssage_ImHere</A>| 000045b0 29 2e 0a 0a 3c 50 3e 0a 0a 3c 53 54 52 4f 4e 47 |)...<P>..<STRONG| 000045c0 3e 3c 41 20 4e 41 4d 45 3d 22 69 6d 22 3e 0a 4d |><A NAME="im">.M| 000045d0 65 73 73 61 67 65 5f 49 6d 48 65 72 65 0a 3c 2f |essage_ImHere.</| 000045e0 41 3e 20 28 26 38 33 34 38 35 29 20 28 4d 73 67 |A> (&83485) (Msg| 000045f0 5f 49 6d 25 29 20 3c 2f 53 54 52 4f 4e 47 3e 3c |_Im%) </STRONG><| 00004600 50 3e 0a 0a 0a 53 65 6e 74 20 62 79 20 52 65 6d |P>...Sent by Rem| 00004610 6f 74 65 20 74 61 73 6b 20 74 6f 20 4c 6f 63 61 |ote task to Loca| 00004620 6c 20 74 61 73 6b 2e 20 4c 6f 63 61 6c 20 72 65 |l task. Local re| 00004630 63 6f 72 64 73 20 74 68 65 20 64 61 74 61 20 70 |cords the data p| 00004640 61 73 73 65 64 20 66 6f 72 20 6c 61 74 65 72 0a |assed for later.| 00004650 75 73 65 20 69 6e 20 63 72 65 61 74 69 6e 67 20 |use in creating | 00004660 61 20 64 69 61 6c 6f 67 75 65 20 62 6f 78 20 6f |a dialogue box o| 00004670 72 20 6d 65 6e 75 2e 0a 0a 3c 50 3e 0a 0a 0a 54 |r menu...<P>...T| 00004680 68 65 20 62 6c 6f 63 6b 20 70 6f 69 6e 74 65 64 |he block pointed| 00004690 20 74 6f 20 62 79 20 52 31 20 63 6f 6e 74 61 69 | to by R1 contai| 000046a0 6e 73 3a 3c 50 3e 0a 3c 50 52 45 3e 0a 52 31 2b |ns:<P>.<PRE>.R1+| 000046b0 32 30 0a 20 20 20 20 20 20 20 20 62 69 74 73 20 |20. bits | 000046c0 30 2d 37 20 66 6c 61 67 73 3a 0a 20 20 20 20 20 |0-7 flags:. | 000046d0 20 20 20 20 20 20 20 20 20 20 20 62 30 20 53 70 | b0 Sp| 000046e0 72 69 74 65 6e 61 6d 65 20 73 75 70 70 6c 69 65 |ritename supplie| 000046f0 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |d. | 00004700 20 20 62 31 20 49 6e 66 6f 20 61 76 61 69 6c 61 | b1 Info availa| 00004710 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 |ble. | 00004720 20 20 20 20 62 32 20 52 65 73 65 72 76 65 64 20 | b2 Reserved | 00004730 2d 20 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 |- 0. | 00004740 20 20 20 20 62 33 20 54 6f 6f 6c 20 77 61 6e 74 | b3 Tool want| 00004750 73 20 74 6f 20 27 6f 77 6e 27 20 74 68 65 20 6f |s to 'own' the o| 00004760 62 6a 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 |bject. | 00004770 20 20 20 20 20 20 62 34 20 54 6f 6f 6c 20 77 61 | b4 Tool wa| 00004780 6e 74 73 20 49 6e 20 70 6c 61 63 65 20 65 64 69 |nts In place edi| 00004790 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 |ting. | 000047a0 20 20 20 20 20 62 35 2d 37 20 52 65 73 65 72 76 | b5-7 Reserv| 000047b0 65 64 20 2d 20 30 0a 20 20 20 20 20 20 20 20 20 |ed - 0. | 000047c0 20 20 20 20 20 20 20 62 38 2d 33 31 20 52 65 73 | b8-31 Res| 000047d0 65 72 76 65 64 20 2d 20 30 0a 0a 52 31 2b 32 34 |erved - 0..R1+24| 000047e0 20 20 20 20 20 20 20 20 20 20 20 54 6f 6f 6c 20 | Tool | 000047f0 69 64 2e 0a 52 31 2b 32 38 20 20 20 20 20 20 20 |id..R1+28 | 00004800 20 20 20 20 53 74 72 69 6e 67 2e 20 4d 65 6e 75 | String. Menu| 00004810 20 65 6e 74 72 79 2f 46 75 6e 63 74 69 6f 6e 20 | entry/Function | 00004820 6e 61 6d 65 20 28 65 67 2e 20 43 6f 6e 74 72 61 |name (eg. Contra| 00004830 73 74 2e 2e 2e 29 2e 0a 20 20 20 20 20 20 20 20 |st...).. | 00004840 20 20 20 20 20 20 20 20 4c 65 6e 67 74 68 20 6c | Length l| 00004850 69 6d 69 74 65 64 20 74 6f 20 33 31 63 68 61 72 |imited to 31char| 00004860 73 2b 74 65 72 6d 69 6e 61 74 6f 72 2e 0a 52 31 |s+terminator..R1| 00004870 2b 36 30 20 20 20 20 20 20 20 20 20 20 20 53 74 |+60 St| 00004880 72 69 6e 67 2e 20 4e 61 6d 65 20 6f 66 20 73 70 |ring. Name of sp| 00004890 72 69 74 65 20 69 6e 20 77 69 6d 70 20 73 70 72 |rite in wimp spr| 000048a0 69 74 65 20 70 6f 6f 6c 0a 20 20 20 20 20 20 20 |ite pool. | 000048b0 20 20 20 20 20 20 20 20 20 28 69 66 20 62 30 20 | (if b0 | 000048c0 6f 66 20 52 31 2b 32 30 20 69 73 20 73 65 74 29 |of R1+20 is set)| 000048d0 0a 0a 0a 3c 50 3e 0a 3c 2f 50 52 45 3e 0a 3c 2f |...<P>.</PRE>.</| 000048e0 50 3e 0a 0a 54 68 65 20 74 6f 6f 6c 20 69 64 20 |P>..The tool id | 000048f0 69 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 |is intended for | 00004900 72 65 6d 6f 74 65 20 74 61 73 6b 73 20 77 68 69 |remote tasks whi| 00004910 63 68 20 70 72 6f 76 69 64 65 20 6d 6f 72 65 20 |ch provide more | 00004920 74 68 61 6e 20 6f 6e 65 0a 75 74 69 6c 69 74 79 |than one.utility| 00004930 2e 20 49 74 20 69 73 20 72 65 74 75 72 6e 65 64 |. It is returned| 00004940 20 74 6f 20 74 68 65 20 74 61 73 6b 20 77 69 74 | to the task wit| 00004950 68 20 3c 41 0a 48 52 45 46 3d 22 23 64 6f 22 3e |h <A.HREF="#do">| 00004960 4d 65 73 73 61 67 65 5f 44 6f 59 6f 75 72 53 74 |Message_DoYourSt| 00004970 75 66 66 3c 2f 41 3e 2e 0a 0a 3c 50 3e 0a 46 6c |uff</A>...<P>.Fl| 00004980 61 67 73 3a 3c 50 3e 0a 0a 3c 50 52 45 3e 0a 62 |ags:<P>..<PRE>.b| 00004990 30 20 20 20 20 20 20 69 6e 64 69 63 61 74 65 73 |0 indicates| 000049a0 20 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e | to the recipien| 000049b0 74 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 |t that there is | 000049c0 61 20 73 70 72 69 74 65 20 6e 61 6d 65 20 61 74 |a sprite name at| 000049d0 20 52 31 2b 36 30 0a 20 20 20 20 20 20 20 20 2d | R1+60. -| 000049e0 20 74 68 65 20 73 70 72 69 74 65 20 69 73 20 73 | the sprite is s| 000049f0 74 6f 72 65 64 20 69 6e 20 74 68 65 20 57 69 6d |tored in the Wim| 00004a00 70 20 73 70 72 69 74 65 20 70 6f 6f 6c 20 61 6e |p sprite pool an| 00004a10 64 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 |d should be. | 00004a20 20 20 20 20 75 73 65 64 20 77 68 65 6e 20 72 65 | used when re| 00004a30 6e 64 65 72 69 6e 67 20 74 68 65 20 70 6f 70 75 |ndering the popu| 00004a40 70 20 64 69 61 6c 6f 67 75 65 20 62 6f 78 2e 3c |p dialogue box.<| 00004a50 50 3e 0a 0a 62 31 20 20 20 20 20 20 69 6e 64 69 |P>..b1 indi| 00004a60 63 61 74 65 73 20 74 68 61 74 20 74 68 65 20 74 |cates that the t| 00004a70 6f 6f 6c 20 63 61 6e 20 70 72 6f 76 69 64 65 20 |ool can provide | 00004a80 61 20 72 65 73 70 6f 6e 73 65 0a 20 20 20 20 20 |a response. | 00004a90 20 20 20 74 6f 20 3c 41 20 48 52 45 46 3d 22 23 | to <A HREF="#| 00004aa0 69 6e 66 6f 22 3e 4d 65 73 73 61 67 65 5f 49 6e |info">Message_In| 00004ab0 66 6f 3c 2f 41 3e 2e 0a 0a 62 32 20 20 20 20 20 |fo</A>...b2 | 00004ac0 20 52 65 73 65 72 76 65 64 20 2d 20 30 0a 0a 62 | Reserved - 0..b| 00004ad0 33 20 20 20 20 20 20 69 6e 64 69 63 61 74 65 73 |3 indicates| 00004ae0 20 74 68 61 74 20 74 68 65 20 74 6f 6f 6c 20 77 | that the tool w| 00004af0 61 6e 74 73 20 74 6f 20 27 6f 77 6e 27 20 74 68 |ants to 'own' th| 00004b00 65 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 20 20 |e object.. | 00004b10 20 20 4c 6f 63 61 6c 20 74 61 73 6b 20 73 68 6f | Local task sho| 00004b20 75 6c 64 20 73 65 6e 64 20 4d 73 67 5f 44 65 73 |uld send Msg_Des| 00004b30 65 6c 65 63 74 20 66 6f 72 20 74 68 65 20 6f 62 |elect for the ob| 00004b40 6a 65 63 74 0a 20 20 20 20 20 20 20 20 62 65 66 |ject. bef| 00004b50 6f 72 65 20 73 65 6e 64 69 6e 67 20 3c 41 20 48 |ore sending <A H| 00004b60 52 45 46 3d 22 23 64 6f 22 3e 4d 65 73 73 61 67 |REF="#do">Messag| 00004b70 65 5f 44 6f 59 6f 75 72 53 74 75 66 66 3c 2f 41 |e_DoYourStuff</A| 00004b80 3e 20 69 66 20 74 68 69 73 20 62 69 74 20 69 73 |> if this bit is| 00004b90 0a 20 20 20 20 20 20 20 20 73 65 74 2e 20 44 6f |. set. Do| 00004ba0 20 6e 6f 74 20 73 65 74 20 74 68 69 73 20 62 69 | not set this bi| 00004bb0 74 20 75 6e 6c 65 73 73 20 79 6f 75 20 68 61 76 |t unless you hav| 00004bc0 65 20 74 6f 20 61 73 20 69 74 0a 20 20 20 20 20 |e to as it. | 00004bd0 20 20 20 77 69 6c 6c 20 70 72 65 76 65 6e 74 20 | will prevent | 00004be0 6f 74 68 65 72 20 72 65 6d 6f 74 65 20 74 61 73 |other remote tas| 00004bf0 6b 73 20 66 72 6f 6d 20 73 68 61 72 69 6e 67 20 |ks from sharing | 00004c00 74 68 65 0a 20 20 20 20 20 20 20 20 6f 62 6a 65 |the. obje| 00004c10 63 74 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 |ct at the same t| 00004c20 69 6d 65 2e 20 49 74 20 73 68 6f 75 6c 64 20 6f |ime. It should o| 00004c30 6e 6c 79 20 62 65 20 73 65 74 20 77 68 65 6e 0a |nly be set when.| 00004c40 20 20 20 20 20 20 20 20 74 68 65 20 72 65 6d 6f | the remo| 00004c50 74 65 20 74 61 73 6b 20 77 61 6e 74 73 20 74 6f |te task wants to| 00004c60 20 27 74 61 6b 65 20 6f 76 65 72 27 20 74 68 65 | 'take over' the| 00004c70 20 6f 62 6a 65 63 74 20 63 6f 6d 70 6c 65 74 65 | object complete| 00004c80 6c 79 2e 0a 0a 20 20 20 20 20 20 20 20 2d 20 73 |ly... - s| 00004c90 75 63 68 20 61 73 20 43 6f 6d 70 6f 73 69 74 69 |uch as Compositi| 00004ca0 6f 6e 20 74 61 6b 69 6e 67 20 6f 76 65 72 20 61 |on taking over a| 00004cb0 20 33 32 62 70 70 20 73 70 72 69 74 65 0a 20 20 | 32bpp sprite. | 00004cc0 20 20 20 20 20 20 66 6f 72 20 75 73 65 20 61 73 | for use as| 00004cd0 20 61 20 63 61 6e 76 61 73 2e 0a 0a 62 34 20 20 | a canvas...b4 | 00004ce0 20 20 20 20 54 68 69 73 20 62 69 74 20 69 73 20 | This bit is | 00004cf0 64 65 73 69 67 6e 65 64 20 74 6f 20 61 6c 6c 6f |designed to allo| 00004d00 77 20 66 6f 72 20 72 65 61 6c 20 27 69 6e 20 70 |w for real 'in p| 00004d10 6c 61 63 65 20 65 64 69 74 69 6e 67 27 0a 20 20 |lace editing'. | 00004d20 20 20 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 73 | operations| 00004d30 2e 20 42 65 63 61 75 73 65 20 6f 66 20 74 68 65 |. Because of the| 00004d40 20 61 6d 6f 75 6e 74 20 6f 66 20 63 6f 64 65 20 | amount of code | 00004d50 6e 65 63 65 73 73 61 72 79 0a 20 20 20 20 20 20 |necessary. | 00004d60 20 20 61 74 20 74 68 65 20 6c 6f 63 61 6c 20 65 | at the local e| 00004d70 6e 64 20 74 6f 20 68 61 6e 64 6c 65 20 74 68 69 |nd to handle thi| 00004d80 73 20 69 74 20 68 61 73 20 62 65 65 6e 20 64 65 |s it has been de| 00004d90 66 69 6e 65 64 0a 20 20 20 20 20 20 20 20 61 73 |fined. as| 00004da0 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 70 61 72 | an optional par| 00004db0 74 20 6f 66 20 74 68 65 20 73 74 61 6e 64 61 72 |t of the standar| 00004dc0 64 2e 0a 3c 2f 50 52 45 3e 0a 20 20 20 20 20 20 |d..</PRE>. | 00004dd0 20 0a 3c 50 3e 0a 4c 6f 63 61 6c 20 61 70 70 6c | .<P>.Local appl| 00004de0 69 63 61 74 69 6f 6e 73 20 77 68 69 63 68 20 64 |ications which d| 00004df0 6f 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 69 6e |o not support in| 00004e00 20 70 6c 61 63 65 20 65 64 69 74 69 6e 67 20 73 | place editing s| 00004e10 68 6f 75 6c 64 20 63 6c 65 61 72 20 62 69 74 20 |hould clear bit | 00004e20 34 0a 6f 66 20 74 68 65 20 66 6c 61 67 73 20 77 |4.of the flags w| 00004e30 6f 72 64 20 61 6e 64 20 73 65 6e 64 20 74 68 61 |ord and send tha| 00004e40 74 20 77 69 74 68 20 44 6f 59 6f 75 72 53 74 75 |t with DoYourStu| 00004e50 66 66 2e 20 4f 6e 20 72 65 63 65 69 70 74 2c 20 |ff. On receipt, | 00004e60 74 68 65 20 72 65 6d 6f 74 65 0a 61 70 70 6c 69 |the remote.appli| 00004e70 63 61 74 69 6f 6e 20 73 68 6f 75 6c 64 20 63 68 |cation should ch| 00004e80 65 63 6b 20 69 66 20 62 69 74 20 34 20 69 73 20 |eck if bit 4 is | 00004e90 73 74 69 6c 6c 20 73 65 74 20 61 6e 64 20 69 66 |still set and if| 00004ea0 20 6e 6f 74 20 6f 70 65 6e 20 61 20 72 65 6d 6f | not open a remo| 00004eb0 74 65 0a 77 69 6e 64 6f 77 20 6f 6e 74 6f 20 74 |te.window onto t| 00004ec0 68 65 20 6f 62 6a 65 63 74 2e 0a 0a 3c 50 3e 0a |he object...<P>.| 00004ed0 0a 0a 4e 6f 74 65 73 3a 20 49 6e 20 65 61 72 6c |..Notes: In earl| 00004ee0 79 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 |y versions of th| 00004ef0 69 73 20 73 74 61 6e 64 61 72 64 20 62 69 74 73 |is standard bits| 00004f00 20 32 38 2d 33 31 20 6f 66 20 74 68 65 20 66 6c | 28-31 of the fl| 00004f10 61 67 73 20 77 6f 72 64 20 68 61 64 0a 61 6e 6f |ags word had.ano| 00004f20 74 68 65 72 20 75 73 65 2e 20 54 68 69 73 20 64 |ther use. This d| 00004f30 61 74 61 20 68 61 73 20 62 65 65 6e 20 6d 6f 76 |ata has been mov| 00004f40 65 64 20 74 6f 20 3c 41 20 48 52 45 46 3d 22 23 |ed to <A HREF="#| 00004f50 68 6f 6f 6b 22 3e 4d 65 73 73 61 67 65 5f 48 6f |hook">Message_Ho| 00004f60 6f 6b 4d 65 2e 3c 2f 41 3e 0a 50 6c 65 61 73 65 |okMe.</A>.Please| 00004f70 20 73 65 65 20 62 65 6c 6f 77 2e 0a 0a 3c 50 3e | see below...<P>| 00004f80 0a 0a 0a 3c 53 54 52 4f 4e 47 3e 0a 3c 41 20 4e |...<STRONG>.<A N| 00004f90 41 4d 45 3d 22 64 6f 22 3e 0a 4d 65 73 73 61 67 |AME="do">.Messag| 00004fa0 65 5f 44 6f 59 6f 75 72 53 74 75 66 66 0a 3c 2f |e_DoYourStuff.</| 00004fb0 41 3e 20 28 26 38 33 34 38 36 29 20 28 4d 73 67 |A> (&83486) (Msg| 00004fc0 5f 44 6f 25 29 0a 3c 2f 53 54 52 4f 4e 47 3e 0a |_Do%).</STRONG>.| 00004fd0 3c 50 3e 0a 0a 54 68 65 20 62 6c 6f 63 6b 20 70 |<P>..The block p| 00004fe0 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 52 31 20 |ointed to by R1 | 00004ff0 63 6f 6e 74 61 69 6e 73 3a 3c 50 3e 0a 0a 3c 50 |contains:<P>..<P| 00005000 52 45 3e 0a 52 31 2b 32 30 20 20 20 46 69 6c 65 |RE>.R1+20 File| 00005010 74 79 70 65 20 6f 66 20 6f 62 6a 65 63 74 0a 52 |type of object.R| 00005020 31 2b 32 34 20 20 20 41 64 64 72 65 73 73 20 6f |1+24 Address o| 00005030 66 20 6f 62 6a 65 63 74 20 74 61 67 0a 52 31 2b |f object tag.R1+| 00005040 32 38 20 20 20 72 65 73 65 72 76 65 64 20 2d 20 |28 reserved - | 00005050 30 0a 52 31 2b 33 32 20 20 20 54 6f 6f 6c 20 69 |0.R1+32 Tool i| 00005060 64 0a 52 31 2b 33 36 20 20 20 54 6f 6f 6c 20 66 |d.R1+36 Tool f| 00005070 6c 61 67 73 20 77 6f 72 64 0a 52 31 2b 34 30 20 |lags word.R1+40 | 00005080 20 20 53 74 72 69 6e 67 2e 20 4e 61 6d 65 20 6f | String. Name o| 00005090 66 20 6f 62 6a 65 63 74 20 6f 72 20 6e 75 6c 6c |f object or null| 000050a0 20 28 26 30 29 0a 3c 2f 50 52 45 3e 0a 3c 50 3e | (&0).</PRE>.<P>| 000050b0 0a 0a 53 65 6e 74 20 62 79 20 4c 6f 63 61 6c 20 |..Sent by Local | 000050c0 74 61 73 6b 20 74 6f 20 72 65 6d 6f 74 65 20 74 |task to remote t| 000050d0 61 73 6b 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e |ask depending on| 000050e0 20 65 6e 74 72 79 20 73 65 6c 65 63 74 65 64 20 | entry selected | 000050f0 69 6e 20 55 74 69 6c 69 74 69 65 73 0a 73 75 62 |in Utilities.sub| 00005100 2d 6d 65 6e 75 2f 64 69 61 6c 6f 67 75 65 2e 20 |-menu/dialogue. | 00005110 52 65 6d 6f 74 65 20 74 61 73 6b 20 73 68 6f 75 |Remote task shou| 00005120 6c 64 20 72 65 63 6f 72 64 20 74 68 65 20 74 61 |ld record the ta| 00005130 67 20 61 64 64 72 65 73 73 20 61 6e 64 20 6f 70 |g address and op| 00005140 65 6e 20 69 74 73 0a 77 69 6e 64 6f 77 20 28 6f |en its.window (o| 00005150 72 20 6a 75 73 74 20 69 74 73 20 74 6f 6f 6c 62 |r just its toolb| 00005160 61 72 20 69 66 20 62 69 74 20 34 20 6f 66 20 74 |ar if bit 4 of t| 00005170 68 65 20 66 6c 61 67 73 20 77 6f 72 64 20 69 73 |he flags word is| 00005180 20 73 65 74 29 2e 20 0a 0a 3c 50 3e 0a 0a 3c 42 | set). ..<P>..<B| 00005190 3e 0a 4e 6f 74 65 73 3a 0a 3c 2f 42 3e 3c 50 3e |>.Notes:.</B><P>| 000051a0 0a 0a 49 66 20 74 68 65 20 52 65 6d 6f 74 65 20 |..If the Remote | 000051b0 74 61 73 6b 20 73 65 74 20 62 69 74 20 34 20 6f |task set bit 4 o| 000051c0 66 20 74 68 65 20 66 6c 61 67 73 20 77 6f 72 64 |f the flags word| 000051d0 20 69 6e 20 3c 41 0a 48 52 45 46 3d 22 23 69 6d | in <A.HREF="#im| 000051e0 22 3e 4d 65 73 73 61 67 65 5f 49 6d 48 65 72 65 |">Message_ImHere| 000051f0 3c 2f 41 3e 20 77 68 65 6e 20 72 65 70 6c 79 69 |</A> when replyi| 00005200 6e 67 20 74 6f 20 3c 41 0a 48 52 45 46 3d 22 23 |ng to <A.HREF="#| 00005210 77 68 6f 73 22 3e 4d 65 73 73 61 67 65 5f 57 68 |whos">Message_Wh| 00005220 6f 73 41 62 6f 75 74 3c 2f 41 3e 20 69 74 20 73 |osAbout</A> it s| 00005230 68 6f 75 6c 64 20 63 68 65 63 6b 20 74 68 61 74 |hould check that| 00005240 20 74 68 69 73 20 62 69 74 20 69 73 20 73 74 69 | this bit is sti| 00005250 6c 6c 0a 73 65 74 20 6e 6f 77 2e 20 49 66 20 69 |ll.set now. If i| 00005260 74 20 68 61 73 20 62 65 65 6e 20 63 6c 65 61 72 |t has been clear| 00005270 65 64 20 74 68 65 6e 20 74 68 65 20 4c 6f 63 61 |ed then the Loca| 00005280 6c 20 74 61 73 6b 20 63 61 6e 6e 6f 74 20 68 61 |l task cannot ha| 00005290 6e 64 6c 65 20 72 65 6d 6f 74 65 0a 6d 65 73 73 |ndle remote.mess| 000052a0 61 67 69 6e 67 20 61 6e 64 20 74 68 65 20 52 65 |aging and the Re| 000052b0 6d 6f 74 65 20 74 61 73 6b 20 6d 75 73 74 20 6f |mote task must o| 000052c0 70 65 6e 20 61 20 73 65 70 61 72 61 74 65 20 77 |pen a separate w| 000052d0 69 6e 64 6f 77 20 6f 6e 74 6f 20 74 68 65 20 6f |indow onto the o| 000052e0 62 6a 65 63 74 2e 0a 3c 50 3e 0a 0a 49 66 20 62 |bject..<P>..If b| 000052f0 69 74 20 34 20 69 73 20 73 74 69 6c 6c 20 73 65 |it 4 is still se| 00005300 74 20 69 74 20 6d 65 61 6e 73 20 74 68 61 74 20 |t it means that | 00005310 74 68 65 20 6c 6f 63 61 6c 20 74 61 73 6b 20 69 |the local task i| 00005320 73 20 77 69 6c 6c 69 6e 67 20 74 6f 20 70 61 72 |s willing to par| 00005330 74 69 63 69 70 61 74 65 0a 69 6e 20 61 6e 20 69 |ticipate.in an i| 00005340 6e 2d 70 6c 61 63 65 20 65 64 69 74 69 6e 67 20 |n-place editing | 00005350 73 65 73 73 69 6f 6e 2e 20 49 6e 20 74 68 69 73 |session. In this| 00005360 20 63 61 73 65 20 74 68 65 20 52 65 6d 6f 74 65 | case the Remote| 00005370 20 74 61 73 6b 20 73 68 6f 75 6c 64 20 73 69 6d | task should sim| 00005380 70 6c 79 0a 6f 70 65 6e 20 69 74 73 20 74 6f 6f |ply.open its too| 00005390 6c 62 61 72 20 61 6e 64 20 73 65 6e 64 20 3c 41 |lbar and send <A| 000053a0 20 48 52 45 46 3d 22 23 68 6f 6f 6b 22 3e 4d 65 | HREF="#hook">Me| 000053b0 73 73 61 67 65 5f 48 6f 6f 6b 4d 65 3c 2f 41 3e |ssage_HookMe</A>| 000053c0 20 74 6f 20 74 68 65 20 4c 6f 63 61 6c 0a 74 61 | to the Local.ta| 000053d0 73 6b 20 74 6f 20 61 73 6b 20 69 74 20 74 6f 20 |sk to ask it to | 000053e0 69 6e 74 65 72 63 65 70 74 20 6d 6f 75 73 65 20 |intercept mouse | 000053f0 62 75 74 74 6f 6e 20 61 6e 64 20 6f 74 68 65 72 |button and other| 00005400 20 57 69 6d 70 20 65 76 65 6e 74 73 2e 20 52 65 | Wimp events. Re| 00005410 63 65 69 70 74 20 6f 66 0a 74 68 69 73 20 6d 65 |ceipt of.this me| 00005420 73 73 61 67 65 20 77 69 6c 6c 20 61 6c 73 6f 20 |ssage will also | 00005430 63 61 75 73 65 20 74 68 65 20 4c 6f 63 61 6c 20 |cause the Local | 00005440 74 61 73 6b 20 74 6f 20 73 65 6e 64 20 3c 41 0a |task to send <A.| 00005450 48 52 45 46 3d 22 23 70 6f 73 22 3e 4d 65 73 73 |HREF="#pos">Mess| 00005460 61 67 65 5f 4f 62 6a 65 63 74 50 6f 73 69 74 69 |age_ObjectPositi| 00005470 6f 6e 3c 2f 41 3e 20 74 6f 20 6d 6f 76 65 20 74 |on</A> to move t| 00005480 68 65 20 72 65 6d 6f 74 65 20 74 61 73 6b 73 20 |he remote tasks | 00005490 74 6f 6f 6c 62 61 72 20 74 6f 0a 74 68 65 20 63 |toolbar to.the c| 000054a0 6f 72 72 65 63 74 20 70 6f 73 69 74 69 6f 6e 2e |orrect position.| 000054b0 20 0a 0a 3c 50 3e 0a 0a 4e 6f 74 68 69 6e 67 20 | ..<P>..Nothing | 000054c0 61 62 6f 75 74 20 74 68 65 20 73 74 61 6e 64 61 |about the standa| 000054d0 72 64 20 70 72 65 76 65 6e 74 73 20 74 68 65 20 |rd prevents the | 000054e0 6f 62 6a 65 63 74 20 63 68 61 6e 67 69 6e 67 20 |object changing | 000054f0 74 79 70 65 20 28 65 67 20 66 72 6f 6d 20 73 70 |type (eg from sp| 00005500 72 69 74 65 0a 74 6f 20 44 72 61 77 66 69 6c 65 |rite.to Drawfile| 00005510 29 20 62 65 74 77 65 65 6e 20 3c 41 20 48 52 45 |) between <A HRE| 00005520 46 3d 22 23 77 68 6f 73 22 3e 4d 65 73 73 61 67 |F="#whos">Messag| 00005530 65 5f 57 68 6f 73 41 62 6f 75 74 3c 2f 41 3e 20 |e_WhosAbout</A> | 00005540 61 6e 64 20 74 68 69 73 20 6d 65 73 73 61 67 65 |and this message| 00005550 2e 0a 4f 6e 20 72 65 63 65 69 70 74 20 6f 66 20 |..On receipt of | 00005560 74 68 69 73 20 6d 65 73 73 61 67 65 20 74 68 65 |this message the| 00005570 20 52 65 6d 6f 74 65 20 74 61 73 6b 20 6d 75 73 | Remote task mus| 00005580 74 20 74 68 65 72 65 66 6f 72 65 20 63 68 65 63 |t therefore chec| 00005590 6b 20 74 68 65 20 66 69 6c 65 74 79 70 65 0a 66 |k the filetype.f| 000055a0 69 65 6c 64 20 61 6e 64 20 61 73 20 6d 75 63 68 |ield and as much| 000055b0 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 27 73 | of the object's| 000055c0 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 20 | data structure | 000055d0 61 73 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 |as necessary to | 000055e0 65 6e 73 75 72 65 20 74 68 61 74 0a 69 74 20 63 |ensure that.it c| 000055f0 61 6e 20 65 64 69 74 20 74 68 65 20 6f 62 6a 65 |an edit the obje| 00005600 63 74 20 61 6e 64 20 64 65 6c 69 6e 6b 2f 69 67 |ct and delink/ig| 00005610 6e 6f 72 65 20 74 68 65 20 6d 65 73 73 61 67 65 |nore the message| 00005620 20 71 75 69 65 74 6c 79 20 69 66 20 74 68 65 20 | quietly if the | 00005630 74 79 70 65 20 69 73 0a 6e 6f 74 20 74 6f 20 69 |type is.not to i| 00005640 74 73 20 6c 69 6b 69 6e 67 2e 20 54 68 69 73 20 |ts liking. This | 00005650 61 6c 6c 6f 77 73 20 74 68 65 20 4c 6f 63 61 6c |allows the Local| 00005660 20 74 61 73 6b 20 74 6f 20 27 6d 6f 76 65 27 20 | task to 'move' | 00005670 61 20 72 65 6d 6f 74 65 20 74 61 73 6b 20 74 6f |a remote task to| 00005680 0a 64 69 66 66 65 72 65 6e 74 20 6f 62 6a 65 63 |.different objec| 00005690 74 73 20 63 6c 65 61 6e 6c 79 2e 0a 0a 3c 50 3e |ts cleanly...<P>| 000056a0 0a 0a 0a 42 65 66 6f 72 65 20 73 65 6e 64 69 6e |...Before sendin| 000056b0 67 20 4d 65 73 73 61 67 65 5f 44 6f 59 6f 75 72 |g Message_DoYour| 000056c0 53 74 75 66 66 20 77 69 74 68 20 62 69 74 20 34 |Stuff with bit 4| 000056d0 20 73 65 74 20 74 68 65 20 6c 6f 63 61 6c 20 74 | set the local t| 000056e0 61 73 6b 20 73 68 6f 75 6c 64 0a 62 72 6f 61 64 |ask should.broad| 000056f0 63 61 73 74 20 3c 41 20 48 52 45 46 3d 22 23 75 |cast <A HREF="#u| 00005700 6e 68 6f 6f 6b 22 3e 4d 65 73 73 61 67 65 5f 55 |nhook">Message_U| 00005710 6e 68 6f 6f 6b 4d 65 3c 2f 41 3e 20 74 6f 20 70 |nhookMe</A> to p| 00005720 72 65 76 65 6e 74 20 6d 6f 72 65 20 74 68 61 6e |revent more than| 00005730 20 6f 6e 65 0a 72 65 6d 6f 74 65 20 74 61 73 6b | one.remote task| 00005740 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 64 | attempting to d| 00005750 6f 20 69 6e 2d 70 6c 61 63 65 20 65 64 69 74 69 |o in-place editi| 00005760 6e 67 20 61 74 20 6f 6e 63 65 2e 0a 0a 3c 70 3e |ng at once...<p>| 00005770 20 0a 0a 42 65 66 6f 72 65 20 73 65 6e 64 69 6e | ..Before sendin| 00005780 67 20 4d 65 73 73 61 67 65 5f 44 6f 59 6f 75 72 |g Message_DoYour| 00005790 53 74 75 66 66 20 77 69 74 68 20 62 69 74 20 33 |Stuff with bit 3| 000057a0 20 73 65 74 20 74 68 65 20 6c 6f 63 61 6c 20 74 | set the local t| 000057b0 61 73 6b 20 73 68 6f 75 6c 64 0a 62 72 6f 61 64 |ask should.broad| 000057c0 63 61 73 74 20 3c 41 20 48 52 45 46 3d 22 23 64 |cast <A HREF="#d| 000057d0 65 73 65 6c 22 3e 4d 65 73 73 61 67 65 5f 44 65 |esel">Message_De| 000057e0 73 65 6c 65 63 74 3c 2f 41 3e 20 61 73 20 74 68 |select</A> as th| 000057f0 65 20 72 65 6d 6f 74 65 20 74 61 73 6b 20 69 6e |e remote task in| 00005800 0a 71 75 65 73 74 69 6f 6e 20 77 61 6e 74 73 20 |.question wants | 00005810 74 6f 20 27 6f 77 6e 27 20 74 68 65 20 6f 62 6a |to 'own' the obj| 00005820 65 63 74 2e 0a 0a 3c 50 3e 0a 0a 3c 53 54 52 4f |ect...<P>..<STRO| 00005830 4e 47 3e 0a 3c 41 20 4e 41 4d 45 3d 22 64 65 73 |NG>.<A NAME="des| 00005840 65 6c 22 3e 0a 4d 65 73 73 61 67 65 5f 44 65 73 |el">.Message_Des| 00005850 65 6c 65 63 74 0a 3c 2f 41 3e 20 28 26 38 33 34 |elect.</A> (&834| 00005860 38 37 29 20 28 4d 73 67 5f 44 65 73 65 6c 25 29 |87) (Msg_Desel%)| 00005870 0a 3c 2f 53 54 52 4f 4e 47 3e 0a 3c 50 3e 0a 0a |.</STRONG>.<P>..| 00005880 42 72 6f 61 64 63 61 73 74 20 62 79 20 4c 6f 63 |Broadcast by Loc| 00005890 61 6c 20 74 61 73 6b 20 77 68 65 6e 20 74 68 65 |al task when the| 000058a0 20 6f 62 6a 65 63 74 20 68 61 73 20 62 65 65 6e | object has been| 000058b0 20 64 65 6c 65 74 65 64 2e 0a 3c 50 3e 0a 0a 54 | deleted..<P>..T| 000058c0 68 65 20 62 6c 6f 63 6b 20 70 6f 69 6e 74 65 64 |he block pointed| 000058d0 20 74 6f 20 62 79 20 52 31 20 63 6f 6e 74 61 69 | to by R1 contai| 000058e0 6e 73 3a 3c 50 3e 0a 0a 3c 50 52 45 3e 0a 52 31 |ns:<P>..<PRE>.R1| 000058f0 2b 32 30 20 20 20 46 69 6c 65 74 79 70 65 20 6f |+20 Filetype o| 00005900 66 20 6f 62 6a 65 63 74 2e 0a 52 31 2b 32 34 20 |f object..R1+24 | 00005910 20 20 41 64 64 72 65 73 73 20 6f 66 20 6f 62 6a | Address of obj| 00005920 65 63 74 20 74 61 67 0a 3c 2f 50 52 45 3e 0a 3c |ect tag.</PRE>.<| 00005930 50 3e 0a 0a 41 6c 6c 20 54 61 73 6b 73 20 69 6e |P>..All Tasks in| 00005940 74 65 72 65 73 74 65 64 20 69 6e 20 74 68 65 20 |terested in the | 00005950 6f 62 6a 65 63 74 20 73 68 6f 75 6c 64 20 63 6c |object should cl| 00005960 6f 73 65 20 74 68 65 69 72 20 77 69 6e 64 6f 77 |ose their window| 00005970 2f 61 62 61 6e 64 6f 6e 20 74 68 65 69 72 0a 6f |/abandon their.o| 00005980 70 65 72 61 74 69 6f 6e 73 20 61 73 20 74 68 65 |perations as the| 00005990 20 6f 62 6a 65 63 74 20 69 6e 20 71 75 65 73 74 | object in quest| 000059a0 69 6f 6e 20 68 61 73 20 62 65 65 6e 20 72 65 6d |ion has been rem| 000059b0 6f 76 65 64 20 66 72 6f 6d 20 74 68 65 20 50 43 |oved from the PC| 000059c0 41 20 73 79 73 74 65 6d 0a 28 75 73 75 61 6c 6c |A system.(usuall| 000059d0 79 20 62 65 63 61 75 73 65 20 69 74 20 68 61 73 |y because it has| 000059e0 20 62 65 65 6e 20 64 65 6c 65 74 65 64 29 2e 20 | been deleted). | 000059f0 4c 6f 63 61 6c 20 74 61 73 6b 73 20 3c 62 3e 6d |Local tasks <b>m| 00005a00 75 73 74 3c 2f 62 3e 20 67 65 6e 65 72 61 74 65 |ust</b> generate| 00005a10 20 74 68 69 73 0a 6d 65 73 73 61 67 65 20 77 68 | this.message wh| 00005a20 65 6e 20 64 65 6c 65 74 69 6e 67 20 61 6e 20 6f |en deleting an o| 00005a30 62 6a 65 63 74 2c 20 71 75 69 74 74 69 6e 67 20 |bject, quitting | 00005a40 65 74 63 2e 20 6f 72 20 72 65 6d 6f 74 65 20 74 |etc. or remote t| 00005a50 61 73 6b 73 20 75 73 69 6e 67 20 74 68 65 0a 6f |asks using the.o| 00005a60 62 6a 65 63 74 20 77 69 6c 6c 20 63 72 61 73 68 |bject will crash| 00005a70 2e 20 49 66 20 74 68 65 20 4c 6f 63 61 6c 20 74 |. If the Local t| 00005a80 61 73 6b 20 69 73 20 75 73 69 6e 67 20 50 43 41 |ask is using PCA| 00005a90 53 75 70 70 6f 72 74 20 66 6f 72 20 74 61 67 20 |Support for tag | 00005aa0 67 65 6e 65 72 61 74 69 6f 6e 0a 69 74 20 73 68 |generation.it sh| 00005ab0 6f 75 6c 64 20 63 61 6c 6c 20 53 57 49 20 50 43 |ould call SWI PC| 00005ac0 41 5f 44 65 6c 65 74 65 41 6e 64 4b 69 6c 6c 20 |A_DeleteAndKill | 00005ad0 77 68 69 63 68 20 77 69 6c 6c 20 64 65 6c 65 74 |which will delet| 00005ae0 65 20 74 68 65 20 74 61 67 20 61 6e 64 20 73 65 |e the tag and se| 00005af0 6e 64 20 74 68 69 73 0a 6d 65 73 73 61 67 65 20 |nd this.message | 00005b00 69 6e 20 6f 6e 65 20 6f 70 65 72 61 74 69 6f 6e |in one operation| 00005b10 20 62 75 74 20 3c 62 3e 6f 6e 6c 79 3c 2f 62 3e | but <b>only</b>| 00005b20 20 77 68 65 6e 20 74 68 65 20 6f 62 6a 65 63 74 | when the object| 00005b30 20 72 65 61 6c 6c 79 20 69 73 20 62 65 69 6e 67 | really is being| 00005b40 0a 64 65 6c 65 74 65 64 2e 3c 70 3e 20 4e 6f 74 |.deleted.<p> Not| 00005b50 65 3a 20 54 68 69 73 20 69 6d 70 6c 69 65 73 20 |e: This implies | 00005b60 74 68 61 74 20 74 68 65 20 72 65 6d 6f 74 65 20 |that the remote | 00005b70 74 61 73 6b 2c 20 6f 6e 20 72 65 63 65 69 70 74 |task, on receipt| 00005b80 20 6f 66 20 74 68 69 73 0a 6d 65 73 73 61 67 65 | of this.message| 00005b90 20 3c 62 3e 63 61 6e 6e 6f 74 3c 2f 62 3e 20 72 | <b>cannot</b> r| 00005ba0 65 6c 79 20 6f 6e 20 6d 6f 72 65 20 74 68 61 6e |ely on more than| 00005bb0 20 74 68 65 20 74 61 67 20 61 64 64 72 65 73 73 | the tag address| 00005bc0 20 61 73 20 61 20 6b 65 79 20 74 6f 20 74 68 65 | as a key to the| 00005bd0 0a 6f 62 6a 65 63 74 2e 20 49 74 20 5f 63 61 6e |.object. It _can| 00005be0 6e 6f 74 5f 20 61 63 63 65 73 73 20 74 68 65 20 |not_ access the | 00005bf0 6f 62 6a 65 63 74 20 64 61 74 61 20 76 69 61 20 |object data via | 00005c00 74 68 65 20 74 61 67 20 70 61 73 73 65 64 20 61 |the tag passed a| 00005c10 73 20 53 57 49 0a 50 43 41 5f 44 65 6c 65 74 65 |s SWI.PCA_Delete| 00005c20 54 61 67 20 68 61 73 20 61 6c 72 65 61 64 79 20 |Tag has already | 00005c30 62 65 65 6e 20 63 61 6c 6c 65 64 20 28 74 68 65 |been called (the| 00005c40 20 61 64 64 72 65 73 73 20 66 69 65 6c 64 73 20 | address fields | 00005c50 77 69 74 68 69 6e 20 74 68 65 20 74 61 67 0a 77 |within the tag.w| 00005c60 69 6c 6c 20 63 6f 6e 74 61 69 6e 20 2d 31 20 61 |ill contain -1 a| 00005c70 6e 64 20 74 68 65 20 6f 62 6a 65 63 74 20 64 61 |nd the object da| 00005c80 74 61 20 69 74 73 65 6c 66 20 6d 61 79 20 77 65 |ta itself may we| 00005c90 6c 6c 20 68 61 76 65 20 62 65 65 6e 20 64 69 73 |ll have been dis| 00005ca0 63 61 72 64 65 64 29 2e 0a 54 68 69 73 20 69 73 |carded)..This is| 00005cb0 20 75 6e 61 76 6f 69 64 61 62 6c 65 20 77 69 74 | unavoidable wit| 00005cc0 68 6f 75 74 20 61 20 74 77 6f 20 6d 65 73 73 61 |hout a two messa| 00005cd0 67 65 20 28 4d 65 73 73 61 67 65 2f 41 63 6b 29 |ge (Message/Ack)| 00005ce0 20 64 65 73 65 6c 65 63 74 69 6f 6e 20 73 79 73 | deselection sys| 00005cf0 74 65 6d 0a 77 68 69 63 68 20 77 6f 75 6c 64 20 |tem.which would | 00005d00 62 65 20 6d 6f 72 65 20 64 69 66 66 69 63 75 69 |be more difficui| 00005d10 6c 74 20 66 6f 72 20 74 61 73 6b 73 20 74 6f 20 |lt for tasks to | 00005d20 68 61 6e 64 6c 65 2e 20 45 73 70 65 63 69 61 6c |handle. Especial| 00005d30 6c 79 20 28 61 73 20 69 73 20 6f 66 74 65 6e 0a |ly (as is often.| 00005d40 74 68 65 20 63 61 73 65 29 20 69 66 20 74 68 65 |the case) if the| 00005d50 20 6c 6f 63 61 6c 20 74 61 73 6b 20 69 73 20 61 | local task is a| 00005d60 62 6f 75 74 20 74 6f 20 71 75 69 74 2e 0a 0a 0a |bout to quit....| 00005d70 3c 50 3e 0a 0a 0a 3c 53 54 52 4f 4e 47 3e 0a 3c |<P>...<STRONG>.<| 00005d80 41 20 4e 41 4d 45 3d 22 64 6f 6e 65 22 3e 0a 4d |A NAME="done">.M| 00005d90 65 73 73 61 67 65 5f 44 6f 6e 65 4d 79 53 74 75 |essage_DoneMyStu| 00005da0 66 66 0a 3c 2f 41 3e 20 28 26 38 33 34 38 38 29 |ff.</A> (&83488)| 00005db0 20 28 4d 73 67 5f 44 6f 6e 65 25 29 0a 3c 2f 53 | (Msg_Done%).</S| 00005dc0 54 52 4f 4e 47 3e 0a 3c 50 3e 0a 0a 42 72 6f 61 |TRONG>.<P>..Broa| 00005dd0 64 63 61 73 74 20 62 79 20 61 20 74 61 73 6b 20 |dcast by a task | 00005de0 77 68 65 6e 20 69 74 20 68 61 73 20 6d 6f 64 69 |when it has modi| 00005df0 66 69 65 64 20 74 68 65 20 6f 62 6a 65 63 74 2e |fied the object.| 00005e00 20 41 6c 6c 20 74 61 73 6b 73 20 61 63 63 65 73 | All tasks acces| 00005e10 73 69 6e 67 20 74 68 65 0a 6f 62 6a 65 63 74 20 |sing the.object | 00005e20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 6f |other than the o| 00005e30 72 69 67 69 6e 61 74 6f 72 20 6f 66 20 74 68 65 |riginator of the| 00005e40 20 6d 65 73 73 61 67 65 20 73 68 6f 75 6c 64 20 | message should | 00005e50 72 65 63 6f 67 6e 69 73 65 20 74 68 69 73 0a 6d |recognise this.m| 00005e60 65 73 73 61 67 65 20 61 6e 64 20 72 65 64 72 61 |essage and redra| 00005e70 77 20 74 68 65 20 6f 62 6a 65 63 74 2e 0a 0a 3c |w the object...<| 00005e80 50 3e 0a 0a 54 68 65 20 62 6c 6f 63 6b 20 70 6f |P>..The block po| 00005e90 69 6e 74 65 64 20 74 6f 20 62 79 20 52 31 20 63 |inted to by R1 c| 00005ea0 6f 6e 74 61 69 6e 73 3a 3c 50 3e 0a 3c 50 52 45 |ontains:<P>.<PRE| 00005eb0 3e 0a 52 31 2b 32 30 20 20 20 30 0a 52 31 2b 32 |>.R1+20 0.R1+2| 00005ec0 34 20 20 20 41 64 64 72 65 73 73 20 6f 66 20 6f |4 Address of o| 00005ed0 62 6a 65 63 74 20 74 61 67 0a 0a 3c 2f 50 52 45 |bject tag..</PRE| 00005ee0 3e 3c 50 3e 0a 0a 55 73 65 20 74 68 69 73 20 6d |><P>..Use this m| 00005ef0 65 73 73 61 67 65 20 66 6f 72 20 27 77 68 6f 6c |essage for 'whol| 00005f00 65 20 6f 62 6a 65 63 74 20 63 68 61 6e 67 65 64 |e object changed| 00005f10 27 20 6f 70 65 72 61 74 69 6f 6e 73 20 77 68 69 |' operations whi| 00005f20 63 68 20 64 6f 20 6e 6f 74 20 69 6e 76 6f 6c 76 |ch do not involv| 00005f30 65 0a 63 68 61 6e 67 65 73 20 74 6f 20 74 68 65 |e.changes to the| 00005f40 20 6f 62 6a 65 63 74 27 73 20 62 61 73 69 63 20 | object's basic | 00005f50 73 74 72 75 63 74 75 72 65 20 28 45 67 2e 20 69 |structure (Eg. i| 00005f60 6d 61 67 65 20 66 69 6c 74 65 72 20 6f 66 20 73 |mage filter of s| 00005f70 70 72 69 74 65 29 2e 0a 0a 3c 50 3e 0a 0a 4e 6f |prite)...<P>..No| 00005f80 74 65 3a 20 52 65 63 65 70 69 74 20 6f 66 20 74 |te: Recepit of t| 00005f90 68 69 73 20 6d 65 73 73 61 67 65 20 62 79 20 74 |his message by t| 00005fa0 68 65 20 4c 6f 63 61 6c 20 74 61 73 6b 20 73 68 |he Local task sh| 00005fb0 6f 75 6c 64 0a 6e 6f 74 20 62 65 20 74 61 6b 65 |ould.not be take| 00005fc0 6e 20 61 73 20 61 6e 20 69 6e 64 69 63 61 74 69 |n as an indicati| 00005fd0 6f 6e 20 74 68 61 74 20 74 68 65 20 72 65 6d 6f |on that the remo| 00005fe0 74 65 20 74 61 73 6b 20 69 73 20 6e 6f 20 6c 6f |te task is no lo| 00005ff0 6e 67 65 72 20 69 6e 74 65 72 65 73 74 65 64 0a |nger interested.| 00006000 69 6e 20 69 74 2e 20 54 68 61 74 20 69 73 20 77 |in it. That is w| 00006010 68 61 74 20 3c 41 20 48 52 45 46 3d 22 23 75 6e |hat <A HREF="#un| 00006020 68 6f 6f 6b 22 3e 4d 65 73 73 61 67 65 5f 55 6e |hook">Message_Un| 00006030 68 6f 6f 6b 4d 65 3c 2f 41 3e 20 69 73 20 66 6f |hookMe</A> is fo| 00006040 72 2e 0a 0a 3c 70 3e 0a 0a 3c 53 54 52 4f 4e 47 |r...<p>..<STRONG| 00006050 3e 0a 3c 41 20 4e 41 4d 45 3d 22 63 68 61 6e 67 |>.<A NAME="chang| 00006060 65 64 22 3e 0a 4d 65 73 73 61 67 65 5f 43 68 61 |ed">.Message_Cha| 00006070 6e 67 65 64 0a 3c 2f 41 3e 20 28 26 38 33 34 38 |nged.</A> (&8348| 00006080 41 29 20 28 4d 73 67 5f 43 68 61 6e 67 65 64 25 |A) (Msg_Changed%| 00006090 29 0a 3c 2f 53 54 52 4f 4e 47 3e 0a 3c 50 3e 0a |).</STRONG>.<P>.| 000060a0 0a 42 72 6f 61 64 63 61 73 74 20 62 79 20 4c 6f |.Broadcast by Lo| 000060b0 63 61 6c 20 6f 72 20 52 65 6d 6f 74 65 20 74 61 |cal or Remote ta| 000060c0 73 6b 20 77 68 65 6e 20 74 68 65 20 6f 62 6a 65 |sk when the obje| 000060d0 63 74 20 68 61 73 20 63 68 61 6e 67 65 64 20 28 |ct has changed (| 000060e0 65 69 74 68 65 72 20 69 6e 0a 73 69 7a 65 20 6f |either in.size o| 000060f0 72 20 69 74 73 20 64 65 74 61 69 6c 73 29 2e 20 |r its details). | 00006100 54 61 73 6b 20 73 68 6f 75 6c 64 20 61 63 74 20 |Task should act | 00006110 61 73 20 69 66 20 69 74 20 68 61 64 20 67 6f 74 |as if it had got| 00006120 20 61 20 6e 65 77 20 44 6f 59 6f 75 72 53 74 75 | a new DoYourStu| 00006130 66 66 0a 6d 65 73 73 61 67 65 2e 0a 0a 3c 50 3e |ff.message...<P>| 00006140 0a 0a 42 72 6f 61 64 63 61 73 74 20 62 79 20 52 |..Broadcast by R| 00006150 65 6d 6f 74 65 20 74 61 73 6b 20 61 66 74 65 72 |emote task after| 00006160 20 69 74 20 68 61 73 20 63 68 61 6e 67 65 64 20 | it has changed | 00006170 74 68 65 20 6f 62 6a 65 63 74 27 73 20 73 69 7a |the object's siz| 00006180 65 2e 20 4c 6f 63 61 6c 20 61 6e 64 0a 6f 74 68 |e. Local and.oth| 00006190 65 72 20 69 6e 74 65 72 65 73 74 65 64 20 52 65 |er interested Re| 000061a0 6d 6f 74 65 20 74 61 73 6b 73 20 77 69 6c 6c 20 |mote tasks will | 000061b0 72 65 2d 72 65 61 64 20 74 68 65 20 6f 62 6a 65 |re-read the obje| 000061c0 63 74 27 73 20 64 65 74 61 69 6c 73 20 61 6e 64 |ct's details and| 000061d0 20 72 65 64 72 61 77 0a 74 68 65 20 6f 62 6a 65 | redraw.the obje| 000061e0 63 74 2e 3c 50 3e 0a 0a 0a 54 68 65 20 62 6c 6f |ct.<P>...The blo| 000061f0 63 6b 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 |ck pointed to by| 00006200 20 52 31 20 63 6f 6e 74 61 69 6e 73 3a 3c 50 3e | R1 contains:<P>| 00006210 0a 0a 3c 50 52 45 3e 0a 52 31 2b 32 30 20 20 20 |..<PRE>.R1+20 | 00006220 46 69 6c 65 74 79 70 65 20 6f 66 20 6f 62 6a 65 |Filetype of obje| 00006230 63 74 0a 52 31 2b 32 34 20 20 20 41 64 64 72 65 |ct.R1+24 Addre| 00006240 73 73 20 6f 66 20 6f 62 6a 65 63 74 20 74 61 67 |ss of object tag| 00006250 0a 52 31 2b 32 38 20 20 20 72 65 73 65 72 76 65 |.R1+28 reserve| 00006260 64 20 2d 20 30 0a 52 31 2b 33 32 20 20 20 53 74 |d - 0.R1+32 St| 00006270 72 69 6e 67 2e 20 4e 65 77 20 6e 61 6d 65 20 6f |ring. New name o| 00006280 66 20 6f 62 6a 65 63 74 20 6f 72 20 7a 65 72 6f |f object or zero| 00006290 20 66 6f 72 20 6e 6f 20 63 68 61 6e 67 65 2e 0a | for no change..| 000062a0 0a 3c 2f 50 52 45 3e 3c 50 3e 0a 0a 4e 6f 74 65 |.</PRE><P>..Note| 000062b0 3a 20 4e 6f 74 68 69 6e 67 20 61 62 6f 75 74 20 |: Nothing about | 000062c0 74 68 65 20 73 74 61 6e 64 61 72 64 20 70 72 65 |the standard pre| 000062d0 76 65 6e 74 73 20 74 68 65 20 6f 62 6a 65 63 74 |vents the object| 000062e0 20 63 68 61 6e 67 69 6e 67 20 74 79 70 65 20 28 | changing type (| 000062f0 65 67 20 66 72 6f 6d 0a 73 70 72 69 74 65 20 74 |eg from.sprite t| 00006300 6f 20 44 72 61 77 66 69 6c 65 29 2e 20 4f 6e 20 |o Drawfile). On | 00006310 72 65 63 65 69 70 74 20 6f 66 20 74 68 69 73 20 |receipt of this | 00006320 6d 65 73 73 61 67 65 20 70 6c 65 61 73 65 20 63 |message please c| 00006330 68 65 63 6b 20 74 68 65 20 66 69 6c 65 74 79 70 |heck the filetyp| 00006340 65 0a 66 69 65 6c 64 20 61 73 20 77 65 6c 6c 20 |e.field as well | 00006350 61 73 20 61 6c 6c 20 6e 65 63 65 73 73 61 72 79 |as all necessary| 00006360 20 61 73 70 65 63 74 73 20 6f 66 20 74 68 65 20 | aspects of the | 00006370 6f 62 6a 65 63 74 27 73 20 64 61 74 61 20 73 74 |object's data st| 00006380 72 75 63 74 75 72 65 2e 20 49 66 0a 74 68 65 20 |ructure. If.the | 00006390 6f 62 6a 65 63 74 20 69 73 20 6e 6f 74 20 74 6f |object is not to| 000063a0 20 61 20 52 65 6d 6f 74 65 20 74 61 73 6b 27 73 | a Remote task's| 000063b0 20 6c 69 6b 69 6e 67 20 69 74 20 73 68 6f 75 6c | liking it shoul| 000063c0 64 20 73 65 6e 64 20 4d 65 73 73 61 67 65 5f 55 |d send Message_U| 000063d0 6e 48 6f 6f 6b 20 61 6e 64 0a 64 65 6c 69 6e 6b |nHook and.delink| 000063e0 20 71 75 69 65 74 6c 79 2e 0a 0a 0a 3c 50 3e 0a | quietly....<P>.| 000063f0 0a 3c 53 54 52 4f 4e 47 3e 0a 3c 41 20 4e 41 4d |.<STRONG>.<A NAM| 00006400 45 3d 22 72 65 73 69 7a 65 22 3e 0a 4d 65 73 73 |E="resize">.Mess| 00006410 61 67 65 5f 52 65 73 69 7a 65 52 65 71 75 65 73 |age_ResizeReques| 00006420 74 0a 3c 2f 41 3e 20 20 28 26 38 33 34 38 42 29 |t.</A> (&8348B)| 00006430 20 28 4d 73 67 5f 52 65 73 69 7a 65 25 29 0a 3c | (Msg_Resize%).<| 00006440 2f 53 54 52 4f 4e 47 3e 3c 50 3e 0a 0a 0a 53 65 |/STRONG><P>...Se| 00006450 6e 74 20 62 79 20 52 65 6d 6f 74 65 20 74 61 73 |nt by Remote tas| 00006460 6b 20 74 6f 20 4c 6f 63 61 6c 20 28 74 61 73 6b |k to Local (task| 00006470 20 68 61 6e 64 6c 65 20 69 6e 20 52 31 2b 34 20 | handle in R1+4 | 00006480 6f 66 20 44 6f 59 6f 75 72 53 74 75 66 66 20 6d |of DoYourStuff m| 00006490 65 73 73 61 67 65 29 2e 0a 49 66 20 74 68 65 20 |essage)..If the | 000064a0 4c 6f 63 61 6c 20 74 61 73 6b 20 66 61 69 6c 73 |Local task fails| 000064b0 20 74 6f 20 64 65 61 6c 20 73 75 63 63 65 73 73 | to deal success| 000064c0 66 75 6c 6c 79 20 69 74 20 77 69 6c 6c 20 63 6c |fully it will cl| 000064d0 61 69 6d 20 74 68 65 20 6d 65 73 73 61 67 65 2e |aim the message.| 000064e0 0a 0a 3c 50 3e 0a 0a 0a 54 68 65 20 62 6c 6f 63 |..<P>...The bloc| 000064f0 6b 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 |k pointed to by | 00006500 52 31 20 63 6f 6e 74 61 69 6e 73 3a 3c 50 3e 0a |R1 contains:<P>.| 00006510 3c 50 52 45 3e 0a 52 31 2b 32 30 20 20 20 30 0a |<PRE>.R1+20 0.| 00006520 52 31 2b 32 34 20 20 20 41 64 64 72 65 73 73 20 |R1+24 Address | 00006530 6f 66 20 6f 62 6a 65 63 74 20 74 61 67 0a 52 31 |of object tag.R1| 00006540 2b 32 38 20 20 20 72 65 73 65 72 76 65 64 20 2d |+28 reserved -| 00006550 20 30 0a 52 31 2b 33 32 20 20 20 4e 65 77 20 73 | 0.R1+32 New s| 00006560 69 7a 65 2e 20 54 6f 74 61 6c 20 73 69 7a 65 20 |ize. Total size | 00006570 6f 66 20 6f 62 6a 65 63 74 20 73 74 72 75 63 74 |of object struct| 00006580 75 72 65 0a 20 20 20 20 20 20 20 20 28 69 6e 63 |ure. (inc| 00006590 6c 75 64 69 6e 67 20 68 65 61 64 65 72 2c 20 6f |luding header, o| 000065a0 66 66 73 65 74 20 74 6f 20 62 61 73 65 20 65 74 |ffset to base et| 000065b0 63 2e 29 20 69 66 20 66 6c 61 67 73 20 62 31 0a |c.) if flags b1.| 000065c0 20 20 20 20 20 20 20 20 63 6c 65 61 72 20 6f 74 | clear ot| 000065d0 68 65 72 77 69 73 65 20 6e 65 77 20 73 69 7a 65 |herwise new size| 000065e0 20 6f 66 20 6f 62 6a 65 63 74 20 69 74 73 65 6c | of object itsel| 000065f0 66 2e 0a 52 31 2b 33 36 20 20 20 46 6c 61 67 73 |f..R1+36 Flags| 00006600 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 00006610 62 30 20 73 65 74 20 27 52 65 73 69 7a 65 20 61 |b0 set 'Resize a| 00006620 73 73 6f 63 69 61 74 65 64 20 6f 62 6a 65 63 74 |ssociated object| 00006630 73 20 61 73 20 77 65 6c 6c 27 0a 20 20 20 20 20 |s as well'. | 00006640 20 20 20 20 20 20 20 20 20 20 62 31 20 73 65 74 | b1 set| 00006650 20 27 4e 65 77 20 53 69 7a 65 20 69 73 20 66 6f | 'New Size is fo| 00006660 72 20 6f 62 6a 65 63 74 20 61 6c 6f 6e 65 20 2d |r object alone -| 00006670 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 | does not includ| 00006680 65 20 68 65 61 64 65 72 2e 27 0a 3c 2f 50 52 45 |e header.'.</PRE| 00006690 3e 0a 3c 50 3e 0a 0a 49 66 20 74 68 65 20 4c 6f |>.<P>..If the Lo| 000066a0 63 61 6c 20 74 61 73 6b 20 73 75 63 63 65 65 64 |cal task succeed| 000066b0 73 20 74 68 65 6e 20 69 74 20 77 69 6c 6c 20 73 |s then it will s| 000066c0 65 6e 64 20 3c 41 0a 48 52 45 46 3d 22 23 72 65 |end <A.HREF="#re| 000066d0 73 69 7a 65 61 63 6b 22 3e 4d 65 73 73 61 67 65 |sizeack">Message| 000066e0 5f 52 65 73 69 7a 65 41 63 6b 3c 2f 41 3e 20 28 |_ResizeAck</A> (| 000066f0 62 61 73 69 63 61 6c 6c 79 2c 20 63 6f 70 79 20 |basically, copy | 00006700 52 31 2b 38 20 74 6f 20 52 31 2b 31 32 2c 20 70 |R1+8 to R1+12, p| 00006710 75 74 0a 4d 65 73 73 61 67 65 20 52 65 73 69 7a |ut.Message Resiz| 00006720 65 41 63 6b 20 69 6e 74 6f 20 52 31 2b 31 36 2c |eAck into R1+16,| 00006730 20 75 70 64 61 74 65 20 52 31 2b 33 32 20 61 6e | update R1+32 an| 00006740 64 20 72 65 74 75 72 6e 20 74 6f 20 73 65 6e 64 |d return to send| 00006750 65 72 29 2e 20 4f 6e 20 72 65 63 65 69 70 74 0a |er). On receipt.| 00006760 6f 66 20 52 65 73 69 7a 65 41 63 6b 20 6d 65 73 |of ResizeAck mes| 00006770 73 61 67 65 20 74 68 65 20 73 65 6e 64 65 72 20 |sage the sender | 00006780 6f 66 20 52 65 73 69 7a 65 52 65 71 75 65 73 74 |of ResizeRequest| 00006790 20 73 68 6f 75 6c 64 20 6d 6f 64 69 66 79 20 74 | should modify t| 000067a0 68 65 20 6f 62 6a 65 63 74 0a 61 70 70 72 6f 70 |he object.approp| 000067b0 72 69 61 74 65 6c 79 20 28 66 6f 72 20 65 78 61 |riately (for exa| 000067c0 6d 70 6c 65 2c 20 61 64 64 69 6e 67 20 72 6f 77 |mple, adding row| 000067d0 73 2f 63 6f 6c 75 6d 6e 73 20 74 6f 20 61 20 73 |s/columns to a s| 000067e0 70 72 69 74 65 29 2e 0a 0a 3c 50 3e 0a 0a 3c 42 |prite)...<P>..<B| 000067f0 3e 0a 4e 6f 74 65 73 3a 0a 3c 2f 42 3e 3c 50 3e |>.Notes:.</B><P>| 00006800 0a 0a 59 6f 75 20 6d 75 73 74 20 62 65 20 70 72 |..You must be pr| 00006810 65 70 61 72 65 64 20 66 6f 72 20 74 68 65 20 72 |epared for the r| 00006820 65 73 69 7a 65 20 72 65 71 75 65 73 74 20 74 6f |esize request to| 00006830 20 66 61 69 6c 20 69 6e 20 77 68 69 63 68 20 63 | fail in which c| 00006840 61 73 65 20 69 74 20 69 73 20 74 68 65 0a 72 65 |ase it is the.re| 00006850 73 70 6f 6e 73 69 62 69 6c 69 74 79 20 6f 66 20 |sponsibility of | 00006860 74 68 65 20 4c 6f 63 61 6c 20 74 61 73 6b 20 74 |the Local task t| 00006870 6f 20 72 65 70 6f 72 74 20 74 6f 20 74 68 65 20 |o report to the | 00006880 75 73 65 72 20 61 6e 64 20 74 68 65 20 52 65 6d |user and the Rem| 00006890 6f 74 65 20 74 61 73 6b 0a 74 6f 20 63 6f 6e 74 |ote task.to cont| 000068a0 69 6e 75 65 20 73 61 66 65 6c 79 2e 0a 0a 3c 50 |inue safely...<P| 000068b0 3e 0a 0a 0a 49 66 20 74 68 65 20 52 65 73 69 7a |>...If the Resiz| 000068c0 65 41 63 6b 20 6d 65 73 73 61 67 65 20 72 65 74 |eAck message ret| 000068d0 75 72 6e 73 20 74 6f 20 61 20 52 65 6d 6f 74 65 |urns to a Remote| 000068e0 20 74 61 73 6b 20 79 6f 75 20 6d 75 73 74 20 63 | task you must c| 000068f0 68 65 63 6b 20 74 68 61 74 20 74 68 65 0a 66 69 |heck that the.fi| 00006900 65 6c 64 20 69 6e 20 52 31 2b 31 32 20 69 73 20 |eld in R1+12 is | 00006910 65 71 75 61 6c 20 74 6f 20 74 68 65 20 4d 79 52 |equal to the MyR| 00006920 65 66 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 |ef generated by | 00006930 74 68 65 20 52 65 73 69 7a 65 20 6d 65 73 73 61 |the Resize messa| 00006940 67 65 20 79 6f 75 0a 73 65 6e 74 20 74 6f 20 65 |ge you.sent to e| 00006950 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 52 |nsure that the R| 00006960 65 73 69 7a 65 41 63 6b 20 69 73 20 66 6f 72 20 |esizeAck is for | 00006970 74 68 65 20 6f 62 6a 65 63 74 20 79 6f 75 20 68 |the object you h| 00006980 61 76 65 20 72 65 71 75 65 73 74 65 64 20 62 65 |ave requested be| 00006990 0a 72 65 73 69 7a 65 64 2e 20 49 66 20 69 74 20 |.resized. If it | 000069a0 69 73 2c 20 65 6e 73 75 72 65 20 74 68 61 74 20 |is, ensure that | 000069b0 74 68 65 20 6f 62 6a 65 63 74 20 69 73 20 69 6e |the object is in| 000069c0 20 61 20 72 65 6e 64 65 72 61 62 6c 65 20 73 74 | a renderable st| 000069d0 61 74 65 20 62 65 66 6f 72 65 0a 74 68 65 20 6e |ate before.the n| 000069e0 65 78 74 20 57 69 6d 70 5f 50 6f 6c 6c 20 62 79 |ext Wimp_Poll by| 000069f0 20 75 70 64 61 74 69 6e 67 20 74 68 65 20 72 65 | updating the re| 00006a00 6c 65 76 61 6e 74 20 70 61 72 74 73 20 6f 66 20 |levant parts of | 00006a10 74 68 65 20 6f 62 6a 65 63 74 27 73 20 69 6e 74 |the object's int| 00006a20 65 72 6e 61 6c 0a 64 61 74 61 20 73 74 72 75 63 |ernal.data struc| 00006a30 74 75 72 65 2e 0a 0a 3c 50 3e 0a 0a 0a 54 68 65 |ture...<P>...The| 00006a40 20 6c 6f 63 61 6c 20 74 61 73 6b 27 73 20 6f 6e | local task's on| 00006a50 6c 79 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 |ly modification | 00006a60 74 6f 20 74 68 65 20 64 61 74 61 20 61 66 74 65 |to the data afte| 00006a70 72 20 61 20 52 65 73 69 7a 65 20 69 73 20 74 6f |r a Resize is to| 00006a80 20 77 72 69 74 65 20 6e 65 77 0a 73 69 7a 65 20 | write new.size | 00006a90 66 69 65 6c 64 73 20 77 68 65 72 65 20 61 70 70 |fields where app| 00006aa0 72 6f 70 72 69 61 74 65 20 61 6e 64 20 74 6f 20 |ropriate and to | 00006ab0 75 70 64 61 74 65 20 74 68 65 20 6f 62 6a 65 63 |update the objec| 00006ac0 74 27 73 20 74 61 67 20 61 64 64 72 65 73 73 20 |t's tag address | 00006ad0 66 69 65 6c 64 73 0a 69 66 20 74 68 65 20 6f 62 |fields.if the ob| 00006ae0 6a 65 63 74 20 6d 6f 76 65 73 2e 20 46 6f 72 20 |ject moves. For | 00006af0 73 70 72 69 74 65 73 20 74 68 65 20 6e 65 77 20 |sprites the new | 00006b00 74 6f 74 61 6c 20 61 72 65 61 20 73 69 7a 65 20 |total area size | 00006b10 73 68 6f 75 6c 64 20 62 65 20 77 72 69 74 74 65 |should be writte| 00006b20 6e 0a 69 6e 74 6f 20 27 42 61 73 65 20 6f 66 20 |n.into 'Base of | 00006b30 64 61 74 61 27 2b 30 20 2d 20 69 74 20 64 6f 65 |data'+0 - it doe| 00006b40 73 20 6e 6f 74 20 6b 6e 6f 77 20 77 68 61 74 20 |s not know what | 00006b50 74 68 65 20 52 65 6d 6f 74 65 20 74 61 73 6b 20 |the Remote task | 00006b60 69 73 20 67 6f 69 6e 67 20 74 6f 20 64 6f 0a 77 |is going to do.w| 00006b70 69 74 68 20 74 68 65 20 73 70 72 69 74 65 20 61 |ith the sprite a| 00006b80 6e 64 20 74 68 65 72 65 66 6f 72 65 20 63 61 6e |nd therefore can| 00006b90 6e 6f 74 20 6d 61 6b 65 20 61 6e 79 20 6f 74 68 |not make any oth| 00006ba0 65 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 |er modifications| 00006bb0 20 74 6f 20 74 68 65 0a 64 61 74 61 2e 0a 0a 3c | to the.data...<| 00006bc0 50 3e 0a 0a 46 6f 72 20 64 61 74 61 20 74 79 70 |P>..For data typ| 00006bd0 65 73 20 77 68 69 63 68 20 64 6f 20 6e 6f 74 20 |es which do not | 00006be0 73 74 6f 72 65 20 73 69 7a 65 20 77 69 74 68 69 |store size withi| 00006bf0 6e 20 74 68 65 69 72 20 64 61 74 61 20 73 74 72 |n their data str| 00006c00 75 63 74 75 72 65 20 74 68 65 6e 20 74 68 65 0a |ucture then the.| 00006c10 6c 65 6e 67 74 68 20 66 69 65 6c 64 20 6f 66 20 |length field of | 00006c20 74 68 65 20 74 61 67 20 73 68 6f 75 6c 64 20 61 |the tag should a| 00006c30 6c 73 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 20 |lso be modified | 00006c40 28 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 |(along with the | 00006c50 61 64 64 72 65 73 73 0a 66 69 65 6c 64 73 20 69 |address.fields i| 00006c60 66 20 74 68 65 20 6f 62 6a 65 63 74 20 68 61 73 |f the object has| 00006c70 20 74 6f 20 62 65 20 6d 6f 76 65 64 29 2e 0a 0a | to be moved)...| 00006c80 3c 50 3e 0a 0a 41 66 74 65 72 20 6d 6f 64 69 66 |<P>..After modif| 00006c90 79 69 6e 67 20 74 68 65 20 6f 62 6a 65 63 74 20 |ying the object | 00006ca0 74 68 65 20 52 65 6d 6f 74 65 20 74 61 73 6b 20 |the Remote task | 00006cb0 6d 75 73 74 20 62 72 6f 61 64 63 61 73 74 20 3c |must broadcast <| 00006cc0 41 0a 48 52 45 46 3d 22 23 63 68 61 6e 67 65 64 |A.HREF="#changed| 00006cd0 22 3e 4d 65 73 73 61 67 65 5f 43 68 61 6e 67 65 |">Message_Change| 00006ce0 64 3c 2f 41 3e 2e 0a 0a 3c 50 3e 0a 0a 43 6f 6d |d</A>...<P>..Com| 00006cf0 70 6f 73 69 74 69 6f 6e 20 77 69 6c 6c 20 72 65 |position will re| 00006d00 61 64 20 62 69 74 20 7a 65 72 6f 20 6f 66 20 74 |ad bit zero of t| 00006d10 68 65 20 66 6c 61 67 73 20 77 6f 72 64 2e 20 49 |he flags word. I| 00006d20 66 20 74 68 69 73 20 62 69 74 20 69 73 20 73 65 |f this bit is se| 00006d30 74 2c 20 69 74 20 77 69 6c 6c 0a 72 65 73 69 7a |t, it will.resiz| 00006d40 65 20 6d 61 73 6b 73 20 61 73 73 6f 63 69 61 74 |e masks associat| 00006d50 65 64 20 77 69 74 68 20 74 68 65 20 73 70 72 69 |ed with the spri| 00006d60 74 65 20 69 6e 20 71 75 65 73 74 69 6f 6e 20 61 |te in question a| 00006d70 73 20 77 65 6c 6c 2e 20 54 68 65 20 61 6d 6f 75 |s well. The amou| 00006d80 6e 74 20 62 79 0a 77 68 69 63 68 20 6d 61 73 6b |nt by.which mask| 00006d90 73 20 77 69 6c 6c 20 62 65 20 72 65 73 69 7a 65 |s will be resize| 00006da0 64 20 69 73 20 63 61 6c 63 75 6c 61 74 65 64 20 |d is calculated | 00006db0 66 72 6f 6d 20 74 68 65 20 72 65 73 69 7a 65 2d |from the resize-| 00006dc0 72 65 71 75 65 73 74 20 66 6f 72 0a 74 68 65 20 |request for.the | 00006dd0 73 70 72 69 74 65 20 69 74 73 65 6c 66 2e 20 4f |sprite itself. O| 00006de0 74 68 65 72 20 61 70 70 6c 69 63 61 74 69 6f 6e |ther application| 00006df0 73 20 63 61 6e 20 69 67 6e 6f 72 65 20 6f 72 20 |s can ignore or | 00006e00 61 63 74 20 6f 6e 20 74 68 69 73 20 62 69 74 20 |act on this bit | 00006e10 61 73 20 74 68 65 79 0a 77 69 73 68 2e 20 54 68 |as they.wish. Th| 00006e20 65 20 74 61 73 6b 20 77 68 69 63 68 20 72 65 71 |e task which req| 00006e30 75 65 73 74 65 64 20 74 68 65 20 72 65 73 69 7a |uested the resiz| 00006e40 65 20 6d 75 73 74 20 62 65 20 61 62 6c 65 20 74 |e must be able t| 00006e50 6f 20 68 61 6e 64 6c 65 20 65 69 74 68 65 72 0a |o handle either.| 00006e60 61 63 74 69 6f 6e 2e 0a 0a 3c 50 3e 0a 42 69 74 |action...<P>.Bit| 00006e70 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6c 61 67 | one of the flag| 00006e80 73 20 77 6f 72 64 20 69 73 20 69 6e 74 65 6e 64 |s word is intend| 00006e90 65 64 20 74 6f 20 66 61 63 69 6c 69 74 61 74 65 |ed to facilitate| 00006ea0 20 74 68 65 20 72 65 73 69 7a 69 6e 67 20 6f 66 | the resizing of| 00006eb0 20 70 61 74 68 73 0a 69 6e 20 44 72 61 77 66 69 | paths.in Drawfi| 00006ec0 6c 65 73 20 61 6e 64 20 73 69 6d 69 6c 61 72 20 |les and similar | 00006ed0 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 |data structures | 00006ee0 75 6e 64 65 72 20 74 68 65 20 50 43 41 20 74 68 |under the PCA th| 00006ef0 6f 75 67 68 20 6e 6f 20 63 6f 64 65 20 68 61 73 |ough no code has| 00006f00 20 62 65 65 6e 0a 77 72 69 74 74 65 6e 20 74 6f | been.written to| 00006f10 20 64 6f 20 74 68 69 73 20 79 65 74 2e 0a 3c 70 | do this yet..<p| 00006f20 3e 0a 0a 3c 48 33 3e 0a 52 65 73 69 7a 65 20 53 |>..<H3>.Resize S| 00006f30 75 6d 6d 61 72 79 0a 0a 3c 2f 48 33 3e 3c 50 3e |ummary..</H3><P>| 00006f40 0a 0a 54 68 69 73 20 69 73 20 77 68 61 74 20 79 |..This is what y| 00006f50 6f 75 20 64 6f 20 74 6f 20 63 68 61 6e 67 65 20 |ou do to change | 00006f60 74 68 65 20 73 69 7a 65 20 6f 66 20 61 6e 20 6f |the size of an o| 00006f70 62 6a 65 63 74 20 79 6f 75 20 61 72 65 20 65 64 |bject you are ed| 00006f80 69 74 69 6e 67 3a 3c 50 3e 0a 0a 3c 65 6d 3e 46 |iting:<P>..<em>F| 00006f90 72 6f 6d 20 61 20 52 65 6d 6f 74 65 20 74 61 73 |rom a Remote tas| 00006fa0 6b 27 73 20 70 6f 69 6e 74 20 6f 66 20 76 69 65 |k's point of vie| 00006fb0 77 3a 3c 2f 65 6d 3e 3c 50 3e 0a 0a 53 65 6e 64 |w:</em><P>..Send| 00006fc0 20 3c 41 20 48 52 45 46 3d 22 23 72 65 73 69 7a | <A HREF="#resiz| 00006fd0 65 22 3e 4d 65 73 73 61 67 65 5f 52 65 73 69 7a |e">Message_Resiz| 00006fe0 65 52 65 71 75 65 73 74 3c 2f 41 3e 20 61 6e 64 |eRequest</A> and| 00006ff0 20 6b 65 65 70 20 6d 79 72 65 66 20 67 65 6e 65 | keep myref gene| 00007000 72 61 74 65 64 0a 3e 66 72 6f 6d 20 74 68 65 20 |rated.>from the | 00007010 6d 65 73 73 61 67 65 2e 20 4f 6e 20 72 65 63 65 |message. On rece| 00007020 69 70 74 20 6f 66 20 52 65 73 69 7a 65 41 63 6b |ipt of ResizeAck| 00007030 20 63 68 65 63 6b 20 6d 79 72 65 66 2c 20 6d 6f | check myref, mo| 00007040 64 69 66 79 20 6f 62 6a 65 63 74 20 64 61 74 61 |dify object data| 00007050 0a 61 6e 64 20 62 72 6f 61 64 63 61 73 74 20 3c |.and broadcast <| 00007060 41 20 48 52 45 46 3d 22 23 63 68 61 6e 67 65 64 |A HREF="#changed| 00007070 22 3e 4d 65 73 73 61 67 65 5f 43 68 61 6e 67 65 |">Message_Change| 00007080 64 3c 2f 41 3e 2e 0a 0a 3c 50 3e 0a 0a 3c 65 6d |d</A>...<P>..<em| 00007090 3e 46 72 6f 6d 20 74 68 65 20 4c 6f 63 61 6c 20 |>From the Local | 000070a0 74 61 73 6b 27 73 20 70 6f 69 6e 74 20 6f 66 20 |task's point of | 000070b0 76 69 65 77 3a 3c 2f 65 6d 3e 3c 50 3e 0a 0a 4f |view:</em><P>..O| 000070c0 6e 20 72 65 63 65 69 70 74 20 6f 66 20 3c 41 20 |n receipt of <A | 000070d0 48 52 45 46 3d 22 23 72 65 73 69 7a 65 22 3e 4d |HREF="#resize">M| 000070e0 65 73 73 61 67 65 5f 52 65 73 69 7a 65 52 65 71 |essage_ResizeReq| 000070f0 75 65 73 74 3c 2f 41 3e 20 72 65 73 69 7a 65 20 |uest</A> resize | 00007100 6f 62 6a 65 63 74 20 69 66 0a 70 6f 73 73 69 62 |object if.possib| 00007110 6c 65 2c 20 75 70 64 61 74 65 20 74 68 65 20 6f |le, update the o| 00007120 62 6a 65 63 74 73 20 74 61 67 20 61 6e 63 68 6f |bjects tag ancho| 00007130 72 73 20 61 6e 64 20 73 65 6e 64 20 52 65 73 69 |rs and send Resi| 00007140 7a 65 41 63 6b 20 6f 74 68 65 72 77 69 73 65 20 |zeAck otherwise | 00007150 63 6c 61 69 6d 0a 74 68 65 20 6d 65 73 73 61 67 |claim.the messag| 00007160 65 20 61 6e 64 20 72 65 70 6f 72 74 20 61 6e 20 |e and report an | 00007170 65 72 72 6f 72 20 74 6f 20 75 73 65 72 2e 0a 0a |error to user...| 00007180 3c 50 3e 0a 0a 3c 65 6d 3e 42 6f 74 68 20 52 65 |<P>..<em>Both Re| 00007190 6d 6f 74 65 20 61 6e 64 20 4c 6f 63 61 6c 20 74 |mote and Local t| 000071a0 61 73 6b 73 3a 3c 2f 65 6d 3e 3c 50 3e 0a 0a 4f |asks:</em><P>..O| 000071b0 6e 20 72 65 63 65 69 70 74 20 6f 66 20 3c 41 20 |n receipt of <A | 000071c0 48 52 45 46 3d 22 23 63 68 61 6e 67 65 64 22 3e |HREF="#changed">| 000071d0 4d 65 73 73 61 67 65 5f 43 68 61 6e 67 65 64 3c |Message_Changed<| 000071e0 2f 41 3e 20 72 65 2d 72 65 61 64 20 74 68 65 20 |/A> re-read the | 000071f0 6f 62 6a 65 63 74 0a 68 65 61 64 65 72 20 61 73 |object.header as| 00007200 20 69 66 20 69 74 20 77 61 73 20 6e 65 77 6c 79 | if it was newly| 00007210 20 63 72 65 61 74 65 64 20 61 6e 64 20 72 65 64 | created and red| 00007220 72 61 77 20 74 68 65 20 65 6e 74 69 72 65 20 6f |raw the entire o| 00007230 62 6a 65 63 74 2e 20 28 59 6f 75 20 6d 61 79 0a |bject. (You may.| 00007240 6e 65 65 64 20 74 6f 20 72 65 67 65 6e 65 72 61 |need to regenera| 00007250 74 65 20 61 6e 20 61 72 65 61 20 6f 66 20 79 6f |te an area of yo| 00007260 75 72 20 77 69 6e 64 6f 77 20 74 68 65 20 73 69 |ur window the si| 00007270 7a 65 20 6f 66 20 74 68 65 20 6f 6c 64 20 6f 62 |ze of the old ob| 00007280 6a 65 63 74 20 2d 0a 72 65 6d 65 6d 62 65 72 20 |ject -.remember | 00007290 74 68 65 20 6e 65 77 20 6f 62 6a 65 63 74 20 6d |the new object m| 000072a0 61 79 20 6f 63 63 75 70 79 20 6c 65 73 73 20 73 |ay occupy less s| 000072b0 63 72 65 65 6e 20 61 72 65 61 29 2e 0a 0a 0a 3c |creen area)....<| 000072c0 50 3e 0a 3c 65 6d 3e 52 65 73 69 7a 65 20 73 70 |P>.<em>Resize sp| 000072d0 65 65 64 20 69 73 73 75 65 73 3c 2f 65 6d 3e 0a |eed issues</em>.| 000072e0 3c 50 3e 0a 0a 57 68 65 6e 20 74 68 65 20 6f 62 |<P>..When the ob| 000072f0 6a 65 63 74 20 62 65 69 6e 67 20 72 65 73 69 7a |ject being resiz| 00007300 65 64 20 69 73 20 76 65 72 79 20 6c 61 72 67 65 |ed is very large| 00007310 2c 20 56 4d 20 28 56 69 72 74 75 61 6c 20 4d 65 |, VM (Virtual Me| 00007320 6d 6f 72 79 29 69 73 20 62 65 69 6e 67 0a 75 73 |mory)is being.us| 00007330 65 64 2c 20 6f 72 20 74 68 65 20 72 65 73 69 7a |ed, or the resiz| 00007340 65 20 72 65 71 75 65 73 74 73 20 61 72 65 20 66 |e requests are f| 00007350 72 65 71 75 65 6e 74 2c 20 74 68 65 72 65 20 6d |requent, there m| 00007360 61 79 20 62 65 20 61 20 70 65 72 66 6f 72 6d 61 |ay be a performa| 00007370 6e 63 65 20 69 73 73 75 65 2e 0a 49 6e 20 73 75 |nce issue..In su| 00007380 63 68 20 73 69 74 75 61 74 69 6f 6e 73 20 74 68 |ch situations th| 00007390 65 20 4c 6f 63 61 6c 20 74 61 73 6b 20 73 68 6f |e Local task sho| 000073a0 75 6c 64 20 63 6f 6e 73 69 64 65 72 20 6d 6f 76 |uld consider mov| 000073b0 69 6e 67 20 74 68 65 20 6f 62 6a 65 63 74 20 74 |ing the object t| 000073c0 6f 20 74 68 65 0a 74 6f 70 20 6f 66 20 69 74 73 |o the.top of its| 000073d0 20 64 61 74 61 20 73 74 6f 72 61 67 65 20 61 72 | data storage ar| 000073e0 65 61 20 74 6f 20 70 72 65 76 65 6e 74 20 72 65 |ea to prevent re| 000073f0 70 65 61 74 65 64 20 6d 65 6d 6f 72 79 20 6d 6f |peated memory mo| 00007400 76 69 6e 67 20 6f 70 65 72 61 74 69 6f 6e 73 2e |ving operations.| 00007410 0a 49 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 |.In applications| 00007420 20 77 68 65 72 65 20 6d 61 6e 79 20 73 6d 61 6c | where many smal| 00007430 6c 20 72 65 73 69 7a 65 20 72 65 71 75 65 73 74 |l resize request| 00007440 73 20 61 72 65 20 6c 69 6b 65 6c 79 20 74 68 65 |s are likely the| 00007450 6e 20 63 6f 6e 73 69 64 65 72 0a 65 6d 70 6c 6f |n consider.emplo| 00007460 79 69 6e 67 20 61 20 74 61 67 20 65 78 74 65 6e |ying a tag exten| 00007470 73 69 6f 6e 20 73 79 73 74 65 6d 20 73 69 6d 69 |sion system simi| 00007480 6c 61 72 20 74 6f 20 74 68 65 20 6f 6e 65 20 64 |lar to the one d| 00007490 65 66 69 6e 65 64 20 61 62 6f 76 65 20 66 6f 72 |efined above for| 000074a0 20 74 65 78 74 0a 66 69 6c 65 73 20 74 6f 20 72 | text.files to r| 000074b0 65 64 75 63 65 20 74 68 65 20 66 72 65 71 75 65 |educe the freque| 000074c0 6e 63 79 20 6f 66 20 74 68 65 20 72 65 73 69 7a |ncy of the resiz| 000074d0 65 20 72 65 71 75 65 73 74 73 2e 20 0a 0a 20 3c |e requests. .. <| 000074e0 50 3e 0a 0a 3c 53 54 52 4f 4e 47 3e 0a 3c 41 20 |P>..<STRONG>.<A | 000074f0 4e 41 4d 45 3d 22 75 70 64 61 74 65 22 3e 0a 4d |NAME="update">.M| 00007500 65 73 73 61 67 65 5f 55 70 64 61 74 65 41 72 65 |essage_UpdateAre| 00007510 61 0a 3c 2f 41 3e 20 20 28 26 38 33 34 38 43 29 |a.</A> (&8348C)| 00007520 20 28 4d 73 67 5f 55 70 61 72 65 61 25 29 0a 3c | (Msg_Uparea%).<| 00007530 2f 53 54 52 4f 4e 47 3e 3c 50 3e 0a 0a 0a 42 72 |/STRONG><P>...Br| 00007540 6f 61 64 63 61 73 74 20 62 79 20 74 61 73 6b 20 |oadcast by task | 00007550 77 68 65 6e 20 69 74 20 68 61 73 20 6d 6f 64 69 |when it has modi| 00007560 66 69 65 64 20 70 61 72 74 20 6f 66 20 61 6e 20 |fied part of an | 00007570 6f 62 6a 65 63 74 2e 20 41 70 70 73 20 69 6e 74 |object. Apps int| 00007580 65 72 65 73 74 65 64 20 69 6e 0a 74 68 65 20 6f |erested in.the o| 00007590 62 6a 65 63 74 20 73 68 6f 75 6c 64 20 72 65 64 |bject should red| 000075a0 72 61 77 20 74 68 65 20 61 70 70 72 6f 70 72 69 |raw the appropri| 000075b0 61 74 65 20 61 72 65 61 20 6f 66 20 74 68 65 20 |ate area of the | 000075c0 6f 62 6a 65 63 74 20 61 73 20 71 75 69 63 6b 6c |object as quickl| 000075d0 79 20 61 73 0a 70 6f 73 73 69 62 6c 65 20 69 66 |y as.possible if| 000075e0 20 74 68 65 79 20 68 61 76 65 20 61 20 77 69 6e | they have a win| 000075f0 64 6f 77 20 6f 6e 74 6f 20 74 68 65 20 6f 62 6a |dow onto the obj| 00007600 65 63 74 20 6f 70 65 6e 2e 0a 0a 3c 50 3e 0a 0a |ect open...<P>..| 00007610 54 68 65 20 62 6c 6f 63 6b 20 70 6f 69 6e 74 65 |The block pointe| 00007620 64 20 74 6f 20 62 79 20 52 31 20 63 6f 6e 74 61 |d to by R1 conta| 00007630 69 6e 73 3a 3c 50 3e 0a 3c 50 52 45 3e 0a 52 31 |ins:<P>.<PRE>.R1| 00007640 2b 32 30 20 20 20 46 6f 72 6d 61 74 20 6f 66 20 |+20 Format of | 00007650 73 75 62 73 65 71 75 65 6e 74 20 64 61 74 61 20 |subsequent data | 00007660 28 30 29 0a 52 31 2b 32 34 20 20 20 41 64 64 72 |(0).R1+24 Addr| 00007670 65 73 73 20 6f 66 20 6f 62 6a 65 63 74 20 74 61 |ess of object ta| 00007680 67 0a 52 31 2b 32 38 20 20 20 58 6c 6f 77 20 20 |g.R1+28 Xlow | 00007690 28 4f 53 20 75 6e 69 74 73 20 61 74 20 31 3a 31 |(OS units at 1:1| 000076a0 20 73 63 61 6c 65 29 0a 52 31 2b 33 32 20 20 20 | scale).R1+32 | 000076b0 59 6c 6f 77 20 20 28 4f 53 20 75 6e 69 74 73 20 |Ylow (OS units | 000076c0 61 74 20 31 3a 31 20 73 63 61 6c 65 29 0a 52 31 |at 1:1 scale).R1| 000076d0 2b 33 36 20 20 20 58 68 69 20 20 20 28 4f 53 20 |+36 Xhi (OS | 000076e0 75 6e 69 74 73 20 61 74 20 31 3a 31 20 73 63 61 |units at 1:1 sca| 000076f0 6c 65 29 0a 52 31 2b 34 30 20 20 20 59 68 69 20 |le).R1+40 Yhi | 00007700 20 20 28 4f 53 20 75 6e 69 74 73 20 61 74 20 31 | (OS units at 1| 00007710 3a 31 20 73 63 61 6c 65 29 0a 3c 2f 50 52 45 3e |:1 scale).</PRE>| 00007720 3c 50 3e 0a 0a 77 68 65 72 65 20 63 6f 6f 72 64 |<P>..where coord| 00007730 69 6e 61 74 65 73 20 61 72 65 20 72 65 6c 61 74 |inates are relat| 00007740 69 76 65 20 74 6f 20 74 68 65 20 62 6f 74 74 6f |ive to the botto| 00007750 6d 20 6c 65 66 74 20 6f 66 20 74 68 65 20 6f 62 |m left of the ob| 00007760 6a 65 63 74 2e 0a 3c 50 3e 0a 0a 43 75 72 72 65 |ject..<P>..Curre| 00007770 6e 74 6c 79 20 74 68 69 73 20 69 73 20 74 68 65 |ntly this is the| 00007780 20 6f 6e 6c 79 20 66 6f 72 6d 61 74 20 73 75 70 | only format sup| 00007790 70 6f 72 74 65 64 20 62 79 20 63 6f 64 65 20 28 |ported by code (| 000077a0 77 6f 72 6b 69 6e 67 20 77 69 74 68 20 62 69 74 |working with bit| 000077b0 6d 61 70 0a 73 70 72 69 74 65 73 29 2e 20 0a 0a |map.sprites). ..| 000077c0 3c 50 3e 0a 0a 4f 74 68 65 72 20 70 72 6f 70 6f |<P>..Other propo| 000077d0 73 65 64 20 66 6f 72 6d 61 74 73 20 61 72 65 20 |sed formats are | 000077e0 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 3c 50 3e 0a |as follows:.<P>.| 000077f0 0a 3c 50 52 45 3e 0a 52 31 2b 32 30 20 20 20 46 |.<PRE>.R1+20 F| 00007800 6f 72 6d 61 74 20 6f 66 20 73 75 62 73 65 71 75 |ormat of subsequ| 00007810 65 6e 74 20 64 61 74 61 20 28 31 29 0a 52 31 2b |ent data (1).R1+| 00007820 32 34 20 20 20 41 64 64 72 65 73 73 20 6f 66 20 |24 Address of | 00007830 6f 62 6a 65 63 74 20 74 61 67 0a 52 31 2b 32 38 |object tag.R1+28| 00007840 20 20 20 58 6c 6f 77 20 28 44 72 61 77 20 75 6e | Xlow (Draw un| 00007850 69 74 73 20 3d 20 4f 53 20 75 6e 69 74 73 20 26 |its = OS units &| 00007860 6c 74 3b 26 6c 74 3b 38 29 0a 52 31 2b 33 32 20 |lt;<8).R1+32 | 00007870 20 20 59 6c 6f 77 20 28 44 72 61 77 20 75 6e 69 | Ylow (Draw uni| 00007880 74 73 20 3d 20 4f 53 20 75 6e 69 74 73 20 26 6c |ts = OS units &l| 00007890 74 3b 26 6c 74 3b 38 29 0a 52 31 2b 33 36 20 20 |t;<8).R1+36 | 000078a0 20 58 68 69 20 20 28 44 72 61 77 20 75 6e 69 74 | Xhi (Draw unit| 000078b0 73 20 3d 20 4f 53 20 75 6e 69 74 73 20 26 6c 74 |s = OS units <| 000078c0 3b 26 6c 74 3b 38 29 0a 52 31 2b 34 30 20 20 20 |;<8).R1+40 | 000078d0 59 68 69 20 20 28 44 72 61 77 20 75 6e 69 74 73 |Yhi (Draw units| 000078e0 20 3d 20 4f 53 20 75 6e 69 74 73 20 26 6c 74 3b | = OS units <| 000078f0 26 6c 74 3b 38 29 0a 3c 2f 50 52 45 3e 0a 3c 50 |<8).</PRE>.<P| 00007900 3e 0a 0a 77 68 65 72 65 20 63 6f 6f 72 64 69 6e |>..where coordin| 00007910 61 74 65 73 20 61 72 65 20 72 65 6c 61 74 69 76 |ates are relativ| 00007920 65 20 74 6f 20 74 68 65 20 62 6f 74 74 6f 6d 20 |e to the bottom | 00007930 6c 65 66 74 20 6f 66 20 74 68 65 20 6f 62 6a 65 |left of the obje| 00007940 63 74 2e 0a 3c 50 3e 0a 0a 3c 50 52 45 3e 0a 52 |ct..<P>..<PRE>.R| 00007950 31 2b 32 30 20 20 20 46 6f 72 6d 61 74 20 6f 66 |1+20 Format of| 00007960 20 73 75 62 73 65 71 75 65 6e 74 20 64 61 74 61 | subsequent data| 00007970 20 28 32 29 0a 52 31 2b 32 34 20 20 20 41 64 64 | (2).R1+24 Add| 00007980 72 65 73 73 20 6f 66 20 6f 62 6a 65 63 74 20 74 |ress of object t| 00007990 61 67 0a 52 31 2b 32 38 20 20 20 58 6c 6f 77 20 |ag.R1+28 Xlow | 000079a0 28 44 72 61 77 20 75 6e 69 74 73 20 3d 20 4f 53 |(Draw units = OS| 000079b0 20 75 6e 69 74 73 20 26 6c 74 3b 26 6c 74 3b 38 | units <<8| 000079c0 29 0a 52 31 2b 33 32 20 20 20 59 6c 6f 77 20 28 |).R1+32 Ylow (| 000079d0 44 72 61 77 20 75 6e 69 74 73 20 3d 20 4f 53 20 |Draw units = OS | 000079e0 75 6e 69 74 73 20 26 6c 74 3b 26 6c 74 3b 38 29 |units <<8)| 000079f0 0a 52 31 2b 33 36 20 20 20 58 68 69 20 20 28 44 |.R1+36 Xhi (D| 00007a00 72 61 77 20 75 6e 69 74 73 20 3d 20 4f 53 20 75 |raw units = OS u| 00007a10 6e 69 74 73 20 26 6c 74 3b 26 6c 74 3b 38 29 0a |nits <<8).| 00007a20 52 31 2b 34 30 20 20 20 59 68 69 20 20 28 44 72 |R1+40 Yhi (Dr| 00007a30 61 77 20 75 6e 69 74 73 20 3d 20 4f 53 20 75 6e |aw units = OS un| 00007a40 69 74 73 20 26 6c 74 3b 26 6c 74 3b 38 29 0a 3c |its <<8).<| 00007a50 2f 50 52 45 3e 0a 3c 50 3e 0a 0a 77 68 65 72 65 |/PRE>.<P>..where| 00007a60 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 61 72 65 | coordinates are| 00007a70 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 | relative to the| 00007a80 20 74 6f 70 20 6c 65 66 74 20 6f 66 20 74 68 65 | top left of the| 00007a90 20 6f 62 6a 65 63 74 2e 0a 0a 3c 50 3e 20 20 20 | object...<P> | 00007aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00007ad0 20 20 20 20 20 20 0a 0a 49 66 20 79 6f 75 20 68 | ..If you h| 00007ae0 61 76 65 20 61 6e 79 6f 74 68 65 72 20 73 75 67 |ave anyother sug| 00007af0 67 65 73 74 69 6f 6e 73 20 70 6c 65 61 73 65 20 |gestions please | 00007b00 63 6f 6e 74 61 63 74 20 43 6c 61 72 65 73 20 6f |contact Clares o| 00007b10 72 20 74 68 65 20 61 75 74 68 6f 72 2e 0a 0a 3c |r the author...<| 00007b20 70 3e 0a 0a 0a 3c 53 54 52 4f 4e 47 3e 0a 3c 41 |p>...<STRONG>.<A| 00007b30 20 4e 41 4d 45 3d 22 72 65 73 69 7a 65 61 63 6b | NAME="resizeack| 00007b40 22 3e 0a 4d 65 73 73 61 67 65 5f 52 65 73 69 7a |">.Message_Resiz| 00007b50 65 41 63 6b 0a 3c 2f 41 3e 20 28 26 38 33 34 38 |eAck.</A> (&8348| 00007b60 44 29 20 20 28 4d 73 67 5f 52 65 73 69 7a 65 41 |D) (Msg_ResizeA| 00007b70 63 6b 25 29 0a 3c 2f 53 54 52 4f 4e 47 3e 0a 3c |ck%).</STRONG>.<| 00007b80 50 3e 0a 0a 53 65 6e 74 20 62 79 20 4c 6f 63 61 |P>..Sent by Loca| 00007b90 6c 20 74 61 73 6b 20 77 68 65 6e 20 61 20 72 65 |l task when a re| 00007ba0 73 69 7a 65 20 72 65 71 75 65 73 74 20 68 61 73 |size request has| 00007bb0 20 73 75 63 63 65 65 64 65 64 2e 20 4f 6e 20 72 | succeeded. On r| 00007bc0 65 63 65 69 70 74 20 62 79 20 61 0a 52 65 6d 6f |eceipt by a.Remo| 00007bd0 74 65 20 74 61 73 6b 2c 20 63 68 65 63 6b 20 74 |te task, check t| 00007be0 68 61 74 20 52 31 2b 31 32 20 69 73 20 74 68 65 |hat R1+12 is the| 00007bf0 20 6d 79 72 65 66 20 67 65 6e 65 72 61 74 65 64 | myref generated| 00007c00 20 66 72 6f 6d 20 3c 41 0a 48 52 45 46 3d 22 23 | from <A.HREF="#| 00007c10 72 65 73 69 7a 65 22 3e 4d 65 73 73 61 67 65 5f |resize">Message_| 00007c20 52 65 73 69 7a 65 52 65 71 75 65 73 74 3c 2f 41 |ResizeRequest</A| 00007c30 3e 20 62 65 66 6f 72 65 20 6d 6f 64 69 66 79 69 |> before modifyi| 00007c40 6e 67 20 74 68 65 20 6f 62 6a 65 63 74 20 64 61 |ng the object da| 00007c50 74 61 0a 73 74 72 75 63 74 75 72 65 20 61 6e 64 |ta.structure and| 00007c60 20 62 72 6f 61 64 63 61 73 74 69 6e 67 20 3c 41 | broadcasting <A| 00007c70 20 48 52 45 46 3d 22 23 63 68 61 6e 67 65 64 22 | HREF="#changed"| 00007c80 3e 4d 65 73 73 61 67 65 5f 43 68 61 6e 67 65 64 |>Message_Changed| 00007c90 3c 2f 41 3e 2e 0a 0a 3c 50 3e 0a 0a 0a 54 68 65 |</A>...<P>...The| 00007ca0 20 62 6c 6f 63 6b 20 70 6f 69 6e 74 65 64 20 74 | block pointed t| 00007cb0 6f 20 62 79 20 52 31 20 63 6f 6e 74 61 69 6e 73 |o by R1 contains| 00007cc0 3a 0a 0a 3c 50 3e 0a 0a 3c 50 52 45 3e 0a 52 31 |:..<P>..<PRE>.R1| 00007cd0 2b 32 30 20 20 20 72 65 73 65 72 76 65 64 20 2d |+20 reserved -| 00007ce0 20 30 0a 52 31 2b 32 34 20 20 20 41 64 64 72 65 | 0.R1+24 Addre| 00007cf0 73 73 20 6f 66 20 6f 62 6a 65 63 74 20 74 61 67 |ss of object tag| 00007d00 0a 52 31 2b 32 38 20 20 20 72 65 73 65 72 76 65 |.R1+28 reserve| 00007d10 64 20 2d 20 30 0a 52 31 2b 33 32 20 20 20 4e 65 |d - 0.R1+32 Ne| 00007d20 77 20 73 69 7a 65 20 61 6c 6c 6f 63 61 74 65 64 |w size allocated| 00007d30 20 74 6f 20 6f 62 6a 65 63 74 0a 52 31 2b 33 36 | to object.R1+36| 00007d40 20 20 20 46 6c 61 67 73 0a 0a 3c 2f 50 52 45 3e | Flags..</PRE>| 00007d50 3c 50 3e 0a 0a 0a 3c 53 54 52 4f 4e 47 3e 0a 3c |<P>...<STRONG>.<| 00007d60 41 20 4e 41 4d 45 3d 22 6d 69 73 63 22 3e 0a 4d |A NAME="misc">.M| 00007d70 65 73 73 61 67 65 5f 4d 69 73 63 4f 70 0a 3c 2f |essage_MiscOp.</| 00007d80 41 3e 28 26 38 33 34 38 45 29 20 20 28 4d 73 67 |A>(&8348E) (Msg| 00007d90 5f 4d 69 73 63 25 29 0a 3c 2f 53 54 52 4f 4e 47 |_Misc%).</STRONG| 00007da0 3e 0a 3c 50 3e 0a 0a 54 68 69 73 20 6d 65 73 73 |>.<P>..This mess| 00007db0 61 67 65 20 69 73 20 64 65 73 69 67 6e 65 64 20 |age is designed | 00007dc0 74 6f 20 70 72 6f 76 69 64 65 20 61 20 70 72 69 |to provide a pri| 00007dd0 76 61 74 65 20 69 6e 74 65 72 66 61 63 65 20 6f |vate interface o| 00007de0 70 74 69 6f 6e 20 66 6f 72 20 50 43 41 0a 70 72 |ption for PCA.pr| 00007df0 6f 67 72 61 6d 73 20 77 69 74 68 6f 75 74 20 74 |ograms without t| 00007e00 68 65 6d 20 68 61 76 69 6e 67 20 74 6f 20 72 65 |hem having to re| 00007e10 71 75 65 73 74 20 6f 74 68 65 72 20 6d 65 73 73 |quest other mess| 00007e20 61 67 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 73 20 |age allocations | 00007e30 66 72 6f 6d 0a 41 63 6f 72 6e 2e 0a 0a 3c 50 3e |from.Acorn...<P>| 00007e40 0a 0a 0a 54 68 65 20 62 6c 6f 63 6b 20 70 6f 69 |...The block poi| 00007e50 6e 74 65 64 20 74 6f 20 62 79 20 52 31 20 63 6f |nted to by R1 co| 00007e60 6e 74 61 69 6e 73 3a 3c 50 3e 0a 0a 3c 50 52 45 |ntains:<P>..<PRE| 00007e70 3e 0a 52 31 2b 32 30 20 20 20 53 75 62 2d 72 65 |>.R1+20 Sub-re| 00007e80 61 73 6f 6e 20 63 6f 64 65 0a 3c 2f 50 52 45 3e |ason code.</PRE>| 00007e90 0a 3c 50 3e 0a 0a 2d 20 6f 74 68 65 72 20 64 61 |.<P>..- other da| 00007ea0 74 61 20 64 65 70 65 6e 64 61 6e 74 20 6f 6e 20 |ta dependant on | 00007eb0 73 75 62 2d 72 65 61 73 6f 6e 20 63 6f 64 65 2e |sub-reason code.| 00007ec0 3c 50 3e 0a 0a 54 68 65 20 73 75 62 2d 72 65 61 |<P>..The sub-rea| 00007ed0 73 6f 6e 20 63 6f 64 65 73 20 61 76 61 69 6c 61 |son codes availa| 00007ee0 62 6c 65 20 74 6f 20 61 70 70 6c 69 63 61 74 69 |ble to applicati| 00007ef0 6f 6e 20 64 65 76 65 6c 6f 70 65 72 73 20 61 72 |on developers ar| 00007f00 65 20 61 6c 6c 6f 63 61 74 65 64 20 69 6e 0a 6c |e allocated in.l| 00007f10 69 6e 65 20 77 69 74 68 20 53 57 49 20 61 6e 64 |ine with SWI and| 00007f20 20 4d 65 73 73 61 67 65 20 62 6c 6f 63 6b 73 20 | Message blocks | 00007f30 2d 20 69 66 20 79 6f 75 20 68 61 76 65 20 6f 6e |- if you have on| 00007f40 65 20 6f 66 20 74 68 65 73 65 20 74 68 65 6e 20 |e of these then | 00007f50 74 68 6f 73 65 0a 76 61 6c 75 65 73 20 6d 61 79 |those.values may| 00007f60 20 62 65 20 75 73 65 64 20 62 79 20 79 6f 75 72 | be used by your| 00007f70 20 70 72 6f 67 72 61 6d 73 2e 20 57 68 65 72 65 | programs. Where| 00007f80 20 61 70 70 72 6f 70 72 69 61 74 65 2c 20 70 6c | appropriate, pl| 00007f90 65 61 73 65 20 6d 61 6b 65 20 64 65 74 61 69 6c |ease make detail| 00007fa0 73 0a 6f 66 20 79 6f 75 72 20 6d 65 73 73 61 67 |s.of your messag| 00007fb0 65 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 |es available to | 00007fc0 74 68 65 20 50 43 41 20 63 6f 6d 6d 75 6e 69 74 |the PCA communit| 00007fd0 79 20 62 79 20 73 65 6e 64 69 6e 67 20 74 68 65 |y by sending the| 00007fe0 6d 20 74 6f 20 43 6c 61 72 65 73 0a 66 6f 72 20 |m to Clares.for | 00007ff0 64 69 73 74 72 69 62 75 74 69 6f 6e 2e 0a 0a 3c |distribution...<| 00008000 50 3e 0a 0a 43 75 72 72 65 6e 74 6c 79 2c 20 6f |P>..Currently, o| 00008010 6e 6c 79 20 74 77 6f 20 73 75 62 2d 72 65 61 73 |nly two sub-reas| 00008020 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 |ons are defined | 00008030 66 6f 72 20 75 73 65 20 77 69 74 68 20 43 6f 6d |for use with Com| 00008040 70 6f 73 69 74 69 6f 6e 2e 20 54 68 65 0a 63 75 |position. The.cu| 00008050 72 72 65 6e 74 20 66 6f 72 6d 61 74 20 6f 66 20 |rrent format of | 00008060 74 68 65 73 65 20 69 73 20 67 69 76 65 6e 20 62 |these is given b| 00008070 65 6c 6f 77 20 62 75 74 20 69 73 20 73 75 62 6a |elow but is subj| 00008080 65 63 74 20 74 6f 20 63 68 61 6e 67 65 2e 20 50 |ect to change. P| 00008090 6c 65 61 73 65 0a 63 6f 6e 74 61 63 74 20 43 6c |lease.contact Cl| 000080a0 61 72 65 73 20 62 65 66 6f 72 65 20 72 65 6c 65 |ares before rele| 000080b0 61 73 69 6e 67 20 70 72 6f 67 72 61 6d 73 20 77 |asing programs w| 000080c0 68 69 63 68 20 72 65 6c 79 20 6f 6e 20 69 74 3a |hich rely on it:| 000080d0 0a 0a 3c 50 3e 0a 0a 0a 20 20 20 20 20 20 20 20 |..<P>... | 000080e0 3c 53 54 52 4f 4e 47 3e 0a 53 75 62 52 65 61 73 |<STRONG>.SubReas| 000080f0 6f 6e 5f 47 69 76 65 41 73 73 6f 63 69 61 74 65 |on_GiveAssociate| 00008100 64 44 61 74 61 20 28 26 38 33 34 38 30 29 0a 3c |dData (&83480).<| 00008110 2f 53 54 52 4f 4e 47 3e 0a 3c 50 3e 0a 0a 20 20 |/STRONG>.<P>.. | 00008120 20 20 20 20 20 20 42 72 6f 61 64 63 61 73 74 20 | Broadcast | 00008130 62 79 20 72 65 6d 6f 74 65 20 70 6c 75 67 2d 69 |by remote plug-i| 00008140 6e 20 77 68 65 6e 20 69 74 20 77 6f 75 6c 64 20 |n when it would | 00008150 6c 69 6b 65 20 74 6f 20 6b 6e 6f 77 20 6d 6f 72 |like to know mor| 00008160 65 20 61 62 6f 75 74 20 74 68 65 20 6f 62 6a 65 |e about the obje| 00008170 63 74 2e 0a 3c 50 3e 0a 0a 20 20 20 20 20 20 20 |ct..<P>.. | 00008180 20 54 68 65 20 62 6c 6f 63 6b 20 70 6f 69 6e 74 | The block point| 00008190 65 64 20 74 6f 20 62 79 20 52 31 20 63 6f 6e 74 |ed to by R1 cont| 000081a0 61 69 6e 73 3a 3c 50 3e 0a 3c 50 52 45 3e 0a 20 |ains:<P>.<PRE>. | 000081b0 20 20 20 20 20 20 20 52 31 2b 32 34 20 20 20 41 | R1+24 A| 000081c0 64 64 72 65 73 73 20 6f 66 20 6f 62 6a 65 63 74 |ddress of object| 000081d0 20 74 61 67 0a 3c 2f 50 52 45 3e 0a 0a 0a 20 20 | tag.</PRE>... | 000081e0 20 20 20 20 20 20 3c 53 54 52 4f 4e 47 3e 0a 53 | <STRONG>.S| 000081f0 75 62 52 65 61 73 6f 6e 5f 41 73 73 6f 63 69 61 |ubReason_Associa| 00008200 74 65 64 44 61 74 61 43 6f 6d 70 6f 20 20 28 26 |tedDataCompo (&| 00008210 38 33 34 38 31 29 0a 3c 2f 53 54 52 4f 4e 47 3e |83481).</STRONG>| 00008220 3c 50 3e 0a 0a 0a 20 20 20 20 20 20 20 20 53 65 |<P>... Se| 00008230 6e 74 20 62 79 20 43 6f 6d 70 6f 20 74 6f 20 52 |nt by Compo to R| 00008240 65 6d 6f 74 65 20 77 68 69 63 68 20 62 72 6f 61 |emote which broa| 00008250 64 63 61 73 74 20 47 69 76 65 41 73 73 6f 63 69 |dcast GiveAssoci| 00008260 61 74 65 64 44 61 74 61 20 63 6f 6e 74 61 69 6e |atedData contain| 00008270 69 6e 67 20 61 20 74 61 67 20 70 6f 69 6e 74 69 |ing a tag pointi| 00008280 6e 67 20 74 6f 20 61 20 43 6f 6d 70 6f 20 6f 62 |ng to a Compo ob| 00008290 6a 65 63 74 2e 0a 3c 50 3e 0a 0a 20 20 20 20 20 |ject..<P>.. | 000082a0 20 20 20 54 68 65 20 62 6c 6f 63 6b 20 70 6f 69 | The block poi| 000082b0 6e 74 65 64 20 74 6f 20 62 79 20 52 31 20 63 6f |nted to by R1 co| 000082c0 6e 74 61 69 6e 73 3a 3c 50 3e 0a 3c 50 52 45 3e |ntains:<P>.<PRE>| 000082d0 0a 20 20 20 20 20 20 20 20 52 31 2b 32 34 20 20 |. R1+24 | 000082e0 20 41 64 64 72 65 73 73 20 6f 66 20 6f 62 6a 65 | Address of obje| 000082f0 63 74 20 74 61 67 0a 20 20 20 20 20 20 20 20 52 |ct tag. R| 00008300 31 2b 32 38 20 20 20 72 65 73 65 72 76 65 64 20 |1+28 reserved | 00008310 2d 20 30 0a 20 20 20 20 20 20 20 20 52 31 2b 33 |- 0. R1+3| 00008320 32 20 20 20 74 77 6f 20 65 69 67 68 74 20 62 69 |2 two eight bi| 00008330 74 20 61 6e 64 20 6f 6e 65 20 73 69 78 74 65 65 |t and one sixtee| 00008340 6e 20 62 69 74 20 66 69 65 6c 64 73 0a 20 20 20 |n bit fields. | 00008350 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 74 | bit| 00008360 73 20 30 2d 37 20 20 20 20 20 4d 61 73 6b 73 20 |s 0-7 Masks | 00008370 69 6e 20 75 73 65 20 62 79 20 6f 62 6a 65 63 74 |in use by object| 00008380 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 00008390 20 62 69 74 73 20 38 2d 31 35 20 20 20 20 46 6f | bits 8-15 Fo| 000083a0 72 6d 61 74 20 6f 66 20 73 75 62 73 65 71 75 65 |rmat of subseque| 000083b0 6e 74 20 64 61 74 61 20 28 7a 65 72 6f 29 0a 20 |nt data (zero). | 000083c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 | b| 000083d0 69 74 73 20 31 36 2d 33 31 20 20 20 52 65 73 65 |its 16-31 Rese| 000083e0 72 76 65 64 0a 20 20 20 20 20 20 20 20 52 31 2b |rved. R1+| 000083f0 33 36 20 20 20 52 65 73 65 72 76 65 64 20 28 30 |36 Reserved (0| 00008400 29 0a 20 20 20 20 20 20 20 20 52 31 2b 34 30 20 |). R1+40 | 00008410 20 20 42 6c 65 6e 64 20 6d 61 73 6b 20 61 64 64 | Blend mask add| 00008420 72 65 73 73 20 6f 72 20 7a 65 72 6f 20 20 20 20 |ress or zero | 00008430 3d 20 6e 6f 20 42 6c 65 6e 64 20 6d 61 73 6b 0a |= no Blend mask.| 00008440 20 20 20 20 20 20 20 20 52 31 2b 34 34 20 20 20 | R1+44 | 00008450 54 69 6e 74 20 6d 61 73 6b 20 61 64 64 72 65 73 |Tint mask addres| 00008460 73 20 6f 72 20 7a 65 72 6f 20 20 20 20 20 3d 20 |s or zero = | 00008470 6e 6f 20 54 69 6e 74 20 6d 61 73 6b 0a 20 20 20 |no Tint mask. | 00008480 20 20 20 20 20 52 31 2b 34 38 20 20 20 43 75 72 | R1+48 Cur| 00008490 76 65 20 6d 61 73 6b 20 61 64 64 72 65 73 73 20 |ve mask address | 000084a0 6f 72 20 7a 65 72 6f 20 20 20 20 3d 20 6e 6f 20 |or zero = no | 000084b0 43 75 72 76 65 20 6d 61 73 6b 0a 20 20 20 20 20 |Curve mask. | 000084c0 20 20 20 52 31 2b 35 32 20 20 20 44 69 73 70 6c | R1+52 Displ| 000084d0 61 63 65 20 6d 61 73 6b 20 61 64 64 72 65 73 73 |ace mask address| 000084e0 20 6f 72 20 7a 65 72 6f 20 3d 20 6e 6f 20 44 69 | or zero = no Di| 000084f0 73 70 6c 61 63 65 20 6d 61 73 6b 0a 20 20 20 20 |splace mask. | 00008500 20 20 20 20 52 31 2b 35 36 20 20 20 53 68 61 64 | R1+56 Shad| 00008510 6f 77 20 6d 61 73 6b 20 61 64 64 72 65 73 73 20 |ow mask address | 00008520 6f 72 20 7a 65 72 6f 20 20 20 3d 20 6e 6f 20 53 |or zero = no S| 00008530 68 61 64 6f 77 20 6d 61 73 6b 0a 20 20 20 20 20 |hadow mask. | 00008540 20 20 20 52 31 2b 36 30 20 20 20 52 65 73 65 72 | R1+60 Reser| 00008550 76 65 64 0a 20 20 20 20 20 20 20 20 52 31 2b 36 |ved. R1+6| 00008560 34 20 20 20 52 65 73 65 72 76 65 64 0a 20 20 20 |4 Reserved. | 00008570 20 20 20 20 20 52 31 2b 36 38 20 20 20 4f 70 61 | R1+68 Opa| 00008580 63 69 74 79 20 6f 66 20 6f 62 6a 65 63 74 20 28 |city of object (| 00008590 36 35 35 33 36 3d 73 6f 6c 69 64 20 30 3d 74 72 |65536=solid 0=tr| 000085a0 61 6e 73 70 61 72 65 6e 74 29 0a 20 20 20 20 20 |ansparent). | 000085b0 20 20 20 52 31 2b 37 32 20 20 20 4d 61 74 68 20 | R1+72 Math | 000085c0 74 79 70 65 20 69 6e 20 75 73 65 20 66 6f 72 20 |type in use for | 000085d0 6f 62 6a 65 63 74 0a 0a 3c 2f 50 52 45 3e 3c 50 |object..</PRE><P| 000085e0 3e 0a 0a 4e 6f 74 65 73 3a 20 54 68 65 20 27 6d |>..Notes: The 'm| 000085f0 61 73 6b 20 61 64 64 72 65 73 73 27 20 70 61 73 |ask address' pas| 00008600 73 65 64 20 69 73 20 74 68 65 20 61 64 64 72 65 |sed is the addre| 00008610 73 73 20 6f 66 20 74 68 65 20 62 61 73 65 20 6f |ss of the base o| 00008620 66 20 61 20 73 70 72 69 74 65 20 61 72 65 61 0a |f a sprite area.| 00008630 63 6f 6e 74 61 69 6e 69 6e 67 20 6f 6e 65 20 65 |containing one e| 00008640 69 67 68 74 20 62 69 74 20 67 72 65 79 73 63 61 |ight bit greysca| 00008650 6c 65 20 73 70 72 69 74 65 20 28 61 74 20 61 64 |le sprite (at ad| 00008660 64 72 65 73 73 2b 61 64 64 72 65 73 73 21 38 29 |dress+address!8)| 00008670 2e 20 54 68 65 20 73 69 7a 65 0a 6f 66 20 61 20 |. The size.of a | 00008680 6d 61 73 6b 20 73 68 6f 75 6c 64 20 6e 6f 74 20 |mask should not | 00008690 62 65 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 |be assumed to be| 000086a0 20 74 68 65 20 73 61 6d 65 20 61 73 20 74 68 61 | the same as tha| 000086b0 74 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 |t of the object | 000086c0 2d 20 72 65 61 64 0a 69 74 20 66 72 6f 6d 20 74 |- read.it from t| 000086d0 68 65 20 6d 61 73 6b 20 73 70 72 69 74 65 20 64 |he mask sprite d| 000086e0 61 74 61 20 6f 72 20 75 73 65 20 4f 53 5f 53 70 |ata or use OS_Sp| 000086f0 72 69 74 65 4f 70 20 74 6f 20 65 78 74 72 61 63 |riteOp to extrac| 00008700 74 20 69 74 2e 20 0a 0a 3c 50 3e 0a 0a 54 68 65 |t it. ..<P>..The| 00008710 20 64 61 74 61 20 72 65 74 75 72 6e 65 64 20 62 | data returned b| 00008720 79 20 74 68 69 73 20 6d 65 73 73 61 67 65 20 69 |y this message i| 00008730 73 20 66 72 61 67 69 6c 65 20 2d 20 72 65 2d 72 |s fragile - re-r| 00008740 65 61 64 20 77 68 65 6e 65 76 65 72 20 79 6f 75 |ead whenever you| 00008750 20 77 61 6e 74 20 74 6f 0a 6d 61 6b 65 20 75 73 | want to.make us| 00008760 65 20 6f 66 20 69 74 2e 0a 0a 3c 50 3e 0a 0a 0a |e of it...<P>...| 00008770 3c 53 54 52 4f 4e 47 3e 0a 0a 3c 41 20 4e 41 4d |<STRONG>..<A NAM| 00008780 45 3d 22 69 6e 66 6f 22 3e 0a 4d 65 73 73 61 67 |E="info">.Messag| 00008790 65 5f 49 6e 66 6f 0a 3c 2f 41 3e 20 28 26 38 33 |e_Info.</A> (&83| 000087a0 34 38 46 29 20 28 4d 73 67 5f 49 6e 66 6f 25 29 |48F) (Msg_Info%)| 000087b0 0a 3c 2f 53 54 52 4f 4e 47 3e 3c 50 3e 0a 0a 0a |.</STRONG><P>...| 000087c0 53 65 6e 74 20 62 79 20 4c 6f 63 61 6c 20 74 6f |Sent by Local to| 000087d0 20 52 65 6d 6f 74 65 20 61 70 70 6c 69 63 61 74 | Remote applicat| 000087e0 69 6f 6e 20 77 68 65 6e 20 74 68 65 20 69 6e 66 |ion when the inf| 000087f0 6f 20 62 75 74 74 6f 6e 20 69 6e 20 74 68 65 20 |o button in the | 00008800 70 6f 70 2d 75 70 20 69 73 20 63 6c 69 63 6b 65 |pop-up is clicke| 00008810 64 2e 0a 3c 50 3e 0a 0a 54 68 65 20 62 6c 6f 63 |d..<P>..The bloc| 00008820 6b 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 |k pointed to by | 00008830 52 31 20 63 6f 6e 74 61 69 6e 73 3a 3c 50 3e 0a |R1 contains:<P>.| 00008840 0a 3c 50 52 45 3e 0a 52 31 2b 32 30 20 20 20 30 |.<PRE>.R1+20 0| 00008850 0a 3c 2f 50 52 45 3e 0a 3c 50 3e 0a 0a 52 65 6d |.</PRE>.<P>..Rem| 00008860 6f 74 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 |ote application | 00008870 73 68 6f 75 6c 64 20 77 72 69 74 65 20 61 20 73 |should write a s| 00008880 75 69 74 61 62 6c 65 20 69 6e 66 6f 20 73 74 72 |uitable info str| 00008890 69 6e 67 20 69 6e 74 6f 20 2b 32 30 2c 20 63 68 |ing into +20, ch| 000088a0 61 6e 67 65 20 74 68 65 0a 6d 65 73 73 61 67 65 |ange the.message| 000088b0 20 73 69 7a 65 20 61 6e 64 20 72 65 74 75 72 6e | size and return| 000088c0 20 74 68 65 20 6d 65 73 73 61 67 65 20 74 6f 20 | the message to | 000088d0 74 68 65 20 73 65 6e 64 65 72 2e 0a 0a 3c 50 3e |the sender...<P>| 000088e0 0a 0a 45 78 61 6d 70 6c 65 20 69 6e 66 6f 20 73 |..Example info s| 000088f0 74 72 69 6e 67 73 3a 3c 42 52 3e 0a 0a 22 49 6d |trings:<BR>.."Im| 00008900 61 67 65 20 46 69 6c 74 65 72 2e 20 4e 6f 20 69 |age Filter. No i| 00008910 6d 61 67 65 20 6c 69 6e 6b 65 64 20 61 74 20 74 |mage linked at t| 00008920 68 65 20 6d 6f 6d 65 6e 74 2e 22 3c 42 52 3e 0a |he moment."<BR>.| 00008930 0a 22 49 6d 61 67 65 20 46 69 6c 74 65 72 2e 20 |."Image Filter. | 00008940 49 6d 61 67 65 20 27 46 61 63 65 27 20 6c 69 6e |Image 'Face' lin| 00008950 6b 65 64 20 61 74 20 74 68 65 20 6d 6f 6d 65 6e |ked at the momen| 00008960 74 2e 22 3c 42 52 3e 0a 0a 3c 50 3e 0a 0a 0a 3c |t."<BR>..<P>...<| 00008970 53 54 52 4f 4e 47 3e 0a 3c 41 20 4e 41 4d 45 3d |STRONG>.<A NAME=| 00008980 22 70 6f 73 22 3e 0a 4d 65 73 73 61 67 65 5f 4f |"pos">.Message_O| 00008990 62 6a 65 63 74 50 6f 73 69 74 69 6f 6e 0a 3c 2f |bjectPosition.</| 000089a0 41 3e 20 20 28 26 38 33 34 39 30 29 20 28 4d 73 |A> (&83490) (Ms| 000089b0 67 5f 4f 62 6a 50 6f 73 25 29 0a 3c 2f 53 54 52 |g_ObjPos%).</STR| 000089c0 4f 4e 47 3e 0a 3c 50 3e 0a 0a 54 68 69 73 20 6d |ONG>.<P>..This m| 000089d0 65 73 73 61 67 65 20 69 73 20 67 65 6e 65 72 61 |essage is genera| 000089e0 74 65 64 20 62 79 20 74 68 65 20 4c 6f 63 61 6c |ted by the Local| 000089f0 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 61 66 74 | application aft| 00008a00 65 72 20 72 65 63 65 69 70 74 20 6f 66 20 3c 41 |er receipt of <A| 00008a10 0a 48 52 45 46 3d 22 23 68 6f 6f 6b 22 3e 4d 65 |.HREF="#hook">Me| 00008a20 73 73 61 67 65 5f 48 6f 6f 6b 4d 65 3c 2f 41 3e |ssage_HookMe</A>| 00008a30 2c 20 6f 62 6a 65 63 74 20 72 65 70 6f 73 69 74 |, object reposit| 00008a40 69 6f 6e 69 6e 67 20 6f 70 65 72 61 74 69 6f 6e |ioning operation| 00008a50 73 20 61 6e 64 20 77 69 6e 64 6f 77 0a 6f 70 65 |s and window.ope| 00008a60 6e 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 69 66 |n operations, if| 00008a70 20 74 68 65 20 4c 6f 63 61 6c 20 61 70 70 6c 69 | the Local appli| 00008a80 63 61 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 20 |cation supports | 00008a90 27 69 6e 2d 70 6c 61 63 65 20 65 64 69 74 69 6e |'in-place editin| 00008aa0 67 27 2e 3c 50 3e 0a 0a 0a 54 68 65 20 62 6c 6f |g'.<P>...The blo| 00008ab0 63 6b 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 |ck pointed to by| 00008ac0 20 52 31 20 63 6f 6e 74 61 69 6e 73 3a 0a 0a 3c | R1 contains:..<| 00008ad0 50 3e 0a 0a 3c 50 52 45 3e 0a 52 31 2b 32 30 20 |P>..<PRE>.R1+20 | 00008ae0 20 20 30 0a 52 31 2b 32 34 20 20 20 41 64 64 72 | 0.R1+24 Addr| 00008af0 65 73 73 20 6f 66 20 6f 62 6a 65 63 74 20 74 61 |ess of object ta| 00008b00 67 0a 52 31 2b 32 38 20 20 20 59 20 73 63 61 6c |g.R1+28 Y scal| 00008b10 65 20 6f 66 20 6f 62 6a 65 63 74 20 69 6e 20 4c |e of object in L| 00008b20 6f 63 61 6c 20 77 69 6e 64 6f 77 20 28 36 35 35 |ocal window (655| 00008b30 33 36 3d 31 3a 31 20 6f 72 20 31 30 30 25 29 0a |36=1:1 or 100%).| 00008b40 52 31 2b 33 32 20 20 20 58 6c 6f 77 20 6f 66 20 |R1+32 Xlow of | 00008b50 6f 62 6a 65 63 74 20 6f 6e 20 73 63 72 65 65 6e |object on screen| 00008b60 20 69 6e 20 27 4c 6f 63 61 6c 27 20 77 69 6e 64 | in 'Local' wind| 00008b70 6f 77 2e 20 28 6c 69 6d 69 74 65 64 20 74 6f 20 |ow. (limited to | 00008b80 76 69 73 69 62 6c 65 20 61 72 65 61 29 0a 52 31 |visible area).R1| 00008b90 2b 33 36 20 20 20 59 6c 6f 77 20 6f 66 20 6f 62 |+36 Ylow of ob| 00008ba0 6a 65 63 74 20 6f 6e 20 73 63 72 65 65 6e 20 69 |ject on screen i| 00008bb0 6e 20 27 4c 6f 63 61 6c 27 20 77 69 6e 64 6f 77 |n 'Local' window| 00008bc0 2e 20 28 6c 69 6d 69 74 65 64 20 74 6f 20 76 69 |. (limited to vi| 00008bd0 73 69 62 6c 65 20 61 72 65 61 29 0a 52 31 2b 34 |sible area).R1+4| 00008be0 30 20 20 20 48 61 6e 64 6c 65 20 6f 66 20 27 4c |0 Handle of 'L| 00008bf0 6f 63 61 6c 27 20 77 69 6e 64 6f 77 2e 0a 52 31 |ocal' window..R1| 00008c00 2b 34 34 20 20 20 48 61 6e 64 6c 65 20 6f 66 20 |+44 Handle of | 00008c10 4c 6f 63 61 6c 20 77 69 6e 64 6f 77 73 20 74 6f |Local windows to| 00008c20 6f 6c 62 61 72 20 77 69 6e 64 6f 77 20 28 6f 72 |olbar window (or| 00008c30 20 2d 31 20 69 66 20 6e 6f 20 74 6f 6f 6c 62 61 | -1 if no toolba| 00008c40 72 29 0a 52 31 2b 34 38 20 20 20 58 20 73 63 61 |r).R1+48 X sca| 00008c50 6c 65 20 66 61 63 74 6f 72 20 6f 66 20 6f 62 6a |le factor of obj| 00008c60 65 63 74 20 69 6e 20 4c 6f 63 61 6c 20 77 69 6e |ect in Local win| 00008c70 64 6f 77 20 28 31 36 2e 31 36 20 66 6f 72 6d 61 |dow (16.16 forma| 00008c80 74 20 65 67 20 36 35 35 33 36 3d 31 3a 31 20 6f |t eg 65536=1:1 o| 00008c90 72 20 31 30 30 25 29 0a 52 31 2b 35 32 20 20 20 |r 100%).R1+52 | 00008ca0 58 6c 6f 77 20 6f 66 20 6f 62 6a 65 63 74 20 6f |Xlow of object o| 00008cb0 6e 20 73 63 72 65 65 6e 20 69 6e 20 4c 6f 63 61 |n screen in Loca| 00008cc0 6c 20 77 69 6e 64 6f 77 2e 20 28 75 6e 6c 69 6d |l window. (unlim| 00008cd0 69 74 65 64 29 0a 52 31 2b 35 36 20 20 20 59 6c |ited).R1+56 Yl| 00008ce0 6f 77 20 6f 66 20 6f 62 6a 65 63 74 20 6f 6e 20 |ow of object on | 00008cf0 73 63 72 65 65 6e 20 69 6e 20 4c 6f 63 61 6c 20 |screen in Local | 00008d00 77 69 6e 64 6f 77 2e 20 28 75 6e 6c 69 6d 69 74 |window. (unlimit| 00008d10 65 64 29 0a 0a 3c 2f 50 52 45 3e 3c 50 3e 0a 4f |ed)..</PRE><P>.O| 00008d20 6e 20 72 65 63 65 69 70 74 2c 20 74 68 65 20 52 |n receipt, the R| 00008d30 65 6d 6f 74 65 20 74 61 73 6b 20 73 68 6f 75 6c |emote task shoul| 00008d40 64 20 6f 70 65 6e 20 69 74 73 20 74 6f 6f 6c 62 |d open its toolb| 00008d50 61 72 2f 69 6e 66 6f 62 61 72 20 72 65 6c 61 74 |ar/infobar relat| 00008d60 69 76 65 20 74 6f 20 74 68 65 0a 70 6f 73 69 74 |ive to the.posit| 00008d70 69 6f 6e 73 20 69 6e 20 52 31 2b 33 32 20 61 6e |ions in R1+32 an| 00008d80 64 20 52 31 2b 33 36 20 62 65 68 69 6e 64 20 74 |d R1+36 behind t| 00008d90 68 65 20 77 69 6e 64 6f 77 20 68 61 6e 64 6c 65 |he window handle| 00008da0 20 61 74 20 52 31 2b 34 34 2e 20 54 68 65 0a 63 | at R1+44. The.c| 00008db0 6f 6f 72 64 69 6e 61 74 65 73 20 70 61 73 73 65 |oordinates passe| 00008dc0 64 20 69 6e 20 52 31 2b 33 32 20 61 6e 64 20 52 |d in R1+32 and R| 00008dd0 31 2b 33 36 20 73 68 6f 75 6c 64 20 62 65 20 6c |1+36 should be l| 00008de0 69 6d 69 74 65 64 20 74 6f 20 74 68 65 20 77 69 |imited to the wi| 00008df0 6e 64 6f 77 73 0a 76 69 73 69 62 6c 65 20 61 72 |ndows.visible ar| 00008e00 65 61 20 28 62 79 20 74 68 65 20 4c 6f 63 61 6c |ea (by the Local| 00008e10 20 74 61 73 6b 29 20 77 68 69 6c 65 20 74 68 6f | task) while tho| 00008e20 73 65 20 61 74 20 2b 35 32 20 61 6e 64 20 2b 35 |se at +52 and +5| 00008e30 36 20 73 68 6f 75 6c 64 20 6e 6f 74 2e 0a 0a 3c |6 should not...<| 00008e40 50 3e 0a 0a 54 68 65 20 69 6e 66 6f 72 6d 61 74 |P>..The informat| 00008e50 69 6f 6e 20 61 74 20 52 31 2b 32 38 20 61 6e 64 |ion at R1+28 and| 00008e60 20 52 31 2b 34 38 20 6f 6e 77 61 72 64 73 20 69 | R1+48 onwards i| 00008e70 73 20 66 6f 72 20 75 73 65 20 62 79 20 74 68 65 |s for use by the| 00008e80 20 52 65 6d 6f 74 65 20 74 61 73 6b 0a 64 75 72 | Remote task.dur| 00008e90 69 6e 67 20 6d 6f 75 73 65 20 63 6c 69 63 6b 20 |ing mouse click | 00008ea0 6f 70 65 72 61 74 69 6f 6e 73 20 6f 6e 20 74 68 |operations on th| 00008eb0 65 20 6f 62 6a 65 63 74 2e 20 54 6f 20 63 6f 6e |e object. To con| 00008ec0 76 65 72 74 20 6d 6f 75 73 65 20 63 6f 6f 72 64 |vert mouse coord| 00008ed0 69 6e 61 74 65 73 0a 72 65 61 64 20 64 69 72 65 |inates.read dire| 00008ee0 63 74 6c 79 20 69 74 20 73 68 6f 75 6c 64 20 73 |ctly it should s| 00008ef0 75 62 74 72 61 63 74 20 74 68 65 20 76 61 6c 75 |ubtract the valu| 00008f00 65 73 20 61 74 20 52 31 2b 35 32 2c 52 31 2b 35 |es at R1+52,R1+5| 00008f10 36 20 66 72 6f 6d 20 74 68 65 20 72 61 77 0a 6d |6 from the raw.m| 00008f20 6f 75 73 65 78 20 61 6e 64 20 6d 6f 75 73 65 79 |ousex and mousey| 00008f30 20 63 6f 6f 72 64 69 6e 61 74 65 73 2c 20 61 6e | coordinates, an| 00008f40 64 20 74 68 65 6e 20 73 63 61 6c 65 20 74 68 65 |d then scale the| 00008f50 6d 20 62 79 20 74 68 65 20 66 61 63 74 6f 72 73 |m by the factors| 00008f60 20 69 6e 0a 52 31 2b 32 38 20 61 6e 64 20 52 31 | in.R1+28 and R1| 00008f70 2b 34 38 2e 0a 3c 50 3e 0a 54 68 65 20 58 20 61 |+48..<P>.The X a| 00008f80 6e 64 20 59 20 73 63 61 6c 65 20 66 61 63 74 6f |nd Y scale facto| 00008f90 72 73 20 61 72 65 20 69 6e 20 31 36 2e 31 36 20 |rs are in 16.16 | 00008fa0 66 6f 72 6d 61 74 2e 20 54 6f 20 63 6f 6e 76 65 |format. To conve| 00008fb0 72 74 20 61 20 73 63 61 6c 65 20 66 61 63 74 6f |rt a scale facto| 00008fc0 72 0a 69 6e 74 6f 20 74 68 69 73 20 66 6f 72 6d |r.into this form| 00008fd0 61 74 2c 20 6d 75 6c 74 69 70 6c 79 20 62 79 20 |at, multiply by | 00008fe0 31 20 26 6c 74 3b 26 6c 74 3b 20 31 36 2e 20 46 |1 << 16. F| 00008ff0 6f 72 20 65 78 61 6d 70 6c 65 2c 20 31 30 30 25 |or example, 100%| 00009000 20 3d 20 61 20 73 63 61 6c 65 20 66 61 63 74 6f | = a scale facto| 00009010 72 20 6f 66 0a 6f 6e 65 20 61 6e 64 20 69 73 20 |r of.one and is | 00009020 74 68 65 72 65 66 6f 72 65 20 28 31 20 26 6c 74 |therefore (1 <| 00009030 3b 26 6c 74 3b 20 31 36 29 20 2a 20 31 20 77 68 |;< 16) * 1 wh| 00009040 69 63 68 20 69 73 20 36 35 35 33 36 20 6f 72 20 |ich is 65536 or | 00009050 26 31 30 30 30 30 2e 20 31 35 30 25 20 3d 20 61 |&10000. 150% = a| 00009060 20 73 63 61 6c 65 0a 66 61 63 74 6f 72 20 6f 66 | scale.factor of| 00009070 20 31 2e 35 20 61 6e 64 20 69 73 20 74 68 65 72 | 1.5 and is ther| 00009080 65 66 6f 72 65 20 28 31 20 26 6c 74 3b 26 6c 74 |efore (1 <<| 00009090 3b 20 31 36 29 20 2a 20 31 2e 35 20 77 68 69 63 |; 16) * 1.5 whic| 000090a0 68 20 69 73 20 39 38 33 30 34 20 6f 72 20 26 31 |h is 98304 or &1| 000090b0 38 30 30 30 2e 0a 0a 3c 70 3e 0a 0a 53 65 65 20 |8000...<p>..See | 000090c0 74 68 65 20 72 65 6d 6f 74 65 20 70 61 69 6e 74 |the remote paint| 000090d0 69 6e 67 20 63 6f 64 65 20 28 44 45 46 50 52 4f |ing code (DEFPRO| 000090e0 43 72 65 6d 6f 74 65 5f 77 69 6e 29 20 69 6e 20 |Cremote_win) in | 000090f0 21 53 70 61 69 6e 74 20 66 6f 72 20 61 20 70 72 |!Spaint for a pr| 00009100 61 63 74 69 63 61 6c 0a 65 78 61 6d 70 6c 65 20 |actical.example | 00009110 6f 66 20 77 68 61 74 20 79 6f 75 20 73 68 6f 75 |of what you shou| 00009120 6c 64 20 64 6f 2e 0a 0a 3c 50 3e 0a 0a 3c 53 54 |ld do...<P>..<ST| 00009130 52 4f 4e 47 3e 0a 3c 41 20 4e 41 4d 45 3d 22 68 |RONG>.<A NAME="h| 00009140 6f 6f 6b 22 3e 0a 4d 65 73 73 61 67 65 5f 48 6f |ook">.Message_Ho| 00009150 6f 6b 4d 65 0a 3c 2f 41 3e 20 20 28 26 38 33 34 |okMe.</A> (&834| 00009160 39 31 29 20 20 28 4d 73 67 5f 48 6f 6f 6b 25 29 |91) (Msg_Hook%)| 00009170 0a 0a 3c 2f 53 54 52 4f 4e 47 3e 3c 50 3e 0a 0a |..</STRONG><P>..| 00009180 0a 54 68 69 73 20 6d 65 73 73 61 67 65 20 69 73 |.This message is| 00009190 20 73 65 6e 74 20 62 79 20 74 68 65 20 52 65 6d | sent by the Rem| 000091a0 6f 74 65 20 74 61 73 6b 20 74 6f 20 74 68 65 20 |ote task to the | 000091b0 4c 6f 63 61 6c 20 74 61 73 6b 2e 20 49 74 20 69 |Local task. It i| 000091c0 6e 64 69 63 61 74 65 73 20 74 6f 0a 74 68 65 20 |ndicates to.the | 000091d0 4c 6f 63 61 6c 20 74 61 73 6b 20 74 68 61 74 20 |Local task that | 000091e0 69 74 20 73 68 6f 75 6c 64 20 62 65 67 69 6e 20 |it should begin | 000091f0 69 6e 74 65 72 63 65 70 74 69 6e 67 20 6d 6f 75 |intercepting mou| 00009200 73 65 20 62 75 74 74 6f 6e 20 61 6e 64 20 6f 74 |se button and ot| 00009210 68 65 72 20 57 69 6d 70 0a 65 76 65 6e 74 73 20 |her Wimp.events | 00009220 74 6f 20 74 68 65 20 6f 62 6a 65 63 74 20 61 6e |to the object an| 00009230 64 20 73 65 6e 64 20 74 68 65 6d 20 74 6f 20 74 |d send them to t| 00009240 68 65 20 52 65 6d 6f 74 65 20 74 61 73 6b 2e 20 |he Remote task. | 00009250 4f 6e 20 72 65 63 65 69 70 74 2c 20 74 68 65 20 |On receipt, the | 00009260 4c 6f 63 61 6c 0a 74 61 73 6b 20 73 68 6f 75 6c |Local.task shoul| 00009270 64 20 63 72 65 61 74 65 20 61 20 74 72 61 70 20 |d create a trap | 00009280 69 63 6f 6e 20 6f 76 65 72 20 74 68 65 20 6f 62 |icon over the ob| 00009290 6a 65 63 74 20 28 75 73 69 6e 67 20 74 68 65 20 |ject (using the | 000092a0 62 75 74 74 6f 6e 20 74 79 70 65 20 69 6e 0a 72 |button type in.r| 000092b0 31 2b 32 38 29 20 61 6e 64 20 73 65 6e 64 20 4d |1+28) and send M| 000092c0 65 73 73 61 67 65 5f 4f 62 6a 65 63 74 50 6f 73 |essage_ObjectPos| 000092d0 69 74 69 6f 6e 2e 20 0a 0a 3c 50 3e 0a 0a 0a 54 |ition. ..<P>...T| 000092e0 68 65 20 62 6c 6f 63 6b 20 70 6f 69 6e 74 65 64 |he block pointed| 000092f0 20 74 6f 20 62 79 20 52 31 20 63 6f 6e 74 61 69 | to by R1 contai| 00009300 6e 73 3a 3c 50 3e 0a 0a 3c 50 52 45 3e 0a 52 31 |ns:<P>..<PRE>.R1| 00009310 2b 32 30 20 20 20 30 0a 52 31 2b 32 34 20 20 20 |+20 0.R1+24 | 00009320 41 64 64 72 65 73 73 20 6f 66 20 6f 62 6a 65 63 |Address of objec| 00009330 74 20 74 61 67 0a 52 31 2b 32 38 20 20 20 62 69 |t tag.R1+28 bi| 00009340 74 73 20 30 2d 32 37 20 46 6c 61 67 73 20 2d 20 |ts 0-27 Flags - | 00009350 72 65 73 65 72 76 65 64 20 61 6e 64 20 73 65 74 |reserved and set| 00009360 20 74 6f 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 | to zero.. | 00009370 20 20 62 69 74 73 20 32 38 2d 33 31 20 57 69 6e | bits 28-31 Win| 00009380 64 6f 77 20 27 77 6f 72 6b 20 61 72 65 61 27 20 |dow 'work area' | 00009390 62 75 74 74 6f 6e 20 74 79 70 65 20 74 6f 20 75 |button type to u| 000093a0 73 65 20 66 6f 72 20 74 72 61 70 20 69 63 6f 6e |se for trap icon| 000093b0 2e 0a 52 31 2b 33 32 20 20 20 57 69 6e 64 6f 77 |..R1+32 Window| 000093c0 20 68 61 6e 64 6c 65 0a 52 31 2b 33 36 20 20 20 | handle.R1+36 | 000093d0 53 74 72 69 6e 67 2e 20 69 6e 64 69 72 65 63 74 |String. indirect| 000093e0 69 6f 6e 20 73 74 72 69 6e 67 20 66 6f 72 20 69 |ion string for i| 000093f0 63 6f 6e 20 6f 72 20 4e 75 6c 6c 20 28 26 30 29 |con or Null (&0)| 00009400 0a 3c 2f 50 52 45 3e 0a 3c 50 3e 0a 0a 54 6f 20 |.</PRE>.<P>..To | 00009410 6d 61 6b 65 20 6c 69 66 65 20 65 61 73 69 65 72 |make life easier| 00009420 20 66 6f 72 20 74 68 65 20 72 65 6d 6f 74 65 20 | for the remote | 00009430 74 61 73 6b 20 74 68 65 20 4c 6f 63 61 6c 20 74 |task the Local t| 00009440 61 73 6b 20 73 68 6f 75 6c 64 20 61 6c 73 6f 20 |ask should also | 00009450 74 61 6b 65 20 6e 6f 74 65 0a 6f 66 20 74 68 65 |take note.of the| 00009460 20 77 69 6e 64 6f 77 20 68 61 6e 64 6c 65 20 61 | window handle a| 00009470 74 20 52 31 2b 33 32 20 61 6e 64 20 69 6e 73 65 |t R1+32 and inse| 00009480 72 74 20 74 68 61 74 20 76 61 6c 75 65 20 69 6e |rt that value in| 00009490 74 6f 20 74 68 65 20 77 69 6e 64 6f 77 20 68 61 |to the window ha| 000094a0 6e 64 6c 65 0a 66 69 65 6c 64 20 77 68 65 6e 20 |ndle.field when | 000094b0 70 61 73 73 69 6e 67 20 6f 6e 20 57 69 6d 70 20 |passing on Wimp | 000094c0 6d 65 73 73 61 67 65 73 2e 20 54 68 69 73 20 61 |messages. This a| 000094d0 6c 6c 6f 77 73 20 74 68 65 20 72 65 6d 6f 74 65 |llows the remote| 000094e0 20 74 61 73 6b 20 74 6f 20 75 73 65 20 6d 75 63 | task to use muc| 000094f0 68 0a 6f 66 20 74 68 65 20 73 61 6d 65 20 63 6f |h.of the same co| 00009500 64 65 20 74 6f 20 64 65 61 6c 20 77 69 74 68 20 |de to deal with | 00009510 72 65 6d 6f 74 65 6c 79 20 67 65 6e 65 72 61 74 |remotely generat| 00009520 65 64 20 6d 65 73 73 61 67 65 73 20 61 6e 64 20 |ed messages and | 00009530 6d 65 73 73 61 67 65 73 20 74 6f 0a 74 68 65 69 |messages to.thei| 00009540 72 20 6f 77 6e 20 77 69 6e 64 6f 77 2e 0a 0a 3c |r own window...<| 00009550 50 3e 0a 0a 54 68 65 20 6f 70 74 69 6f 6e 61 6c |P>..The optional| 00009560 20 69 6e 64 69 72 65 63 74 69 6f 6e 20 73 74 72 | indirection str| 00009570 69 6e 67 20 61 74 20 52 31 2b 33 36 20 69 73 20 |ing at R1+36 is | 00009580 69 6e 74 65 6e 64 65 64 20 74 6f 20 61 6c 6c 6f |intended to allo| 00009590 77 20 66 6f 72 20 61 64 64 69 6e 67 20 61 0a 6d |w for adding a.m| 000095a0 6f 75 73 65 20 70 6f 69 6e 74 65 72 20 63 68 61 |ouse pointer cha| 000095b0 6e 67 65 20 77 68 65 6e 20 65 6e 74 65 72 69 6e |nge when enterin| 000095c0 67 20 69 6e 2d 70 6c 61 63 65 20 65 64 69 74 65 |g in-place edite| 000095d0 64 20 6f 62 6a 65 63 74 73 2e 20 54 61 6b 65 20 |d objects. Take | 000095e0 63 61 72 65 20 77 69 74 68 0a 74 68 69 73 20 73 |care with.this s| 000095f0 74 72 69 6e 67 20 61 73 20 63 65 72 74 61 69 6e |tring as certain| 00009600 20 73 65 74 74 69 6e 67 73 20 63 61 6e 20 64 69 | settings can di| 00009610 73 72 75 70 74 20 74 68 65 20 4c 6f 63 61 6c 20 |srupt the Local | 00009620 74 61 73 6b 27 73 20 6d 65 73 73 61 67 65 0a 74 |task's message.t| 00009630 72 61 70 70 69 6e 67 2e 20 54 68 69 73 20 65 78 |rapping. This ex| 00009640 74 65 6e 73 69 6f 6e 20 69 73 20 6f 70 74 69 6f |tension is optio| 00009650 6e 61 6c 2e 20 53 6f 6d 65 20 6c 6f 63 61 6c 20 |nal. Some local | 00009660 74 61 73 6b 73 20 6d 61 79 20 6e 6f 74 20 73 75 |tasks may not su| 00009670 70 70 6f 72 74 20 69 74 20 73 6f 0a 64 6f 20 6e |pport it so.do n| 00009680 6f 74 20 72 65 6c 79 20 6f 6e 20 69 74 2e 20 0a |ot rely on it. .| 00009690 0a 3c 70 3e 0a 0a 49 66 20 74 68 65 20 72 65 6d |.<p>..If the rem| 000096a0 6f 74 65 20 74 61 73 6b 20 69 73 20 61 6c 72 65 |ote task is alre| 000096b0 61 64 79 20 65 64 69 74 69 6e 67 20 61 6e 20 6f |ady editing an o| 000096c0 62 6a 65 63 74 20 69 6e 2d 70 6c 61 63 65 20 28 |bject in-place (| 000096d0 61 6e 64 20 69 74 20 69 73 20 67 6f 69 6e 67 20 |and it is going | 000096e0 74 6f 0a 72 65 70 6c 61 63 65 20 69 74 29 20 74 |to.replace it) t| 000096f0 68 65 6e 20 69 74 20 73 68 6f 75 6c 64 20 73 65 |hen it should se| 00009700 6e 64 20 4d 65 73 73 61 67 65 5f 55 6e 68 6f 6f |nd Message_Unhoo| 00009710 6b 20 74 6f 20 74 68 65 20 6c 6f 63 61 6c 20 74 |k to the local t| 00009720 61 73 6b 20 70 72 65 76 69 6f 75 73 6c 79 0a 62 |ask previously.b| 00009730 65 69 6e 67 20 77 6f 72 6b 65 64 20 77 69 74 68 |eing worked with| 00009740 20 73 6f 20 74 68 61 74 20 69 74 20 64 65 6c 65 | so that it dele| 00009750 74 65 73 20 69 74 73 20 74 72 61 70 20 69 63 6f |tes its trap ico| 00009760 6e 2e 20 0a 0a 3c 50 3e 0a 0a 50 6c 65 61 73 65 |n. ..<P>..Please| 00009770 20 73 65 65 20 74 68 65 20 73 65 63 74 69 6f 6e | see the section| 00009780 20 62 65 6c 6f 77 20 6f 6e 20 49 6e 2d 70 6c 61 | below on In-pla| 00009790 63 65 20 65 64 69 74 69 6e 67 20 66 6f 72 20 64 |ce editing for d| 000097a0 65 74 61 69 6c 73 20 6f 66 20 74 68 65 20 62 65 |etails of the be| 000097b0 73 74 0a 6d 65 74 68 6f 64 20 6f 66 20 74 72 61 |st.method of tra| 000097c0 70 70 69 6e 67 20 6d 65 73 73 61 67 65 73 20 61 |pping messages a| 000097d0 6e 64 20 74 68 65 20 61 6c 74 65 72 61 74 69 6f |nd the alteratio| 000097e0 6e 73 20 77 68 69 63 68 20 73 68 6f 75 6c 64 20 |ns which should | 000097f0 62 65 20 6d 61 64 65 20 62 65 66 6f 72 65 0a 66 |be made before.f| 00009800 6f 72 77 61 72 64 69 6e 67 20 74 68 65 6d 2e 0a |orwarding them..| 00009810 0a 3c 50 3e 0a 0a 3c 53 54 52 4f 4e 47 3e 0a 3c |.<P>..<STRONG>.<| 00009820 41 20 4e 41 4d 45 3d 22 75 6e 68 6f 6f 6b 22 3e |A NAME="unhook">| 00009830 0a 4d 65 73 73 61 67 65 5f 55 6e 68 6f 6f 6b 4d |.Message_UnhookM| 00009840 65 0a 3c 2f 41 3e 20 28 26 38 33 34 39 32 29 20 |e.</A> (&83492) | 00009850 20 28 4d 73 67 5f 55 6e 68 6f 6f 6b 25 29 0a 0a | (Msg_Unhook%)..| 00009860 3c 2f 53 54 52 4f 4e 47 3e 3c 50 3e 0a 0a 54 68 |</STRONG><P>..Th| 00009870 69 73 20 6d 65 73 73 61 67 65 20 69 73 20 73 65 |is message is se| 00009880 6e 74 20 62 79 20 61 20 72 65 6d 6f 74 65 20 74 |nt by a remote t| 00009890 61 73 6b 20 74 6f 20 74 68 65 20 4c 6f 63 61 6c |ask to the Local| 000098a0 20 74 61 73 6b 20 28 6f 72 20 6c 6f 63 61 6c 20 | task (or local | 000098b0 74 6f 20 72 65 6d 6f 74 65 29 0a 77 68 65 6e 20 |to remote).when | 000098c0 69 74 20 77 61 6e 74 73 20 74 6f 20 27 75 6e 68 |it wants to 'unh| 000098d0 6f 6f 6b 27 20 66 72 6f 6d 20 74 68 65 20 6f 62 |ook' from the ob| 000098e0 6a 65 63 74 2e 0a 0a 3c 50 3e 0a 0a 54 68 65 20 |ject...<P>..The | 000098f0 62 6c 6f 63 6b 20 70 6f 69 6e 74 65 64 20 74 6f |block pointed to| 00009900 20 62 79 20 52 31 20 63 6f 6e 74 61 69 6e 73 3a | by R1 contains:| 00009910 3c 50 3e 0a 0a 3c 50 52 45 3e 0a 52 31 2b 32 30 |<P>..<PRE>.R1+20| 00009920 20 20 20 30 0a 52 31 2b 32 34 20 20 20 41 64 64 | 0.R1+24 Add| 00009930 72 65 73 73 20 6f 66 20 6f 62 6a 65 63 74 20 74 |ress of object t| 00009940 61 67 0a 52 31 2b 32 38 20 20 20 72 65 73 65 72 |ag.R1+28 reser| 00009950 76 65 64 20 20 2d 20 30 0a 52 31 2b 33 32 20 20 |ved - 0.R1+32 | 00009960 20 57 69 6e 64 6f 77 20 68 61 6e 64 6c 65 0a 52 | Window handle.R| 00009970 31 2b 33 36 20 20 20 55 6e 68 6f 6f 6b 20 27 74 |1+36 Unhook 't| 00009980 79 70 65 27 0a 0a 3c 2f 50 52 45 3e 3c 50 3e 0a |ype'..</PRE><P>.| 00009990 0a 54 68 69 73 20 6d 65 73 73 61 67 65 20 73 68 |.This message sh| 000099a0 6f 75 6c 64 20 62 65 20 75 73 65 64 20 62 79 20 |ould be used by | 000099b0 61 20 52 65 6d 6f 74 65 20 74 61 73 6b 20 74 6f |a Remote task to| 000099c0 20 69 6e 64 69 63 61 74 65 20 69 74 73 20 6c 61 | indicate its la| 000099d0 63 6b 20 6f 66 0a 69 6e 74 65 72 65 73 74 20 69 |ck of.interest i| 000099e0 6e 20 61 6e 20 6f 62 6a 65 63 74 2e 20 41 66 74 |n an object. Aft| 000099f0 65 72 20 73 65 6e 64 69 6e 67 20 74 68 69 73 20 |er sending this | 00009a00 6d 65 73 73 61 67 65 20 74 68 65 20 52 65 6d 6f |message the Remo| 00009a10 74 65 20 74 61 73 6b 20 73 68 6f 75 6c 64 0a 66 |te task should.f| 00009a20 6f 72 67 65 74 20 61 6e 79 20 72 65 66 65 72 65 |orget any refere| 00009a30 6e 63 65 73 20 74 6f 20 74 68 65 20 6f 62 6a 65 |nces to the obje| 00009a40 63 74 20 61 6e 64 20 63 6c 6f 73 65 20 69 74 73 |ct and close its| 00009a50 20 74 6f 6f 6c 62 61 72 20 61 6e 64 2f 6f 72 20 | toolbar and/or | 00009a60 77 69 6e 64 6f 77 2e 0a 0a 3c 50 3e 0a 0a 4c 69 |window...<P>..Li| 00009a70 74 74 6c 65 20 61 63 74 69 6f 6e 20 6e 65 65 64 |ttle action need| 00009a80 20 62 65 20 74 61 6b 65 6e 20 61 74 20 74 68 65 | be taken at the| 00009a90 20 4c 6f 63 61 6c 20 65 6e 64 20 6f 6e 20 72 65 | Local end on re| 00009aa0 63 65 69 70 74 20 6f 66 20 74 68 69 73 20 6d 65 |ceipt of this me| 00009ab0 73 73 61 67 65 0a 75 6e 6c 65 73 73 20 27 49 6e |ssage.unless 'In| 00009ac0 70 6c 61 63 65 20 65 64 69 74 69 6e 67 27 20 69 |place editing' i| 00009ad0 73 20 67 6f 69 6e 67 20 6f 6e 20 62 65 74 77 65 |s going on betwe| 00009ae0 65 6e 20 74 68 65 20 74 61 73 6b 73 20 69 6e 20 |en the tasks in | 00009af0 77 68 69 63 68 20 63 61 73 65 20 69 74 0a 73 68 |which case it.sh| 00009b00 6f 75 6c 64 20 72 65 6d 6f 76 65 20 74 68 65 20 |ould remove the | 00009b10 74 72 61 70 73 20 6f 6e 20 42 75 74 74 6f 6e 20 |traps on Button | 00009b20 63 6c 69 63 6b 20 6d 65 73 73 61 67 65 73 20 65 |click messages e| 00009b30 74 63 20 66 6f 72 20 74 68 65 20 6f 62 6a 65 63 |tc for the objec| 00009b40 74 2e 20 49 66 20 74 68 65 0a 4c 6f 63 61 6c 20 |t. If the.Local | 00009b50 74 61 73 6b 20 77 69 73 68 65 73 20 74 6f 20 62 |task wishes to b| 00009b60 65 20 65 66 66 69 63 69 65 6e 74 20 69 6e 20 69 |e efficient in i| 00009b70 74 73 20 67 65 6e 65 72 61 74 69 6f 6e 20 6f 66 |ts generation of| 00009b80 20 50 43 41 20 6d 65 73 73 61 67 65 73 20 74 68 | PCA messages th| 00009b90 65 6e 20 69 74 0a 73 68 6f 75 6c 64 20 6b 65 65 |en it.should kee| 00009ba0 70 20 61 20 63 6f 75 6e 74 65 72 20 66 6f 72 20 |p a counter for | 00009bb0 65 61 63 68 20 6f 62 6a 65 63 74 20 69 6e 20 74 |each object in t| 00009bc0 68 65 20 50 43 41 20 73 79 73 74 65 6d 2c 20 69 |he PCA system, i| 00009bd0 6e 63 72 65 61 73 65 20 74 68 65 0a 63 6f 75 6e |ncrease the.coun| 00009be0 74 65 72 20 6f 6e 20 65 61 63 68 20 63 61 6c 6c |ter on each call| 00009bf0 20 74 6f 20 4d 65 73 73 61 67 65 5f 44 6f 59 6f | to Message_DoYo| 00009c00 75 72 53 74 75 66 66 20 61 6e 64 20 64 65 63 72 |urStuff and decr| 00009c10 65 61 73 65 20 69 74 20 6f 6e 20 65 61 63 68 20 |ease it on each | 00009c20 72 65 63 65 69 70 74 0a 6f 66 20 4d 65 73 73 61 |receipt.of Messa| 00009c30 67 65 5f 55 6e 48 6f 6f 6b 2e 20 54 68 65 6e 20 |ge_UnHook. Then | 00009c40 50 43 41 20 6d 65 73 73 61 67 65 73 20 6e 65 65 |PCA messages nee| 00009c50 64 20 6f 6e 6c 79 20 62 65 20 67 65 6e 65 72 61 |d only be genera| 00009c60 74 65 64 20 69 6e 20 72 65 73 70 6f 6e 73 65 20 |ted in response | 00009c70 74 6f 0a 63 68 61 6e 67 65 73 20 6d 61 64 65 20 |to.changes made | 00009c80 62 79 20 74 68 65 20 4c 6f 63 61 6c 20 74 61 73 |by the Local tas| 00009c90 6b 20 69 66 20 74 68 65 20 6f 62 6a 65 63 74 73 |k if the objects| 00009ca0 20 63 6f 75 6e 74 65 72 20 69 73 20 67 72 65 61 | counter is grea| 00009cb0 74 65 72 20 74 68 61 6e 20 7a 65 72 6f 2e 0a 57 |ter than zero..W| 00009cc0 68 65 6e 20 74 68 65 20 63 6f 75 6e 74 65 72 20 |hen the counter | 00009cd0 72 65 61 63 68 65 73 20 7a 65 72 6f 20 74 68 65 |reaches zero the| 00009ce0 20 4c 6f 63 61 6c 20 74 61 73 6b 20 73 68 6f 75 | Local task shou| 00009cf0 6c 64 20 62 72 6f 61 64 63 61 73 74 20 4d 65 73 |ld broadcast Mes| 00009d00 73 61 67 65 5f 44 65 73 65 6c 65 63 74 0a 61 73 |sage_Deselect.as| 00009d10 20 61 20 73 61 66 74 65 79 20 6d 65 61 73 75 72 | a saftey measur| 00009d20 65 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 |e to ensure that| 00009d30 20 61 6c 6c 20 52 65 6d 6f 74 65 20 74 61 73 6b | all Remote task| 00009d40 73 20 73 74 6f 70 20 75 73 69 6e 67 20 74 68 65 |s stop using the| 00009d50 20 6f 62 6a 65 63 74 2e 0a 0a 3c 50 3e 0a 0a 54 | object...<P>..T| 00009d60 68 65 20 27 75 6e 68 6f 6f 6b 20 74 79 70 65 27 |he 'unhook type'| 00009d70 20 61 74 20 52 31 2b 33 36 20 63 75 72 72 65 6e | at R1+36 curren| 00009d80 74 6c 79 20 68 61 73 20 74 77 6f 20 64 65 66 69 |tly has two defi| 00009d90 6e 65 64 20 76 61 6c 75 65 73 3a 0a 3c 50 3e 0a |ned values:.<P>.| 00009da0 0a 3c 50 52 45 3e 0a 52 31 2b 33 36 20 20 20 30 |.<PRE>.R1+36 0| 00009db0 20 27 55 6e 68 6f 6f 6b 27 20 69 73 20 74 65 6d | 'Unhook' is tem| 00009dc0 70 6f 72 61 72 79 0a 20 20 20 20 20 20 20 20 20 |porary. | 00009dd0 20 28 75 73 65 64 20 62 79 20 43 6f 6d 70 6f 20 | (used by Compo | 00009de0 74 6f 20 73 75 70 70 6f 72 74 20 74 68 65 20 27 |to support the '| 00009df0 54 72 61 63 6b 20 73 65 6c 65 63 74 65 64 27 0a |Track selected'.| 00009e00 20 20 20 20 20 20 20 20 20 20 70 72 65 66 65 72 | prefer| 00009e10 65 6e 63 65 20 6f 70 74 69 6f 6e 29 0a 52 31 2b |ence option).R1+| 00009e20 33 36 20 20 20 31 20 27 55 6e 68 6f 6f 6b 27 20 |36 1 'Unhook' | 00009e30 69 73 20 70 65 72 6d 61 6e 65 6e 74 20 2d 20 66 |is permanent - f| 00009e40 6f 72 67 65 74 20 61 62 6f 75 74 20 74 68 69 73 |orget about this| 00009e50 20 50 43 41 2e 0a 3c 2f 50 52 45 3e 3c 50 3e 0a | PCA..</PRE><P>.| 00009e60 0a 0a 41 6c 6c 20 76 61 6c 75 65 73 20 6f 74 68 |..All values oth| 00009e70 65 72 20 74 68 61 6e 20 7a 65 72 6f 20 73 68 6f |er than zero sho| 00009e80 75 6c 64 20 63 75 72 72 65 6e 74 6c 79 20 62 65 |uld currently be| 00009e90 20 74 72 65 61 74 65 64 20 61 73 20 27 70 65 72 | treated as 'per| 00009ea0 6d 61 6e 65 6e 74 27 2e 3c 50 3e 0a 3c 50 3e 0a |manent'.<P>.<P>.| 00009eb0 3c 41 20 48 52 45 46 3d 22 23 74 6f 70 22 3e 52 |<A HREF="#top">R| 00009ec0 65 74 75 72 6e 20 74 6f 20 43 6f 6e 74 65 6e 74 |eturn to Content| 00009ed0 73 3c 2f 41 3e 0a 3c 48 52 3e 0a 0a 3c 48 31 3e |s</A>.<HR>..<H1>| 00009ee0 3c 41 20 4e 41 4d 45 3d 22 72 65 6d 6f 74 65 22 |<A NAME="remote"| 00009ef0 3e 50 43 41 20 49 6e 2d 70 6c 61 63 65 20 65 64 |>PCA In-place ed| 00009f00 69 74 69 6e 67 20 73 70 65 63 69 66 69 63 61 74 |iting specificat| 00009f10 69 6f 6e 3c 2f 41 3e 3c 2f 48 31 3e 3c 50 3e 0a |ion</A></H1><P>.| 00009f20 3c 41 55 3e 0a 0a 41 75 74 68 6f 72 20 20 3a 20 |<AU>..Author : | 00009f30 52 6f 62 20 44 61 76 69 73 6f 6e 20 28 72 64 61 |Rob Davison (rda| 00009f40 76 69 73 6f 6e 40 78 74 72 61 2e 63 6f 2e 6e 7a |vison@xtra.co.nz| 00009f50 29 3c 42 52 3e 0a 0a 44 61 74 65 20 20 20 20 3a |)<BR>..Date :| 00009f60 20 31 35 2f 30 38 2f 39 36 3c 42 52 3e 0a 0a 53 | 15/08/96<BR>..S| 00009f70 74 61 74 75 73 20 20 3a 20 52 65 6c 65 61 73 65 |tatus : Release| 00009f80 20 31 3c 42 52 3e 0a 0a 0a 3c 2f 41 55 3e 0a 0a | 1<BR>...</AU>..| 00009f90 3c 48 32 3e 0a 49 6e 74 72 6f 64 75 63 74 69 6f |<H2>.Introductio| 00009fa0 6e 0a 3c 2f 48 32 3e 0a 0a 3c 50 3e 0a 0a 54 68 |n.</H2>..<P>..Th| 00009fb0 65 20 61 69 6d 20 6f 66 20 74 68 69 73 20 73 65 |e aim of this se| 00009fc0 63 74 69 6f 6e 20 69 73 20 74 6f 20 64 65 66 69 |ction is to defi| 00009fd0 6e 65 20 74 68 65 20 77 6f 72 6b 20 6e 65 63 65 |ne the work nece| 00009fe0 73 73 61 72 79 20 66 6f 72 20 61 70 70 6c 69 63 |ssary for applic| 00009ff0 61 74 69 6f 6e 73 20 74 6f 0a 73 75 70 70 6f 72 |ations to.suppor| 0000a000 74 20 27 69 6e 2d 70 6c 61 63 65 27 20 65 64 69 |t 'in-place' edi| 0000a010 74 69 6e 67 20 28 61 70 70 6c 69 63 61 74 69 6f |ting (applicatio| 0000a020 6e 73 20 77 6f 72 6b 69 6e 67 20 6f 6e 20 61 6e |ns working on an| 0000a030 20 6f 62 6a 65 63 74 20 77 69 74 68 69 6e 20 61 | object within a| 0000a040 6e 6f 74 68 65 72 0a 61 70 70 6c 69 63 61 74 69 |nother.applicati| 0000a050 6f 6e 27 73 20 77 69 6e 64 6f 77 29 20 77 69 74 |on's window) wit| 0000a060 68 69 6e 20 74 68 65 20 66 72 61 6d 65 77 6f 72 |hin the framewor| 0000a070 6b 20 73 75 70 70 6c 69 65 64 20 62 79 20 74 68 |k supplied by th| 0000a080 65 20 50 43 41 20 69 74 73 65 6c 66 2e 0a 0a 3c |e PCA itself...<| 0000a090 50 3e 0a 0a 54 68 69 73 20 66 65 61 74 75 72 65 |P>..This feature| 0000a0a0 20 69 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 | is an optional | 0000a0b0 70 61 72 74 20 6f 66 20 74 68 65 20 50 43 41 20 |part of the PCA | 0000a0c0 73 70 65 63 69 66 69 63 61 74 69 6f 6e 2e 20 41 |specification. A| 0000a0d0 6c 6c 20 72 65 6d 6f 74 65 20 74 61 73 6b 73 0a |ll remote tasks.| 0000a0e0 6d 75 73 74 20 62 65 20 61 62 6c 65 20 74 6f 20 |must be able to | 0000a0f0 6f 70 65 72 61 74 65 20 61 63 63 6f 72 64 69 6e |operate accordin| 0000a100 67 20 74 6f 20 74 68 65 20 6e 6f 72 6d 61 6c 20 |g to the normal | 0000a110 50 43 41 20 73 70 65 63 69 66 69 63 61 74 69 6f |PCA specificatio| 0000a120 6e 20 28 6f 70 65 6e 0a 74 68 65 69 72 20 6f 77 |n (open.their ow| 0000a130 6e 20 77 69 6e 64 6f 77 20 6f 6e 74 6f 20 74 68 |n window onto th| 0000a140 65 20 6f 62 6a 65 63 74 29 20 69 66 20 74 68 65 |e object) if the| 0000a150 20 4c 6f 63 61 6c 20 74 61 73 6b 20 69 6e 20 71 | Local task in q| 0000a160 75 65 73 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 |uestion does not| 0000a170 0a 73 75 70 70 6f 72 74 20 69 6e 2d 70 6c 61 63 |.support in-plac| 0000a180 65 20 65 64 69 74 69 6e 67 2e 20 45 76 65 6e 20 |e editing. Even | 0000a190 69 66 20 74 68 65 20 4c 6f 63 61 6c 20 74 61 73 |if the Local tas| 0000a1a0 6b 20 64 6f 65 73 20 73 75 70 70 6f 72 74 20 74 |k does support t| 0000a1b0 68 69 73 2c 20 69 74 20 69 73 0a 77 69 73 65 20 |his, it is.wise | 0000a1c0 66 6f 72 20 74 68 65 20 72 65 6d 6f 74 65 20 74 |for the remote t| 0000a1d0 61 73 6b 20 74 6f 20 67 69 76 65 20 74 68 65 20 |ask to give the | 0000a1e0 75 73 65 72 20 74 68 65 20 6f 70 74 69 6f 6e 20 |user the option | 0000a1f0 6f 66 20 73 77 69 74 63 68 69 6e 67 20 74 6f 0a |of switching to.| 0000a200 65 78 74 65 72 6e 61 6c 20 65 64 69 74 69 6e 67 |external editing| 0000a210 20 61 73 20 69 6e 2d 70 6c 61 63 65 20 65 64 69 | as in-place edi| 0000a220 74 69 6e 67 20 68 61 73 20 69 74 73 20 64 69 73 |ting has its dis| 0000a230 61 64 76 61 6e 74 61 67 65 73 20 61 73 20 77 65 |advantages as we| 0000a240 6c 6c 20 61 73 0a 61 64 76 61 6e 74 61 67 65 73 |ll as.advantages| 0000a250 2e 20 28 54 68 65 20 70 72 69 6e 63 69 70 61 6c |. (The principal| 0000a260 20 64 69 73 61 64 76 61 6e 74 61 67 65 20 62 65 | disadvantage be| 0000a270 69 6e 67 20 74 68 61 74 0a 6f 6e 6c 79 20 6f 6e |ing that.only on| 0000a280 65 20 69 6e 2d 70 6c 61 63 65 20 65 64 69 74 69 |e in-place editi| 0000a290 6e 67 20 73 65 73 73 69 6f 6e 20 70 65 72 20 6f |ng session per o| 0000a2a0 62 6a 65 63 74 20 63 61 6e 20 62 65 20 75 6e 64 |bject can be und| 0000a2b0 65 72 74 61 6b 65 6e 20 61 74 20 61 20 74 69 6d |ertaken at a tim| 0000a2c0 65 2c 0a 66 6f 72 20 6f 62 76 69 6f 75 73 20 72 |e,.for obvious r| 0000a2d0 65 61 73 6f 6e 73 29 2e 0a 0a 3c 50 3e 0a 0a 0a |easons)...<P>...| 0000a2e0 3c 42 3e 0a 4c 6f 63 61 6c 20 74 61 73 6b 0a 0a |<B>.Local task..| 0000a2f0 3c 2f 42 3e 3c 50 3e 0a 54 68 65 20 67 72 65 61 |</B><P>.The grea| 0000a300 74 65 73 74 20 61 6d 6f 75 6e 74 20 6f 66 20 77 |test amount of w| 0000a310 6f 72 6b 20 69 73 20 64 6f 77 6e 20 74 6f 20 74 |ork is down to t| 0000a320 68 65 20 27 4c 6f 63 61 6c 27 20 6f 72 20 6f 62 |he 'Local' or ob| 0000a330 6a 65 63 74 2d 6f 77 6e 69 6e 67 20 61 70 70 6c |ject-owning appl| 0000a340 69 63 61 74 69 6f 6e 2e 0a 3c 50 3e 0a 0a 41 66 |ication..<P>..Af| 0000a350 74 65 72 20 69 6e 76 6f 6b 69 6e 67 20 61 20 72 |ter invoking a r| 0000a360 65 6d 6f 74 65 20 74 61 73 6b 20 77 69 74 68 20 |emote task with | 0000a370 74 68 65 20 50 43 41 20 6d 65 73 73 61 67 65 20 |the PCA message | 0000a380 44 6f 59 6f 75 72 53 74 75 66 66 20 77 68 65 6e |DoYourStuff when| 0000a390 20 62 69 74 20 34 20 6f 66 0a 74 68 65 20 66 6c | bit 4 of.the fl| 0000a3a0 61 67 73 20 77 6f 72 64 20 69 73 20 73 65 74 2c |ags word is set,| 0000a3b0 20 69 74 20 6d 75 73 74 20 65 78 70 65 63 74 20 | it must expect | 0000a3c0 72 65 63 65 69 70 74 20 6f 66 20 3c 41 0a 48 52 |receipt of <A.HR| 0000a3d0 45 46 3d 22 23 68 6f 6f 6b 22 3e 4d 65 73 73 61 |EF="#hook">Messa| 0000a3e0 67 65 5f 48 6f 6f 6b 4d 65 3c 2f 41 3e 20 66 72 |ge_HookMe</A> fr| 0000a3f0 6f 6d 20 74 68 65 20 72 65 6d 6f 74 65 20 74 61 |om the remote ta| 0000a400 73 6b 2e 20 57 68 65 6e 20 69 74 20 67 65 74 73 |sk. When it gets| 0000a410 20 74 68 69 73 0a 6d 65 73 73 61 67 65 20 69 74 | this.message it| 0000a420 20 73 68 6f 75 6c 64 20 63 72 65 61 74 65 20 61 | should create a| 0000a430 20 74 72 61 6e 73 70 61 72 65 6e 74 20 69 63 6f | transparent ico| 0000a440 6e 20 69 6e 20 69 74 73 20 77 69 6e 64 6f 77 20 |n in its window | 0000a450 77 68 69 63 68 20 63 6f 6d 70 6c 65 74 65 6c 79 |which completely| 0000a460 0a 63 6f 76 65 72 73 20 74 68 65 20 6f 62 6a 65 |.covers the obje| 0000a470 63 74 20 61 6e 64 20 73 65 6e 64 20 3c 41 20 48 |ct and send <A H| 0000a480 52 45 46 3d 22 23 70 6f 73 22 3e 4d 65 73 73 61 |REF="#pos">Messa| 0000a490 67 65 5f 4f 62 6a 65 63 74 50 6f 73 69 74 69 6f |ge_ObjectPositio| 0000a4a0 6e 3c 2f 41 3e 2e 0a 0a 3c 50 3e 0a 0a 54 68 65 |n</A>...<P>..The| 0000a4b0 20 62 75 74 74 6f 6e 20 74 79 70 65 20 6f 66 20 | button type of | 0000a4c0 74 68 69 73 20 69 63 6f 6e 20 73 68 6f 75 6c 64 |this icon should| 0000a4d0 20 62 65 20 74 61 6b 65 6e 20 66 72 6f 6d 20 62 | be taken from b| 0000a4e0 69 74 73 20 32 38 2d 33 31 20 6f 66 20 74 68 65 |its 28-31 of the| 0000a4f0 20 66 6c 61 67 73 0a 77 6f 72 64 20 61 73 20 73 | flags.word as s| 0000a500 65 6e 74 20 62 79 20 3c 41 20 48 52 45 46 3d 22 |ent by <A HREF="| 0000a510 23 68 6f 6f 6b 22 3e 4d 65 73 73 61 67 65 5f 48 |#hook">Message_H| 0000a520 6f 6f 6b 4d 65 3c 2f 41 3e 20 61 6e 64 20 74 68 |ookMe</A> and th| 0000a530 65 20 69 6e 64 69 72 65 63 74 69 6f 6e 0a 73 74 |e indirection.st| 0000a540 72 69 6e 67 20 28 69 66 20 73 75 70 70 6f 72 74 |ring (if support| 0000a550 65 64 29 20 66 72 6f 6d 20 52 31 2b 33 36 0a 0a |ed) from R1+36..| 0000a560 3c 50 3e 0a 0a 54 68 65 6e 2c 20 6f 6e 20 72 65 |<P>..Then, on re| 0000a570 63 65 69 70 74 20 6f 66 20 74 68 65 20 66 6f 6c |ceipt of the fol| 0000a580 6c 6f 77 69 6e 67 20 73 74 61 6e 64 61 72 64 20 |lowing standard | 0000a590 57 69 6d 70 20 6d 65 73 73 61 67 65 73 20 74 68 |Wimp messages th| 0000a5a0 65 20 4c 6f 63 61 6c 20 74 61 73 6b 20 6d 75 73 |e Local task mus| 0000a5b0 74 0a 63 68 65 63 6b 20 74 6f 20 73 65 65 20 69 |t.check to see i| 0000a5c0 66 20 74 68 65 20 6d 65 73 73 61 67 65 20 72 65 |f the message re| 0000a5d0 66 65 72 73 20 74 6f 20 61 6e 20 69 63 6f 6e 20 |fers to an icon | 0000a5e0 63 6f 76 65 72 69 6e 67 20 74 68 65 20 6f 62 6a |covering the obj| 0000a5f0 65 63 74 2c 20 61 6e 64 20 69 66 20 69 74 0a 69 |ect, and if it.i| 0000a600 73 2c 20 6d 6f 64 69 66 79 20 74 68 65 20 6d 65 |s, modify the me| 0000a610 73 73 61 67 65 20 62 6c 6f 63 6b 20 61 6e 64 20 |ssage block and | 0000a620 70 61 73 73 20 74 68 65 20 6d 65 73 73 61 67 65 |pass the message| 0000a630 20 74 6f 20 74 68 65 20 72 65 6d 6f 74 65 20 74 | to the remote t| 0000a640 61 73 6b 20 75 73 69 6e 67 0a 57 69 6d 70 5f 53 |ask using.Wimp_S| 0000a650 65 6e 64 4d 65 73 73 61 67 65 2e 0a 3c 50 3e 0a |endMessage..<P>.| 0000a660 0a 44 6f 69 6e 67 20 74 68 69 73 20 65 66 66 65 |.Doing this effe| 0000a670 63 74 69 76 65 6c 79 20 63 75 74 73 20 61 20 27 |ctively cuts a '| 0000a680 68 6f 6c 65 27 20 69 6e 20 74 68 65 20 77 69 6e |hole' in the win| 0000a690 64 6f 77 20 77 68 65 72 65 20 74 68 65 20 6f 62 |dow where the ob| 0000a6a0 6a 65 63 74 20 69 73 2e 0a 4d 65 73 73 61 67 65 |ject is..Message| 0000a6b0 73 20 69 6e 74 6f 20 74 68 61 74 20 72 65 67 69 |s into that regi| 0000a6c0 6f 6e 20 67 65 74 20 73 68 75 6e 74 65 64 20 74 |on get shunted t| 0000a6d0 6f 20 74 68 65 20 52 65 6d 6f 74 65 20 74 61 73 |o the Remote tas| 0000a6e0 6b 20 61 6e 64 20 61 72 65 20 69 67 6e 6f 72 65 |k and are ignore| 0000a6f0 64 20 62 79 0a 74 68 65 20 4c 6f 63 61 6c 20 74 |d by.the Local t| 0000a700 61 73 6b 2e 0a 3c 50 3e 0a 0a 3c 48 33 3e 0a 44 |ask..<P>..<H3>.D| 0000a710 65 74 61 69 6c 73 20 6f 66 20 74 68 65 20 6d 6f |etails of the mo| 0000a720 64 69 66 69 63 61 74 69 6f 6e 73 3a 0a 0a 3c 2f |difications:..</| 0000a730 48 33 3e 3c 50 3e 0a 0a 3c 42 3e 0a 36 2e 20 42 |H3><P>..<B>.6. B| 0000a740 75 74 74 6f 6e 5f 43 6c 69 63 6b 0a 3c 2f 42 3e |utton_Click.</B>| 0000a750 3c 50 3e 0a 0a 78 70 6f 73 69 74 69 6f 6e 20 61 |<P>..xposition a| 0000a760 6e 64 20 79 70 6f 73 69 74 69 6f 6e 20 73 68 6f |nd yposition sho| 0000a770 75 6c 64 20 62 65 20 6d 61 64 65 20 72 65 6c 61 |uld be made rela| 0000a780 74 69 76 65 20 74 6f 20 74 68 65 20 6f 62 6a 65 |tive to the obje| 0000a790 63 74 27 73 20 62 6f 74 74 6f 6d 20 6c 65 66 74 |ct's bottom left| 0000a7a0 2e 0a 57 69 6e 64 6f 77 20 68 61 6e 64 6c 65 20 |..Window handle | 0000a7b0 6d 75 73 74 20 62 65 20 73 65 74 20 74 6f 20 74 |must be set to t| 0000a7c0 68 65 20 6f 6e 65 20 73 75 70 70 6c 69 65 64 20 |he one supplied | 0000a7d0 69 6e 20 3c 41 0a 48 52 45 46 3d 22 23 68 6f 6f |in <A.HREF="#hoo| 0000a7e0 6b 22 3e 4d 65 73 73 61 67 65 5f 48 6f 6f 6b 4d |k">Message_HookM| 0000a7f0 65 3c 2f 41 3e 2e 20 49 63 6f 6e 20 68 61 6e 64 |e</A>. Icon hand| 0000a800 6c 65 20 6d 75 73 74 20 62 65 20 73 65 74 20 74 |le must be set t| 0000a810 6f 20 74 68 65 20 73 70 65 63 69 61 6c 0a 76 61 |o the special.va| 0000a820 6c 75 65 20 2d 26 34 31 34 33 35 30 20 28 2d 22 |lue -&414350 (-"| 0000a830 50 43 41 22 29 0a 0a 3c 50 3e 0a 0a 3f 3f 3f 20 |PCA")..<P>..??? | 0000a840 4f 74 68 65 72 20 6d 65 73 73 61 67 65 73 20 3f |Other messages ?| 0000a850 3f 3f 3c 42 52 3e 0a 3f 3f 3f 20 57 68 69 63 68 |??<BR>.??? Which| 0000a860 20 74 6f 20 73 75 70 70 6f 72 74 20 61 6e 64 20 | to support and | 0000a870 68 6f 77 20 74 6f 20 6d 6f 64 69 66 79 20 74 68 |how to modify th| 0000a880 65 6d 20 3f 3f 3f 3c 42 52 3e 0a 3f 3f 3f 20 41 |em ???<BR>.??? A| 0000a890 64 76 69 73 65 20 75 73 20 69 66 20 79 6f 75 20 |dvise us if you | 0000a8a0 68 61 76 65 20 61 6e 79 20 73 75 67 67 65 73 74 |have any suggest| 0000a8b0 69 6f 6e 73 20 3f 3f 3f 0a 3c 50 3e 0a 0a 4f 6e |ions ???.<P>..On| 0000a8c0 20 72 65 63 65 69 70 74 20 6f 66 20 4d 65 73 73 | receipt of Mess| 0000a8d0 61 67 65 5f 4f 70 65 6e 57 69 6e 64 6f 77 20 66 |age_OpenWindow f| 0000a8e0 6f 72 20 74 68 65 20 77 69 6e 64 6f 77 20 69 6e |or the window in| 0000a8f0 20 77 68 69 63 68 20 74 68 65 20 6f 62 6a 65 63 | which the objec| 0000a900 74 20 72 65 73 69 64 65 73 0a 74 68 65 20 4c 6f |t resides.the Lo| 0000a910 63 61 6c 20 74 61 73 6b 20 6d 75 73 74 20 73 65 |cal task must se| 0000a920 6e 64 20 3c 41 20 48 52 45 46 3d 22 23 70 6f 73 |nd <A HREF="#pos| 0000a930 22 3e 4d 65 73 73 61 67 65 5f 4f 62 6a 65 63 74 |">Message_Object| 0000a940 50 6f 73 69 74 69 6f 6e 3c 2f 41 3e 20 74 6f 20 |Position</A> to | 0000a950 74 68 65 0a 72 65 6d 6f 74 65 20 74 61 73 6b 20 |the.remote task | 0000a960 73 6f 20 74 68 61 74 20 69 74 20 63 61 6e 20 6f |so that it can o| 0000a970 70 65 6e 20 69 74 73 20 74 6f 6f 6c 62 61 72 20 |pen its toolbar | 0000a980 61 74 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 |at an appropriat| 0000a990 65 20 70 6c 61 63 65 2e 0a 0a 3c 50 3e 0a 0a 41 |e place...<P>..A| 0000a9a0 6c 73 6f 2c 20 61 6e 79 20 61 63 74 69 6f 6e 73 |lso, any actions| 0000a9b0 20 77 68 69 63 68 20 63 61 75 73 65 20 74 68 65 | which cause the| 0000a9c0 20 70 6f 73 69 74 69 6f 6e 20 6f 72 20 73 69 7a | position or siz| 0000a9d0 65 20 6f 66 20 74 68 65 20 72 65 6d 6f 74 65 6c |e of the remotel| 0000a9e0 79 20 6c 69 6e 6b 65 64 0a 6f 62 6a 65 63 74 20 |y linked.object | 0000a9f0 74 6f 20 63 68 61 6e 67 65 20 6d 75 73 74 20 72 |to change must r| 0000aa00 65 73 69 7a 65 20 61 6e 64 20 72 65 70 6f 73 69 |esize and reposi| 0000aa10 74 69 6f 6e 20 74 68 65 20 69 63 6f 6e 20 63 72 |tion the icon cr| 0000aa20 65 61 74 65 64 20 61 62 6f 76 65 20 61 6e 64 20 |eated above and | 0000aa30 73 65 6e 64 0a 3c 41 20 48 52 45 46 3d 22 23 70 |send.<A HREF="#p| 0000aa40 6f 73 22 3e 4d 65 73 73 61 67 65 5f 4f 62 6a 65 |os">Message_Obje| 0000aa50 63 74 50 6f 73 69 74 69 6f 6e 3c 2f 41 3e 20 61 |ctPosition</A> a| 0000aa60 67 61 69 6e 2e 0a 0a 3c 50 3e 0a 0a 4f 6e 20 72 |gain...<P>..On r| 0000aa70 65 63 65 69 70 74 20 6f 66 20 3c 41 20 48 52 45 |eceipt of <A HRE| 0000aa80 46 3d 22 23 75 6e 68 6f 6f 6b 22 3e 4d 65 73 73 |F="#unhook">Mess| 0000aa90 61 67 65 5f 55 6e 68 6f 6f 6b 4d 65 3c 2f 41 3e |age_UnhookMe</A>| 0000aaa0 20 69 74 20 6d 75 73 74 20 64 65 6c 65 74 65 20 | it must delete | 0000aab0 74 68 65 20 69 63 6f 6e 0a 63 6f 76 65 72 69 6e |the icon.coverin| 0000aac0 67 20 74 68 65 20 6f 62 6a 65 63 74 20 61 6e 64 |g the object and| 0000aad0 20 63 61 72 72 79 20 6f 75 74 20 61 6e 79 20 6f | carry out any o| 0000aae0 74 68 65 72 20 77 6f 72 6b 20 6e 65 63 65 73 73 |ther work necess| 0000aaf0 61 72 79 20 74 6f 20 72 65 73 74 6f 72 65 20 6e |ary to restore n| 0000ab00 6f 72 6d 61 6c 0a 61 63 63 65 73 73 20 74 6f 20 |ormal.access to | 0000ab10 74 68 65 20 6f 62 6a 65 63 74 2e 20 54 68 65 20 |the object. The | 0000ab20 73 61 6d 65 20 61 63 74 69 6f 6e 20 73 68 6f 75 |same action shou| 0000ab30 6c 64 20 6f 62 76 69 6f 75 73 6c 79 20 61 6c 73 |ld obviously als| 0000ab40 6f 20 62 65 20 75 6e 64 65 72 74 61 6b 65 6e 20 |o be undertaken | 0000ab50 69 66 0a 74 68 65 20 6f 62 6a 65 63 74 20 69 73 |if.the object is| 0000ab60 20 64 65 6c 65 74 65 64 2e 0a 0a 3c 50 3e 0a 3c | deleted...<P>.<| 0000ab70 42 3e 52 65 6d 6f 74 65 20 54 61 73 6b 3c 2f 42 |B>Remote Task</B| 0000ab80 3e 0a 3c 50 3e 0a 0a 4f 6e 20 72 65 63 65 69 70 |>.<P>..On receip| 0000ab90 74 20 6f 66 20 3c 41 20 48 52 45 46 3d 22 23 70 |t of <A HREF="#p| 0000aba0 6f 73 22 3e 4d 65 73 73 61 67 65 5f 4f 62 6a 65 |os">Message_Obje| 0000abb0 63 74 50 6f 73 69 74 69 6f 6e 3c 2f 41 3e 20 74 |ctPosition</A> t| 0000abc0 68 65 20 72 65 6d 6f 74 65 20 74 61 73 6b 20 6d |he remote task m| 0000abd0 75 73 74 0a 6f 70 65 6e 20 69 74 73 20 74 6f 6f |ust.open its too| 0000abe0 6c 62 61 72 20 61 74 20 61 6e 20 61 70 70 72 6f |lbar at an appro| 0000abf0 70 72 69 61 74 65 20 70 6f 73 69 74 69 6f 6e 20 |priate position | 0000ac00 63 61 6c 63 75 6c 61 74 65 64 20 66 72 6f 6d 20 |calculated from | 0000ac10 74 68 65 20 64 61 74 61 0a 63 6f 6e 74 61 69 6e |the data.contain| 0000ac20 65 64 20 69 6e 20 74 68 65 20 6d 65 73 73 61 67 |ed in the messag| 0000ac30 65 2e 0a 0a 3c 50 3e 0a 0a 54 68 69 73 20 74 6f |e...<P>..This to| 0000ac40 6f 6c 62 61 72 20 6d 75 73 74 20 63 6f 6e 74 61 |olbar must conta| 0000ac50 69 6e 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 |in at least one | 0000ac60 69 63 6f 6e 20 77 68 69 63 68 2c 20 77 68 65 6e |icon which, when| 0000ac70 20 63 6c 69 63 6b 65 64 20 6f 6e 2c 20 73 65 6e | clicked on, sen| 0000ac80 64 73 20 3c 41 0a 48 52 45 46 3d 22 23 75 6e 68 |ds <A.HREF="#unh| 0000ac90 6f 6f 6b 22 3e 4d 65 73 73 61 67 65 5f 55 6e 68 |ook">Message_Unh| 0000aca0 6f 6f 6b 4d 65 3c 2f 41 3e 20 74 6f 20 74 68 65 |ookMe</A> to the| 0000acb0 20 6c 6f 63 61 6c 20 74 61 73 6b 2c 20 72 65 6d | local task, rem| 0000acc0 6f 76 65 73 20 61 6e 79 0a 72 65 66 65 72 65 6e |oves any.referen| 0000acd0 63 65 73 20 69 74 20 68 61 73 20 74 6f 20 74 68 |ces it has to th| 0000ace0 65 20 6f 62 6a 65 63 74 20 61 6e 64 20 63 6c 6f |e object and clo| 0000acf0 73 65 73 20 74 68 65 20 74 6f 6f 6c 62 61 72 2e |ses the toolbar.| 0000ad00 20 4d 6f 64 65 6c 20 74 68 65 20 61 70 70 65 61 | Model the appea| 0000ad10 72 61 6e 63 65 0a 6f 66 20 74 68 69 73 20 69 63 |rance.of this ic| 0000ad20 6f 6e 20 6f 6e 20 74 68 65 20 77 69 6e 64 6f 77 |on on the window| 0000ad30 20 63 6c 6f 73 65 20 69 63 6f 6e 20 61 6e 64 20 | close icon and | 0000ad40 70 6f 73 69 74 69 6f 6e 20 74 68 65 20 69 63 6f |position the ico| 0000ad50 6e 20 61 74 20 74 68 65 20 66 61 72 20 6c 65 66 |n at the far lef| 0000ad60 74 0a 68 6f 72 69 7a 6f 6e 74 61 6c 20 74 6f 6f |t.horizontal too| 0000ad70 6c 62 61 72 73 20 6f 72 20 61 74 20 74 68 65 20 |lbars or at the | 0000ad80 74 6f 70 20 6c 65 66 74 20 6f 66 20 76 65 72 74 |top left of vert| 0000ad90 69 63 61 6c 20 74 6f 6f 6c 62 61 72 73 2e 0a 0a |ical toolbars...| 0000ada0 3c 50 3e 0a 0a 4f 6e 20 72 65 63 65 69 70 74 20 |<P>..On receipt | 0000adb0 6f 66 3c 41 20 48 52 45 46 3d 22 23 64 6f 22 3e |of<A HREF="#do">| 0000adc0 20 4d 65 73 73 61 67 65 5f 44 6f 3c 2f 41 3e 2f | Message_Do</A>/| 0000add0 3c 41 0a 48 52 45 46 3d 22 23 63 68 61 6e 67 65 |<A.HREF="#change| 0000ade0 64 22 3e 4d 65 73 73 61 67 65 5f 43 68 61 6e 67 |d">Message_Chang| 0000adf0 65 64 3c 2f 41 3e 20 74 68 65 20 72 65 6d 6f 74 |ed</A> the remot| 0000ae00 65 20 74 61 73 6b 20 6d 75 73 74 20 63 68 65 63 |e task must chec| 0000ae10 6b 20 74 6f 20 73 65 65 20 69 66 0a 49 6e 2d 70 |k to see if.In-p| 0000ae20 6c 61 63 65 20 65 64 69 74 69 6e 67 20 69 73 20 |lace editing is | 0000ae30 6f 6e 20 28 62 34 20 6f 66 20 66 6c 61 67 73 20 |on (b4 of flags | 0000ae40 69 6e 20 4d 65 73 73 61 67 65 5f 44 6f 29 20 61 |in Message_Do) a| 0000ae50 6e 64 2c 20 69 66 20 73 6f 2c 20 73 65 6e 64 20 |nd, if so, send | 0000ae60 3c 41 0a 48 52 45 46 3d 22 23 68 6f 6f 6b 22 3e |<A.HREF="#hook">| 0000ae70 4d 65 73 73 61 67 65 5f 48 6f 6f 6b 4d 65 3c 2f |Message_HookMe</| 0000ae80 41 3e 20 72 61 74 68 65 72 20 74 68 61 6e 20 6f |A> rather than o| 0000ae90 70 65 6e 69 6e 67 20 69 74 73 20 6f 77 6e 20 77 |pening its own w| 0000aea0 69 6e 64 6f 77 20 6f 6e 74 6f 20 74 68 65 0a 6f |indow onto the.o| 0000aeb0 62 6a 65 63 74 2e 0a 0a 3c 50 3e 0a 0a 4f 6e 20 |bject...<P>..On | 0000aec0 72 65 63 65 69 70 74 20 6f 66 20 42 75 74 74 6f |receipt of Butto| 0000aed0 6e 43 6c 69 63 6b 20 6d 65 73 73 61 67 65 73 20 |nClick messages | 0000aee0 28 61 70 70 61 72 65 6e 74 6c 79 29 20 74 6f 20 |(apparently) to | 0000aef0 69 74 73 20 6d 61 69 6e 20 77 69 6e 64 6f 77 20 |its main window | 0000af00 74 68 65 0a 72 65 6d 6f 74 65 20 74 61 73 6b 20 |the.remote task | 0000af10 73 68 6f 75 6c 64 20 63 68 65 63 6b 20 74 68 65 |should check the| 0000af20 20 69 63 6f 6e 20 68 61 6e 64 6c 65 20 61 6e 64 | icon handle and| 0000af30 20 69 66 20 69 74 20 69 73 20 65 71 75 61 6c 20 | if it is equal | 0000af40 74 6f 20 2d 26 34 31 34 33 35 30 0a 74 72 65 61 |to -&414350.trea| 0000af50 74 20 74 68 65 20 63 6f 6f 72 64 69 6e 61 74 65 |t the coordinate| 0000af60 73 20 70 61 73 73 65 64 20 69 6e 20 74 68 65 20 |s passed in the | 0000af70 42 75 74 74 6f 6e 43 6c 69 63 6b 20 62 6c 6f 63 |ButtonClick bloc| 0000af80 6b 20 61 73 20 27 63 6f 72 72 65 63 74 65 64 27 |k as 'corrected'| 0000af90 20 66 6f 72 20 74 68 65 0a 70 6f 73 69 74 69 6f | for the.positio| 0000afa0 6e 20 6f 66 20 69 74 73 20 77 69 6e 64 6f 77 2c |n of its window,| 0000afb0 20 73 63 72 6f 6c 6c 62 61 72 73 20 65 74 63 20 | scrollbars etc | 0000afc0 61 73 20 74 68 65 20 63 6f 6f 72 64 69 6e 61 74 |as the coordinat| 0000afd0 65 73 20 61 72 65 20 61 6c 72 65 61 64 79 0a 72 |es are already.r| 0000afe0 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 6f |elative to the o| 0000aff0 62 6a 65 63 74 73 20 62 6f 74 74 6f 6d 20 6c 65 |bjects bottom le| 0000b000 66 74 2e 20 4d 6f 64 69 66 79 20 74 68 65 20 6f |ft. Modify the o| 0000b010 62 6a 65 63 74 20 64 61 74 61 20 61 73 20 61 70 |bject data as ap| 0000b020 70 72 6f 70 72 69 61 74 65 0a 61 6e 64 20 67 65 |propriate.and ge| 0000b030 6e 65 72 61 74 65 20 3c 41 20 48 52 45 46 3d 22 |nerate <A HREF="| 0000b040 23 75 70 64 61 74 65 22 3e 4d 65 73 73 61 67 65 |#update">Message| 0000b050 5f 55 70 64 61 74 65 41 72 65 61 3c 2f 41 3e 20 |_UpdateArea</A> | 0000b060 61 73 20 77 69 74 68 20 73 74 61 6e 64 61 72 64 |as with standard| 0000b070 20 50 43 41 0a 70 72 61 63 74 69 63 65 2e 0a 0a | PCA.practice...| 0000b080 3c 50 3e 0a 0a 59 6f 75 20 73 68 6f 75 6c 64 20 |<P>..You should | 0000b090 62 65 20 61 62 6c 65 20 74 6f 20 75 73 65 20 74 |be able to use t| 0000b0a0 68 65 20 73 61 6d 65 20 63 6f 64 65 20 66 6f 72 |he same code for| 0000b0b0 20 72 65 6d 6f 74 65 20 61 6e 64 20 6c 6f 63 61 | remote and loca| 0000b0c0 6c 20 61 63 74 69 6f 6e 73 20 6a 75 73 74 20 64 |l actions just d| 0000b0d0 6f 0a 6e 6f 74 20 63 6f 6e 76 65 72 74 20 70 6f |o.not convert po| 0000b0e0 69 6e 74 65 72 20 63 6f 6f 72 64 69 6e 61 74 65 |inter coordinate| 0000b0f0 73 20 74 6f 20 62 65 20 72 65 6c 61 74 69 76 65 |s to be relative| 0000b100 20 74 6f 20 79 6f 75 72 20 6d 61 69 6e 20 77 69 | to your main wi| 0000b110 6e 64 6f 77 20 61 6e 64 20 64 6f 0a 6e 6f 74 20 |ndow and do.not | 0000b120 72 65 64 72 61 77 20 79 6f 75 72 20 6d 61 69 6e |redraw your main| 0000b130 20 77 69 6e 64 6f 77 20 28 69 74 20 73 68 6f 75 | window (it shou| 0000b140 6c 64 20 62 65 20 63 6c 6f 73 65 64 20 61 6e 79 |ld be closed any| 0000b150 77 61 79 29 2e 0a 0a 3c 50 3e 0a 0a 4e 6f 74 65 |way)...<P>..Note| 0000b160 3a 20 46 6f 72 20 27 70 61 69 6e 74 69 6e 67 27 |: For 'painting'| 0000b170 20 6f 72 20 27 64 72 61 67 67 69 6e 67 27 20 74 | or 'dragging' t| 0000b180 79 70 65 20 61 63 74 69 6f 6e 73 20 69 74 20 69 |ype actions it i| 0000b190 73 20 73 6f 6d 65 74 69 6d 65 73 20 77 69 73 65 |s sometimes wise| 0000b1a0 20 74 6f 20 73 65 74 0a 74 68 65 20 72 65 6d 6f | to set.the remo| 0000b1b0 74 65 20 62 75 74 74 6f 6e 20 74 79 70 65 20 28 |te button type (| 0000b1c0 69 6e 20 4d 65 73 73 61 67 65 5f 48 6f 6f 6b 4d |in Message_HookM| 0000b1d0 65 29 20 74 6f 20 43 6c 69 63 6b 20 61 6e 64 20 |e) to Click and | 0000b1e0 74 6f 20 64 6f 20 61 20 74 69 67 68 74 0a 72 65 |to do a tight.re| 0000b1f0 70 65 61 74 69 6e 67 20 27 6c 6f 6f 70 27 20 61 |peating 'loop' a| 0000b200 72 6f 75 6e 64 20 79 6f 75 72 20 72 65 64 72 61 |round your redra| 0000b210 77 2f 70 61 69 6e 74 20 63 6f 64 65 2c 20 72 65 |w/paint code, re| 0000b220 61 64 69 6e 67 20 74 68 65 20 6d 6f 75 73 65 20 |ading the mouse | 0000b230 70 6f 69 6e 74 65 72 0a 69 6e 66 6f 72 6d 61 74 |pointer.informat| 0000b240 69 6f 6e 20 64 69 72 65 63 74 6c 79 20 75 6e 74 |ion directly unt| 0000b250 69 6c 20 74 68 65 20 62 75 74 74 6f 6e 20 63 6c |il the button cl| 0000b260 69 63 6b 20 73 74 6f 70 73 2e 20 49 6e 20 74 68 |ick stops. In th| 0000b270 69 73 20 73 69 74 75 61 74 69 6f 6e 20 74 68 65 |is situation the| 0000b280 0a 52 65 6d 6f 74 65 20 74 61 73 6b 20 73 68 6f |.Remote task sho| 0000b290 75 6c 64 20 6d 61 6b 65 20 75 73 65 20 6f 66 20 |uld make use of | 0000b2a0 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 |the information | 0000b2b0 69 6e 20 74 68 65 20 6c 61 73 74 0a 4d 65 73 73 |in the last.Mess| 0000b2c0 61 67 65 5f 4f 62 6a 65 63 74 50 6f 73 69 74 69 |age_ObjectPositi| 0000b2d0 6f 6e 20 69 74 20 72 65 63 65 69 65 76 65 64 20 |on it receieved | 0000b2e0 74 6f 20 77 6f 72 6b 20 6f 75 74 20 74 68 65 20 |to work out the | 0000b2f0 76 69 73 69 62 6c 65 20 73 69 7a 65 20 61 6e 64 |visible size and| 0000b300 0a 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 |.position of the| 0000b310 20 6f 62 6a 65 63 74 20 69 6e 20 74 68 65 20 4c | object in the L| 0000b320 6f 63 61 6c 20 74 61 73 6b 27 73 20 77 69 6e 64 |ocal task's wind| 0000b330 6f 77 20 28 73 65 65 20 74 68 65 20 21 53 70 61 |ow (see the !Spa| 0000b340 69 6e 74 20 65 78 61 6d 70 6c 65 29 2e 0a 0a 3c |int example)...<| 0000b350 50 3e 0a 0a 3c 41 20 48 52 45 46 3d 22 23 74 6f |P>..<A HREF="#to| 0000b360 70 22 3e 52 65 74 75 72 6e 20 74 6f 20 43 6f 6e |p">Return to Con| 0000b370 74 65 6e 74 73 3c 2f 41 3e 0a 3c 48 52 3e 0a 0a |tents</A>.<HR>..| 0000b380 3c 48 31 3e 0a 3c 41 20 4e 41 4d 45 3d 22 69 6e |<H1>.<A NAME="in| 0000b390 74 65 72 66 61 63 65 22 3e 0a 50 43 41 20 55 73 |terface">.PCA Us| 0000b3a0 65 72 20 49 6e 74 65 72 66 61 63 65 20 73 70 65 |er Interface spe| 0000b3b0 63 69 66 69 63 61 74 69 6f 6e 73 0a 3c 2f 41 3e |cifications.</A>| 0000b3c0 0a 0a 3c 2f 48 31 3e 3c 41 55 3e 0a 41 75 74 68 |..</H1><AU>.Auth| 0000b3d0 6f 72 20 20 3a 20 52 6f 62 20 44 61 76 69 73 6f |or : Rob Daviso| 0000b3e0 6e 20 28 72 64 61 76 69 73 6f 6e 40 78 74 72 61 |n (rdavison@xtra| 0000b3f0 2e 63 6f 2e 6e 7a 29 3c 42 52 3e 0a 0a 44 61 74 |.co.nz)<BR>..Dat| 0000b400 65 20 20 20 20 3a 20 31 35 2f 30 38 2f 39 36 3c |e : 15/08/96<| 0000b410 42 52 3e 0a 0a 53 74 61 74 75 73 20 20 3a 20 52 |BR>..Status : R| 0000b420 65 6c 65 61 73 65 20 31 3c 42 52 3e 0a 0a 3c 2f |elease 1<BR>..</| 0000b430 41 55 3e 0a 3c 50 3e 0a 0a 54 68 69 73 20 64 6f |AU>.<P>..This do| 0000b440 63 75 6d 65 6e 74 73 20 74 68 65 20 73 75 67 67 |cuments the sugg| 0000b450 65 73 74 65 64 20 75 73 65 72 2d 69 6e 74 65 72 |ested user-inter| 0000b460 66 61 63 65 20 61 6e 64 20 67 65 6e 65 72 61 6c |face and general| 0000b470 20 6d 65 73 73 61 67 65 20 68 61 6e 64 6c 69 6e | message handlin| 0000b480 67 0a 72 65 71 75 69 72 65 6d 65 6e 74 73 20 66 |g.requirements f| 0000b490 6f 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 |or applications | 0000b4a0 6f 6e 20 62 6f 74 68 20 73 69 64 65 73 20 6f 66 |on both sides of| 0000b4b0 20 74 68 65 20 50 43 41 20 70 72 6f 74 6f 63 6f | the PCA protoco| 0000b4c0 6c 2e 20 59 6f 75 20 73 68 6f 75 6c 64 0a 6e 6f |l. You should.no| 0000b4d0 74 65 20 74 68 61 74 20 69 74 20 69 73 20 70 6f |te that it is po| 0000b4e0 73 73 69 62 6c 65 20 66 6f 72 20 61 70 70 6c 69 |ssible for appli| 0000b4f0 63 61 74 69 6f 6e 73 20 74 6f 20 69 6d 70 6c 65 |cations to imple| 0000b500 6d 65 6e 74 20 65 69 74 68 65 72 20 6f 72 20 62 |ment either or b| 0000b510 6f 74 68 20 73 69 64 65 73 0a 6f 66 20 74 68 65 |oth sides.of the| 0000b520 20 70 72 6f 74 6f 63 6f 6c 2e 0a 0a 3c 50 3e 0a | protocol...<P>.| 0000b530 0a 3c 48 33 3e 0a 4c 6f 63 61 6c 20 61 70 70 6c |.<H3>.Local appl| 0000b540 69 63 61 74 69 6f 6e 0a 0a 3c 2f 48 33 3e 0a 54 |ication..</H3>.T| 0000b550 68 65 20 6c 6f 63 61 6c 20 61 70 70 6c 69 63 61 |he local applica| 0000b560 74 69 6f 6e 20 6d 75 73 74 20 70 6f 6c 6c 20 74 |tion must poll t| 0000b570 68 65 20 50 43 41 20 73 79 73 74 65 6d 20 77 69 |he PCA system wi| 0000b580 74 68 20 3c 41 0a 48 52 45 46 3d 22 23 77 68 6f |th <A.HREF="#who| 0000b590 73 22 3e 4d 65 73 73 61 67 65 5f 57 68 6f 73 41 |s">Message_WhosA| 0000b5a0 62 6f 75 74 3c 2f 41 3e 20 61 6e 64 20 70 72 65 |bout</A> and pre| 0000b5b0 73 65 6e 74 20 74 68 61 74 20 69 6e 66 6f 72 6d |sent that inform| 0000b5c0 61 74 69 6f 6e 20 74 6f 20 74 68 65 20 75 73 65 |ation to the use| 0000b5d0 72 2e 0a 49 74 20 69 73 20 72 65 63 6f 6d 6d 65 |r..It is recomme| 0000b5e0 6e 64 65 64 20 74 68 61 74 20 79 6f 75 20 70 72 |nded that you pr| 0000b5f0 6f 76 69 64 65 20 73 65 76 65 72 61 6c 20 6d 65 |ovide several me| 0000b600 74 68 6f 64 73 20 6f 66 20 64 6f 69 6e 67 20 74 |thods of doing t| 0000b610 68 69 73 3a 0a 0a 3c 50 3e 0a 0a 3c 48 33 3e 0a |his:..<P>..<H3>.| 0000b620 49 6e 76 6f 6b 69 6e 67 20 74 68 65 20 70 72 6f |Invoking the pro| 0000b630 74 6f 63 6f 6c 0a 0a 3c 2f 48 33 3e 0a 49 6e 76 |tocol..</H3>.Inv| 0000b640 6f 6b 69 6e 67 20 74 68 65 20 70 72 6f 74 6f 63 |oking the protoc| 0000b650 6f 6c 20 73 63 61 6e 73 20 74 68 65 20 61 63 74 |ol scans the act| 0000b660 69 76 65 20 74 61 73 6b 73 20 61 6e 64 20 70 72 |ive tasks and pr| 0000b670 65 73 65 6e 74 73 20 61 20 6c 69 73 74 20 6f 66 |esents a list of| 0000b680 20 74 68 65 0a 61 76 61 69 6c 61 62 6c 65 20 75 | the.available u| 0000b690 74 69 6c 69 74 69 65 73 2e 20 54 68 69 73 20 6c |tilities. This l| 0000b6a0 69 73 74 20 63 61 6e 20 62 65 20 70 72 65 73 65 |ist can be prese| 0000b6b0 6e 74 65 64 20 69 6e 20 74 77 6f 20 77 61 79 73 |nted in two ways| 0000b6c0 3b 20 61 73 20 61 20 73 69 6d 70 6c 65 0a 52 49 |; as a simple.RI| 0000b6d0 53 43 20 4f 53 20 6d 65 6e 75 20 6f 72 20 61 73 |SC OS menu or as| 0000b6e0 20 61 20 67 72 61 70 68 69 63 61 6c 20 27 70 6f | a graphical 'po| 0000b6f0 70 2d 75 70 27 20 77 69 6e 64 6f 77 2e 20 59 6f |p-up' window. Yo| 0000b700 75 20 73 68 6f 75 6c 64 20 73 75 70 70 6f 72 74 |u should support| 0000b710 20 62 6f 74 68 0a 6d 65 74 68 6f 64 73 20 69 6e | both.methods in| 0000b720 20 79 6f 75 72 20 61 70 70 6c 69 63 61 74 69 6f | your applicatio| 0000b730 6e 73 20 62 79 20 70 72 6f 76 69 64 69 6e 67 20 |ns by providing | 0000b740 61 20 70 72 65 66 65 72 65 6e 63 65 73 20 6f 70 |a preferences op| 0000b750 74 69 6f 6e 20 74 6f 20 74 68 65 20 75 73 65 72 |tion to the user| 0000b760 2e 0a 0a 3c 50 3e 0a 0a 0a 54 6f 20 69 6e 76 6f |...<P>...To invo| 0000b770 6b 65 20 74 68 65 20 70 6f 70 75 70 20 43 74 72 |ke the popup Ctr| 0000b780 6c 2d 53 68 69 66 74 2d 44 6f 75 62 6c 65 20 43 |l-Shift-Double C| 0000b790 6c 69 63 6b 20 69 73 20 72 65 63 6f 6d 6d 65 6e |lick is recommen| 0000b7a0 64 65 64 2e 20 49 66 20 74 68 61 74 20 73 68 6f |ded. If that sho| 0000b7b0 72 74 63 75 74 0a 69 73 20 6e 6f 74 20 66 72 65 |rtcut.is not fre| 0000b7c0 65 20 61 6e 6f 74 68 65 72 20 63 6f 6d 62 69 6e |e another combin| 0000b7d0 61 74 69 6f 6e 20 69 73 20 61 63 63 65 70 74 61 |ation is accepta| 0000b7e0 62 6c 65 2c 20 70 72 65 66 65 72 61 62 6c 79 20 |ble, preferably | 0000b7f0 72 65 6c 61 74 65 64 20 69 6e 20 73 6f 6d 65 0a |related in some.| 0000b800 77 61 79 20 74 6f 20 74 68 65 20 43 74 72 6c 2d |way to the Ctrl-| 0000b810 44 6f 75 62 6c 65 20 63 6c 69 63 6b 20 41 63 6f |Double click Aco| 0000b820 72 6e 20 4f 4c 45 2d 31 20 73 74 61 6e 64 61 72 |rn OLE-1 standar| 0000b830 64 2e 0a 0a 3c 50 3e 0a 0a 49 6e 20 61 64 64 69 |d...<P>..In addi| 0000b840 74 69 6f 6e 2c 20 61 64 64 20 74 68 65 20 50 43 |tion, add the PC| 0000b850 41 20 74 6f 20 79 6f 75 72 20 6d 65 6e 75 20 73 |A to your menu s| 0000b860 74 72 75 63 74 75 72 65 2e 20 54 68 65 20 73 75 |tructure. The su| 0000b870 62 2d 6d 65 6e 75 20 69 74 65 6d 0a 22 55 74 69 |b-menu item."Uti| 0000b880 6c 69 74 69 65 73 20 3e 22 20 69 73 20 61 70 70 |lities >" is app| 0000b890 72 6f 70 72 69 61 74 65 2e 0a 0a 3c 50 3e 0a 0a |ropriate...<P>..| 0000b8a0 41 6e 6f 74 68 65 72 20 61 6c 74 65 72 6e 61 74 |Another alternat| 0000b8b0 69 76 65 20 69 73 20 74 6f 20 61 64 64 20 61 20 |ive is to add a | 0000b8c0 62 75 74 74 6f 6e 20 74 6f 20 79 6f 75 72 20 74 |button to your t| 0000b8d0 6f 6f 6c 62 61 72 20 74 6f 20 69 6e 76 6f 6b 65 |oolbar to invoke| 0000b8e0 20 74 68 65 20 70 72 6f 74 6f 63 6f 6c 2e 0a 3c | the protocol..<| 0000b8f0 50 3e 0a 3c 43 45 4e 54 45 52 3e 0a 3c 49 4d 47 |P>.<CENTER>.<IMG| 0000b900 20 53 52 43 3d 22 47 52 41 50 48 49 43 53 2f 50 | SRC="GRAPHICS/P| 0000b910 4f 50 55 50 2e 67 69 66 22 20 57 49 44 54 48 3d |OPUP.gif" WIDTH=| 0000b920 35 31 31 20 48 45 49 47 48 54 3d 32 35 33 3e 0a |511 HEIGHT=253>.| 0000b930 3c 2f 43 45 4e 54 45 52 3e 0a 3c 50 3e 0a 0a 0a |</CENTER>.<P>...| 0000b940 3c 43 45 4e 54 45 52 3e 0a 3c 42 3e 0a 41 20 74 |<CENTER>.<B>.A t| 0000b950 79 70 69 63 61 6c 20 50 43 41 20 70 6f 70 75 70 |ypical PCA popup| 0000b960 20 64 69 61 6c 6f 67 75 65 2e 20 41 6c 6c 20 6d | dialogue. All m| 0000b970 65 61 73 75 72 65 6d 65 6e 74 73 20 69 6e 20 4f |easurements in O| 0000b980 53 20 75 6e 69 74 73 0a 0a 3c 2f 42 3e 0a 3c 2f |S units..</B>.</| 0000b990 43 45 4e 54 45 52 3e 0a 3c 50 3e 0a 0a 54 68 65 |CENTER>.<P>..The| 0000b9a0 20 77 69 64 74 68 20 6f 66 20 74 68 69 73 20 64 | width of this d| 0000b9b0 69 61 6c 6f 67 75 65 20 73 68 6f 75 6c 64 20 62 |ialogue should b| 0000b9c0 65 20 73 65 74 20 74 6f 20 74 68 65 20 77 69 64 |e set to the wid| 0000b9d0 74 68 20 6f 66 20 74 68 65 20 6c 6f 6e 67 65 73 |th of the longes| 0000b9e0 74 20 74 6f 6f 6c 0a 6e 61 6d 65 20 72 65 74 75 |t tool.name retu| 0000b9f0 72 6e 65 64 20 69 6e 20 74 68 65 20 3c 41 20 48 |rned in the <A H| 0000ba00 52 45 46 3d 22 23 69 6d 22 3e 4d 65 73 73 61 67 |REF="#im">Messag| 0000ba10 65 5f 49 6d 48 65 72 65 3c 2f 41 3e 20 6d 65 73 |e_ImHere</A> mes| 0000ba20 73 61 67 65 73 20 28 77 68 69 63 68 20 6d 61 79 |sages (which may| 0000ba30 20 62 65 0a 66 6f 75 6e 64 20 6f 6e 20 74 68 65 | be.found on the| 0000ba40 20 52 69 73 63 50 43 20 75 73 69 6e 67 20 53 57 | RiscPC using SW| 0000ba50 49 20 57 69 6d 70 5f 54 65 78 74 4f 70 29 2e 20 |I Wimp_TextOp). | 0000ba60 41 64 64 20 32 32 30 20 4f 53 2d 75 6e 69 74 73 |Add 220 OS-units| 0000ba70 20 74 6f 20 74 68 65 20 77 69 64 74 68 20 6f 66 | to the width of| 0000ba80 0a 61 6c 6c 20 69 74 65 6d 73 20 74 6f 20 61 6c |.all items to al| 0000ba90 6c 6f 77 20 66 6f 72 20 74 68 65 20 54 6f 6f 6c |low for the Tool| 0000baa0 20 69 63 6f 6e 20 61 6e 64 20 49 6e 66 6f 20 62 | icon and Info b| 0000bab0 75 74 74 6f 6e 73 2e 20 54 68 65 20 68 65 69 67 |uttons. The heig| 0000bac0 68 74 20 6f 66 20 65 61 63 68 0a 69 74 65 6d 20 |ht of each.item | 0000bad0 69 73 20 66 69 78 65 64 20 61 74 20 39 36 20 4f |is fixed at 96 O| 0000bae0 53 2d 75 6e 69 74 73 2e 0a 0a 3c 50 3e 0a 0a 54 |S-units...<P>..T| 0000baf0 68 65 20 74 6f 6f 6c 20 69 63 6f 6e 20 69 73 20 |he tool icon is | 0000bb00 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20 57 |present in the W| 0000bb10 69 6d 70 20 73 70 72 69 74 65 20 70 6f 6f 6c 20 |imp sprite pool | 0000bb20 61 6e 64 20 69 73 20 75 73 75 61 6c 6c 79 20 74 |and is usually t| 0000bb30 68 65 20 50 43 41 0a 61 70 70 6c 69 63 61 74 69 |he PCA.applicati| 0000bb40 6f 6e 73 20 69 63 6f 6e 2e 20 41 70 70 6c 69 63 |ons icon. Applic| 0000bb50 61 74 69 6f 6e 73 20 77 68 69 63 68 20 70 72 6f |ations which pro| 0000bb60 76 69 64 65 20 6d 75 6c 74 69 70 6c 65 20 27 74 |vide multiple 't| 0000bb70 6f 6f 6c 73 27 20 63 61 6e 20 72 65 67 69 73 74 |ools' can regist| 0000bb80 65 72 0a 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63 |er.more than onc| 0000bb90 65 2c 20 70 61 73 73 69 6e 67 20 61 20 75 6e 69 |e, passing a uni| 0000bba0 71 75 65 20 27 74 6f 6f 6c 6e 75 6d 62 65 72 27 |que 'toolnumber'| 0000bbb0 20 77 69 74 68 20 3c 41 0a 48 52 45 46 3d 22 23 | with <A.HREF="#| 0000bbc0 69 6d 22 3e 4d 65 73 73 61 67 65 5f 49 6d 48 65 |im">Message_ImHe| 0000bbd0 72 65 3c 2f 41 3e 2e 0a 0a 3c 50 3e 0a 0a 0a 54 |re</A>...<P>...T| 0000bbe0 68 65 20 70 6f 70 75 70 20 73 68 6f 75 6c 64 20 |he popup should | 0000bbf0 62 65 20 6f 70 65 6e 65 64 20 73 75 63 68 20 74 |be opened such t| 0000bc00 68 61 74 20 74 68 65 20 70 6f 69 6e 74 65 72 20 |hat the pointer | 0000bc10 69 73 20 63 65 6e 74 72 65 64 20 6f 76 65 72 20 |is centred over | 0000bc20 74 68 65 20 74 6f 70 0a 74 6f 6f 6c 20 6e 61 6d |the top.tool nam| 0000bc30 65 20 61 6e 64 20 61 73 20 61 20 6d 65 6e 75 20 |e and as a menu | 0000bc40 73 6f 20 69 74 20 61 75 74 6f 6d 61 74 69 63 61 |so it automatica| 0000bc50 6c 6c 79 20 63 6c 6f 73 65 73 20 6f 6e 20 61 6e |lly closes on an| 0000bc60 79 20 6d 6f 75 73 65 20 61 63 63 65 73 73 0a 6f |y mouse access.o| 0000bc70 75 74 73 69 64 65 20 69 74 2e 20 49 66 20 74 68 |utside it. If th| 0000bc80 65 72 65 20 61 72 65 20 6d 6f 72 65 20 74 68 61 |ere are more tha| 0000bc90 6e 20 66 69 76 65 20 50 43 41 73 20 61 76 61 69 |n five PCAs avai| 0000bca0 6c 61 62 6c 65 20 74 68 65 20 70 6f 70 75 70 20 |lable the popup | 0000bcb0 64 69 61 6c 6f 67 75 65 0a 73 68 6f 75 6c 64 20 |dialogue.should | 0000bcc0 62 65 20 67 69 76 65 6e 20 61 20 76 65 72 74 69 |be given a verti| 0000bcd0 63 61 6c 20 73 63 72 6f 6c 6c 62 61 72 20 61 6e |cal scrollbar an| 0000bce0 64 20 74 68 65 20 69 6e 69 74 69 61 6c 20 73 69 |d the initial si| 0000bcf0 7a 65 20 6c 69 6d 69 74 65 64 20 74 6f 20 66 69 |ze limited to fi| 0000bd00 76 65 0a 69 74 65 6d 73 2e 20 46 6f 72 20 61 20 |ve.items. For a | 0000bd10 6d 6f 72 65 20 64 65 74 61 69 6c 65 64 20 65 78 |more detailed ex| 0000bd20 61 6d 70 6c 65 2c 20 73 65 65 20 74 68 65 20 50 |ample, see the P| 0000bd30 43 41 20 76 65 72 73 69 6f 6e 20 6f 66 20 43 6f |CA version of Co| 0000bd40 6d 70 6f 73 69 74 69 6f 6e 20 6f 72 0a 74 68 65 |mposition or.the| 0000bd50 20 64 69 61 6c 6f 67 75 65 20 63 72 65 61 74 69 | dialogue creati| 0000bd60 6f 6e 20 61 6e 64 20 72 65 64 72 61 77 20 63 6f |on and redraw co| 0000bd70 64 65 20 69 6e 20 21 53 70 61 69 6e 74 2e 0a 0a |de in !Spaint...| 0000bd80 3c 50 3e 0a 0a 3c 42 3e 4f 74 68 65 72 20 6f 70 |<P>..<B>Other op| 0000bd90 74 69 6f 6e 73 3c 2f 42 3e 0a 3c 50 3e 0a 0a 53 |tions</B>.<P>..S| 0000bda0 65 76 65 72 61 6c 20 6f 74 68 65 72 20 6f 70 74 |everal other opt| 0000bdb0 69 6f 6e 73 20 6d 61 79 20 62 65 20 6f 66 66 65 |ions may be offe| 0000bdc0 72 65 64 20 74 6f 20 74 68 65 20 75 73 65 72 20 |red to the user | 0000bdd0 62 79 20 61 20 4c 6f 63 61 6c 20 74 61 73 6b 2e |by a Local task.| 0000bde0 20 57 68 69 63 68 20 61 72 65 0a 70 72 61 63 74 | Which are.pract| 0000bdf0 69 63 61 6c 20 64 65 70 65 6e 64 73 20 6f 6e 20 |ical depends on | 0000be00 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 |the application | 0000be10 69 6e 20 71 75 65 73 74 69 6f 6e 20 62 75 74 20 |in question but | 0000be20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6d 61 |the following ma| 0000be30 79 20 62 65 0a 61 70 70 72 6f 70 72 69 61 74 65 |y be.appropriate| 0000be40 20 66 6f 72 20 61 20 74 61 73 6b 20 77 68 69 63 | for a task whic| 0000be50 68 20 73 75 70 70 6f 72 74 73 20 62 6f 74 68 20 |h supports both | 0000be60 73 69 64 65 73 20 6f 66 20 74 68 65 20 70 72 6f |sides of the pro| 0000be70 74 6f 63 6f 6c 3a 0a 0a 3c 50 3e 0a 0a 3c 43 45 |tocol:..<P>..<CE| 0000be80 4e 54 45 52 3e 0a 3c 49 4d 47 20 53 52 43 3d 22 |NTER>.<IMG SRC="| 0000be90 47 52 41 50 48 49 43 53 2f 70 72 65 66 73 2e 67 |GRAPHICS/prefs.g| 0000bea0 69 66 22 20 41 4c 54 3d 22 50 72 65 66 65 72 65 |if" ALT="Prefere| 0000beb0 6e 63 65 73 22 20 57 49 44 54 48 3d 33 38 32 20 |nces" WIDTH=382 | 0000bec0 48 45 49 47 48 54 3d 31 36 31 20 41 4c 49 47 4e |HEIGHT=161 ALIGN| 0000bed0 3d 22 4d 49 44 44 4c 45 22 3e 0a 3c 2f 43 45 4e |="MIDDLE">.</CEN| 0000bee0 54 45 52 3e 0a 3c 50 3e 0a 0a 54 68 65 20 64 69 |TER>.<P>..The di| 0000bef0 73 70 6c 61 79 20 72 61 64 69 6f 20 62 75 74 74 |splay radio butt| 0000bf00 6f 6e 73 20 61 6c 6c 6f 77 20 74 68 65 20 75 73 |ons allow the us| 0000bf10 65 72 20 74 6f 20 63 68 6f 6f 73 65 20 74 68 65 |er to choose the| 0000bf20 20 66 6f 72 6d 20 6f 66 20 70 6f 70 75 70 20 77 | form of popup w| 0000bf30 68 69 63 68 0a 77 69 6c 6c 20 62 65 20 70 72 65 |hich.will be pre| 0000bf40 73 65 6e 74 65 64 20 74 6f 20 74 68 65 20 75 73 |sented to the us| 0000bf50 65 72 2e 20 4d 65 6e 75 73 20 61 72 65 20 73 69 |er. Menus are si| 0000bf60 6d 70 6c 65 72 20 61 6e 64 20 74 61 6b 65 20 75 |mpler and take u| 0000bf70 70 20 6c 65 73 73 20 64 65 73 6b 74 6f 70 0a 73 |p less desktop.s| 0000bf80 70 61 63 65 2e 20 44 69 61 6c 6f 67 75 65 20 62 |pace. Dialogue b| 0000bf90 6f 78 65 73 20 6c 6f 6f 6b 20 62 65 74 74 65 72 |oxes look better| 0000bfa0 20 61 6e 64 20 70 72 6f 76 69 64 65 20 6d 6f 72 | and provide mor| 0000bfb0 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 0a |e information...| 0000bfc0 3c 50 3e 0a 0a 54 68 65 20 49 6e 2d 70 6c 61 63 |<P>..The In-plac| 0000bfd0 65 20 65 64 69 74 69 6e 67 20 6f 70 74 69 6f 6e |e editing option| 0000bfe0 20 73 68 6f 75 6c 64 20 62 65 20 70 72 6f 76 69 | should be provi| 0000bff0 64 65 64 20 62 79 20 61 20 52 65 6d 6f 74 65 20 |ded by a Remote | 0000c000 74 61 73 6b 2e 20 49 66 20 6e 6f 0a 6f 62 6a 65 |task. If no.obje| 0000c010 63 74 73 20 61 72 65 20 62 65 69 6e 67 20 65 64 |cts are being ed| 0000c020 69 74 65 64 20 74 68 65 6e 20 74 6f 67 67 6c 69 |ited then toggli| 0000c030 6e 67 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 73 |ng this option s| 0000c040 69 6d 70 6c 79 20 70 72 65 76 65 6e 74 73 20 6f |imply prevents o| 0000c050 72 20 61 6c 6c 6f 77 73 0a 62 69 74 20 34 20 6f |r allows.bit 4 o| 0000c060 66 20 74 68 65 20 66 6c 61 67 73 20 77 6f 72 64 |f the flags word| 0000c070 20 74 6f 20 62 65 20 73 65 74 20 69 6e 20 73 75 | to be set in su| 0000c080 62 73 65 71 75 65 6e 74 20 3c 41 0a 48 52 45 46 |bsequent <A.HREF| 0000c090 3d 22 23 69 6d 22 3e 4d 65 73 73 61 67 65 5f 49 |="#im">Message_I| 0000c0a0 6d 48 65 72 65 3c 2f 41 3e 20 6d 65 73 73 61 67 |mHere</A> messag| 0000c0b0 65 73 20 67 65 6e 65 72 61 74 65 64 2e 20 49 66 |es generated. If| 0000c0c0 20 61 6e 20 6f 62 6a 65 63 74 20 69 73 20 62 65 | an object is be| 0000c0d0 69 6e 67 0a 65 64 69 74 65 64 20 69 6e 2d 70 6c |ing.edited in-pl| 0000c0e0 61 63 65 20 77 68 65 6e 20 74 68 69 73 20 6f 70 |ace when this op| 0000c0f0 74 69 6f 6e 20 69 73 20 74 6f 67 67 6c 65 64 20 |tion is toggled | 0000c100 74 68 65 20 52 65 6d 6f 74 65 20 74 61 73 6b 20 |the Remote task | 0000c110 73 68 6f 75 6c 64 20 73 77 69 74 63 68 0a 62 65 |should switch.be| 0000c120 74 77 65 65 6e 20 69 6e 2d 70 6c 61 63 65 20 61 |tween in-place a| 0000c130 6e 64 20 72 65 6d 6f 74 65 20 6f 70 65 72 61 74 |nd remote operat| 0000c140 69 6f 6e 20 6f 6e 20 74 68 61 74 20 6f 62 6a 65 |ion on that obje| 0000c150 63 74 20 61 73 20 74 68 65 20 6f 70 74 69 6f 6e |ct as the option| 0000c160 20 69 73 0a 74 6f 67 67 6c 65 64 2e 0a 0a 3c 50 | is.toggled...<P| 0000c170 3e 0a 0a 54 68 65 20 27 46 6f 6c 6c 6f 77 20 73 |>..The 'Follow s| 0000c180 65 6c 65 63 74 65 64 27 20 6f 70 74 69 6f 6e 20 |elected' option | 0000c190 69 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 61 |is provided by a| 0000c1a0 20 4c 6f 63 61 6c 20 74 61 73 6b 20 61 6e 64 2c | Local task and,| 0000c1b0 20 77 68 65 6e 20 6f 6e 2c 20 74 68 65 0a 6c 61 | when on, the.la| 0000c1c0 73 74 20 74 61 73 6b 20 73 65 6e 74 20 61 20 3c |st task sent a <| 0000c1d0 41 20 48 52 45 46 3d 22 23 64 6f 22 3e 4d 65 73 |A HREF="#do">Mes| 0000c1e0 73 61 67 65 5f 44 6f 59 6f 75 72 53 74 75 66 66 |sage_DoYourStuff| 0000c1f0 3c 2f 41 3e 20 69 73 20 61 75 74 6f 6d 61 74 69 |</A> is automati| 0000c200 63 61 6c 6c 79 20 73 65 6e 74 0a 61 20 6e 65 77 |cally sent.a new| 0000c210 20 3c 41 20 48 52 45 46 3d 22 23 64 6f 22 3e 4d | <A HREF="#do">M| 0000c220 65 73 73 61 67 65 5f 44 6f 59 6f 75 72 53 74 75 |essage_DoYourStu| 0000c230 66 66 3c 2f 41 3e 20 65 76 65 72 79 20 74 69 6d |ff</A> every tim| 0000c240 65 20 74 68 65 20 27 73 65 6c 65 63 74 65 64 20 |e the 'selected | 0000c250 6f 62 6a 65 63 74 27 0a 63 68 61 6e 67 65 73 2e |object'.changes.| 0000c260 20 4f 62 76 69 6f 75 73 6c 79 20 74 68 69 73 20 | Obviously this | 0000c270 6f 70 74 69 6f 6e 20 6f 6e 6c 79 20 68 61 73 20 |option only has | 0000c280 76 61 6c 69 64 69 74 79 20 77 68 65 6e 20 74 68 |validity when th| 0000c290 65 72 65 20 69 73 20 61 20 63 6f 6e 63 65 70 74 |ere is a concept| 0000c2a0 20 6f 66 0a 74 68 65 20 27 73 65 6c 65 63 74 65 | of.the 'selecte| 0000c2b0 64 20 6f 62 6a 65 63 74 27 2e 0a 0a 3c 50 3e 0a |d object'...<P>.| 0000c2c0 0a 0a 3c 41 20 48 52 45 46 3d 22 23 74 6f 70 22 |..<A HREF="#top"| 0000c2d0 3e 52 65 74 75 72 6e 20 74 6f 20 43 6f 6e 74 65 |>Return to Conte| 0000c2e0 6e 74 73 3c 2f 41 3e 0a 3c 48 52 3e 0a 0a 3c 48 |nts</A>.<HR>..<H| 0000c2f0 31 3e 0a 3c 41 20 4e 41 4d 45 3d 22 73 77 69 73 |1>.<A NAME="swis| 0000c300 22 3e 0a 50 43 41 20 73 75 70 70 6f 72 74 20 6d |">.PCA support m| 0000c310 6f 64 75 6c 65 20 53 57 49 73 0a 3c 2f 41 3e 0a |odule SWIs.</A>.| 0000c320 3c 2f 48 31 3e 0a 0a 4d 6f 64 75 6c 65 20 20 3a |</H1>..Module :| 0000c330 20 50 43 41 53 75 70 70 6f 72 74 3c 50 3e 0a 56 | PCASupport<P>.V| 0000c340 65 72 73 69 6f 6e 20 3a 20 30 2e 30 37 20 28 31 |ersion : 0.07 (1| 0000c350 32 20 41 75 67 75 73 74 20 31 39 39 36 29 3c 50 |2 August 1996)<P| 0000c360 3e 0a 43 68 75 6e 6b 20 20 20 3a 20 26 34 44 36 |>.Chunk : &4D6| 0000c370 43 30 0a 0a 3c 50 3e 0a 3c 50 3e 0a 0a 54 68 65 |C0..<P>.<P>..The| 0000c380 20 50 43 41 20 73 75 70 70 6f 72 74 20 6d 6f 64 | PCA support mod| 0000c390 75 6c 65 20 69 73 20 64 65 73 69 67 6e 65 64 20 |ule is designed | 0000c3a0 74 6f 20 66 61 63 69 6c 69 74 61 74 65 20 74 68 |to facilitate th| 0000c3b0 65 20 63 72 65 61 74 69 6f 6e 20 6f 66 20 50 43 |e creation of PC| 0000c3c0 41 20 73 74 79 6c 65 0a 27 74 61 67 73 27 20 69 |A style.'tags' i| 0000c3d0 6e 20 61 6e 20 61 72 65 61 20 6f 66 20 73 68 61 |n an area of sha| 0000c3e0 72 65 64 20 6d 65 6d 6f 72 79 2e 20 41 74 20 61 |red memory. At a| 0000c3f0 20 66 75 74 75 72 65 20 64 61 74 65 20 6f 74 68 | future date oth| 0000c400 65 72 20 75 73 65 66 75 6c 20 50 43 41 0a 72 65 |er useful PCA.re| 0000c410 6c 61 74 65 64 20 53 57 49 73 20 28 65 67 2e 20 |lated SWIs (eg. | 0000c420 63 6f 6c 61 65 73 63 69 6e 67 20 75 70 64 61 74 |colaescing updat| 0000c430 65 20 61 72 65 61 20 72 65 63 74 61 6e 67 6c 65 |e area rectangle| 0000c440 73 29 20 6d 61 79 20 62 65 20 61 64 64 65 64 2e |s) may be added.| 0000c450 20 49 6e 20 74 68 65 0a 6d 65 61 6e 74 69 6d 65 | In the.meantime| 0000c460 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 53 | the following S| 0000c470 57 49 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 |WIs are provided| 0000c480 2e 0a 0a 3c 70 3e 0a 0a 3c 70 72 65 3e 0a 3c 53 |...<p>..<pre>.<S| 0000c490 54 52 4f 4e 47 3e 53 57 49 20 50 43 41 5f 43 72 |TRONG>SWI PCA_Cr| 0000c4a0 65 61 74 65 54 61 67 3c 2f 53 54 52 4f 4e 47 3e |eateTag</STRONG>| 0000c4b0 0a 6f 6e 20 65 6e 74 72 79 20 2d 0a 0a 72 31 20 |.on entry -..r1 | 0000c4c0 3d 20 61 64 64 72 65 73 73 20 6f 66 20 62 61 73 |= address of bas| 0000c4d0 65 0a 72 32 20 3d 20 4f 66 66 73 65 74 20 74 6f |e.r2 = Offset to| 0000c4e0 20 6f 62 6a 65 63 74 0a 72 33 20 3d 20 73 69 7a | object.r3 = siz| 0000c4f0 65 20 6f 66 20 6f 62 6a 65 63 74 20 28 6f 70 74 |e of object (opt| 0000c500 69 6f 6e 61 6c 29 0a 72 34 20 3d 20 66 6c 61 67 |ional).r4 = flag| 0000c510 73 2f 65 78 74 65 6e 73 69 6f 6e 20 64 61 74 61 |s/extension data| 0000c520 20 28 6e 6f 74 20 69 6e 20 74 68 69 73 20 76 65 | (not in this ve| 0000c530 72 73 69 6f 6e 2e 29 0a 0a 6f 6e 20 65 78 69 74 |rsion.)..on exit| 0000c540 20 2d 0a 0a 72 30 20 3d 20 61 64 64 72 65 73 73 | -..r0 = address| 0000c550 20 6f 66 20 74 61 67 0a 28 72 31 2d 72 34 20 61 | of tag.(r1-r4 a| 0000c560 72 65 20 77 72 69 74 74 65 6e 20 69 6e 74 6f 20 |re written into | 0000c570 74 68 65 20 74 61 67 20 61 73 20 69 6e 69 74 69 |the tag as initi| 0000c580 61 6c 20 76 61 6c 75 65 73 2e 29 0a 41 6c 6c 20 |al values.).All | 0000c590 6f 74 68 65 72 20 72 65 67 69 73 74 65 72 73 20 |other registers | 0000c5a0 70 72 65 73 65 72 76 65 64 2e 0a 0a 0a 45 72 72 |preserved....Err| 0000c5b0 6f 72 73 20 72 65 74 75 72 6e 61 62 6c 65 3a 0a |ors returnable:.| 0000c5c0 0a 22 54 68 69 73 20 76 65 72 73 69 6f 6e 20 6f |."This version o| 0000c5d0 66 20 74 68 65 20 50 43 41 20 73 75 70 70 6f 72 |f the PCA suppor| 0000c5e0 74 20 6d 6f 64 75 6c 65 20 63 61 6e 6e 6f 74 20 |t module cannot | 0000c5f0 63 72 65 61 74 65 20 65 78 74 65 6e 64 65 64 20 |create extended | 0000c600 74 61 67 73 2e 22 0a 50 72 6f 64 75 63 65 64 20 |tags.".Produced | 0000c610 69 66 20 62 69 74 73 20 73 65 74 20 69 6e 20 52 |if bits set in R| 0000c620 34 20 28 62 30 2d 31 35 29 2e 0a 0a 22 54 68 69 |4 (b0-15)..."Thi| 0000c630 73 20 76 65 72 73 69 6f 6e 20 64 6f 65 73 20 6e |s version does n| 0000c640 6f 74 20 72 65 73 69 7a 65 20 74 68 65 20 74 61 |ot resize the ta| 0000c650 67 20 62 6c 6f 63 6b 20 6f 6e 20 6f 6c 64 20 68 |g block on old h| 0000c660 61 72 64 77 61 72 65 2e 20 28 74 6f 6f 20 6d 61 |ardware. (too ma| 0000c670 6e 79 20 74 61 67 73 29 2e 22 0a 50 72 6f 64 75 |ny tags).".Produ| 0000c680 63 65 64 20 6f 6e 20 70 72 65 2d 52 50 43 20 68 |ced on pre-RPC h| 0000c690 61 72 64 77 61 72 65 20 69 66 20 6d 6f 72 65 20 |ardware if more | 0000c6a0 74 68 61 6e 20 32 30 34 38 20 74 61 67 73 20 61 |than 2048 tags a| 0000c6b0 72 65 20 69 6e 20 75 73 65 2e 0a 0a 0a 3c 2f 70 |re in use....</p| 0000c6c0 72 65 3e 3c 70 3e 0a 0a 3c 62 3e 4e 4f 54 45 3a |re><p>..<b>NOTE:| 0000c6d0 3c 2f 62 3e 20 50 43 41 53 75 70 70 6f 72 74 20 |</b> PCASupport | 0000c6e0 72 65 6c 69 65 73 20 6f 6e 20 74 68 65 20 66 69 |relies on the fi| 0000c6f0 72 73 74 20 76 61 6c 75 65 20 6f 66 20 61 20 76 |rst value of a v| 0000c700 61 6c 69 64 20 74 61 67 20 6e 6f 74 20 62 65 69 |alid tag not bei| 0000c710 6e 67 0a 26 46 46 46 46 46 46 46 46 20 28 2d 31 |ng.&FFFFFFFF (-1| 0000c720 29 2e 20 4e 45 56 45 52 20 77 72 69 74 65 20 74 |). NEVER write t| 0000c730 68 69 73 20 76 61 6c 75 65 20 69 6e 74 6f 20 74 |his value into t| 0000c740 68 65 20 62 61 73 65 20 66 69 65 6c 64 20 6f 66 |he base field of| 0000c750 20 74 68 65 20 74 61 67 20 61 73 20 74 68 65 0a | the tag as the.| 0000c760 6e 65 78 74 20 63 61 6c 6c 20 74 6f 20 50 43 41 |next call to PCA| 0000c770 5f 43 72 65 61 74 65 54 61 67 20 77 69 6c 6c 20 |_CreateTag will | 0000c780 70 72 6f 62 61 62 6c 79 20 6d 61 70 20 79 6f 75 |probably map you| 0000c790 72 20 74 61 67 20 74 6f 20 61 6e 6f 74 68 65 72 |r tag to another| 0000c7a0 20 6f 62 6a 65 63 74 20 2d 0a 63 61 75 73 69 6e | object -.causin| 0000c7b0 67 20 63 68 61 6f 73 2e 0a 0a 3c 70 3e 0a 3c 70 |g chaos...<p>.<p| 0000c7c0 72 65 3e 0a 0a 3c 53 54 52 4f 4e 47 3e 53 57 49 |re>..<STRONG>SWI| 0000c7d0 20 50 43 41 5f 44 65 6c 65 74 65 54 61 67 3c 2f | PCA_DeleteTag</| 0000c7e0 53 54 52 4f 4e 47 3e 0a 6f 6e 20 65 6e 74 72 79 |STRONG>.on entry| 0000c7f0 20 2d 0a 0a 52 30 20 3d 20 70 74 72 20 74 6f 20 | -..R0 = ptr to | 0000c800 74 61 67 0a 0a 6f 6e 20 65 78 69 74 20 61 6c 6c |tag..on exit all| 0000c810 20 72 65 67 69 73 74 65 72 73 20 70 72 65 73 65 | registers prese| 0000c820 72 76 65 64 2e 0a 0a 45 72 72 6f 72 73 20 72 65 |rved...Errors re| 0000c830 74 75 72 6e 61 62 6c 65 3a 0a 22 42 61 64 20 74 |turnable:."Bad t| 0000c840 61 67 20 70 61 73 73 65 64 20 74 6f 20 50 43 41 |ag passed to PCA| 0000c850 53 75 70 70 6f 72 74 2e 22 0a 0a 0a 3c 53 54 52 |Support."...<STR| 0000c860 4f 4e 47 3e 53 57 49 20 50 43 41 5f 44 65 6c 65 |ONG>SWI PCA_Dele| 0000c870 74 65 41 6e 64 4b 69 6c 6c 3c 2f 53 54 52 4f 4e |teAndKill</STRON| 0000c880 47 3e 0a 6f 6e 20 65 6e 74 72 79 20 2d 0a 0a 52 |G>.on entry -..R| 0000c890 30 20 3d 20 70 74 72 20 74 6f 20 74 61 67 0a 52 |0 = ptr to tag.R| 0000c8a0 31 20 3d 20 66 69 6c 65 74 79 70 65 20 6f 66 20 |1 = filetype of | 0000c8b0 6f 62 6a 65 63 74 0a 0a 6f 6e 20 65 78 69 74 20 |object..on exit | 0000c8c0 61 6c 6c 20 72 65 67 69 73 74 65 72 73 20 70 72 |all registers pr| 0000c8d0 65 73 65 72 76 65 64 2e 0a 0a 3c 2f 70 72 65 3e |eserved...</pre>| 0000c8e0 0a 0a 41 73 20 77 65 6c 6c 20 61 73 20 74 68 65 |..As well as the| 0000c8f0 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 6f | functionality o| 0000c900 66 20 74 68 65 20 61 62 6f 76 65 20 53 57 49 20 |f the above SWI | 0000c910 74 68 69 73 20 61 6c 73 6f 20 62 72 6f 61 64 63 |this also broadc| 0000c920 61 73 74 73 0a 4d 65 73 73 61 67 65 5f 44 65 73 |asts.Message_Des| 0000c930 65 6c 65 63 74 20 66 6f 72 20 79 6f 75 2e 0a 0a |elect for you...| 0000c940 3c 50 3e 0a 0a 0a 3c 41 20 48 52 45 46 3d 22 23 |<P>...<A HREF="#| 0000c950 74 6f 70 22 3e 52 65 74 75 72 6e 20 74 6f 20 43 |top">Return to C| 0000c960 6f 6e 74 65 6e 74 73 3c 2f 41 3e 0a 3c 48 52 3e |ontents</A>.<HR>| 0000c970 0a 0a 0a 0a 3c 48 31 3e 0a 3c 41 20 4e 41 4d 45 |....<H1>.<A NAME| 0000c980 3d 22 6c 69 63 65 6e 63 65 22 3e 0a 4c 69 63 65 |="licence">.Lice| 0000c990 6e 63 65 20 63 6f 6e 64 69 74 69 6f 6e 73 0a 3c |nce conditions.<| 0000c9a0 2f 41 3e 0a 0a 3c 2f 48 31 3e 0a 3c 50 3e 0a 0a |/A>..</H1>.<P>..| 0000c9b0 0a 0a 59 6f 75 20 61 72 65 20 69 6e 76 69 74 65 |..You are invite| 0000c9c0 64 20 74 6f 20 61 64 64 20 74 68 65 20 50 43 41 |d to add the PCA| 0000c9d0 20 73 74 61 6e 64 61 72 64 20 74 6f 20 79 6f 75 | standard to you| 0000c9e0 72 20 70 72 6f 67 72 61 6d 73 20 61 6e 64 20 74 |r programs and t| 0000c9f0 6f 20 63 72 65 61 74 65 20 50 43 41 0a 27 61 70 |o create PCA.'ap| 0000ca00 70 6c 65 74 73 27 2e 20 48 6f 77 65 76 65 72 2c |plets'. However,| 0000ca10 20 62 65 66 6f 72 65 20 70 75 62 6c 69 73 68 69 | before publishi| 0000ca20 6e 67 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 |ng or distributi| 0000ca30 6e 67 20 28 69 6e 20 61 6e 79 20 66 6f 72 6d 29 |ng (in any form)| 0000ca40 20 61 20 70 72 6f 67 72 61 6d 0a 77 68 69 63 68 | a program.which| 0000ca50 20 6d 61 6b 65 73 20 75 73 65 20 6f 66 20 74 68 | makes use of th| 0000ca60 65 20 50 43 41 20 73 74 61 6e 64 61 72 64 20 79 |e PCA standard y| 0000ca70 6f 75 20 6d 75 73 74 20 66 69 72 73 74 20 6f 62 |ou must first ob| 0000ca80 74 61 69 6e 20 61 20 6c 69 63 65 6e 63 65 20 74 |tain a licence t| 0000ca90 6f 20 64 6f 20 73 6f 0a 3e 66 72 6f 6d 20 43 6c |o do so.>from Cl| 0000caa0 61 72 65 73 20 4d 69 63 72 6f 20 53 75 70 70 6c |ares Micro Suppl| 0000cab0 69 65 73 2e 0a 3c 50 3e 0a 0a 54 68 65 20 6c 69 |ies..<P>..The li| 0000cac0 63 65 6e 63 65 20 69 73 20 63 75 72 72 65 6e 74 |cence is current| 0000cad0 6c 79 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 |ly free of charg| 0000cae0 65 20 61 6e 64 20 65 61 72 6c 79 20 61 64 6f 70 |e and early adop| 0000caf0 74 65 72 73 20 77 69 6c 6c 20 62 65 20 67 75 61 |ters will be gua| 0000cb00 72 61 6e 74 65 65 64 0a 74 68 61 74 20 74 68 65 |ranteed.that the| 0000cb10 20 6c 69 63 65 6e 73 65 20 77 69 6c 6c 20 72 65 | license will re| 0000cb20 6d 61 69 6e 20 66 72 65 65 20 66 6f 72 20 61 20 |main free for a | 0000cb30 6d 69 6e 69 6d 75 6d 20 6f 66 20 66 69 76 65 20 |minimum of five | 0000cb40 79 65 61 72 73 2e 20 57 65 20 64 6f 20 6e 6f 74 |years. We do not| 0000cb50 0a 68 61 76 65 20 61 6e 79 20 70 6c 61 6e 73 20 |.have any plans | 0000cb60 74 6f 20 63 68 61 72 67 65 20 66 6f 72 20 61 20 |to charge for a | 0000cb70 6c 69 63 65 6e 73 65 20 62 75 74 20 77 65 20 64 |license but we d| 0000cb80 6f 20 6e 6f 74 20 77 61 6e 74 20 74 6f 20 70 72 |o not want to pr| 0000cb90 65 63 6c 75 64 65 20 74 68 65 0a 70 6f 73 73 69 |eclude the.possi| 0000cba0 62 69 6c 69 74 79 20 61 74 20 61 20 6c 61 74 65 |bility at a late| 0000cbb0 72 20 64 61 74 65 20 2d 20 77 65 6c 6c 20 77 6f |r date - well wo| 0000cbc0 75 6c 64 20 79 6f 75 20 3f 3c 62 72 3e 0a 0a 3c |uld you ?<br>..<| 0000cbd0 50 3e 0a 50 44 20 41 75 74 68 6f 72 73 20 3a 20 |P>.PD Authors : | 0000cbe0 57 65 20 67 75 72 61 6e 74 65 65 20 74 68 61 74 |We gurantee that| 0000cbf0 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 20 77 69 | your license wi| 0000cc00 6c 6c 20 2a 61 6c 77 61 79 73 2a 20 62 65 20 66 |ll *always* be f| 0000cc10 72 65 65 2e 3c 70 3e 0a 0a 3c 50 3e 0a 0a 4c 69 |ree.<p>..<P>..Li| 0000cc20 63 65 6e 73 69 6e 67 20 74 68 65 20 50 43 41 20 |censing the PCA | 0000cc30 73 74 61 6e 64 61 72 64 20 61 6c 6c 6f 77 73 20 |standard allows | 0000cc40 75 73 20 74 6f 20 6b 65 65 70 20 74 72 61 63 6b |us to keep track| 0000cc50 20 6f 66 20 77 68 6f 20 69 73 20 75 73 69 6e 67 | of who is using| 0000cc60 20 69 74 2c 0a 69 6e 66 6f 72 6d 20 74 68 65 6d | it,.inform them| 0000cc70 20 6f 66 20 63 68 61 6e 67 65 73 20 74 6f 20 74 | of changes to t| 0000cc80 68 65 20 73 74 61 6e 64 61 72 64 20 61 6e 64 20 |he standard and | 0000cc90 70 72 6f 76 69 64 65 20 73 75 70 70 6f 72 74 20 |provide support | 0000cca0 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 61 |in the case of a| 0000ccb0 0a 70 72 6f 62 6c 65 6d 2e 0a 0a 3c 50 3e 0a 0a |.problem...<P>..| 0000ccc0 0a 3c 42 3e 0a 50 43 41 20 4c 6f 67 6f 0a 3c 2f |.<B>.PCA Logo.</| 0000ccd0 42 3e 0a 3c 50 3e 0a 0a 54 68 65 20 50 43 41 20 |B>.<P>..The PCA | 0000cce0 6c 6f 67 6f 20 6d 61 79 20 62 65 20 75 73 65 64 |logo may be used| 0000ccf0 20 62 79 20 6c 69 63 65 6e 73 65 64 20 50 43 41 | by licensed PCA| 0000cd00 20 64 65 76 65 6c 6f 70 65 72 73 20 74 6f 20 69 | developers to i| 0000cd10 6e 64 69 63 61 74 65 20 50 43 41 0a 63 6f 6d 70 |ndicate PCA.comp| 0000cd20 6c 69 61 6e 63 79 2e 20 4c 69 63 65 6e 73 65 64 |liancy. Licensed| 0000cd30 20 64 65 76 65 6c 6f 70 65 72 73 20 6d 75 73 74 | developers must| 0000cd40 20 6e 6f 74 20 75 73 65 20 74 68 65 20 6c 6f 67 | not use the log| 0000cd50 6f 20 74 6f 20 73 75 67 67 65 73 74 20 61 6e 79 |o to suggest any| 0000cd60 20 43 6c 61 72 65 73 0a 61 70 70 72 6f 76 61 6c | Clares.approval| 0000cd70 20 6f 72 20 62 72 61 6e 64 69 6e 67 20 66 6f 72 | or branding for| 0000cd80 20 74 68 65 69 72 20 70 72 6f 64 75 63 74 73 2e | their products.| 0000cd90 0a 0a 3c 42 3e 3c 50 3e 0a 0a 3c 41 20 4e 41 4d |..<B><P>..<A NAM| 0000cda0 45 3d 22 63 6f 6e 74 61 63 74 73 22 3e 0a 43 6f |E="contacts">.Co| 0000cdb0 6e 74 61 63 74 73 0a 3c 2f 41 3e 0a 0a 3c 2f 42 |ntacts.</A>..</B| 0000cdc0 3e 0a 3c 50 3e 0a 0a 3c 41 20 48 52 45 46 3d 22 |>.<P>..<A HREF="| 0000cdd0 6d 61 69 6c 74 6f 3a 2f 2f 44 4a 61 63 6b 73 6f |mailto://DJackso| 0000cde0 6e 40 43 6c 61 72 65 73 2e 64 65 6d 6f 6e 2e 63 |n@Clares.demon.c| 0000cdf0 6f 2e 75 6b 22 3e 44 4a 61 63 6b 73 6f 6e 40 63 |o.uk">DJackson@c| 0000ce00 6c 61 72 65 73 2e 64 65 6d 6f 6e 2e 63 6f 2e 75 |lares.demon.co.u| 0000ce10 6b 3c 2f 41 3e 20 2d 20 4c 69 63 65 6e 73 69 6e |k</A> - Licensin| 0000ce20 67 20 64 65 74 61 69 6c 73 20 61 6e 64 20 70 72 |g details and pr| 0000ce30 6f 6a 65 63 74 20 63 6f 6f 72 64 69 6e 61 74 69 |oject coordinati| 0000ce40 6f 6e 2e 3c 42 52 3e 0a 0a 3c 41 20 48 52 45 46 |on.<BR>..<A HREF| 0000ce50 3d 22 6d 61 69 6c 74 6f 3a 2f 2f 72 64 61 76 69 |="mailto://rdavi| 0000ce60 73 6f 6e 40 78 74 72 61 2e 63 6f 2e 6e 7a 22 3e |son@xtra.co.nz">| 0000ce70 0a 72 64 61 76 69 73 6f 6e 40 78 74 72 61 2e 63 |.rdavison@xtra.c| 0000ce80 6f 2e 6e 7a 0a 3c 2f 41 3e 20 20 20 20 20 20 20 |o.nz.</A> | 0000ce90 20 20 20 20 2d 20 41 75 74 68 6f 72 20 6f 66 20 | - Author of | 0000cea0 74 68 65 20 73 74 61 6e 64 61 72 64 2e 0a 0a 3c |the standard...<| 0000ceb0 50 3e 0a 0a 3c 42 3e 0a 3c 41 20 4e 41 4d 45 3d |P>..<B>.<A NAME=| 0000cec0 22 64 69 73 63 6c 61 69 6d 22 3e 0a 44 69 73 63 |"disclaim">.Disc| 0000ced0 6c 61 69 6d 65 72 0a 3c 2f 41 3e 0a 0a 3c 2f 42 |laimer.</A>..</B| 0000cee0 3e 3c 50 3e 0a 0a 54 68 69 73 20 73 74 61 6e 64 |><P>..This stand| 0000cef0 61 72 64 20 69 73 20 73 75 70 70 6c 69 65 64 20 |ard is supplied | 0000cf00 27 61 73 20 69 73 27 3b 20 6e 65 69 74 68 65 72 |'as is'; neither| 0000cf10 20 43 6c 61 72 65 73 20 6e 6f 72 20 74 68 65 20 | Clares nor the | 0000cf20 61 75 74 68 6f 72 20 6f 66 20 74 68 65 20 73 74 |author of the st| 0000cf30 61 6e 64 61 72 64 0a 6d 61 6b 65 20 61 6e 79 20 |andard.make any | 0000cf40 77 61 72 72 61 6e 74 79 2c 20 77 68 65 74 68 65 |warranty, whethe| 0000cf50 72 20 65 78 70 72 65 73 73 20 6f 72 20 69 6d 70 |r express or imp| 0000cf60 6c 69 65 64 2c 20 61 73 20 74 6f 20 74 68 65 20 |lied, as to the | 0000cf70 6d 65 72 63 68 61 6e 74 61 62 69 6c 69 74 79 20 |merchantability | 0000cf80 6f 66 0a 74 68 65 20 73 6f 66 74 77 61 72 65 20 |of.the software | 0000cf90 6f 72 20 73 74 61 6e 64 61 72 64 20 6f 72 20 69 |or standard or i| 0000cfa0 74 73 20 66 69 74 6e 65 73 73 20 66 6f 72 20 61 |ts fitness for a| 0000cfb0 6e 79 20 70 75 72 70 6f 73 65 2e 0a 3c 50 3e 0a |ny purpose..<P>.| 0000cfc0 0a 49 6e 20 6e 6f 20 63 69 72 63 75 6d 73 74 61 |.In no circumsta| 0000cfd0 6e 63 65 73 20 77 69 6c 6c 20 43 6c 61 72 65 73 |nces will Clares| 0000cfe0 20 6f 72 20 74 68 65 20 61 75 74 68 6f 72 20 6f | or the author o| 0000cff0 66 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 62 |f the standard b| 0000d000 65 20 6c 69 61 62 6c 65 20 66 6f 72 0a 61 6e 79 |e liable for.any| 0000d010 20 64 61 6d 61 67 65 2c 20 6c 6f 73 73 20 6f 66 | damage, loss of| 0000d020 20 70 72 6f 66 69 74 73 2c 20 67 6f 6f 64 77 69 | profits, goodwi| 0000d030 6c 6c 20 6f 72 20 66 6f 72 20 61 6e 79 20 69 6e |ll or for any in| 0000d040 64 69 72 65 63 74 20 6f 72 20 63 6f 6e 73 65 71 |direct or conseq| 0000d050 75 65 6e 74 69 61 6c 0a 6c 6f 73 73 20 61 72 69 |uential.loss ari| 0000d060 73 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 75 73 |sing from the us| 0000d070 65 20 6f 66 20 74 68 69 73 20 73 74 61 6e 64 61 |e of this standa| 0000d080 72 64 20 6f 72 20 73 6f 66 74 77 61 72 65 2e 0a |rd or software..| 0000d090 3c 50 3e 0a 0a 49 6d 70 6c 65 6d 65 6e 74 61 74 |<P>..Implementat| 0000d0a0 69 6f 6e 20 6f 66 20 74 68 65 20 73 74 61 6e 64 |ion of the stand| 0000d0b0 61 72 64 20 69 73 20 64 65 65 6d 65 64 20 61 63 |ard is deemed ac| 0000d0c0 63 65 70 74 61 6e 63 65 20 6f 66 20 74 68 65 73 |ceptance of thes| 0000d0d0 65 20 74 65 72 6d 73 2e 0a 0a 3c 50 3e 0a 3c 41 |e terms...<P>.<A| 0000d0e0 20 48 52 45 46 3d 22 23 74 6f 70 22 3e 52 65 74 | HREF="#top">Ret| 0000d0f0 75 72 6e 20 74 6f 20 43 6f 6e 74 65 6e 74 73 3c |urn to Contents<| 0000d100 2f 41 3e 0a 3c 50 3e 0a 3c 48 52 3e 0a 3c 41 20 |/A>.<P>.<HR>.<A | 0000d110 4e 41 4d 45 3d 22 65 78 61 6d 70 6c 65 73 22 3e |NAME="examples">| 0000d120 3c 2f 41 3e 0a 3c 48 31 3e 50 43 41 20 43 6f 6d |</A>.<H1>PCA Com| 0000d130 70 6c 69 61 6e 74 20 65 78 61 6d 70 6c 65 73 3c |pliant examples<| 0000d140 2f 48 31 3e 0a 3c 50 3e 0a 0a 57 65 20 68 61 76 |/H1>.<P>..We hav| 0000d150 65 20 70 72 65 70 61 72 65 64 20 73 65 76 65 72 |e prepared sever| 0000d160 61 6c 20 65 78 61 6d 70 6c 65 73 20 6f 66 20 50 |al examples of P| 0000d170 43 41 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 |CA applications | 0000d180 69 6e 20 62 6f 74 68 20 43 20 61 6e 64 20 42 41 |in both C and BA| 0000d190 53 49 43 2e 0a 54 68 65 79 20 73 68 6f 77 20 64 |SIC..They show d| 0000d1a0 69 66 66 65 72 65 6e 74 20 69 6e 74 65 72 66 61 |ifferent interfa| 0000d1b0 63 65 73 20 74 68 61 74 20 63 61 6e 20 62 65 20 |ces that can be | 0000d1c0 75 73 65 64 20 61 73 20 77 65 6c 6c 20 61 73 20 |used as well as | 0000d1d0 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 0a 27 49 |an example of.'I| 0000d1e0 6e 2d 50 6c 61 63 65 27 20 65 64 69 74 69 6e 67 |n-Place' editing| 0000d1f0 2e 20 3c 50 3e 0a 0a 44 6f 6e 27 74 20 66 6f 72 |. <P>..Don't for| 0000d200 67 65 74 20 74 6f 20 6c 65 74 20 75 73 20 6b 6e |get to let us kn| 0000d210 6f 77 20 77 68 61 74 20 61 70 70 6c 69 63 61 74 |ow what applicat| 0000d220 69 6f 6e 73 20 79 6f 75 20 61 72 65 20 77 72 69 |ions you are wri| 0000d230 74 69 6e 67 20 74 6f 20 63 6f 6d 70 6c 79 20 77 |ting to comply w| 0000d240 69 74 68 0a 74 68 65 20 73 74 61 6e 64 61 72 64 |ith.the standard| 0000d250 2e 20 3c 41 20 48 52 45 46 3d 22 6d 61 69 6c 74 |. <A HREF="mailt| 0000d260 6f 3a 2f 2f 44 43 6c 61 72 65 40 43 6c 61 72 65 |o://DClare@Clare| 0000d270 73 2e 64 65 6d 6f 6e 2e 63 6f 2e 75 6b 22 3e 43 |s.demon.co.uk">C| 0000d280 6c 61 72 65 73 3c 2f 41 3e 20 6d 61 79 20 62 65 |lares</A> may be| 0000d290 0a 69 6e 74 65 72 65 73 74 65 64 20 69 6e 20 70 |.interested in p| 0000d2a0 75 62 6c 69 73 68 69 6e 67 20 61 6e 79 20 50 43 |ublishing any PC| 0000d2b0 41 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 74 |A applications t| 0000d2c0 68 61 74 20 79 6f 75 20 77 72 69 74 65 20 73 6f |hat you write so| 0000d2d0 20 70 6c 65 61 73 65 20 73 65 6e 64 0a 75 73 20 | please send.us | 0000d2e0 61 20 63 6f 70 79 20 69 66 20 74 68 69 73 20 61 |a copy if this a| 0000d2f0 70 70 65 61 6c 73 20 74 6f 20 79 6f 75 2e 0a 0a |ppeals to you...| 0000d300 3c 50 3e 0a 54 68 65 20 65 78 61 6d 70 6c 65 73 |<P>.The examples| 0000d310 20 61 72 65 20 63 6f 6d 70 72 65 73 73 65 64 20 | are compressed | 0000d320 77 69 74 68 20 53 70 61 72 6b 2e 20 55 73 65 20 |with Spark. Use | 0000d330 65 69 74 68 65 72 20 53 70 61 72 6b 46 53 20 6f |either SparkFS o| 0000d340 72 20 74 68 65 20 50 44 0a 53 70 61 72 6b 50 6c |r the PD.SparkPl| 0000d350 75 67 20 74 6f 20 64 65 63 6f 6d 70 72 65 73 73 |ug to decompress| 0000d360 20 74 68 65 20 66 69 6c 65 73 2e 0a 0a 0a 3c 50 | the files....<P| 0000d370 3e 0a 3c 41 20 48 52 45 46 3d 22 23 74 6f 70 22 |>.<A HREF="#top"| 0000d380 3e 52 65 74 75 72 6e 20 74 6f 20 43 6f 6e 74 65 |>Return to Conte| 0000d390 6e 74 73 3c 2f 41 3e 0a 3c 48 52 3e 0a 3c 46 4f |nts</A>.<HR>.<FO| 0000d3a0 4e 54 20 53 49 5a 45 3d 31 3e 0a 4c 61 73 74 20 |NT SIZE=1>.Last | 0000d3b0 75 70 64 61 74 65 64 20 32 38 2f 30 38 2f 39 36 |updated 28/08/96| 0000d3c0 3c 2f 46 4f 4e 54 3e 0a 3c 2f 42 4f 44 59 3e 0a |</FONT>.</BODY>.| 0000d3d0 3c 2f 48 54 4d 4c 3e 0a 0a 0a 0a 0a 0a 0a 0a 0a |</HTML>.........| 0000d3e0
.