throbber
Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 1 of 200 PageID #: 28645
`Case 1:13-cv-00919—LPS Document 311-5 Filed 03/10/21 Page 1 of 200 PageID #: 28645
`
`EXHIBIT 64 PART 1
`
`EXHIBIT 64 PART 1
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 2 of 200 PageID #: 28646
`
`Apple
`
`P RESS
`
`Newton Programmer's Guide
`
`For Newton 2.0
`
`A
`v1
`
`Addison-Wesley Publishing Company
`
`Reading, Massachusetts Menlo Park, California New York
`Don Mills, Ontario Harlow, England Amsterdam Bonn
`Sydney Singapore Tokyo Madrid San Juan
`Paris Seoul Milan Mexico City Taipei
`
`ARENDI-DEFS00003649
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 3 of 200 PageID #: 28647
`
`S Apple Computer, Inc.
`© 1996 Apple Computer, Inc.
`All rights reserved.
`No part of this publication may be
`reproduced, stored in a retrieval
`system, or transmitted, in any form or
`by any means, mechanical, electronic,
`photocopying, recording, or
`otherwise, without prior written
`permission of Apple Computer, Inc.,
`except to make a backup copy of any
`documentation provided on
`CD-ROM. Printed in the United
`States of America.
`No licenses, express or implied, are
`granted with respect to any of the
`technology described in this book.
`Apple retains all intellectual property
`rights associated with the technology
`described in this book. This book is
`intended to assist application
`developers to develop applications
`only for licensed Newton platforms.
`Every effort has been made to ensure
`that the information in this manual is
`accurate. Apple is not responsible for
`printing or clerical errors.
`
`Apple Computer, Inc.
`1 Infinite Loop
`Cupertino, CA 95014
`408-996-1010
`
`Apple, the Apple logo, APDA,
`AppleLink, AppleTalk, Espy,
`LaserWriter, the light bulb logo,
`Macintosh, MessagePad, Newton,
`Newton Connection Kit, and New York
`are trademarks of Apple Computer, Inc.,
`registered in the United States and other
`countries.
`
`Apple Press, the Apple Press Signature,
`eWorld, Geneva, NewtonScript, Newton
`Toolkit, and QuickDraw are trademarks
`of Apple Computer, Inc.
`Acrobat, Adobe Illustrator, and
`PostScript are trademarks of Adobe
`Systems Incorporated, which may be
`registered in certain jurisdictions.
`CompuServe is a registered service
`mark of CompuServe, Inc.
`FrameMaker is a registered trademark
`of Frame Technology Corporation.
`Helvetica and Palatino are registered
`trademarks of Linotype Company.
`ITC Zapf Dingbats is a registered
`trademark of International Typeface
`Corporation.
`Microsoft is a registered trademark of
`Microsoft Corporation. Windows is a
`trademark of Microsoft Corporation.
`QuickViewTM is licensed from Altura
`Software, Inc.
`
`Simultaneously published in the
`United States and Canada.
`
`LIMITED WARRANTY ON MEDIA AND
`REPLACEMENT
`
`ALL IMPLIED WARRANTIES ON THIS
`MANUAL, INCLUDING IMPLIED
`WARRANTIES OF
`MERCHANTABILITY AND FITNESS
`FORA PARTICULAR PURPOSE, ARE
`LIMITED IN DURATION TO NINETY
`(90) DAYS FROM THE DATE OF THE
`ORIGINAL RETAIL PURCHASE OF
`THIS PRODUCT.
`
`Even though Apple has reviewed this
`manual, APPLE MAKES NO
`WARRANTY OR REPRESENTATION,
`EITHER EXPRESS OR IMPLIED, WITH
`RESPECT TO THIS MANUAL, ITS
`QUALITY, ACCURACY,
`MERCHANTABILITY, OR FITNESS
`FORA PARTICULAR PURPOSE. AS A
`RESULT, THIS MANUAL IS SOLD "AS
`IS," AND YOU, THE PURCHASER, ARE
`ASSUMING THE ENTIRE RISK AS TO
`ITS QUALITY AND ACCURACY.
`
`IN NO EVENT WILL APPLE BE LIABLE
`FOR DIRECT, INDIRECT, SPECIAL,
`INCIDENTAL, OR CONSEQUENTIAL
`DAMAGES RESULTING FROM ANY
`DEFECT OR INACCURACY IN THIS
`MANUAL, even if advised of the possibility
`of such damages.
`
`THE WARRANTY AND REMEDIES SET
`FORTH ABOVE ARE EXCLUSIVE AND
`IN LIEU OF ALL OTHERS, ORAL OR
`WRITTEN, EXPRESS OR IMPLIED. No
`Apple dealer, agent, or employee is
`authorized to make any modification,
`extension, or addition to this warranty.
`
`Some states do not allow the exclusion or
`limitation of implied warranties or liability
`for incidental or consequential damages, so
`the above limitation or exclusion may not
`apply to you. This warranty gives you
`specific legal rights, and you may also have
`other rights which vary from state to state.
`
`ARENDI-DEFS00003650
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 4 of 200 PageID #: 28648
`
`ririTable of Contents
`
`Figures and Tables
`
`xxxiii
`
`Preface
`
`About This Book xiiii
`
`xliii
`
`xlv
`
`Who Should Read This Book
`xliii
`Related Books
`Newton Programmer's Reference CD-ROM
`Sample Code
`xlv
`Conventions Used in This Book
`Special Fonts
`xlv
`Tap Versus Click
`xlvi
`Frame Code
`xlvii
`Developer Products and Support
`Undocumented System Software Objects
`
`xlvi
`
`Chapter 1
`
`1-1
`
`Overview 1-1
`Operating System
`Memory
`1-3
`Packages
`1-4
`1-4
`System Services
`Object Storage System
`1-6
`View System
`Text Input and Recognition
`1-8
`Stationery
`Intelligent Assistant
`Imaging and Printing
`1-9
`Sound
`Book Reader
`1-10
`Find
`Filing
`1-11
`
`1-5
`
`1-7
`
`1-8
`1-9
`
`1-10
`
`xliv
`
`xlviii
`
`iii
`
`ARENDI-DEFS00003651
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 5 of 200 PageID #: 28649
`
`1-14
`
`1-15
`
`1-18
`1-18
`
`1-11
`Communications Services
`NewtonScript Application Communications
`1-13
`Routing Through the In/Out Box
`1-14
`Endpoint Interface
`Low-Level Communications
`1-14
`Transport Interface
`Communication Tool Interface
`1-15
`Application Components
`Using System Software
`1-17
`The NewtonScript Language
`What's New in Newton 2.0
`NewtApp
`1-18
`Stationery
`1-19
`1-19
`Views
`Protos
`1-20
`1-20
`Data Storage
`1-20
`Text Input
`Graphics and Drawing
`1-21
`System Services
`Recognition
`1-22
`1-22
`Sound
`Built-in Applications
`Routing and Transports
`Endpoint Communication
`1-24
`Utilities
`Books
`1-24
`
`1-21
`
`1-22
`1-23
`1-23
`
`Chapter 2
`
`iv
`
`2-1
`
`2-1
`
`2-2
`
`Getting Started
`Choosing an Application Structure
`2-1
`Minimal Structure
`NewtApp Framework
`2-3
`Digital Books
`2-4
`Other Kinds of Software
`Package Loading, Activation, and Deactivation
`Loading
`2-5
`Activation
`2-5
`Deactivation
`2-6
`
`1-13
`
`2-4
`
`ARENDI-DEFS00003652
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 6 of 200 PageID #: 28650
`
`2-9
`
`Effects of System Resets on Application Data
`2-8
`Flow of Control
`Using Memory
`2-8
`Localization
`2-9
`Developer Signature Guidelines
`2-9
`Signature
`How to Register
`Application Name
`Application Symbol
`2-11
`Package Name
`2-12
`Summary
`View Classes and Protos
`2-12
`Functions
`
`2-10
`2-10
`2-11
`
`2-12
`
`Chapter 3
`
`VIeWS 3-1
`
`3-1
`3-2
`
`About Views
`Templates
`3-4
`Views
`3-6
`Coordinate System
`Defining View Characteristics
`3-9
`Class
`3-9
`Behavior
`Location, Size, and Alignment
`3-20
`Appearance
`Opening and Closing Animation Effects
`3-24
`Other Characteristics
`Inheritance Links
`3-24
`Application-Defined Methods
`3-26
`View Instantiation
`Declaring a View
`3-27
`Creating a View
`3-28
`Closing a View
`3-29
`3-30
`View Compatibility
`3-30
`New Drag and Drop API
`3-30
`New Functions and Methods
`3-30
`New Messages
`New Alignment Flags
`
`3-8
`
`3-10
`
`3-26
`
`3-31
`
`2-7
`
`3-23
`
`V
`
`ARENDI-DEFS00003653
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 7 of 200 PageID #: 28651
`
`3-32
`
`3-34
`3-35
`3-36
`
`3-31
`
`3-33
`
`3-37
`
`3-39
`
`3-40
`
`3-43
`3-44
`3-44
`
`Changes to Existing Functions and Methods
`3-32
`New Warning Messages
`Obsolete Functions and Methods
`3-32
`Using Views
`3-32
`Getting References to Views
`Displaying, Hiding, and Redrawing Views
`3-33
`Dynamically Adding Views
`Showing a Hidden View
`3-34
`Adding to the stepChildren Array
`Using the AddStepView Function
`Using the BuildContext Function
`3-36
`Creating Templates
`Making a Picker View
`3-37
`3-37
`Changing the Values in viewFormat
`Determining Which View Item Is Selected
`3-38
`Complex View Effects
`Making Modal Views
`3-38
`Finding the Bounds of Views
`3-40
`Animating Views
`Dragging a View
`3-40
`Dragging and Dropping with Views
`3-41
`Scrolling View Contents
`3-42
`Redirecting Scrolling Messages
`3-42
`Working With View Highlighting
`3-43
`Creating View Dependencies
`3-43
`View Synchronization
`Laying Out Multiple Child Views
`Optimizing View Performance
`Using Drawing Functions
`3-44
`View Fill
`Redrawing Views
`Memory Usage
`3-46
`Scrolling
`Summary of Views 3-47
`Constants 3-47
`Functions and Methods 3-51
`
`3-44
`3-45
`
`vi
`
`ARENDI-DEFS00003654
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 8 of 200 PageID #: 28652
`
`Chapter 4
`
`NewtApp Applications 4-1
`
`4-1
`
`4-4
`
`4-9
`
`4-11
`
`About the NewtApp Framework
`4-2
`The NewtApp Protos
`About newtApplication
`4-5
`About newtSoup
`The Layout Protos
`4-5
`4-8
`The Entry View Protos
`About the Slot View Protos
`4-11
`Stationery
`NewtApp Compatibility
`4-12
`Using NewtApp
`Constructing a NewtApp Application
`4-13
`Using Application Globals
`Using newtApplication
`4-14
`Using the Layout Protos
`4-16
`4-19
`Using Entry Views
`Using the Required NewtApp Install and Remove Scripts
`4-22
`Using Slot Views in Non-NewtApp Applications
`4-22
`Modifying the Base View
`Using a False Entry View
`4-23
`Creating a Custom Labelled Input-Line Slot View
`4-25
`Summary of the NewtApp Framework
`4-25
`Required Code
`4-25
`Protos
`
`4-12
`
`4-24
`
`Chapter 5
`
`Stationery
`
`5-1
`
`5-1
`About Stationery
`5-2
`The Stationery Buttons
`5-4
`Stationery Registration
`Getting Information about Stationery
`5-5
`Compatibility Information
`5-5
`Using Stationery
`5-5
`Designing Stationery
`5-6
`Using FillNewEntry
`5-7
`Extending the Notes Application
`Determining the SuperSymbol of the Host
`
`5-5
`
`5-7
`
`4-21
`
`vii
`
`ARENDI-DEFS00003655
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 9 of 200 PageID #: 28653
`
`5-9
`
`5-8
`Creating a DataDef
`Defining DataDef Methods
`5-11
`Creating ViewDefs
`Registering Stationery for an Auto Part
`Using the MinimalBounds ViewDef Method
`5-15
`Stationery Summary
`Data Structures
`5-15
`5-15
`Protos
`Functions
`5-17
`
`5-13
`5-14
`
`Chapter 6
`
`Pickers, Pop-up Views, and Overviews 6-1
`
`6-2
`
`6-17
`
`6-4
`
`6-7
`
`6-1
`About Pickers and Pop-up Views
`Pickers and Pop-up View Compatibility
`6-2
`New Pickers and Pop-up Views
`6-4
`Obsolete Function
`Picker Categories
`6-4
`General-Purpose Pickers
`Using protoGeneralPopup
`6-8
`Map Pickers
`Text Pickers
`6-10
`Date, Time, and Location Pop-up Views
`6-21
`Number Pickers
`Picture Picker
`6-21
`6-22
`Overview Protos
`6-24
`Using protoOverview
`6-26
`Using protoListPicker
`Using the Data Definitions Frame in a List Picker
`6-29
`Specifying Columns
`6-30
`Having a Single Selection in a List Picker
`6-30
`Having Preselected Items in a List Picker
`6-31
`Validation and Editing in protoListPicker
`6-33
`Changing the Font of protoListPicker
`6-33
`Using protoSoupOverview
`Determining Which protoSoupOverview Item Is Hit
`Displaying the protoSoupOverview Vertical Divider
`6-35
`Roll Protos
`6-36
`View Classes
`
`6-29
`
`6-33
`6-34
`
`ARENDI-DEFS00003656
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 10 of 200 PageID #: 28654
`
`6-37
`
`6-50
`
`6-41
`
`Specifying the List of Items for a Popup
`6-41
`Summary
`General Picker Protos
`6-45
`Map Pickers
`6-46
`Text Picker Protos
`Date, Time, and Location Pop-up Views
`6-53
`Number Pickers
`Picture Picker
`6-53
`6-54
`Overview Protos
`6-57
`Roll Protos
`6-58
`View Classes
`Functions
`6-59
`
`Chapter 7
`
`Controls and Other Protos 7-1
`7-1
`
`7-3
`
`Controls Compatibility
`7-2
`Scroller Protos
`Implementing a Minimal Scroller
`7-3
`Automatic Arrow Feedback
`7-4
`Scrolling Examples
`7-4
`Scrolling Lines of Text
`Scrolling in the Dates Application
`Scrolling In a Graphics Application
`7-5
`Scroll Amounts
`Advanced Usage
`7-6
`7-6
`Button and Box Protos
`Implementing a Simple Button
`7-11
`Selection Tab Protos
`Gauge and Slider Protos
`7-12
`Implementing a Simple Slider
`7-14
`Time Protos
`Implementing a Simple Time Setter
`7-16
`Special View Protos
`7-18
`View Appearance Protos
`7-19
`Status Bar Protos
`7-20
`Summary
`7-20
`Scroller Protos
`Button and Box Protos
`
`7-10
`
`7-13
`
`7-22
`
`7-5
`7-5
`
`7-15
`
`ix
`
`ARENDI-DEFS00003657
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 11 of 200 PageID #: 28655
`
`7-25
`Selection Tab Protos
`Gauges and Slider Protos
`7-27
`Time Protos
`7-28
`Special View Protos
`7-30
`View Appearance Protos
`7-31
`Status Bar Protos
`
`7-25
`
`Chapter 8
`
`Text and Ink Input and Display
`
`8-1
`
`8-1
`About Text
`8-1
`About Text and Ink
`8-2
`Written Input Formats
`Caret Insertion Writing Mode
`Fonts for Text and Ink Display
`8-3
`About Text Views and Protos
`About Keyboard Text Input
`8-4
`The Keyboard Registry
`8-5
`The Punctuation Pop-up Menu
`8-6
`Compatibility
`8-6
`Using Text
`Using Views and Protos for Text Input and Display
`8-6
`General Input Views
`8-10
`Paragraph Views
`Lightweight Paragraph Views
`8-12
`Using Input Line Protos
`Displaying Text and Ink
`8-14
`Text and Ink in Views
`8-14
`Using Fonts for Text and Ink Display
`8-22
`Rich Strings
`Text and Styles
`8-25
`Setting the Caret Insertion Point
`8-26
`Using Keyboards
`Keyboard Views
`8-26
`8-28
`Using Keyboard Protos
`Defining Keys in a Keyboard View
`8-36
`Using the Keyboard Registry
`8-36
`Defining Tabbing Orders
`The Caret Pop-up Menu
`8-38
`
`8-3
`8-3
`
`8-5
`
`8-11
`
`8-26
`
`8-17
`
`8-30
`
`8-6
`
`ARENDI-DEFS00003658
`
`x
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 12 of 200 PageID #: 28656
`
`8-38
`
`8-38
`Handling Input Events
`Testing for a Selection Hit
`8-39
`Summary of Text
`Text Constants and Data Structures
`8-42
`Views
`Protos
`8-43
`Text and Ink Display Functions and Methods
`8-49
`Keyboard Functions and Methods
`Input Event Functions and Methods
`8-50
`
`8-39
`
`Chapter 9
`
`Recognition
`
`9-1
`
`8-47
`
`9-23
`
`xi
`
`ARENDI-DEFS00003659
`
`About the Recognition System
`9-3
`Classifying Strokes
`9-4
`Gestures
`9-5
`Shapes
`Text
`9-6
`Unrecognized Strokes
`Enabling Recognizers
`9-9
`View Flags
`Recognition Configuration Frames
`View Flags vs. RecConfig Frames
`9-10
`Where to Go From Here
`9-11
`Recognition Failure
`System Dictionaries
`9-11
`Correction and Learning
`9-13
`9-14
`User Preferences for Recognition
`Handwriting Recognition Preferences
`9-18
`RecToggle Views
`Flag-Naming Conventions
`Recognition Compatibility
`Using the Recognition System
`9-21
`Types of Views
`9-22
`Configuring the Recognition System
`Obtaining Optimum Recognition Performance
`9-24
`Accepting Pen Input
`Taps and Overlapping Views
`9-25
`Recognizing Shapes
`
`9-1
`
`9-7
`9-8
`
`9-19
`9-20
`9-21
`
`9-24
`
`9-9
`9-10
`
`9-15
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 13 of 200 PageID #: 28657
`
`9-25
`
`9-28
`
`Recognizing Standard Gestures
`9-26
`Combining View Flags
`9-27
`Recognizing Text
`9-28
`Recognizing Punctuation
`Suppressing Spaces Between Words
`Forcing Capitalization
`9-29
`9-29
`Justifying to Width of Parent View
`Restricting Input to Single Lines or Single Words
`9-29
`Validating Clipboard and Keyboard Input
`9-30
`Using the vAnythingAllowed Mask
`9-31
`Summary
`9-31
`Constants
`Data Structures
`
`9-33
`
`9-29
`
`Chapter 10
`
`Recognition: Advanced Topics 10-1
`
`10-1
`
`10-5
`
`10-6
`
`10-10
`
`10-7
`
`10-1
`About Advanced Topics in Recognition
`How the System Uses Recognition Settings
`10-4
`ProtoCharEdit Views
`Ambiguous Characters in protoCharEdit Views
`10-5
`Deferred Recognition
`10-5
`User Interface to Deferred Recognition
`Programmer's Overview of Deferred Recognition
`10-7
`Compatibility Information
`Using Advanced Topics in Recognition
`10-8
`Using recConfig Frames
`10-9
`Creating a recConfig Frame
`Using RecConfig Frames to Enable Recognizers
`10-10
`Returning Text, Ink Text or Sketch Ink
`10-12
`Fine-Tuning Text Recognition
`10-13
`Manipulating Dictionaries
`Single-Character Input Views
`10-13
`Creating Single-Letter Input Views
`10-15
`Changing Recognition Behavior Dynamically
`10-19
`Using protoRecToggle Views
`Creating the recToggle View
`10-19
`Configuring Recognizers and Dictionaries for recToggle
`10-20
`Views
`Creating the recogSettings Slot
`
`10-17
`
`10-20
`
`xii
`
`ARENDI-DEFS00003660
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 14 of 200 PageID #: 28658
`
`10-22
`10-23
`
`10-24
`
`10-27
`
`10-38
`
`ARENDI-DEFS00003661
`
`Providing the _recogPopup Slot
`Accessing Correction Information
`10-24
`Using Custom Dictionaries
`Creating a Custom Enumerated Dictionary
`10-25
`Creating the Blank Dictionary
`10-26
`Adding Words to RAM-Based Dictionaries
`Removing Words From RAM-Based Dictionaries
`10-27
`Saving Dictionary Data to a Soup
`10-28
`Restoring Dictionary Data From a Soup
`10-28
`Using Your RAM-Based Custom Dictionary
`Removing Your RAM-Based Custom Dictionary
`10-30
`10-30
`Using System Dictionaries Individually
`10-30
`Working With the Review Dictionary
`Retrieving the Review Dictionary
`10-31
`10-31
`Displaying Review Dictionary Browsers
`10-32
`Adding Words to the User Dictionary
`10-32
`Removing Words From the User Dictionary
`10-33
`Adding Words to the Expand Dictionary
`Removing Words From the Expand Dictionary
`10-34
`Retrieving Word Expansions
`10-34
`Retrieving the Auto-Add Dictionary
`10-35
`Disabling the Auto-Add Mechanism
`10-35
`Adding Words to the Auto-Add Dictionary
`Removing Words From the Auto-Add Dictionary
`10-36
`Using protoCharEdit Views
`10-36
`Positioning protoCharEdit Views
`10-37
`Manipulating Text in protoCharEdit Views
`Restricting Characters Returned by protoCharEdit Views
`10-40
`Customized Processing of Input Strokes
`Customized Processing of Double Taps
`10-41
`Changing User Preferences for Recognition
`10-41
`Modifying or Replacing the Correction Picker
`10-42
`10-42
`Using Stroke Bundles
`10-42
`Stroke Bundles Example
`Summary of Advanced Topics in Recognition
`10-44
`Constants
`Data Structures
`10-45
`10-49
`Recognition System Prototypes
`Additional Recognition Functions and Methods
`
`10-34
`
`10-36
`
`10-44
`
`10-54
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 15 of 200 PageID #: 28659
`
`Chapter 11
`
`Data Storage and Retrieval
`
`11-1
`
`11-1
`11-2
`
`11-10
`11-12
`
`About Data Storage on Newton Devices
`Introduction to Data Storage Objects
`11-6
`Where to Go From Here
`11-6
`Stores
`Packages
`11-7
`11-7
`Soups
`Indexes
`11-8
`Saving User Preference Data in the System Soup
`11-10
`Queries
`Querying for Indexed Values
`Begin Keys and End Keys
`11-14
`Tag-based Queries
`11-14
`Customized Tests
`11-15
`Text Queries
`11-16
`Cursors
`Entries
`11-17
`Alternatives to Soup-Based Storage
`11-18
`Dynamic Data
`11-19
`Static Data
`11-20
`Compatibility Information
`Obsolete Store Functions and Methods
`11-20
`Soup Compatibility Information
`Query Compatibility Information
`11-23
`11-24
`Obsolete Entry Functions
`Obsolete Data Backup and Restore Functions
`11-25
`Using Newton Data Storage Objects
`11-25
`Programmer's Overview
`11-28
`Using Stores
`11-29
`Store Object Size Limits
`11-29
`Referencing Stores
`11-29
`Retrieving Packages From Stores
`11-30
`Testing Stores for Write-Protection
`11-30
`Getting or Setting the Default Store
`11-30
`Getting and Setting the Store Name
`11-31
`Accessing the Store Information Frame
`11-31
`Using Soups
`Naming Soups
`11-31
`Registering and Unregistering Soup Definitions
`
`11-18
`
`11-20
`
`11-10
`
`11-24
`
`11-32
`
`xiv
`
`ARENDI-DEFS00003662
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 16 of 200 PageID #: 28660
`
`11-35
`
`11-38
`
`11-37
`
`11-44
`
`11-33
`Retrieving Existing Soups
`11-34
`Adding Entries to Soups
`Adding an Index to an Existing Soup
`11-36
`Removing Soups
`Using Built-in Soups
`11-36
`Making Changes to Other Applications' Soups
`11-37
`Adding Tags to an Existing Soup
`11-37
`Using Queries
`11-38
`Querying Multiple Soups
`Querying on Single-Slot Indexes
`11-41
`Querying for Tags
`Querying for Text
`11-43
`Internationalized Sorting Order for Text Queries
`11-45
`Queries on Descending Indexes
`Querying on Multiple-Slot Indexes
`11-47
`11-51
`Limitations of Index Keys
`11-53
`Using Cursors
`Getting a Cursor
`11-53
`11-53
`Testing Validity of the Cursor
`Getting the Entry Currently Referenced by the Cursor
`11-54
`Moving the Cursor
`Counting the Number of Entries in Cursor Data
`11-56
`Getting the Current Entry's Index Key
`11-56
`Copying Cursors
`11-57
`Using Entries
`Saving Frames as Soup Entries
`Removing Entries From Soups
`11-59
`Modifying Entries
`Moving Entries
`11-60
`Copying Entries
`11-60
`Sharing Entry Data
`11-61
`11-61
`Using the Entry Cache Efficiently
`11-63
`Using Soup Change Notification
`Registering Your Application for Change Notification
`Unregistering Your Application for Change Notification
`11-65
`Responding to Notifications
`11-66
`Sending Notifications
`Summary of Data Storage
`11-68
`11-68
`Data Structures
`Data Storage Functions and Methods
`
`11-57
`11-58
`
`11-71
`
`11-54
`
`11-56
`
`11-63
`11-65
`
`xv
`
`ARENDI-DEFS00003663
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 17 of 200 PageID #: 28661
`
`Chapter 12
`
`Special-Purpose Objects for
`Data Storage and Retrieval
`
`12-1
`
`12-1
`
`12-2
`
`12-6
`
`12-8
`
`12-14
`
`About Special-Purpose Storage Objects
`12-1
`Entry Aliases
`Virtual Binary Objects
`12-3
`Parts
`12-4
`Store Parts
`12-4
`Mock Entries
`Mock Stores, Mock Soups, and Mock Cursors
`12-7
`Using Special-Purpose Data Storage Objects
`12-7
`Using Entry Aliases
`12-8
`Using Virtual Binary Objects
`Creating Virtual Binary Objects
`12-10
`Modifying VBO Data
`VBOs and String Data
`12-12
`12-12
`Using Store Parts
`Creating a Store Part
`12-13
`Getting the Store Part
`12-14
`Accessing Data in Store Parts
`12-14
`Using Mock Entries
`Implementing the EntryAccess Method
`12-15
`Creating aNew Mock Entry
`Testing the Validity of a Mock Entry
`12-16
`Getting Mock Entry Data
`12-16
`Changing the Mock Entry's Handler
`12-16
`Getting the Mock Entry's Handler
`Implementing Additional Handler Methods
`Summary of Special-Purpose Data Storage Objects
`12-17
`Data Structures
`Functions and Methods
`
`12-15
`
`12-16
`
`12-16
`12-17
`
`12-17
`
`Chapter 13
`
`Drawing and Graphics 13-1
`
`13-1
`About Drawing
`13-2
`Shape-Based Graphics
`13-7
`Manipulating Shapes
`13-7
`The Style Frame
`
`xvi
`
`ARENDI-DEFS00003664
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 18 of 200 PageID #: 28662
`
`13-8
`
`13-8
`
`13-8
`
`Drawing Compatibility
`13-8
`New Functions
`New Style Attribute Slots
`13-8
`Changes to Bitmaps
`Changes to the HitShape Method
`13-9
`Changes to View Classes
`Using the Drawing Interface
`13-9
`13-9
`How to Draw
`Responding to the ViewDrawScript Message
`Drawing Immediately
`13-10
`13-10
`Using Nested Arrays of Shapes
`The Transform Slot in Nested Shape Arrays
`13-12
`Default Transfer Mode
`Transfer Modes at Print Time
`13-12
`Controlling Clipping
`Transforming a Shape
`13-13
`13-14
`Using Drawing View Classes and Protos
`13-14
`Displaying Graphics Shapes and Ink
`Displaying Bitmaps, Pictures, and Graphics Shapes
`13-15
`Displaying Pictures in a clEditView
`Displaying Scaled Images of Other Views
`13-16
`Translating Data Shapes
`Finding Points Within a Shape
`13-17
`Using Bitmaps
`Making CopyBits Scale Its Output Bitmap
`Storing Compressed Pictures and Bitmaps
`Capturing a Portion of a View Into a Bitmap
`13-19
`Rotating or Flipping a Bitmap
`Importing Macintosh PICT Resources
`13-20
`Drawing Non-Default Fonts
`PICT Swapping During Run-Time Operations
`13-22
`Optimizing Drawing Performance
`13-23
`Summary of Drawing
`13-23
`Data Structure
`13-23
`View Classes
`13-24
`Protos
`Functions and Methods
`
`13-12
`
`13-16
`
`13-26
`
`13-9
`
`13-11
`
`13-15
`
`13-18
`13-18
`13-18
`
`13-20
`
`13-21
`
`13-15
`
`xvii
`
`ARENDI-DEFS00003665
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 19 of 200 PageID #: 28663
`
`Chapter 14
`
`Sound 14-1
`
`14-1
`About Newton Sound
`14-2
`Event-related Sounds
`Sounds in ROM 14-2
`Sounds for Predefined Events
`14-3
`Sound Data Structures
`14-3
`Compatibility
`Using Sound
`14-4
`Creating and Using Custom Sound Frames
`14-5
`Creating Sound Frames Procedurally
`14-5
`Cloning Sound Frames
`14-5
`Playing Sound
`Using a Sound Channel to Play Sound
`14-6
`Playing Sound Programmatically
`Synchronous and Asynchronous Sound
`14-8
`Advanced Sound Techniques
`Pitch Shifting
`14-9
`Manipulating Sample Data
`14-11
`Summary of Sound
`Data Structures
`14-11
`14-11
`Protos
`Functions and Methods
`14-12
`Sound Resources
`
`14-4
`
`14-5
`
`14-7
`
`14-2
`
`14-10
`
`14-12
`
`Chapter 15
`
`Filing
`
`15-1
`
`15-9
`
`15-1
`About Filing
`Filing Compatibility Information
`15-10
`Using the Filing Service
`Overview of Filing Support
`15-10
`Creating the Labels Slot
`15-11
`Creating the appName Slot
`15-11
`Creating the appAll Slot
`15-12
`15-12
`Creating the appObjectFileThisln Slot
`15-12
`Creating the appObjectFileThisOn Slot
`15-12
`Creating the appObjectUnfiled Slot
`15-13
`Specifying the Target
`
`xviii
`
`ARENDI-DEFS00003666
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 20 of 200 PageID #: 28664
`
`15-14
`Creating the labelsFilter slot
`15-14
`Creating the storesFilter slot
`15-14
`Adding the Filing Button
`15-14
`Adding the Folder Tab View
`15-15
`Customizing Folder Tab Views
`15-15
`Defining a TitleClickScript Method
`Implementing the FileThis Method
`15-15
`Implementing the NewFilingFilter Method
`Using the Folder Change Notification Service
`15-18
`Creating the doCardRouting slot
`Using Local or Global Folders Only
`15-19
`Adding and Removing Filing Categories
`Programmatically
`15-19
`Interface to User-Visible Folder Names
`15-20
`Summary
`15-20
`Data Structures for Filing
`15-20
`Application Base View Slots
`15-21
`Filing Protos
`15-22
`Filing Functions and Methods
`Application-Defined Filing Functions and Methods
`
`15-19
`
`15-16
`15-18
`
`15-22
`
`Chapter 16
`
`Find
`
`16-1
`
`16-6
`
`16-10
`
`16-1
`About the Find Service
`Compatibility Information
`16-6
`Using the Find Service
`Technical Overview
`16-6
`16-9
`Global and Selected Finds
`Checklist for Adding Find Support
`16-11
`Creating the title Slot
`Creating the appName Slot
`16-11
`16-11
`Using the Finder Protos
`16-14
`Implementing Search Methods
`16-15
`Using the StandardFind Method
`16-16
`Using Your Own Text-Searching Method
`16-17
`Finding Text With a ROM_CompatibleFinder
`16-18
`Implementing the DateFind Method
`Adding Application Data Sets to Selected Finds
`16-21
`Returning Search Results
`
`16-19
`
`xix
`
`ARENDI-DEFS00003667
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 21 of 200 PageID #: 28665
`
`16-21
`Implementing Find Overview Support
`16-21
`The FindSoupExcerpt Method
`The ShowFoundItem Method
`16-22
`Replacing the Built-in Find Slip
`16-24
`Reporting Progress to the User
`16-24
`16-25
`Registering for Finds
`16-26
`Summary
`16-26
`Finder Protos
`16-28
`Functions and Methods
`Application-Defined Methods
`
`16-28
`
`Chapter 17
`
`Additional System Services 17-1
`
`17-1
`
`17-2
`
`17-2
`
`17-5
`
`17-5
`
`17-6
`
`17-7
`17-7
`
`About Additional System Services
`17-1
`Undo
`Undo Compatibility
`17-2
`Idler Objects
`Change Notifications
`17-3
`Online Help
`17-3
`Alerts and Alarms
`17-3
`User Alerts
`User Alarms
`17-3
`Periodic Alarms
`17-4
`Alarms Compatibility
`17-5
`Progress Indicators
`Automatic Busy Cursor
`Notify Icon
`17-5
`Status Slips With Progress Indicators
`Power Registry
`17-7
`Power Compatibility Information
`Using Additional System Services
`17-8
`Using Undo Actions
`17-8
`The Various Undo Methods
`Avoiding Undo-Related "Bad Package" Errors
`17-9
`Using Idler Objects
`Using Change Notification
`17-10
`Using Online Help
`
`17-10
`
`xx
`
`17-9
`
`ARENDI-DEFS00003668
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 22 of 200 PageID #: 28666
`
`17-12
`
`17-11
`Using Alerts and Alarms
`Using the Notify Method to Display User Alerts
`17-11
`Creating Alarms
`Obtaining Information about Alarms
`17-12
`Retrieving Alarm Keys
`Removing Installed Alarms
`17-13
`Common Problems With Alarms
`17-13
`Using the Periodic Alarm Editor
`17-14
`17-15
`Using Progress Indicators
`Using the Automatic Busy Cursor
`17-15
`Using the Notify Icon
`17-16
`Using the DoProgress Function
`Using DoProgress or Creating Your Own
`17-18
`protoStatusTemplate
`Using protoStatusTemplate Views
`17-24
`Using the Power Registry
`17-24
`Registering Power-On Functions
`17-25
`Registering Login Screen Functions
`17-25
`Registering Power-Off Functions
`17-26
`Using the Battery Information Functions
`17-27
`Summary of Additional System Services
`17-27
`Undo
`Idlers
`17-27
`17-27
`Notification and Alarms
`17-28
`Reporting Progress
`Power Registry
`17-29
`
`17-15
`
`17-18
`
`Chapter 18
`
`Intelligent Assistant 18-1
`
`18-1
`
`About the Assistant
`Introduction
`18-1
`Input Strings
`18-2
`18-2
`No Verb in Input String
`Ambiguous or Missing Information
`18-4
`The Task Slip
`18-5
`Programmer's Overview
`18-8
`Matching Words With Templates
`The Signature and PreConditions Slots
`
`18-4
`
`18-10
`
`17-11
`
`xxi
`
`ARENDI-DEFS00003669
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 23 of 200 PageID #: 28667
`
`18-13
`
`18-15
`
`18-16
`
`18-19
`
`18-11
`The Task Frame
`18-11
`The Entries Slot
`18-11
`The Phrases Slot
`18-12
`The OrigPhrase Slot
`18-12
`The Value Slot
`Resolving Template-Matching Conflicts
`18-14
`Compatibility Information
`18-15
`Using the Assistant
`Making Behavior Available From the Assistant
`18-15
`Defining Action and Target Templates
`Defining Your Own Frame Types to the Assistant
`18-17
`Implementing the PostParse Method
`18-18
`Defining the Task Template
`Registering and Unregistering the Task Template
`18-19
`Displaying Online Help From the Assistant
`18-20
`Routing Items From the Assistant
`18-21
`Summary
`18-21
`Data Structures
`18-21
`Templates
`Developer-Supplied Task Template
`Developer-Supplied Action Templates
`Developer-Supplied Target Templates
`18-27
`Assistant Functions and Methods
`Developer-Supplied Functions and Methods
`18-28
`Application Base View Slots
`
`18-22
`18-25
`18-27
`
`18-28
`
`Chapter 19
`
`Built-in Applications and System Data 19-1
`
`19-2
`
`19-2
`Names
`About the Names Application
`19-3
`Names Compatibility
`19-4
`Using the Names Application
`19-4
`Adding a New Type of Card
`19-4
`Adding a New Data Item
`19-5
`Adding a New Card Layout Style
`Adding New Layouts to the Names Application
`19-6
`Using the Names Methods and Functions
`19-7
`Using the Names Soup
`Using the Names Protos
`19-7
`
`19-6
`
`ARENDI-DEFS00003670
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 24 of 200 PageID #: 28668
`
`19-8
`
`19-26
`
`19-27
`
`19-31
`
`19-8
`Dates
`About the Dates Application
`19-9
`Dates Compatibility
`19-10
`Using the Dates Application
`19-11
`Adding Meetings or Events
`19-12
`Deleting Meetings and Events
`19-13
`Finding Meetings or Events
`19-14
`Moving Meetings and Events
`Getting and Setting Information for Meetings or Events
`19-17
`Creating aNew Meeting Type
`Examples of Creating New Meeting Types
`19-20
`Miscellaneous Operations
`Controlling the Dates Display
`19-21
`19-22
`Using the Dates Soups
`19-22
`To Do List
`19-22
`About the To Do List Application
`19-23
`To Do List Compatibility
`Using the To Do List Application
`19-23
`Creating and Removing Tasks
`19-24
`19-24
`Accessing Tasks
`Checking-Off a Task
`19-25
`Miscellaneous To Do List Methods
`19-26
`Using the To Do List Soup
`19-27
`Time Zones
`About the Time Zones Application
`19-27
`Time Zone Compatibility
`Using the Time Zone Application
`19-28
`Obtaining Information About a City or Country
`19-29
`Adding a City to a Newton Device
`Using Longitude and Latitude Values
`19-30
`19-30
`Setting the Home City
`19-30
`Notes
`About the Notes Application
`19-31
`Notes Compatibility
`Using the Notes Application
`19-32
`19-32
`Creating New Notes
`Adding Stationery to the Notes Application
`19-33
`Using the Notes Soup
`
`19-19
`
`19-28
`
`19-33
`
`19-15
`
`ARENDI-DEFS00003671
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 25 of 200 PageID #: 28669
`
`19-35
`19-36
`19-36
`
`19-36
`
`19-39
`
`19-34
`Fax Soup Entries
`19-34
`About Fax Soup Entries
`19-34
`Using Fax Soup Entries
`19-35
`Prefs and Formulas Rolls
`About the Prefs and Formulas Rolls
`Prefs and Formulas Compatibility
`Using the Prefs and Formulas Interfaces
`19-36
`Adding a Prefs Roll Item
`Adding a Formulas Roll Item
`19-36
`19-36
`Auxiliary Buttons
`19-36
`About Auxiliary Buttons
`Auxiliary Buttons Compatibility
`19-37
`Using Auxiliary Buttons
`Icons and the Extras Drawer
`19-38
`19-38
`About Icons and the Extras Drawer
`19-39
`Extras Drawer Compatibility
`Using the Extras Drawer's Interface for Icon Management
`19-40
`Using Extras Drawer Cursors
`Changing Icon Information
`19-40
`19-40
`Adding a Soup Icon
`Removing a Soup Icon
`19-41
`Creating a Script Icon
`19-42
`Using the Soupervisor Mechanism
`19-44
`System Data
`19-44
`About System Data
`19-44
`Using System Data
`Functions for Accessing User Configuration Data
`Storing Application Preferences in the System Soup
`19-46
`Summary
`19-46
`Constants and Variables
`User Configuration Variables
`19-48
`Protos
`19-49
`Soup Formats
`Functions and Methods
`
`19-43
`
`19-45
`19-45
`
`19-47
`
`19-53
`
`xxiv
`
`ARENDI-DEFS00003672
`
`

`

`Case 1:13-cv-00919-LPS Document 311-5 Filed 03/10/21 Page 26 of 200 PageID #: 28670
`
`Chapter 20
`
`Localizing Newton Applications
`
`20-1
`
`20-1
`
`20-3
`
`20-7
`20-8
`
`20-1
`About Localization
`The Locale Panel and the International Frame
`20-2
`Locale and ROM Version
`20-2
`How Locale Affects Recognition
`Using the Localization Features of the Newton
`20-3
`Defining Language at Compile Time
`20-4
`Defining a Localization Frame
`20-4
`Using LocObj to Reference Localized Objects
`Use ParamStr Rather Than "&" and "&&" Concatenation
`20-6
`Measuring String Widths at Compile Time
`20-6
`Determining Language at Run Time
`Examining the Active Locale Bundle
`20-6
`20-7
`Ch

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket