|
PenProfile 2.x | |||||||||
| PREV NEXT | FRAMES NO FRAMES | |||||||||
See:
Description
| Livescribe Pen Profile | |
|---|---|
| com.livescribe.afp | This package consists of classes that interact with Anoto Functionality Document files and related APIs. |
| com.livescribe.buttons | |
| com.livescribe.configuration | This package consists of classes and interfaces that provide access to configuration values and specific access to System configuration settings. |
| com.livescribe.display | This package consists of classes and interfaces that allows applications to render on the pen display. |
| com.livescribe.event | This package consists of classes and interfaces that broadcast notifications and events to penlets. |
| com.livescribe.ext.io | Contains I/O-related tools and classes. |
| com.livescribe.ext.plugins | Contains single-function plugins designed to, among other things, help the developer achieve parity with Livescribe's UI guidelines, and provide easier ways to do more difficult things, such as acquiring and recognizing handwriting from the user. |
| com.livescribe.ext.ui | Contains classes for conveniently creating menus, managing menu bookmarks, and doing other helpful UI-related things. |
| com.livescribe.ext.util | Contains miscellaneous helper utilities, including a logging helper, collections classes, and a few threading primitives. |
| com.livescribe.geom | |
| com.livescribe.i18n | This package consists of classes and interfaces to aid the internationalization of application resources. |
| com.livescribe.icr | Provides classes and interfaces for Intelligent Character Recognition (ICR). |
| com.livescribe.io | |
| com.livescribe.penlet | This package consists of classes and interfaces that are core to pen application development. |
| com.livescribe.storage | |
| com.livescribe.ui | |
| com.livescribe.util | |
| CLDC 1.1 | |
|---|---|
| java.io | Provides classes for input and output through data streams. |
| java.lang | Provides classes that are fundamental to the Java programming language. |
| java.lang.ref | Provides support for weak references. |
| java.util | Contains the collection classes, and the date and time facilities. |
| MMAPI 1.2 | |
|---|---|
| javax.microedition.media.control | |
| javax.microedition.media.protocol | |
| Other Packages | |
|---|---|
| com.sun.cldc.i18n | Provides classes for work with character streams. |
| com.sun.cldc.i18n.j2me | |
| com.sun.cldc.i18n.uclc | Provides class for converting characters from upper case to low case. |
| com.sun.cldc.io | Provides base class for all connections. |
| com.sun.cldc.io.j2me.socket | |
| com.sun.cldc.isolate | |
| com.sun.cldc.util | |
| com.sun.cldc.util.j2me | Provides implementation classes for java.util.Calendar and java.util.TimeZone. |
| com.sun.cldchi.io | Provides class for System.out implmentation. |
| com.sun.cldchi.jvm | Provides classes for interaction with VM internals. |
| com.sun.cldchi.test | |
| javax.microedition.io | Classes for the Generic Connection framework. |
| javax.microedition.media | |
| Date |
Version |
Description |
| 0.2 |
|
|
| 0.3 |
|
|
| 0.4 |
|
|
| 0.5 |
|
|
| 0.6 |
|
|
| 0.7 |
|
MMAPI
1.2 (JSR 135)
|
||||||||
Livescribe
Pen Profile
|
||||||||
CLDC 1.1 (JSR 139) |
java.lang.System.getProperty()
| Property |
Description |
| pen.profile.version |
The API revision of the pen
profile. Currently it should report 0.6 |
| AFD |
AFD stands for Anoto
Functionality Document. It is a document format that describes a Paper
Product. An AFD can be viewed, printed and also have applications bound
to it. |
| AFP |
AFP stands for Anoto
Functionality Platform, a set of APIs to manipulate AFDs. The smartpen
platform exposes a subset of this API. |
| Paper Product |
One or more dot-enabled pages,
usually with printed graphics, that have been designed to work with a
penlet (or with several penlets). The dots, static regions, shapes,
graphics, and dot license for the pages are specified in an AFD. |
| Region |
Region refers to a region of interest to a
penlet. It is a region of Anoto dot-space defined by a Shape. When the smartpen user performs some action
on the
region (such as tapping), the system sends an event to the penlet that
registered for that region. Every region has an unique identifier,
called a Region ID.Regions can either be:
RegionCollection refers to a collection
of Region on a single page of dot-enabled
paper. |
| Fixed Print (FP) Application |
Consists of a Paper Product and a penlet
that claimed a piece of dot-space when the penlet was installed on the
smartpen.
The penlet uses the dotspace for static regions and/or for interpreting
strokes made
by the smartpen user. A user launches the penlet by tapping on a static
Region registered to
that penlet. The penlet may have other means of activation, such as the
Main Menu system.
In an FP application, the developer must explicitly bind the penlet to
one or more paper products. |
| Open Paper (OP) Application |
Consists of a penlet that can
make use of any Open Paper. The penlet does not claim any dot-space at
installation time, and the developer does not bind the penlet to a Paper Product. The penlet may create dynamic
regions in response to user activity. Once created, these regions are
"tappable" by the user. The user can launch an OP application by using
the Main Menu on the smartpen or by tapping an existing dynamic Region. The developer is responsible for
providing the functionality for these tappable dynamic Regions. All
applications that are not FP apps can be thought of as OP apps, whether
they actually use dot-enabled paper or not. (For instance, some
applications require no paper, but only the display and audio
capabilities of the smartpen.) |
| Notes Mode |
The state of the system when no
penlets are being run: the system captures
strokes written by the user on dot-enabled paper. If the Default Screen is visible on the
smartpen display, then the smartpen is in Notes Mode. |
| Data On
Display |
State of a
penlet in which it has some data that should temporarily stay on the
display before the system switches to Notes
Mode. Most often occurs when a Fixed Print (FP) application is
active and the user taps on Open Paper. Because the penlet has Data on
Display status, the system delays starting Notes Mode very briefly.
Example: A Fixed Print calculator penlet has a computational result
visible
on the display, and then the user taps on Open Paper. The system allows
the result to remain on the display for a short while and then
activates Notes Mode. |
| Nav Plus |
Navigational control to navigate
the smartpen's menu system. NavPlus controls are pre-printed on various
pieces of dot-enabled paper. They are also created dynamically on Open Paper when the user draws a cross and
double taps on the center of the cross. |
| Default Screen |
Default screen, visible when no
penlet owns the display. |
| APM |
Audio Punctuation Marks. These
are short sounds that are played to grab the
user's attention and provide feedback for a user action. |
Penlet base class. The Penlet class defines the
life cycle for the application and exposes the runtime services (using
PenletContext).| Location
in jar |
Description |
Required |
| META-INF/MANIFEST.MF |
Manifest file containing
penlet metadata |
YES |
| menu.txt |
Contains metadata about
registering the penlet with the menu system |
YES, if the application is
launched from the menu. |
| config.txt |
Configuration properties for the
penlet. This is a simple property file that the penlet can
access using the Config class. |
NO |
PenletContext object and makes it
available to the penlet via the
Penlet.context variable. Other contexts are created from an existing
one, when the penlet calls a method
on the existing context. For instance, the penlet can call the
getIRCContext() method on a PenletContext object in order to create and
access an ICRContext object.
| State |
Event |
Description |
| Initialized |
Penlet.initApp() |
In this state, the system has
initialized the penlet with a PenletContext object. Now it can acquire
resources needed for the rest of the life cycle. If resources do not
require a context, however, the penlet can create them even earlier--in
the penlet's constructor. |
| Active |
Penlet.activateApp() |
The penlet goes into this state
when it is activated. Only one penlet can be active at any
time. The penlet can be activated for various reasons (defined by Penlet.ACTIVATED_BY_XXX
constants). The reason for the activation and any optional arguments
are passed during this time. Penlets can acquire resources for
doing work at this time. |
| Inactive |
Penlet.deactivateApp() | A penlet goes into this state
when it is deactivated. The penlet can be activated for various
reasons (defined by Penlet.DEACTIVATED_BY_XXX constants).
The reason for deactivation is passed to the penlet. |
| Destroyed |
Penlet.destroyApp() |
A penlet goes into this state
when the runtime determines that the penlet should be unloaded. If the
penlet was Active, then
it is made Inactive, before
the penlet enters the Destroyed
state. The developer must release all the resources acquired during the
Initialized
phase of the life cycle. The developer must also exit any threads that
were created by the penlet. |

Penlet. Listeners that can be
registered during design time are:PenletContext's add/remove*Listener() methods.ScrollLabel and BrowseListclasses are two such components.Canvas and Graphics classes.Region
class.HWRListener classes) to allow the application to
get user input.PenletStorage class, which is based on
java.io
Input and Output streams. In addition, it supports a file system
API to create, delete, and list directories and files.com.livescribe.penlet.Synchronizable interface. When invoked
to synchronize, the penlet uses the com.livescribe.penlet.SyncContext to
attach data files to be synchronized.
MenuEventListener interface in its Penlet
subclass.
|
PenProfile 2.x | |||||||||
| PREV NEXT | FRAMES NO FRAMES | |||||||||