
1. | Welcome | ToC | FAQ
| Resources | Courses
| Projects | Mail
Lists | Members | Misc |
2. | Fundamentals | Languages
| Tools | Net
| Core | Advanced
|
3. | MacOS Core Programming |
4. | Prerequisites | Enrollment
| Materials | Participation
| Lessons | Participants | Credit |
This section lists the summary of each chapter in "Mac C". For the actual text of each lesson and the associated example programs, see the Macintosh C WWW home page.
Until we produce sufficient "homework exercizes", "Q and A", or "self-tests" to make it worth listing them, we will not provide links to ANY of these types of materials. The remainder of this page is a direct quote of the table of contents at K.J.'s web site. Students have the option to read the course materials online there if they don't download the text for local reading. This page provides links to the individual chapters of the text at the Macintosh C web site. Please remember that there are no return links from that site.
System software overview: the Toolbox; the Operating System; location of system software routines. Memory: the system partition; the application partition; nonrelocatable and relocatable blocks; heap fragmentation, compaction and purging; master pointer tag byte; temporary memory; virtual memory; addressing modes, Memory Manager errors. Resources: resources and files; resources and the application; resource types and IDs; creating resources; resource attributes; template resources and definition resources; reading in resources; purgeable resources; releasing resources; Resource Manager errors. System Software Development Implications - Memory.
The main event loop. Processes and events. Categories of events. Low-level events and Operating System events. Obtaining information about events. Handling events: mouse events; keyboard events; update events; activate events; disk-inserted events; null events; suspend and resume events; mouse-moved events. Handling events in alert boxes and dialog boxes. The 'SIZE' resource.
Types of menus. Pull-down menus: menu definition procedures and menu bar definition functions; the menu bar, menus and menu items; the Apple menu; the File menu; the Edit menu; the Help menu; the Application menu; Font menus. Pop-up menus: pop-up control definition function; use of Control Manager routines; type-in pop-up menus. Hierarchical menus. Menu records, menu IDs, item numbers and menu lists. Creating menus. Changing the appearance of items in a menu. Adding items. Handling menu choices. Accessing menus from alert and dialog boxes.
Standard window elements. Active and inactive windows. Types of windows. Window definition IDs. Window type usage. Window regions. The window list. Graphics ports. Window records. Creating windows. Positioning windows. Managing multiple windows. Handling events in windows. Moving, zooming, resizing and closing windows. Hiding and showing windows.
Standard controls: buttons; checkboxes; radio buttons; pop-up menus; scroll bars. Custom controls. Visual feedback. Active and inactive controls. Hiding and showing controls. The control definition function. Creating and displaying controls. Handling mouse events in controls. Determining and changing control settings. Moving and resizing scroll bars. Scrolling operations with scroll bars.
Types of alert: alert sound; note alert, caution alert, and stop alert boxes. Types of dialog boxes: modal dialog box; movable modal dialog box; modeless dialog box. Items in alert and dialog boxes. Creating alerts: resources. Creating dialog boxes: the dialog record; resources. Default buttons. Enabling and disabling items. Editable text items. Manipulating items. Adding items. Drawing the default button bold outline. Displaying alert and dialog boxes. Adjusting menus. Handling events. Event filter functions. Closing dialog boxes.
The Finder. Resources, the catalog file and the desktop database. Application signature, creator, and file types. Creating icon resources for the Finder. The file reference resource. The bundle resource. How and when the Finder launches an application. Missing application name string and application missing string resources. Version resources. Using Finder information in the catalog file: Finder flags. Supporting stationery pads. Providing balloon help. Using aliases. Using the System folder and its related directories.
Apple events: attributes and parameters; interpreting attributes and parameters. Data structures within Apple events. Handling Apple events: extracting and checking data; performing the requested action and returning a result. Required Apple events: contents and required action.
QuickDraw and imaging. Versions of QuickDraw. Graphics ports: bitmaps and pixel maps; printing graphics ports; offscreen graphics worlds. Basic QuickDraw's eight-colour system. Color QuickDraw routines available to Basic QuickDraw. Colours in Color QuickDraw: device-independent colour; influence of the video device; indexed colour and direct colour. Graphics devices and GDevice records. Other graphics managers.
Mathematical foundations of QuickDraw: the coordinate plane; points; rectangles; regions. The basic graphics port. Drawing in basic graphics ports: the graphics pen; bit pattern; boolean transfer modes; lines; rectangles, ovals, arcs, and wedges; polygons, regions, and pictures. Drawing text. manipulating rectangles and regions. Copying bits between graphics ports.
RGB colours. Colour graphics ports. Differences between basic and colour graphics ports. Pixel maps. Translation of RGB colours to pixel values: indexed devices; direct devices. Colours on grayscale screens. Pixel patterns: pen pixel pattern; fill pixel patter; background pixel pattern. Testing for the existence of Color QuickDraw. Working with Color QuickDraw: creating colour graphics ports; drawing with different foreground colours; drawing and filling with pixel patterns. Copying pixels between colour graphics ports: distinguishing between bitmaps and pixel maps; boolean source modes with colour pixels; arithmetic transfer modes. Highlighting. Color QuickDraw and Text.
Offscreen graphics worlds: creating an offscreen graphics world; setting the graphics port; preparing to draw; copying an offscreen image to a window; updating and disposing of offscreen graphics worlds. Pictures: picture formats; the Picture record; opcodes; colour pictures in basic graphics ports; 'PICT' files, resources and scrap format; the Picture Utilities; creating pictures; opening and drawing pictures; saving pictures; gathering picture information. Cursors: cursor movement, hotspot, visibility and shape; creating custom non-animated cursor resources; changing cursor shape and hiding cursors; creating an animated cursor. Icons: icons and the Finder; other icons (icons, colour icons and small icons); icons in windows, menus, and dialog boxes; drawing and manipulating icons; icon families, suites and caches.
The Printing Manager. Printer drivers: types and characteristics; QuickDraw printer drivers; PostScript printer drivers; background printing, deferred printing, and spool files; printer drivers and Picture comments. Printer resolution. Page and paper rectangles. Job dialog box. Style dialog box. The TPrint record. The printing graphics port. Print status dialog boxes and idle procedures. The printing loop. Getting and setting printer information. Text on the screen and the printed page. Altering the style or job dialog box. Printing from the Finder.
Macintosh files. Characteristics of files: file forks; file size; file access. The hierarchical file system: directories and directory ID; root directory; mounted volumes; parent directory and parent directory ID; aliases. Identifying files and directories. General File menu and required Apple events handling strategy. Creating a document record and a new document window. Opening a file and reading in data. Saving a file. Reverting to a saved file. Closing a file. Customized open and save dialog boxes.
Search path for resources: current resource file; default search order; setting the current resource file; restricting the search to the current resource file. Detaching and copying resources. Creating, opening and closing resource forks. Reading and manipulating resources. Writing resources. Partial resources. Preferences files.
The Scrap Manager and the desk scrap: scrap data formats; location of the desk scrap; getting information about the desk scrap; using the desk scrap; the Clipboard; transferring the desk scrap to disk. Private scrap. Copying data between private scrap and the desk scrap. TextEdit, dialog boxes and the scrap.
More on text: characters; character sets and codes; glyphs; typefaces; styles; fonts; font families; system font and application font; the Font Manager and QuickDraw. Aspects of text editing: caret position; text offsets; selection range; insertion point; highlighting. Keyboards and text. Introduction to TextEdit: editing tasks performed by TextEdit; TextEdit options; caret position and movement in TextEdit; automatic scrolling; TextEdit private, null, and style scraps; text alignment; customizing TextEdit; primary TextEdit data structures. Monostyled TextEdit: initializing TextEdit; creating and disposing of a monostyled edit record; setting the text of an edit record; responding to events; cutting, copying, pasting, inserting, and deleting text; setting the selection range or insertion point; enabling, disabling, and customizing automatic scrolling; saving and opening TextEdit documents. Multistyled TextEdit: style runs, text segments, font runs, and character attributes; additional data structures; creating a multistyled edit record; setting the text; cutting, copying, pasting, inserting, and deleting text; scrolling text; setting and checking text attributes; saving and opening multistyled TextEdit documents.
Formatting and displaying dates, times, and numbers: the Text Utilities and international resources; date and time value representations; obtaining date-time values and records; converting date-time values into strings; converting date-time strings into internal numeric representation; numbers and number format specification strings; integers; converting between floating point numbers and numeric strings.
Appearance and features of lists: cells; cell font; cell highlighting. Scroll bars and size boxes. Selection of cells using the mouse: multiple cell selection using the default cell-selection algorithm; customizing the cell-selection algorithm. Selection of cells using the keyboard: moving the selection using arrow keys; extending the selection using arrow keys; type selection. Creating lists: the list record and other data types; drawing borders; adding rows and columns; disabling and enabling automatic drawing mode. Responding to events. Getting and setting list selections. Scrolling a list. Storing, adding to, and clearing cell data. Searching a list. Changing the current list. Customizing the cell-selection algorithm. Custom list definition procedures.
Control definition functions: declaration; default dragging and custom dragging; responding to message parameter values. Vertical blanking (VBL) tasks: VBL tasks and the Vertical Retrace Manager; Types of VBL tasks; VBL task rules; VBL tasks and foreground/background switching; installing and removing a VBL task.
Floating windows: front-to-back ordering of screen objects; appearance of floating windows; implementation considerations; substitute and supporting routines. Custom window definition functions: resource IDs; general requirements; responding to messages.
Introduction to sound: audio hardware; sound-related system software; sound input and output capabilities; basic and enhanced sound capabilities; sound data; sampled sound; sound components; sound resources and sound files. Sound production: sound channels; sound commands; synchronous and asynchronous sound; playing sound resources and files. Sound recording: recording sound resources and sound files; recording quality; checking for sound recording capability. Speech: generating speech from a string; checking for speech capabilities.
Code segmentation and heap space optimization. Status bars and scanning for a Command-period event. Notifications from applications in the background: the need for the Notification Manager; examples of notifications; elements of a notification; suggested notification strategy; creating a notification request; installing and removing a notification request. Soliciting a colour choice: colour models; the Color Picker; invoking the Color Picker. Ensuring compatibility with the operating environment: getting operating environment information using the Gestalt function; determining whether a trap is available. Coping with multiple monitors: image optimization; window zooming.
The 68LC040 emulator. The Mixed Mode Manager: mode switches; intervention in mode switching; creating a routine descriptor; effect of the routine descriptor; routines requiring routine descriptors. The PowerPC native environment: fragments; categories of fragments; fragment storage and loading; code fragment resource; fat applications; accelerated resources; fat resources; calling conventions; organization of memory; demise of the A5 world; accessing global variables from detached code; data alignment.
Source code changes required in the Chapters 1-22 demonstration programs for compilation as native PowerPC code.
Copyright
© 1996, 1997, 1998, 1999. Last Update to This
Page: 1999/04/18
This Page Maintained by: radar
pangaean * * * Original Author: radar
pangaean
The MOST web site is built and
maintained by the voluntary efforts/donations of our members.