home *** CD-ROM | disk | FTP | other *** search
- ########################################################################
- #
- # File: EmFunctions.pm
- #
- # Purpose: Perl wrappers for Palm OS functions
- #
- # Description: This file contains Perl equivalents of Palm OS
- # functions like DmNumDatabases, FrmGetActiveForm,
- # etc. Currently, the functions here are generated
- # by hand, and so only a small subset of Palm OS
- # functions are wrapped. In the future, this file
- # (or files) may be automatically generated by
- # a script that converts the SDK headers.
- #
- # In general, functions follow the calling
- # conventions in the SDK headers. However, there
- # are exceptions. See the comments before each
- # subroutine for details.
- #
- ########################################################################
-
- package EmFunctions;
-
- use Exporter ();
- @ISA = qw(Exporter);
-
- @EXPORT = qw(
- CtlGetLabel
-
- DmNumDatabases DmFindDatabase DmDatabaseInfo
-
- EvtEnqueuePenPoint EvtEnqueueKey
-
- FrmGetActiveForm FrmGetLabel FrmGetNumberOfObjects FrmGetObjectBounds
- FrmGetObjectId FrmGetObjectPtr FrmGetObjectType FrmGetTitle
-
- HostGetHostVersion
- HostGremlinNew
- HostSessionCreate HostSessionOpen HostSessionClose HostSessionQuit
- HostSignalWait HostSignalResume
-
- MemChunkFree MemPtrFree MemPtrNew MemPtrSetOwner
-
- SysUIAppSwitch
-
- WinDisplayToWindowPt WinWindowToDisplayPt
-
- frmFieldObj frmControlObj frmListObj frmTableObj frmBitmapObj frmLineObj
- frmFrameObj frmRectangleObj frmLabelObj frmTitleObj frmPopupObj
- frmGraffitiStateObj frmGadgetObj frmScrollBarObj
- );
-
- use EmRPC;
- use EmSysTraps;
-
- $slkSocket = EmRPC::slkSocketPoserRPC;
- #$slkSocket = EmRPC::slkSocketDebugger;
- $slkPktType = EmRPC::slkPktTypeSystem;
-
- use constant frmFieldObj => 0;
- use constant frmControlObj => 1;
- use constant frmListObj => 2;
- use constant frmTableObj => 3;
- use constant frmBitmapObj => 4;
- use constant frmLineObj => 5;
- use constant frmFrameObj => 6;
- use constant frmRectangleObj => 7;
- use constant frmLabelObj => 8;
- use constant frmTitleObj => 9;
- use constant frmPopupObj => 10;
- use constant frmGraffitiStateObj => 11;
- use constant frmGadgetObj => 12;
- use constant frmScrollBarObj => 13;
-
- use constant hostSelectorGetHostVersion => 0x0100;
- use constant hostSelectorGetHostID => 0x0101;
- use constant hostSelectorGetHostPlatform => 0x0102;
- use constant hostSelectorIsSelectorImplemented => 0x0103;
- use constant hostSelectorGestalt => 0x0104;
- use constant hostSelectorIsCallingTrap => 0x0105;
-
- use constant hostSelectorGremlinIsRunning => 0x0400;
- use constant hostSelectorGremlinNumber => 0x0401;
- use constant hostSelectorGremlinCounter => 0x0402;
- use constant hostSelectorGremlinLimit => 0x0403;
- use constant hostSelectorGremlinNew => 0x0404;
-
- use constant hostSelectorGetPreference => 0x0600;
- use constant hostSelectorSetPreference => 0x0601;
-
- use constant hostSelectorLogFile => 0x0700;
- use constant hostSelectorSetLogFileSize => 0x0701;
-
- use constant hostSelectorSessionCreate => 0x0800;
- use constant hostSelectorSessionOpen => 0x0801;
- use constant hostSelectorSessionClose => 0x0802;
- use constant hostSelectorSessionQuit => 0x0803;
- use constant hostSelectorSignalSend => 0x0804;
- use constant hostSelectorSignalWait => 0x0805;
- use constant hostSelectorSignalResume => 0x0806;
-
-
- ########################################################################
- #
- # FUNCTION: CtlGetLabel
- #
- # DESCRIPTION: Return a string pointer to the control's text label.
- #
- # PARAMETERS: Memory address on the remote device of the control
- # object. Usually the result of something like
- # FrmGetObjectPtr on a control object.
- #
- # RETURNED: A list containing the memory address on the remote
- # device of the label, and the label string itself.
- #
- ########################################################################
-
- sub CtlGetLabel
- {
- # const Char* CtlGetLabel (const ControlType * ctlP)
-
- my ($return, $format) = ("string", "rptr");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapCtlGetLabel, $format, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: DmNumDatabases
- #
- # DESCRIPTION: Returns the number of databases on a card
- #
- # PARAMETERS: card number
- #
- # RETURNS: Number of databases found
- #
- ########################################################################
-
- sub DmNumDatabases
- {
- # UInt DmNumDatabases (UInt cardNo)
-
- my ($return, $format) = ("int16", "int16");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapDmNumDatabases, $format, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: DmDatabaseInfo
- #
- # DESCRIPTION: Retrieves database information
- #
- # PARAMETERS: Card number, database LocalID
- #
- # RETURNS: Result code from function, as well as the components
- # of a hash. To get the result, assign the result
- # of this function to ($err, %results). You can
- # then extract individual values from %results using
- # hash operators and the following keys: name
- # attributes, version, crDate, modDate, bckUpDate,
- # modNum, appInfoID, sortInfoID, type, and creator.
- # Example: $name = $results{name}.
- #
- ########################################################################
-
- sub DmDatabaseInfo
- {
- # Err DmDatabaseInfo (UInt cardNo, LocalID dbID, const CharPtr nameP,
- # UIntPtr attributesP, UIntPtr versionP, ULongPtr crDateP,
- # ULongPtr modDateP, ULongPtr bckUpDateP,
- # ULongPtr modNumP, LocalID* appInfoIDP,
- # LocalID* sortInfoIDP, ULongPtr typeP,
- # ULongPtr creatorP)
-
- my ($cardNo, $dbID) = @_;
-
- my ($format) = "int16 LocalID string32 int16* int16* int32* int32* " .
- "int32* int32* LocalID* LocalID* int32* int32*";
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapDmDatabaseInfo, $format,
- $cardNo, $dbID, "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
-
- ($D0, name => $params[2],
- attributes => $params[3],
- version => $params[4],
- crDate => $params[5],
- modDate => $params[6],
- bckUpDate => $params[7],
- modNum => $params[8],
- appInfoID => $params[9],
- sortInfoID => $params[10],
- type => $params[11],
- creator => $params[12]);
- }
-
-
- ########################################################################
- #
- # FUNCTION: DmFindDatabase
- #
- # DESCRIPTION: Searches for a database by name
- #
- # PARAMETERS: card number, database name
- #
- # RETURNS: LocalID of database header
- #
- ########################################################################
-
- sub DmFindDatabase
- {
- # LocalID DmFindDatabase (UInt cardNo, const CharPtr nameP)
-
- my ($return, $format) = ("LocalID", "int16 string");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapDmFindDatabase, $format, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: EvtEnqueuePenPoint
- #
- # DESCRIPTION: Called by the digitizer interrupt routine to enqueue
- # a pen coordinate into the pen queue.
- #
- # PARAMETERS: x and y coordinates, subtracted from 256.
- # Example: EvtEnqueuePoint (256 - 100, 256 - 80)
- # Pass in (-1, -1) to enqueue a Pen Up.
- #
- # RETURNS: size of queue in bytes
- #
- ########################################################################
-
- sub EvtEnqueuePenPoint
- {
- # Err EvtEnqueuePenPoint (PointType* ptP)
-
- my ($return, $format) = ("Err", "point");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapEvtEnqueuePenPoint, $format, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
- ########################################################################
- #
- # FUNCTION: EvtEnqueueKey
- #
- # DESCRIPTION: Called by the digitizer interrupt routine to enqueue
- # a key into the key queue.
- #
- # PARAMETERS: WChar ascii, UInt16 keycode, UInt16 modifiers
- #
- # RETURNS: size of queue in bytes
- #
- ########################################################################
-
- sub EvtEnqueueKey
- {
- # Err EvtEnqueueKey (WChar ascii, UInt16 keycode, UInt16 modifiers)
-
- my ($return, $format) = ("Err", "int16 int16 int16");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapEvtEnqueueKey, $format, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: FrmGetActiveForm
- #
- # DESCRIPTION: This routine returns the currently active form.
- #
- # PARAMETERS: nothing
- #
- # RETURNED: Memory address on the remote device of the form.
- #
- ########################################################################
-
- sub FrmGetActiveForm
- {
- # FormPtr FrmGetActiveForm (void)
-
- my ($return, $format) = ("rptr", "");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapFrmGetActiveForm, $format, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: FrmGetLabel
- #
- # DESCRIPTION: This routine return the text of the specified label object
- # in the specified form.
- #
- # PARAMETERS: formP - memory block that contains the form.
- # labelID - id of the label object.
- #
- # RETURNED: A list containing the memory address on the remote
- # device of the label, and the label string itself.
- #
- ########################################################################
-
- sub FrmGetLabel
- {
- # CharPtr FrmGetLabel (const FormPtr frm, const Word lableID)
-
- my ($return, $format) = ("string", "rptr int16");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapFrmGetLabel, $format, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: FrmGetNumberOfObjects
- #
- # DESCRIPTION: This routine returns the number of objects in a form.
- #
- # PARAMETERS: formP memory block that contains the form.
- #
- # RETURNED: number of object in the form specified
- #
- ########################################################################
-
- sub FrmGetNumberOfObjects
- {
- # Word FrmGetNumberOfObjects (const FormPtr frm)
-
- my ($return, $format) = ("int16", "rptr");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapFrmGetNumberOfObjects, $format, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: FrmGetObjectBounds
- #
- # DESCRIPTION: This routine returns the bounds of the specified form object
- #
- # PARAMETERS: formP memory block that contains the form.
- # objIndex index of the object
- #
- # RETURNS: The components of a hash. To get the result, assign
- # the result of this function to %results. You can
- # then extract individual values from %results using
- # hash operators and the following keys: top, left
- # bottom, right, width, height.
- # Example: $top = $results{top}.
- #
- ########################################################################
-
- sub FrmGetObjectBounds
- {
- # void FrmGetObjectBounds (const FormPtr frm, const Word pObjIndex, const RectanglePtr r)
-
- my ($form, $obj_index) = @_;
-
- my ($return, $format) = ("", "rptr int16 rect");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapFrmGetObjectBounds, $format,
- $form, $obj_index, {});
-
- my ($foo) = $params[2];
- %$foo;
- }
-
-
- ########################################################################
- #
- # FUNCTION: FrmGetObjectId
- #
- # DESCRIPTION: This routine returns the id of the object specified.
- # An id is a value specified by the application developer
- # that uniquely identifies an object.
- #
- # PARAMETERS: formP memory block that contains the form.
- # objIndex item number of the object
- #
- # RETURNED: Object ID.
- #
- ########################################################################
-
- sub FrmGetObjectId
- {
- # UInt16 FrmGetObjectId (const FormType * formP, UInt16 objIndex)
-
- my ($return, $format) = ("int16", "rptr int16");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapFrmGetObjectId, $format, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: FrmGetObjectPtr
- #
- # DESCRIPTION: This routine returns a pointer to the data structure of an
- # object in a form.
- #
- # PARAMETERS: formP memory block that contains the form.
- # objIndex item number of the object
- #
- # RETURNED: Memory address on the remote device of the object.
- # The contents of the object depend on the object type.
- #
- ########################################################################
-
- sub FrmGetObjectPtr
- {
- # VoidPtr FrmGetObjectPtr (const FormPtr frm, const Word objIndex)
-
- my ($return, $format) = ("rptr", "rptr int16");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapFrmGetObjectPtr, $format, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: FrmGetObjectType
- #
- # DESCRIPTION: This routine returns the type of an object.
- #
- # PARAMETERS: formP memory block that contains the form.
- # objIndex item number of the object
- #
- # RETURNED: FormObjectType of the item specified
- #
- ########################################################################
-
- sub FrmGetObjectType
- {
- # FormObjectKind FrmGetObjectType (const FormPtr frm, const Word objIndex)
-
- my ($return, $format) = ("int16", "rptr int16");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapFrmGetObjectType, $format, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
- ########################################################################
- #
- # FUNCTION: FrmGetTitle
- #
- # DESCRIPTION: This routine returns a pointer to the title string of a
- # form.
- #
- # PARAMETERS: formP - memory block that contains the form.
- #
- # RETURNED: A list containing the memory address on the remote
- # device of the title, and the title string itself.
- #
- ########################################################################
-
- sub FrmGetTitle
- {
- # const Char * FrmGetTitle (const FormType * formP)
-
- my ($return, $format) = ("string", "rptr");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapFrmGetTitle, $format, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: HostGetHostVersion
- #
- # DESCRIPTION: Get the version of the host (Palm OS Emulator).
- #
- # PARAMETERS: None
- #
- # RETURNS: Version number of Poser in Palm OS version format.
- #
- ########################################################################
-
- sub HostGetHostVersion
- {
- # long HostGetHostVersion(void)
-
- my ($return, $format) = ("int32", "int16");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapHostControl, $format,
- hostSelectorGetHostVersion, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: HostGremlinNew
- #
- # DESCRIPTION: Start a new Gremlin Horde.
- #
- # PARAMETERS: Starting Gremlin number.
- # Ending Gremlin number.
- # Frequency (in terms of Gremlin events) at which
- # states are automatically saved.
- # Switching depth (number of events generated before
- # switching to a different Gremlin).
- # Max depth (maximum number of events generated
- # for each Gremlin).
- # List of application names on which to run Gremlins.
- #
- # RETURNS: Error code.
- #
- ########################################################################
-
- sub HostGremlinNew
- {
- # HostErr HostGremlinNew(const HostGremlinInfo*)
-
- ($start, $stop, $save_freq, $switch_depth, $max_depth, @apps) = @_;
-
- my ($app_string) = join (",", @apps);
-
- my ($struct) = pack("NNNNN", $start, $stop, $save_freq, $switch_depth, $max_depth) . $app_string;
-
- my ($return, $format) = ("HostErr", "int16 block");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapHostControl, $format,
- hostSelectorGremlinNew, $struct);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: HostSetLogFileSize
- #
- # DESCRIPTION: Create a new session.
- #
- # PARAMETERS: Name of device to emulate. Choices are: "Pilot",
- # "PalmPilot", "Palm III", "Palm IIIx",
- # "Palm V", "Palm VII".
- # RAM size (in K) to emulate.
- # Path to ROM to use.
- #
- # RETURNS: Error code.
- #
- ########################################################################
-
- sub HostSetLogFileSize
- {
- # void HostSetLogFileSize(long)
-
- my ($return, $format) = ("HostErr", "int32");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapHostControl, $format,
- hostSelectorSetLogFileSize, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: HostSessionCreate
- #
- # DESCRIPTION: Create a new session.
- #
- # PARAMETERS: Name of device to emulate. Choices are: "Pilot",
- # "PalmPilot", "Palm III", "Palm IIIx",
- # "Palm V", "Palm VII".
- # RAM size (in K) to emulate.
- # Path to ROM to use.
- #
- # RETURNS: Error code.
- #
- ########################################################################
-
- sub HostSessionCreate
- {
- # HostErr HostSessionCreate(const char* device, long ramSize, const char* romPath)
-
- my ($return, $format) = ("HostErr", "int16 string int32 string");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapHostControl, $format,
- hostSelectorSessionCreate, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: HostSessionOpen
- #
- # DESCRIPTION: Open a previously create session file.
- #
- # PARAMETERS: Path to session file to open.
- #
- # RETURNS: Error code.
- #
- ########################################################################
-
- sub HostSessionOpen
- {
- # HostErr HostSessionOpen(const char* psfFileName)
-
- my ($return, $format) = ("HostErr", "int16 string");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapHostControl, $format,
- hostSelectorSessionOpen, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: HostSessionClose
- #
- # DESCRIPTION: Close the current session, optionally saving it.
- #
- # PARAMETERS: Name of session file to create. Can be null.
- #
- # RETURNS: Error code.
- #
- ########################################################################
-
- sub HostSessionClose
- {
- # HostErr HostSessionClose(const char* saveFileName)
-
- my ($return, $format) = ("HostErr", "int16 string");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapHostControl, $format,
- hostSelectorSessionClose, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: HostSessionQuit
- #
- # DESCRIPTION: Ask Palm OS Emulator to quit.
- #
- # PARAMETERS: None
- #
- # RETURNS: Error code.
- #
- ########################################################################
-
- sub HostSessionQuit
- {
- # HostErr HostSessionQuit(void)
-
- my ($return, $format) = ("HostErr", "int16");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapHostControl, $format,
- hostSelectorSessionQuit, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: HostSignalWait
- #
- # DESCRIPTION: Wait for a signal from the Palm OS Emulator.
- #
- # PARAMETERS: timeout (in milliseconds)
- #
- # RETURNS: List containing the error code and the numeric
- # signal value returned from the Emulator.
- #
- ########################################################################
-
- sub HostSignalWait
- {
- # HostErr HostSignalWait(long timeout, HostSignal* signalNumber)
-
- my ($return, $format) = ("HostErr", "int16 int32 int32*");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapHostControl, $format,
- hostSelectorSignalWait, $_[0], 0);
-
- ($D0, $params[2]); # 0 = selector, 1 = timeout, 2 = signal number
- }
-
-
- ########################################################################
- #
- # FUNCTION: HostSignalResume
- #
- # DESCRIPTION: Tell the Emulator to resume after it has sent us
- # a signal.
- #
- # PARAMETERS: None
- #
- # RETURNS: Error code.
- #
- ########################################################################
-
- sub HostSignalResume
- {
- # HostErr HostSignalResume(void)
-
- my ($return, $format) = ("HostErr", "int16");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapHostControl, $format,
- hostSelectorSignalResume, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: MemChunkFree
- #
- # DESCRIPTION: Disposes of a chunk
- #
- # PARAMETERS: Pointer to chunk
- #
- # RETURNS: 0 if no error
- #
- ########################################################################
-
- sub MemChunkFree
- {
- my ($return, $format) = ("Err", "rptr");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapMemChunkFree, $format, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: MemPtrFree
- #
- # DESCRIPTION: Disposes of a chunk
- #
- # PARAMETERS: Pointer to chunk
- #
- # RETURNS: 0 if no error
- #
- ########################################################################
-
- sub MemPtrFree
- {
- MemChunkFree (@_);
- }
-
-
- ########################################################################
- #
- # FUNCTION: MemPtrNew
- #
- # DESCRIPTION: Allocates a non-movable chunk in the dynamic heap
- #
- # PARAMETERS: requested size of chunk
- #
- # RETURNS: Ptr to chunk, or 0 if error
- #
- ########################################################################
-
- sub MemPtrNew
- {
- my ($return, $format) = ("rptr", "int32");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapMemPtrNew, $format, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: MemPtrSetOwner
- #
- # DESCRIPTION: Sets the owner ID of a chunk
- #
- # PARAMETERS: chunk data pointer
- #
- # RETURNS: 0 if no error
- #
- ########################################################################
-
- sub MemPtrSetOwner
- {
- # Err MemPtrSetOwner (void* p, UInt16 owner)
-
- my ($return, $format) = ("Err", "rptr int16");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapMemPtrSetOwner, $format, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: SysUIAppSwitch
- #
- # DESCRIPTION: Tries to make the current UI application quit and
- # then launches the given UI application by card
- # number and database ID.
- #
- # PARAMETERS: cardNo, dbID, launchCmd, cmdPBP
- #
- # Note that in order to utilize the cmdPBP, you need
- # to first create a buffer on the remote side with
- # MemPtrNew and fill in its contents with
- # EmRPC::WriteBlock. If you want to pass NULL for
- # cmdPBP, specify zero for the last parameter.
- #
- # RETURNS: errNone if no err
- #
- ########################################################################
-
- sub SysUIAppSwitch
- {
- # Err SysUIAppSwitch(UInt16 cardNo, LocalID dbID, UInt16 cmd, MemPtr cmdPBP)
-
- my ($return, $format) = ("Err", "int16 LocalID int16 rptr");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapSysUIAppSwitch, $format, @_);
- EmRPC::ReturnValue ($return, $D0, $A0, @params);
- }
-
-
- ########################################################################
- #
- # FUNCTION: WinDisplayToWindowPt
- #
- # DESCRIPTION: This routine converts a display-relative coordinate to
- # a window-relative coordinate. The coordinate returned is
- # relative to the draw window.
- #
- # PARAMETERS: xP <-> x coordinate to convert
- # yP <-> y coordinate to convert
- #
- # RETURNED: nothing
- #
- ########################################################################
-
- sub WinDisplayToWindowPt
- {
- # void WinDisplayToWindowPt (Coord * xP, Coord * yP)
-
- my ($return, $format) = ("void", "Coord* Coord*");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapWinDisplayToWindowPt, $format, @_);
- ($params[0], $params[1]);
- }
-
-
- ########################################################################
- #
- # FUNCTION: WinWindowToDisplayPt
- #
- # DESCRIPTION: This routine converts a window-relative coordinate to
- # a display-relative coordinate. The coordinate passed is
- # assumed to be relative to the draw window.
- #
- # PARAMETERS: xP <-> x coordinate to convert
- # yP <-> y coordinate to convert
- #
- # RETURNED: nothing
- #
- ########################################################################
-
- sub WinWindowToDisplayPt
- {
- # void WinWindowToDisplayPt (Coord * xP, Coord * yP)
-
- my ($return, $format) = ("void", "Coord* Coord*");
- my ($D0, $A0, @params) = EmRPC::DoRPC (sysTrapWinWindowToDisplayPt, $format, @_);
- ($params[0], $params[1]);
- }
-
- 1;
-