Examples

There are other communications between the Palm OS and your application that you might want to handle in your code. Particular events, or overall access might be important for you to control. In any case, here are events some applications want to handle:

  • A particular pen-down event

  • The input of a graffiti character

  • How to take over the hard buttons for your own use within your application

  • How to take over the entire device and not allow any other applications to run

Let’s take a look at the code required to handle each of these instances.

Handling a Pen-Down Event

Normally, you will not handle pen-down events directly, but instead handle higher-level events like ctlSelectEvent. However, occasionally, applications will want to be on the lookout for a penDown event. An example is the Address Book: tapping and releasing on the display of an address in the display view switches to the edit view.

The source code to the Address Book is part of the Palm OS 3.5 SDK. The RecordViewHandleEvent in Address.c from that example contains the following case:

case penDownEvent:
         handled = RecordViewHandlePen(event);
         break;

RecordViewHandlePen handles penDown events in the display-only view of the record (see Example 5-15).

Example 5-15. RecordViewHandlePen in the Address Book source
static Boolean RecordViewHandlePen (EventType * event) { Boolean handled = false; FormPtr frm; RectangleType r; Int16 x, y; Boolean penDown; // If the user taps in the RecordViewDisplay take her to the Edit View. ...

Get Palm OS Programming, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.