Amiga® RKM Libraries: Index
Note: Numbers will refer to page numbers in
the `Amiga® ROM Kernal Reference Manual: Libraries'
3rd edition, ISBN 0-201-56774-1
Misc. H P
A I Q
B J R
C K S
D L T
E M U
F N V
G O W X Y Z
Misc Index
1.3 - compatibility, 18
2.0 - compatibility, 923, differences, 923
32-bit math, 878 - example, 879, function reference, 883, functions, 878
3D Look - window title bar, 107, windows, 79
4703, 517
68000 - crash, 916
68020, 917
68030, 917
68040 - crash, 916
680x0, -->
68881, 845, 853
68882, 853
680x0 Index
680x0
68040, 479
Cache, 479
caches, 477
CopyBack mode, 479
development guidelines, 15
Exceptions, 473
Floating Point Unit, 477
FPU, 477
GetCC(), 478
Interrupt stack, 477
ISP, 477
Master stack, 477
MSP, 477
Paged Memory Management Unit, 477
PMMU, 477
programming guidelines, 17
Register usage conventions, 6
self-modifying code, 478
SetSR(), 478
SSP, 477
Stack, 477
Supervisor Mode, 477
Supervisor stack, 477
User stack, 477
USP, 477
A Index
AbortIO(), 451
Accessing a Device, 446
Activate - window on open, 110
ActivateCxObj(), 731
ActivateGadget(), 150, 166, 321
ActivateWindow(), 91, 115
active gadget, 323
Active Window, -->
AddAnimOb(), 659, 668
AddBob(), 641, 668
AddBootNode(), 759, 776
AddClass(), 312, 330
AddDosNode(), 759, 776
AddGadget(), 166
AddGList(), 122, 129, 166
ADDHEAD, 498
AddHead(), 492, 498, 520
AddIEvents(), 749
AddIntServer(), 525
AddLibrary(), 443
AddPort(), 501, 511
AddPublicSemaphore(), 511
Address error, 474
AddSemaphore(), 511, 515
ADDTAIL, 498
AddTail(), 492, 498, 520
AddTask(), 466, 480
AddTOF(), 888
AddVSprite(), 627, 668
Adjust - window size, 111
AFF_DISK, 689
AFF_MEMORY, 689
AFF_SCALED, 689
AFF_TAGGED, 689
afp(), 888
Agnus, 11
Alert, -->
Alert(), 520
AllocAslRequest(), 416
AllocAslRequestTags(), 421
Allocate(), 462
Allocating memory, 455
AllocEntry(), 459, 461, 462
AllocIFF(), 344, 810
AllocLocalItem(), 790, 810
AllocMem(), 274, 284, 288, 430, 455, 457, 466
AllocRaster(), 98, 552, 610, allocating memory, 560
AllocRemember(), 283, 284, 284, 285, 288, 289
AllocSignal(), 254, 476, 482, 485
AllocTrap(), 476, 480
AllocVec(), 430
Alt Key, 282 - with right Amiga key, 176
Alternate - Alt key, 282, window size zoom, 108
Amiga -->
Amiga Key Glyph - menus, 184
Amiga keys - as command keys, 282, Workbench shortcuts, 281
Amiga.lib, 438, 885, stub, 438
AndRectRegion(), 722
AndRegionRegion(), 722
ANFRACSIZE, 661
Animate(), 660, 668
Animation, -->
AnimComp structure, 652
ANIMHALF, 661
AnimOb structure, 652
ANSI Codes, 90
AOlPen - in filling, 584, in RastPort, 584
Area pattern, 585
AreaCircle(), 590, 611
AreaDraw(), 611 - adding a vertex, 589, in area fill, 582
AreaEllipse(), 590, 611
AreaEnd(), 611 - drawing and filling shapes, 590, in area fill, 582
AreaInfo pointer, 582
AreaMove(), 611 - beginning a polygon, 589, in area fill, 582
ARexx, 21, 888
ArgArrayDone(), 735, 888
ArgArrayInit(), 735, 888
ArgInt(), 735, 888
ArgString(), 735, 888
arnd(), 888
AskKeyMapDefault(), 812
AskSoftStyle(), 675
ASL, -->
ASL Library, 20
asl.library - see ASL
AslRequest(), 416
AslRequestTags(), 421
ASL_BackPen, 423
ASL_CancelText, 417
ASL_Dir, 417
ASL_File, 417
ASL_FontFlags, 423
ASL_FontHeight, 423
ASL_FontName, 423
ASL_FontStyles, 423
ASL_FrontPen, 423
ASL_FuncFlags, 419
ASL_Hail, 417
ASL_Height, 417
ASL_Hookfunc, 425
ASL_LeftEdge, 417
ASL_MaxHeight, 423
ASL_MinHeight, 423
ASL_ModeList, 423
ASL_OKText, 417
ASL_TopEdge, 417
ASL_Width, 417
Aspect Ratio, 20
AttachCxObj(), 737
AttemptSemaphore(), 513, 513, 515
attributes, -->
AUD0-AUD3 Interrupts, 519
Audio device, 925
AUserStuff, 651
Autoboot, 760
AUTOCONFIG - hardware manufacturer number, 756, see Expansion, AUTOCONFIG
AUTOKNOB, 147
AutoRequest(), 97, 188, 201, 211, 215, 216, 222
AUTOSCROLL, 49
Autovector Address, 518
AvailFonts(), 688
AvailFonts structure, 688
AvailFontsHeader structure, 688
AvailMem(), 459
A-Pen - see FgPen
Active Window Index
Active Window, 78, 90
input focus, 248
menu verify, 186
notification, 82, 91
Alert Index
Alert, 220
application, 220
DEADEND_ALERT, 220
DisplayAlert(), 221
positioning, 220
RECOVERY_ALERT, 220
screen mode ID, 220
software error, 474
system, 220
Amiga Index
Amiga
custom chips, 11
development guidelines, 13
memory architecture, 8
operating system versions, 10
Register usage conventions, 6
Animation Index
Animation
AddBob(), 641
Animate(), 660
AnimComp
animation concepts, 652
AnimComp flags, 659
custom animation routine, 660
ring motion control, 654
sequenced drawing, 654
sequencing components, 656
sequencing within components, 655
setting animation timing, 655
setting component position, 655
setting up ring motion control, 659
setting up simple motion control, 658
simple motion control, 654
specifying components, 655
AnimOb, 656
adding an AnimOb, 659
custom animation routine, 660
moving the objects, 660
setting AnimOb position, 658
special numbering system, 661
the AnimKey, 659
typical function call sequence, 660
Bob
attaching a Bob to a VSprite, 635
behavior for unselected bitplanes, 639
Bob flags, 636
changing a Bob, 642
double-buffering, 645
ImageShadow, 635
setting bitplanes, 639
setting collision detection, 639
setting color, 638
setting depth, 638
setting image, 637
setting rendering priority, 640
setting rendering restrictions, 640
setting shadow mask, 638
setting shape, 637
setting size, 637
struct VSprite differences for Bobs, 634
system selected rendering priorities, 640
using Bobs, 634
VSprite flags for Bobs, 634
collision detection, 646
adding user-defined data to GELs, 651
AUserStuff, 651
BorderLine for faster detection, 648
boundary collision flags, 650
building the collision handler table, 646
BUserStuff, 651
initializing collision detection, 646
parameters to user-defined routines, 650, 650
processing of multiple collisions, 650
selective collision detection, 649
sensitive areas, 647
setting the collision mask, 647
specifying collision boundaries, 650
UserExt, 651
VUserStuff, 651
DoCollision(), 646
DrawGList(), 642
Examples - complete bobs example, 642
InitMasks(), 648
introduction, 613
RemBob(), 641
RemIBob(), 641
SetCollision(), 647
SortGList(), 642
struct Bob, 635
struct CollTable, 646
struct DBufPacket, 645
ASL Index
ASL, 415
AllocAslRequest(), 416
AllocAslRequestTags(), 421
AslRequest(), 416
AslRequestTags(), 421
Basic ASL Requester Tags, 417
calling custom functions, 425
creating a file requester, 416
custom function parameters, 426
custom screens, 421
directory requester, 422
Examples
custom hook function, 426
file requester with multiple selection, 419
file requester with pattern matching, 419
font requester, 424
simple file requester, 417
font requester, 422
font requester flags, 423
Font Requester Tags, 423
FreeAslRequest(), 416
function reference, 428
hook function flags, 425
save requester, 421
special flags, 419
struct FileRequester, 416
struct FontRequester, 422
attributes Index
attribute
Boopsi, 293 - attribute/value pairs, 294
mapping, 299 - see ICA_MAP
OM_GET, 311
setting, 309
B Index
Backdrop -->
Backdrop Layer, 706
Background pen, 584
BACKGROUNDPEN, 58, 141
Backup - of display areas, 705
Beam synchronization, 600
BeginIO(), 448, 449, 520, 886
BeginRefresh(), 95, 97, 97, 110, 115, 128, 244, 261, 721
BeginUpdate(), 128, 711, 721
Behind - open screen, 49
BehindLayer(), 708, 711
Bell - visible, 75
BgPen - in RastPort, 584
BindDrivers, 758
BitMap -->
BitMap Structure -->
BitMapScale(), 598, 612
BitPlane -->
BLIT Interrupts, 519
Blitter -->
Block - graphics with layers, 708
Block Input, 203
Block Pen, 106
BLOCKPEN, 57
BltBitMap(), 596, 597, 612
BltBitMapRastPort(), 596, 597, 612
BltClear(), 592, 612
BltMaskBitMapRastPort(), 596, 598, 612
bltnode structure, 600 - creating, 601, linking blitter requests, 600
BltPattern(), 594, 612
BltTemplate(), 595, 596, 612
BNDRYOFF(), 590, 611
Bob structure, 635
Bobs - introduction, 613, simple definition, 615
BoolInfo structure, 139
BOOLMASK, 139
Boopsi -->
Border -->
Border structure -->
BORDERHIT, 648
Borderless -->
bottommost - in GelsInfo, 624
Box - menu item, 180
Break key, 432
Broadcast - IDCMP events, 248
BuildEasyRequest(), 217, 218-219, 222
BuildEasyRequestArgs(), 219, 222
BuildSysRequest(), 218, 222
Bus error, 474
BUserStuff, 651
Busy Pointer, 274
buttongclass, 297
buttonglclass, 315
B-Pen - see BgPen
Backdrop Index
Backdrop
advantages over screen, 92
attribute, 110
hide screen title, 92
window depth arrangement, 92
window system gadgets, 92
window type, 92, 92
BitMap Index
BitMap, 64
address, 552
and Intuition graphics, 223, 224
custom for screen, 48
in requester, 205
initializing, 582
larger than layer, 706
menu items, 169
requester, 206
scaling, 598
software clipping, 590
with write mask, 583
BitMap Structure Index
BitMap Structure, 39, 98, 111, 213, 226, 703, 705, 706
in dual-playfield display, 579
in super bitmap layers, 706
preparing, 552
BitPlane Index
BitPlane
and Image data, 227
color of unused, 230
extracting a rectangle from, 595
in dual-playfield display, 578
in Image structure, 225
picking, 230
Blitter Index
Blitter
in Bob animation, 615
in copying data, 599
minterm, 597
programming, 600
VBEAM counter, 601
Boopsi Index
Boopsi, 291 - see also Appendix B: Boopsi Class Reference
AddClass(), 312
attribute, 293
attributes - OM_GET, 311, setting, 295, 296, 309
Boopsi and Tags, 294
Building on Existing Public Classes, 306
Building Rkmmodelclass, 306
buttonglclass, 315
Callback Hooks, 312
caveats - message, 293, struct GadgetInfo, 316
class, 292
creating, 305
custom, 305
private, 293
public, 293
class reference, 891
Creating an Object, 294
dispatcher, 305
Dispatcher Hook, 312
DisposeObject(), 295
Disposing of an Object, 295
DoMethod(), 302
DoMethodA(), 302
DoSuperMethod(), 310
DoSuperMethodA(), 308, 310
Example
custom gadget class, 323
custom model subclass, 312
Talk2boopsi.c, 299
function descriptions, 330
gadget, 291
ActivateGadget(), 321
active gadget, 323
GFLG_DISABLED, 321
GMR_MEACTIVE, 321
GMR_NEXTACTIVE, 321
GMR_NOREUSE, 321
GMR_PREVACTIVE, 321
GMR_REUSE, 321
GM_GOINACTIVE, 322
handling input, 320
implemention of, 318
Methods, 318
ObtainGIRPort(), 323
ReleaseGIRPort(), 323
RemoveGList(), 322
rendering a gadget, 319
gadgetclass, 292, 297
buttongclass, 297
frbuttonclass, 298
groupgclass, 297
propgclass, 297
strgclass, 297
GA_RelVerify, 301
GetAttr(), 296, 301
getting attributes, 296
GFLG_RELVERIFY, 301
GMR_GADGETHIT, 320
GM_GOACTIVE, 318, 320
GM_GOINACTIVE, 318
GM_HANDLEINPUT, 318, 321
GM_HITTEST, 318, 320
GM_RENDER, 318, 319
GREDRAW_REDRAW, 319
GREDRAW_TOGGLE, 319
GREDRAW_UPDATE, 319
handling input, 320
ICA_MAP - Boopsi gadgets, 299, icclass, 302
ICA_TARGET, 309 - Boopsi gadgets, 298, 302, icclass, 302
icclass, 292, 297, 302
ICSPECIAL_CODE - Boopsi gadgets, 302
IDCMP_GADGETUP, 301
IDCMP_IDCMPUPDATE - Boopsi gadgets, 302
imageclass, 292, 297
fillrectclass, 297
frameiclass, 297
itexticlass, 297
sysiclass, 297
Images, 291
inheritance, 293, 306, 311
input events, 321
instance, 292
instance data, 293, 308 - initializing, 308
INST_DATA() macro, 309
Intuition public classes, 297
MakeClass(), 311
Making Objects Talk to Each Other, 298
Making Objects Talk to the Application, 301
message, 293 - final, 309, interim, 309
methods, 293
modelclass, 302
Msg, 307
NewObject(), 295
NewObjectA(), 294
object, 292
ObtainGIRPort(), 319
obtaining gadget RastPort, 319
OM_ADDMEMBER, 302, 307
OM_ADDTAIL, 307
OM_DISPOSE, 296, 307
OM_GET, 296, 307, 311
OM_NEW, 296, 307, 308
OM_NOTIFY, 307, 309
OM_REMMEMBER, 307
OM_REMOVE, 307
OM_SET, 296, 305, 307, 309 - Boopsi gadgets, 298
OM_UPDATE, 307, 309 - Boopsi gadgets, 298
OOP Overview, 292
OPUF_INTERIM, 309
RemoveClass(), 312
rootclass, 292, 297
SetAttrs(), 295
SetGadgetAttrs(), 295, 305
setting attributes, 295
struct GadgetInfo, 316, 318
struct gpGoInactive, 322
struct gpHitTest, 320
struct gpInput, 320
struct gpRender, 319
struct Hook, 312
struct InputEvent, 321
struct Msg, 303
struct opGet, 311
struct opMember, 303
struct opSet, 305, 308
struct opUpdate, 309
subclass, 292
superclass, 292
typedef Class, 305
user input, 321
White Boxes--The Transparent Base Classes, 316
Writing a Dispatcher, 307
Border Index
Border
calculating window border size, 89
containing size gadget, 109
dimensions (from window), 105
gadgets in, 88
graphics offsets, 89
in requester, 204
in requester gadgets, 206
position, 224
rast port, 105
size precalculation, 41
using, 234
window 88-89
Border structure Index
Border structure, 123, 212, 223, 224, 224, 234-235, 235, 238
BackPen, 234
Count, 234
data organization, 237
definition, 234
DrawMode, 234
FrontPen, 234, 237
LeftEdge, 234, 235, 238, 238
NextBorder, 235, 238
TopEdge, 234, 235, 238, 238
XY 234, 235, 237-238
Borderless Index
Borderless
advantages over screen, 93
attribute, 110
window type, 92, 93
with backdrop, 93
C Index
CacheClearE(), 479
CacheClearU(), 479
CachePostDMA(), 479
CachePreDMA(), 479
Caches, 477
Callback Hooks, 312
CallHook(), 890
CallHookA(), 890
Cancel - in requester, 203
Cause(), 520, 527
Caveats -->
CBERR_DUO, 731
CBERR_OK, 731
CBERR_SYSERR, 731
CBERR_VERSION, 731
CBump(), 603, 612
CDB_CONFIGME, 756
CDB_SHUTUP, 756
CDF_CONFIGME, 756
CDF_SHUTUP, 756
CD_ASKKEYMAP, 813
CD_SETKEYMAP, 813
CEND(), 603, 612
ChangeSprite(), 619, 668
ChangeWindowBox(), 112, 115
Character Mapped - applications, 249
CHECKED, 175, 181, 182, 182, 191
CheckIO(), 450
CHECKIT, 181-182, 182, 182, 191
Checkmark -->
CheckRexxMsg(), 888
CHECKWIDTH, 182
Chip Memory -->
CHK instruction, 474
CIA, 926
CINIT(), 602, 612
Class, 292 - custom, 305, dispatcher, 305, MakeClass(), 311
Class typedef, 305
ClearCxObjError(), 742
ClearDMRequest(), 210, 222
ClearEOL(), 675
ClearMenuStrip(), 111, 171, 175, 186, 200
ClearPointer(), 114, 115, 274, 282
ClearRectRegion(), 722
ClearRegion(), 722
ClearScreen(), 675
Clicking - definition, 265
ClipBlit(), 596, 598, 612
Clipping -->
Clipping Graphics - layers, 719
Clipping Rectangles -->
Clipping region - in VSprites with GELGONE, 624
Close - enable gadget, 109
Close Gadget - window, 78, 82
Close vector, 437
CloseIFF(), 344, 810
CloseLibrary(), 436
CloseMonitor(), 568, 611
CloseScreen(), 42, 53, 76
CloseWindow(), 82, 109, 115, 175
CloseWindowSafely(), 254, 255
CloseWorkBench(), 52, 76
Closing A Device, 450 - outstanding IORequests, 451
CMOVE(), 603, 612
CoerceMethod(), 330, 890
CoerceMethodA(), 330, 890
Coercion, 565 - screens, 66
COERR_BADFILTER, 742
COERR_BADTYPE, 742
COERR_ISNULL, 742
COERR_NULLATTACH, 742
CollectionChunk(), 785, 810
CollectionItem(), 785
CollTable structure, 646
Color -->
Color mode - in Flood() fill, 591
Color Registers, 228
ColorFontColors structure, 698
ColorMap, 64, 553
ColorSpec Structure, 47 - ColorIndex, 47
ColorTextFont structure, 697
Command Key, 184 - menu item, 190, menus, 170, symbol position, 185
Commodities -->
commodities.library - see Commodities
COMMSEQ, 184, 190, 191
COMMWIDTH, 185
Compatibility -->
Compatibility notes, 923
Compatibility problems, 917, 918, 918, 918, 919, 918, 918
COMPLEMENT, 234, 237, 240, 243, 585
CON: - on custom screen, 20
ConfigDev structure, 756
Console - handler (CON:), 20
Console Device, 90, 246 - input/output, 248
console.device - CD_ASKKEYMAP, 813, CD_SETKEYMAP, 813
ContextNode structure, 789
Control (Ctrl) key, 282
Control-C, 432
Coordinates - in Border structure, 237
COPER, 519, 525
COPER Interrupts, 519, 525
Copper -->
Copper list -->
Coprocessor - copper list, 65
Copy - rectangles, 720, 721
Copying - data, 597, rectangles, 597
CopyMem(), 288, 459
CopyMemQuick(), 459
CopySBitMap(), 98
CPU Priority Level, 519
Crash, 916 - 68000, 916, 68040, 916
Crashing - with drawing routines, 588, with fill routines, 590
CreateBehindLayer(), 710, 710
CreateContext(), 399, 413
CreateExtIO(), 886
CreateGadget(), 380, 413
CreateGadgetA(), 413
CreateMenus(), 374, 413
CreateMenusA(), 374, 413
CreateMsgPort(), 501
CreateNewProc(), 20
CreatePort(), 254, 501, 887
CreateStdIO(), 887
CreateTask(), 467, 887
CreateUpfrontLayer(), 710, 710, 712
Critical section, 470
Ctrl, 282
CT_COLORFONT, 697
CT_GREYFONT, 697
CurrentBinding structure, 759
CurrentChunk(), 344, 789, 810
CurrentTime(), 288, 289
Custom - screen window on, 82, 107
Custom Chips, 11
Custom Gadgets - see Boopsi
CUSTOMBITMAP, 48
CUSTOMSCREEN, 107
CWAIT(), 602, 612
CxBroker(), 730
CXCMD_APPEAR, 734
CXCMD_DISABLE, 734
CXCMD_DISAPPEAR, 734
CXCMD_ENABLE, 734
CXCMD_KILL, 734
CxCustom(), 744, 889
CxDebug(), 745, 889
CxFilter(), 736, 889
CxMsgData(), 731
CxMsgID(), 731
CxMsgType(), 731
CXM_COMMAND, 731
CXM_IEVENT, 731
CxObjError(), 742
CxSender(), 741, 889
CxSignal(), 743, 889
CxTranslate(), 741, 889
CX_POPKEY, 734
CX_POPUP, 734
CX_PRIORITY, 734
__chip, 227
Caveats Index
Caveats
Boopsi - message, 293, struct GadgetInfo, 316
Gadgets
do not share knob imagery, 143
do not use image lists for knobs, 143
GimmeZeroZero window border, 136
imagery and the selection box, 124
mouse tracking with boolean gadgets, 136
GadTools
GadTools enforces Intuition limits, 375
GADTOOL_TYPE bit, 401
GT_SetGadgetAttrs() and GT_BeginRefresh(), 386
PLACETEXT with GENERIC_KIND gadgets, 398
post-processing, 368
preserve bits set by CreatsGadget(), 398
refreshing the display, 382
restrictions on gadgets, 411
side effects, 412
keymap - key numbers over hex 67, 818
preferences - printer device, 334
Text - don't assume Topaz-8, 672
Checkmark Index
Checkmark
custom (for menus), 107
menu items, 181
menus, 170
mutual exclude, 182
positioning, 182
size, 182
tracking, 182, 185
Chip Memory Index
Chip Memory, 11, 288, 431, 456
Image data, 227
in Border structure, 237
sprite data, 274
with Image data, 226
Clipping Index
Clipping
in area fill, 590
in filling, 590
in line drawing, 588
requester, 204
Clipping Rectangles Index
Clipping Rectangles
in layers, 704, 711, 712, 719
modifying regions, 722
Color Index
Color
ColorMap structure, 553
flickering, 633
full screen palette, 47, 59
in Border structure, 237
in dual playfield mode, 545
in flood fill, 590
in hold-and-modify mode, 580-581
in the Image structure, 227-228
Intuition text, 242
of individual pixel, 587
Playfield and VSprites, 633
relationship to bitplanes, 539
relationship to depth of BitMap, 543
Simple Sprites, 618
single-color raster, 593
specifying for screen, 47, 65
sprites, 546
transparency, 626
VSprite, 626
with plane pick, 230
with PlaneOnOff, 230
Commodities Index
Commodities
ActivateCxObj(), 731
AddIEvents(), 749
ArgArrayDone(), 735
ArgArrayInit(), 735
ArgInt(), 735
ArgString(), 735
AttachCxObj(), 737
ClearCxObjError(), 742
connecting CxObjects, 737
controller commands, 734
controlling CxMessages, 746
custom CxObject function arguments, 744
custom CxObjects, 744
custom input handlers, 727
CxBroker(), 730
CxCustom(), 744
CxDebug(), 745
CxFilter(), 736
CxMessage, 729, 731
CxMessage types, 731
CxMsgData(), 731
CxMsgID(), 731
CxMsgType(), 731
CxObject, 729, 729-730 - broker, 730
CxObject error values, 742
CxObject errors, 742
CxObjError(), 742
CxSender(), 741
CxSignal(), 743
CxTranslate(), 741
debug CxObjects, 745
DeleteCxObj(), 734
DeleteCxObjAll(), 734
DisposeCxMsg(), 746
DivertCxMsg(), 746
EnqueueCxObj(), 737
error codes, 731
event classes, 736
Examples
custom CxObject for swapping mouse buttons, 744
hotkey pop-up shell commodity, 750
input description strings, 737
monitoring user inactivity, 747
opening a broker commodity, 731
simple hot key commodity, 738
filtering events, 736
FreeIEvents(), 749
function reference, 753
generating new input events, 749
input description strings, 736
InputXpression.ix_QualSame bits, 745
InsertCxObj(), 737
InvertString(), 749
IX structure, 745
IX.ix_QualSame bits, 745
ParseIX(), 746
RemoveCxObj(), 737
requiring uniqueness, 743
RouteCxMsg(), 746
sender CxObjects, 741
SetCxObjPri(), 737
SetFilter(), 746
SetFilterIX(), 746
SetTranslate(), 742
shutting down a commodity, 734
signal CxObjects, 743
struct InputXpression, 745
struct NewBroker, 730
tool types, 734
translate CxObjects, 741
uniqueness, 743
using the IX structure, 746
Compatibility Index
Compatibility
international, 922
open screen, 43
open window, 80
with 2.0, 923
Copper Index
Copper, 65
changing colors, 553
display instructions, 555
in drawing VSprites, 633
in interlaced displays, 579
MakeVPort(), 560
MrgCop(), 555
programming, 602
Copper list Index
Copper list, 603
deallocation, 560
merge screens, 66
update screen's, 66
user, 602 - clipping of, 603
D Index
DAC_BINDTIME, 761
DAC_BOOTTIME, 761
DAC_BUSWIDTH, 761
DAC_BYTEWIDE, 761
DAC_CONFIGTIME, 761
DAC_NEVER, 761
DAC_NIBBLEWIDE, 761
DAC_WORDWIDE, 761
Damage List - in layers, 711, 719
Dates -->
dbf(), 888
DBufPacket structure, 645
DEADEND_ALERT, 220, 221
DeadKeyConvert(), 262, 277
Deadlock -->
Deallocate(), 462
Deallocate - region, 720
Deallocation - memory, 455
Debugging, 921
Debug.lib, 886
Default - pens in screen, 55, public screen, 59
Default Public Screen, 52
DeleteCxObj(), 734
DeleteCxObjAll(), 734
DeleteDiskObject(), 353
DeleteExtIO(), 886
DeleteLayer(), 710
DeleteMsgPort(), 502
DeletePort(), 254, 502, 887
DeleteStdIO(), 887
DeleteTask(), 467, 887
Delta Move - mouse coordinates, 268
Denise, 11
Depth - BitMap, 543, in VSprite structure, 625
Depth Gadget -->
Detail Pen, 106
DETAILPEN, 57
Determining Chip Versions, 537
Device -->
Device (Exec), 435
DHeight - in ViewPort, 542, 550, in ViewPort display memory, 549
DiagArea structure, 761
DimensionInfo structure, 543
DISABLE, 519, 530 - mutual-exclusion mechanism, 519
DISABLE macro, 470
Disable(), 470, 480, 520, 530
Disabling - interrupts, 470, 520, 530, maximum disable period, 471
Disk - inserted message, 262, removed message, 262
DiskFontHeader structure, 699
diskfont.library - see Text
DisownBlitter(), 599, 599, 612
Dispatcher, 305
Display Clip, 40, 46, 49, 59, 61, 62, 86 - default, 63
Display Colors, 536
Display Database, 20 - display limitations, 47, display mode, 47
Display Modes, 47, 536, 545 - screens, 37
Display Requirements - Table, 536
Display width - affect of overscan on, 535, effect of resolution on, 547
DisplayAlert(), 221, 222
DisplayBeep(), 75, 204
DisplayClip, 541
DisplayID, 59
DisplayInfo - handle, 564
DisplayInfo structure, 553, 567
DisplayInfoHandle, 566, 567
DisposeCxMsg(), 746
DisposeObject(), 295, 330
DisposeRegion(), 720
DivertCxMsg(), 746
DMA - displaying the View, 555, playfield, 543
DoCollision(), 646, 668
DoIO(), 447, 449
DoMethod(), 302, 330, 890
DoMethodA(), 302, 330, 890
DOS - compatibility, 925, problems, 917
DOS Commands - executing, 20
DosEnvc structure, 760
DoSuperMethod(), 310, 330, 890
DoSuperMethodA(), 308, 310, 330, 890
Dotted lines, 585
Double Click - definition, 265, right mouse button, 202, 210
Double Menu Requester, 210
Double-buffering - allocations for, 579, Copper in, 579, Copper lists, 629
DoubleClick(), 269, 282
Drag - definition, 265, enable gadget, 109
Drag Bar - cancel window drag, 77, screens, 39, window, 77
Drag Select, 267 - menus, 169
Draw(), 588, 611 - in line drawing, 588, multiple line drawing, 589
DrawBevelBox(), 403, 413
DrawBevelBoxA(), 403, 413
DrawBorder(), 224, 224, 235, 237, 244
DrawCircle(), 588, 611
DrawEllipse(), 588, 611
DrawerData structure, 352
DrawGList(), 288, 642, 668 - preparing the GELS list, 628
DrawImage(), 224, 224, 225, 226, 227, 244
DrawInfo structure -->
Drawing -->
Drawing pens - color, 584, current position, 587
DrawMode -->
DRI_VERSION, 55
DSKBLK Interrupts, 519
DSKSYNC Interrupts, 519
Dual playfield -->
DUALPF, 70, 545
DWidth - in ViewPort, 542, 550, in ViewPort display memory, 549
DxOffset - effect on display window, 550, in ViewPort display memory, 549
DyOffset - effect on display window, 550, in ViewPort display memory, 549
Dates Index
Dates, 881
example, 882
function reference, 884
functions, 881
structure, 881
Deadlock Index
Deadlock
verify messages, 219, 250, 263
with layers, 708
with menus, 188
with menuverify, 216
Depth Gadget Index
Depth Gadget
enable gadget, 109
keyboard qualifier, 78
screens, 74
window, 78
Device Index
Device
asynchronous IORequests, 449
closing, 450
commands, 448
device base address pointer, 452
device names, 447
device specific command prefixes, 448
devices with functions, 452
error checking, 450
error indications, 450
gracefully exiting, 451
opening, 447
passing IORequests, 447
problems, 917
romtag, 444
sharing library bases, 467
standard Exec commands, 448
synchronous IORequests, 449
task structure fields for, 466
DrawInfo structure Index
DrawInfo structure, 47, 55, 56, 58, 59, 106, 225, 238
dri_Font, 58
dri_Pens, 57, 107
dri_Version, 55
Drawing Index
Drawing
and Intuition text, 240
changing part of drawing area, 594
clearing memory, 592
colors, 584
in complement mode, 585
lines, 588
memory for, 582
modes, 585
moving source to destination, 595
pens, 584
pixels, 587
shapes, 590
turning off outline, 590
with Image structure, 225, 227
DrawMode Index
DrawMode
and Intuition text, 239
border, 234
in Border structure, 237
in flood fill, 591
in stencil drawing, 594
Intuition text, 242
with BltTemplate(), 596
Dual playfield Index
Dual playfield
bitplanes, 578
color map, 554
colors, 545
priority, 578
with screens, 70
E Index
EasyRequest(), 112, 188, 201, 211, 215, 216, 216-217, 218, 219, 222
EasyRequestArgs(), 112, 215-216, 222
EasyStruct structure -->
ECS, 11 - and genlock, 607, determining chip versions, 537
Emergency - message, 220
ENABLE, 530
ENABLE macro, 470
Enable(), 470, 480, 520, 530
End gadget - requester, 206
EndNotify(), 336, 344
EndRefresh(), 95, 97, 97, 110, 115, 128, 244, 261, 721
EndRequest(), 112, 203, 206, 222
EndUpdate(), 128, 711, 721
Enhanced Chip Set, 11
Enqueue(), 492, 498
EnqueueCxObj(), 737
EntryHandler(), 797, 798, 810
EO_BADFORMAT, 160
EO_BIGCHANGE, 160
EO_CLEAR, 160
EO_DELBACKWARD, 160
EO_DELFORWARD, 160
EO_ENTER, 160
EO_INSERTCHAR, 160
EO_MOVECURSOR, 160
EO_NOOP, 160
EO_REPLACECHAR, 160
EO_RESET, 160
EO_SPECIAL, 160
EO_UNDO, 160
EraseImage(), 225
EraseRect(), 225
Error -->
Errors, 915
Escape Sequences, 90 - ANSI, 248, console device, 248
Event Loop - IDCMP, 250, 251
Events, 481
Examples -->
Exception signal, 473
Exceptions -->
Exec -->
ExecBase Structure, 518, 520
exec/errors.h, 450
ExitHandler(), 797, 810
Expansion -->
ExpansionRom structure, 757
Expunge vector, 437
Extended - new screen structure, 46
EXTER, 519, 525, 526
EXTER Interrupts, 519, 525
ExternFont(), 682
ExtNewScreen structure, 43, 45
ExtNewWindow structure, 80, 106
Extra-Half-Brite - Clearing Plane 6, 583, Setting Plane 6, 583
Extra-Half-Brite mode, 580
EXTRA_HALFBRITE, 545-546
EasyStruct structure Index
EasyStruct structure, 216
es_Flags, 216
es_GadgetFormat, 216, 217
es_StructSize, 216
es_TextFormat, 216, 217
es_Title, 216
Error Index
Error
display, 204
incorrect custom chips, 45
monitor not available, 45
no Chip memory, 45
no memory, 45
open screen, 45
screen name collision, 45
unknown mode, 45
Examples Index
Examples
Animation - complete bobs example, 642
ASL
custom hook function, 426
file requester with multiple selection, 419
file requester with pattern matching, 419
font requester, 424
simple file requester, 417
Boopsi
custom gadget class, 323
custom model subclass, 312
Talk2boopsi.c, 299
Commodities
custom CxObject for swapping mouse buttons, 744
hotkey pop-up shell commodity, 750
input description strings, 737
monitoring user inactivity, 747
opening a broker commodity, 731
simple hot key commodity, 738
compiler flags used, 12
Exec
building and reading a list, 495
calling a library function, 437
Ctrl-C Processing, 433
library source code, 909
open an Exec Library, 438
opening a library (in assembler), 5
opening a library (in C), 4
semaphores, 514
signals.c, 484
simpletask.c, 467
task creation, 467
task list, 471
task trap, 475
using an Exec device, 453
Expansion
DiagArea in RAM, 762
list AUTOCONFIG boards, 757
sample autoboot code, 763
sample AUTOCONFIG ROM, 767
Gadgets
creating a simple gadget, 120
scroller support functions, 144
slider support functions, 145
string gadget with edit hooks, 162
updating a string gadget, 151
GadTools
complete GadTools example, 406
gadget message filtering, 403
NewMenu structure, 369
slider gadget setup, 393
using CreateContext(), 400
using gadgets, 383
using the menu system, 372
using VisualInfo functions, 399
graphics, 571
animtools.c, 661
RGBBoxes.c, 556
UserCopperExample.c, 603
IFFParse - ClipFTXT.c, 803, Sift.c, 807
Intuition
allocremember.c, 285
blocking input with a requester, 207
CloseWindowSafely() for shared IDCMPs, 255
compleximage.c, 231
custompointer.c, 275
displayalert.c, 221
easyintuition33.c, 34
easyintuition37.c, 32
easyrequest.c, 217
IDCMP event loop, 251
input event loop, 31
intuitext.c, 241
rawkey.c, 277
read mouse, 269
remembertest.c, 286
shadowborder.c, 235
simpleimage.c, 228
Keymap
AskKeyMap(), 813
German keymap excerpt, 824
mapping RAWKEY events to character sequences, 814
mapping text to keypresses, 816
SetKeyMap(), 813
Menus - menu layout, 192, simple menu, 172
Messages - skeleton of waiting for a signal, 434
Preferences
prefs file change notification, 336
read and parse IFF Prefs, 341
Screens
cloning a public screen, 59
double buffered screen, 67
dual playfield screen, 70
finding the Workbench screen, 51
opening a new look screen, 42
opening screens compatibly, 44
using a public screen, 56
Text
list available fonts, 690
measuring and fitting text, 678
render a text file to a window, 684
sample font source, 699
skeleton for opening a font, 671
skeleton for selecting aspect ratio, 683
skeleton for soft styling a font, 675
skeleton using AvailFonts(), 689
Windows
calculating window border size, 89
opening a window with tags, 80
superbitmap window, 99
using public screens, 83
window sized to the visible display, 86
Workbench
AppIcon, 360
AppMenuItem, 361
AppWindow, 363
icon creation and parsing, 355
parse Workbench and CLI args, 349
Exceptions Index
Exceptions, 473
680x0, 473
Exec, 473
SetExcept(), 473
synchronous, 474
tc_ExceptCode, 473
tc_ExceptData, 473
Exec Index
Exec
CloseLibrary(), 436
Device, 435
examples
building and reading a list, 495
calling a library function, 437
Ctrl-C Processing, 433
library source code, 909
Open an Exec Library, 438
opening a library (in assembler), 5
opening a library (in C), 4
semaphores, 514
task signalling, 484
tasklist.c, 471
trap_c.c, 475
introduction to, 9
Kickstart version, 435
Library, 435 - version, 435
Library Vector Offset - see LVO
LINKLIB macro, 438
LVO, 436, 437
MEMF_CHIP, 14
MEMF_FAST, 14
Messages - interprocess communication, 433
multitasking, 429
OpenLibrary(), 3, 4, 435
process, 430
quantum, 430
SetSignal(), 433
Signals, 432
struct Library, 436, 441
struct Task, 465
task, 429, 430
Wait(), 30, 31, 432
Expansion Index
Expansion, 924
AddBootNode(), 759, 776
AddDosNode(), 759, 776
autoboot - BOOT, 768, DIAG, 761, ROMTAG INIT, 768
AUTOCONFIG, 755 - hardware manufacturer number, 756
ConfigDev flags, 756
device drivers, 758
DiagArea flags, 761
disk based expansion board drivers, 758
examples
DiagArea in RAM, 762
list AUTOCONFIG boards, 757
sample autoboot code, 763
sample AUTOCONFIG ROM, 767
expansion board drivers - Autoboot, 760, ROM based, 760
FileSysRes, 775
FileSysResource, 769
FindConfigDev(), 756, 757, 776
GetCurrentBinding(), 759, 776
Hardware Manufacturer Number, 756
InitResident(), 759
MakeDosNode(), 759, 776
ObtainConfigBinding(), 759
ReleaseConfigBinding(), 759
RigidDiskBlock, 769, - see also "SCSI Device" in RKM:Devices
BadBlockBlock, 772
Environment, 773
FileSysHeaderBlock, 774
LoadSegBlock, 775
PartitionBlock, 773
RigidDiskBlock specification, 770
SetCurrentBinding(), 759, 776
struct ConfigDev, 756
struct CurrentBinding, 759
struct DiagArea, 761
struct DosEnvc, 760
struct ExpansionRom, 757
F Index
Fast floating-point library, 833
Fast Memory, 11, 431, 456
FastRand(), 887
FCH_ID, 698
fclose(), 887
fgetc(), 887
FgPen -->
File - requester, 20
FileRequester structure, 416
FileSysResource, 769
FILF_DOMSGFUNC, 425
FILF_DOWILDFUNC, 425
FILF_MULTISELECT, 419
FILF_NEWIDCMP, 419
FILF_PATGAD, 419
FILF_SAVE, 419
FILLPEN, 58
fillrectclass, 297
FILLTEXTPEN, 58
Filter - IDCMP messages, 250
FinalPC, 463
FindCollection(), 785, 810
FindConfigDev(), 756, 757, 776
FindDisplayInfo(), 567, 567, 611
FindLocalItem(), 791, 810
FindName(), 493, 498, 520
FindPort(), 502, 520
FindProp(), 344, 783, 810
FindPropContext(), 798, 810
FindSemaphore(), 514, 515
FindTask(), 49, 480, 520
FindToolType(), 354
First-In-First-Out (FIFO), 492, 499
Flags -->
Flicker - menu items, 181
Flood(), 590, 611
Follow mouse, 273
FONF_BACKCOLOR, 423
FONF_DOMSGFUNC, 425
FONF_DOWILDFUNC, 425
FONF_DRAWMODE, 423
FONF_FIXEDWIDTH, 423
FONF_FRONTCOLOR, 423
FONF_STYLES, 423
Font -->
FontContents structure, 698
FontContentsHeader structure, 698
FontExtent(), 155, 676
FontPrefs structure, 338
FontRequester structure, 422
Forbid(), 110, 366, 470, 480, 520
Foreground pen, 584
Format String - easy requester, 217
fpa(), 888
FPF_DESIGNED, 671
FPF_DISKFONT, 671
FPF_PROPORTIONAL, 671
FPF_REVPATH, 671
FPF_ROMFONT, 671
FPF_TALLDOT, 671
FPF_WIDEDOT, 671
fprintf(), 887
fputc(), 887
fputs(), 887
frameiclass, 297
frbuttonclass, 298
Free memory, 463
FreeAslRequest(), 416
FreeClass(), 330
FreeColorMap(), 560, 610
FreeCprList(), 560, 610
FreeDiskObject(), 353
FreeEntry(), 459, 462
FreeGadgets(), 382, 413
FreeGBuffers(), 668
FREEHORIZ, 147
FreeIEvents(), 749, 889
FreeIFF(), 344, 810
FreeLocalItem(), 799, 810
FreeMem(), 284, 431, 455, 457
FreeMenus(), 377, 413
FreeRaster(), 560, 610
FreeRemember(), 283, 284, 284-285, 289
FreeScreenDrawInfo(), 56, 76, 244
FreeSignal(), 476, 482, 485
FreeSprite(), 620, 668
FreeSysRequest(), 219, 222
FreeTrap(), 476, 480
FreeVec(), 431
FREEVERT, 147
FreeVisualInfo(), 413
FreeVPortCopLists(), 560, 610
FSF_BOLD, 671
FSF_EXTENDED, 671
FSF_ITALIC, 671
FSF_UNDERLINED, 671
FTXT, 799
FULLMENU(), 178
FULLMENUNUM(), 200
FgPen Index
FgPen
in complement mode, 585
in flood fill, 590, 591
in JAM1 mode, 584
in line drawing, 588
in RastPort, 584
in rectangle fill, 592
with BltTemplate(), 596
Flags Index
Flags
menu item, 191
new window, 111
window, 109
with BNDRYOFF() macro, 590
Font Index
Font, 930
in easy requester, 215
in screen, 59
Intuition text, 243
life, 58
menu layout, 179
outline, 19
preferred, 48
preferred monospace, 48
requester, 20
SA_Font, 58
SA_SysFont, 58
scaling, 19
screen, 47, 58
system font in screen, 48
window, 85
window title, 107
G Index
GACT_ALTKEYMAP, 137
GACT_BOOLEXTEND, 137
GACT_BOOLEXTENDED, 138
GACT_BOTTOMBORDER, 126, 137
GACT_ENDGADGET, 136, 206
GACT_FOLLOWMOUSE, 131, 136, 258, 273
GACT_IMMEDIATE, 123, 124, 131, 136, 259
GACT_LEFTBORDER, 126, 137
GACT_LONGINT, 133, 137, 150, 160
GACT_RELVERIFY, 123, 124, 131, 136, 259
GACT_RIGHTBORDER, 126, 136
GACT_STRINGCENTER, 137, 154
GACT_STRINGEXTEND, 137
GACT_STRINGLEFT, 137, 154, 155
GACT_STRINGRIGHT, 137, 154
GACT_TOGGLESELECT, 136, 138
GACT_TOPBORDER, 126, 137
Gadget -->
Gadget structure -->
Gadget Toolkit - see GadTools
gadgetclass, 292, 297
GadgetInfo structure, 318
GadTools -->
Gameport device, 925
GA_Disabled, 386, 387, 389, 390, 392, 394, 396
GA_Immediate, 392, 394
GA_RelVerify, 301, 392, 394
GA_TabCycle, 387
GA_Underscore, 404
GELGONE Flag - in VSprite structure, 624
GELS - introduction, 613, types, 614
GelsInfo, 583
GelsInfo structure, 632
Genlock, 607, 607 - control, 20
GetAttr(), 296, 301, 330
GetCC(), 478
getchar(), 887
GetColorMap(), 47, 553, 560, 564, 610
GetCurrentBinding(), 759, 776
GetDefaultPubScreen(), 50, 76
GetDefDiskObject(), 353
GetDefPrefs(), 332, 344
GetDiskObject(), 353
GetDiskObjectNew(), 353
GetDisplayInfoData(), 543, 567, 611
GetGBuffers(), 668
GetMsg(), 434, 505, 520
GetPrefs(), 262, 332, 344
GetRexxVar(), 888
GetRGB4(), 554
GetScreenData(), 51, 59, 75, 76
GetScreenDrawInfo(), 56, 59, 76, 244
GetSprite(), 619, 668
GetVisualInfo(), 398, 413
GetVisualInfoA(), 398, 413
GetVPModeID(), 59, 566, 611
GFLG_DISABLED, 130, 135, 321
GFLG_GADGHBOX, 127, 128, 129, 134
GFLG_GADGHCOMP, 127, 127, 134
GFLG_GADGHIMAGE, 127, 128, 129, 134
GFLG_GADGHNONE, 127, 134
GFLG_GADGIMAGE, 122, 123, 123, 128, 134
GFLG_RELBOTTOM, 125, 128, 135
GFLG_RELHEIGHT, 125, 128, 135
GFLG_RELRIGHT, 124-125, 128, 135
GFLG_RELVERIFY - Boopsi gadgets, 301
GFLG_RELWIDTH, 125, 128, 135
GFLG_SELECTED, 135
GFLG_STRINGEXTEND, 135, 155, 157
GFLG_TABCYCLE, 135, 154
GfxAssociate(), 551, 611
GfxBase Structure, 243 - DefaultFont, 58, 85, 241, 243
GfxFree(), 551, 611
GfxLookUp(), 551
GfxNew(), 551, 611
Ghosted - menus, 185
GimmeZeroZero -->
GMR_GADGETHIT, 320
GMR_MEACTIVE, 321
GMR_NEXTACTIVE, 321
GMR_NOREUSE, 321
GMR_PREVACTIVE, 321
GMR_REUSE, 321
GM_GOACTIVE, 318, 320
GM_GOINACTIVE, 318, 322
GM_HANDLEINPUT, 318, 321
GM_HITTEST, 318, 320
GM_RENDER, 318, 319
gpGoInactive structure, 322
gpHitTest structure, 320
gpInput structure, 320
gpRender structure, 319
Graphics -->
graphics.library - see also Text
GREDRAW_REDRAW, 319
GREDRAW_TOGGLE, 319
GREDRAW_UPDATE, 319
groupgclass, 297
GTCB_Checked, 389
GTCY_Active, 390
GTCY_Labels, 390
GTIN_MaxChars, 387
GTIN_Number, 387
GTLV_Labels, 394
GTLV_ReadOnly, 395
GTLV_ScrollWidth, 395
GTLV_Selected, 395
GTLV_ShowSelected, 395
GTLV_Top, 395
GTMENU_INVALID, 375
GTMENUITEM_USERDATA(), 372
GTMENU_NOMEM, 375
GTMENU_TRIMMED, 375
GTMENU_USERDATA(), 372
GTMN_FrontPen(), 374
GTMN_FullMenu, 374
GTMN_Menu, 376
GTMN_SecondaryError, 375
GTMN_TextAttr, 375, 376
GTMX_Active, 389
GTMX_Labels, 389
GTMX_Spacing, 390
GTNM_Border, 397
GTNM_Number, 397
GTPA_Color, 396
GTPA_ColorOffset, 396
GTPA_Depth, 396
GTPA_IndicatorHeight, 396
GTPA_IndicatorWidth, 396
GTSC_Arrows, 394
GTSC_Top, 393
GTSC_Total, 393
GTSC_Visible, 393
GTSL_DispFunc, 392
GTSL_Level, 391
GTSL_LevelFormat, 391
GTSL_LevelPlace, 391
GTSL_Max, 391
GTSL_MaxLevelLen, 391
GTSL_Min, 391
GTST_MaxChars, 387
GTST_String, 386
GTTX_Border, 397
GTTX_CopyText, 397
GTTX_Text, 397
GTYP_BOOLGADGET, 133, 138
GTYP_CUSTOMGADGET, 133
GTYP_GZZGADGET, 89, 93, 133, 136
GTYP_PROPGADGET, 133
GTYP_REQGADGET, 133, 206, 212
GTYP_STRGADGET, 133, 154
GT_BeginRefresh(), 402, 413
GT_EndRefresh(), 402, 413
GT_FilterIMsg(), 402, 413
GT_GetIMsg(), 381, 413
GT_PostFilterIMsg(), 402, 413
GT_RefreshWindow(), 401, 413
GT_ReplyIMsg(), 381, 413
GT_SetGadgetAttrs(), 385, 413
GT_SetGadgetAttrsA(), 385, 413
GUI - see Boopsi
Gadget Index
Gadget, 318 - see Also BOOPSI and GadTools
actions with SGH_KEY, 161
ActivateGadget(), 150, 166, 321
activating a string gadget, 150
Activation flags, 123-124, 126, 131, 136-137, 154
active gadget, 323
AddGadget(), 166
AddGList(), 122, 129, 166
adding a gadget, 121
adjusting borders, 126
alternate border, 118, 127, 128
alternate image, 118, 127, 128
and requester, 204
Auto-Knob for proportional gadgets, 143
BeginRefresh(), 128
BeginUpdate(), 128
boolean gadgets, 129
boolinfo flags, 139
border gadgets, 126
Border Structure, 128
box gadget highlighting, 127, 128
button gadget, 118
Caveats
do not share knob imagery, 143
do not use image lists for knobs, 143
GimmeZeroZero window border, 136
imagery and the selection box, 124
mouse tracking with boolean gadgets, 136
close gadget, 119
complement gadget highlighting, 127, 127
custom gadgets, 166
defined, 28
depth gadget, 119
disabling, 118, 130
down, 268
down message, 259
drag gadget, 119
enabling, 118, 130
EndRefresh(), 128
EndUpdate(), 128
Examples
creating a simple gadget, 120
scroller support functions, 144
slider support functions, 145
string gadget with edit hooks, 162
updating a string gadget, 151
FontExtent(), 155
gadget flags, 122, 124, 127, 128, 128, 134, 154, 157
gadget imagery, 122
Gadget Structure, 119
GadgetID, 134
gadgets without imagery, 123
GFLG_DISABLED, 321
ghosted - see Gadgets disabling
GMR_MEACTIVE, 321
GMR_NEXTACTIVE, 321
GMR_NOREUSE, 321
GMR_PREVACTIVE, 321
GMR_REUSE, 321
GM_GOINACTIVE, 322
Help key in string gadgets, 158
highlighting, 118
highlighting gadgets, 127
highlighting mutual exclude, 139
hit-select boolean gadget, 138
IDCMP Messages, 123-124, 128, 131
Image Structure, 128
imageless gadgets for mouse tracking, 123
implemention of, 318
in borders, 932
in new window, 107
in requester, 204, 206
in window border, 93
integer gadget, 150
Intuition Message classes, 119
Knob on proportional gadgets, 142
left mouse button, 118
Methods, 318
modifying gadgets, 122
ModifyProp(), 166
mutually exclusive, 140
NewModifyProp(), 147, 148, 166
ObtainGIRPort(), 323
OffGadget(), 130, 166
OnGadget(), 130, 166
position, 124
PropInfo flags, 140, 147
proportional gadget, 118, 140
proportional gadget container, 142
proportional gadget increment, 144
proportional gadget knob, 142
RefreshGadgets(), 166
RefreshGList(), 128, 129, 130, 166
refreshing gadgets, 128
relative position, 124
relative size, 124
ReleaseGIRPort(), 323
RemoveGadget(), 166
RemoveGList(), 122, 166, 322
removing a gadget, 121
screen gadgets, 119
Scroller, 141, 141
select box size, 125
select button, 118
SetEditHook(), 166
SGWork editing actions, 160
SGWork editing operations, 160
size gadget, 119, 124
Slider, 141, 142
SpecialInfo, 134
string gadget, 118, 148
string gadget editing, 158
string gadget modes, 157
string gadget with an alternate keymap, 156
struct BoolInfo, 139
struct Border, 123
struct Gadget, 132
struct IntuiMessage, 119
struct IntuiText, 123
struct PropInfo, 143, 144, 147
struct SGWork, 159
struct StringExtend, 157
struct StringInfo, 154, 155
system gadgets, 77, 91, 119
text gadget, 118
text justification, 154
toggle-select boolean gadget, 138
types of gadgets, 133, 138
up, 268
up message, 259
UserData, 134
using relative positioning, 125
window gadgets, 119
zoom gadget, 119
Gadget structure Index
Gadget structure, 132, 224, 352
1.3 compatible usage, 19
activation, 93, 206
GadgetType, 206, 212
GadTools Index
GadTools, 192, 367
BUTTON_KIND
GA_Disabled, 386, 387
GA_TabCycle, 387
GTIN_MaxChars, 387
GTIN_Number, 387
GTST_MaxChars, 387
GTST_String, 386
STRINGA_ExitHelp, 387
STRINGA_Justification, 387
STRINGA_ReplaceMode, 387
caveats
GadTools enforces Intuition limits, 375
GT_SetGadgetAttrs() and GT_BeginRefresh(), 386
PLACETEXT with GENERIC_KIND gadgets, 398
post-processing, 368
preserve bits set by CreatsGadget(), 398
refreshing the display, 382
restrictions on gadgets, 411
side effects, 412
CHECKBOX_KIND
GA_Disabled, 389
GTCB_Checked, 389
controlling gadgets from the keyboard, 404
CreateContext(), 399
CreateGadget(), 380
CreateMenus(), 374
CreateMenusA(), 374
creating gadgets, 380
CYCLE_KIND
GA_Disabled, 390
GTCY_Active, 390
GTCY_Labels, 390
DrawBevelBox(), 403
DrawBevelBoxA(), 403
examples
complete GadTools example, 406
gadget message filtering, 403
NewMenu structure, 369
slider gadget setup, 393
using CreateContext(), 400
using gadgets, 383
using the menu system, 372
using VisualInfo functions, 399
features of, 368
FreeGadgets(), 382
FreeMenus(), 377
function descriptions, 413
gadget types, 378, 386
button, 378, 386
checkboxes, 378, 389
cycle, 378, 390
generic gadget, 398
integer, 378, 386
listviews, 378, 394
mutually exclusive, 378, 389
numeric-display, 378, 397
palette, 378, 396
scrollers, 378, 393
sliders, 378, 391
string, 378, 386
text-display, 378, 397
gadgets, 378
GetVisualInfo(), 398
GetVisualInfoA(), 398
GTMENUITEM_USERDATA(), 372
GTMENU_USERDATA(), 372
GTMN_FrontPen(), 374
GTMN_TextAttr, 375
GT_BeginRefresh(), 402
GT_EndRefresh(), 402
GT_FilterIMsg(), 402
GT_GetIMsg(), 381
GT_PostFilterIMsg(), 402
GT_RefreshWindow(), 401
GT_ReplyIMsg(), 381
GT_SetGadgetAttrs(), 385
GT_SetGadgetAttrsA(), 385
handling gadget messages, 381
IDCMP flags, 382
implementing gadget keyboard equivalents, 404
language-sensitive menus, 378
LayoutMenuItems(), 376
LayoutMenuItemsA(), 376
LayoutMenus(), 375
LayoutMenusA(), 375
LISTVIEW_KIND
GTLV_Labels, 394
GTLV_ReadOnly, 395
GTLV_ScrollWidth, 395
GTLV_Selected, 395
GTLV_ShowSelected, 395
GTLV_Top, 395
LAYOUTA_Spacing, 395
menu layout, 180
menus, 368
menus and intuimessages, 377
minimal IDCMP_REFRESHWINDOW processing, 402
modifying gadgets - struct, 385
MX_KIND
GTMX_Active, 389
GTMX_Labels, 389
GTMX_Spacing, 390
NUMBER_KIND
GTNM_Border, 397
GTNM_Number, 397
PALETTE_KIND
GA_Disabled, 396
GTPA_Color, 396
GTPA_ColorOffset, 396
GTPA_Depth, 396
GTPA_IndicatorHeight, 396
GTPA_IndicatorWidth, 396
programming gadgets, 378
restrictions on menus, 377
reusing a NewGadget structure, 401
SCROLLER_KIND
GA_Disabled, 394
GA_Immediate, 394
GA_RelVerify, 394
GTSC_Arrows, 394
GTSC_Top, 393
GTSC_Total, 393
GTSC_Visible, 393
PGA_Freedom, 394
SLIDER_KIND
GA_Disabled, 392
GA_Immediate, 392
GA_RelVerify, 392
GTSL_DispFunc, 392
GTSL_Level, 391
GTSL_LevelFormat, 391
GTSL_LevelPlace, 391
GTSL_Max, 391
GTSL_MaxLevelLen, 391
GTSL_Min, 391
PGA_Freedom, 392
processing IntuiMessages, 392
struct NewGadget, 379
struct NewMenu, 370
TEXT_KIND
GTTX_Border, 397
GTTX_CopyText, 397
GTTX_Text, 397
GimmeZeroZero Index
GimmeZeroZero, 133
attribute, 110
border rast port, 105
clipping alternative, 93
description, 93
gadget in border, 89
mouse position, 105, 273
offset alternative, 89
opening, 93
requester limit, 204
requester positioning, 93
use of resources, 93
window type, 92, 93
with borderless, 92
with superbitmap, 96
Graphics Index
Graphics
display modes, 536
examples
Animation tools, 661
simple ViewPort creation, 556
User copper list, 603
WBClone.c, 571
high level interface, 223
images, 919
in windows, 85
layers locking, 707, 726
screen data organization, 39
struct AnimComp, 652
struct AnimOb, 652
struct bltnode, 600
struct RastPort, 581
text - see Text
using from Intuition, 223
with layers, 704
H Index
HAM, 545-546, 580-581
Hardware - differences, 926
Hardware Interrupts, 517
Hardware Sprites - reserving, 632
Height - by inner dimension, 108
Height variable - in VSprite structure, 625
Help - menu, 111, 260
HIGHBOX, 192
HIGHCOMP, 191
HIGHFLAGS, 191
HIGHIMAGE, 190, 192, 225
HIGHITEM, 192
Highlighting - menu item, 191, menus, 169, 169
HIGHLIGHTTEXTPEN, 58
HIGHNONE, 192
HIRES, 545
Hold-and-modify mode, 580
Hook structure, 312
HookEntry.asm, 794
Hooks -->
Hot Spot - mouse, 266
HotKey(), 889
Hooks Index
Hooks, 875
example, 877
function, 875
function reference, 883
structure, 875
usage, 876
I Index
ICA_MAP - Boopsi gadgets, 299, icclass, 302
ICA_TARGET, 309 - Boopsi gadgets, 298, 302, icclass, 302
icclass, 292, 297, 302
Icon - creation, 350, parsing, 350
Icon library, 350
IControlPrefs structure, 338
ICSPECIAL_CODE - Boopsi gadgets, 302
IDCMP -->
IDCMP_ACTIVEWINDOW, 91, 176, 261
IDCMP_CHANGEWINDOW, 263
IDCMP_CLOSEWINDOW, 248, 259
IDCMP_DELTAMOVE, 256, 259, 268-269
IDCMP_DISKINSERTED, 262
IDCMP_DISKREMOVED, 262
IDCMP_GADGETDOWN, 119, 123, 124, 259, 268
IDCMP_GADGETUP, 119, 123, 124, 131, 259, 268 - Boopsi gadgets, 301
IDCMP_IDCMPUPDATE, 263 - Boopsi gadgets, 302
IDCMP_INACTIVEWINDOW, 91, 261
IDCMP_INTUITICKS, 74, 258, 262-263
IDCMP_LONELYMESSAGE, 263
IDCMP_MENUBUTTONS, 186
IDCMP_MENUHELP, 111, 178, 179, 258, 260
IDCMP_MENUPICK, 176, 177, 177, 179, 185, 186, 187, 187, 259, 268
IDCMP_MENUVERIFY, 49, 186, 186, 186, 187, 188, 216, 259-260, 263-264
IDCMP_MOUSEBUTTONS, 110, 131, 175, 187, 258, 268, 269
IDCMP_MOUSEMOVE, 93, 109, 124, 131, 256, 258, 259, 268, 269, 273
IDCMP_NEWPREFS, 262, 332
IDCMP_NEWSIZE, 112, 260
IDCMP_RAWKEY, 256, 261-262, 277, 277
IDCMP_REFRESHWINDOW, 97, 110, 128, 261
IDCMP_REQCLEAR, 105, 210, 210, 260
IDCMP_REQSET, 105, 210, 210, 260
IDCMP_REQVERIFY, 211, 260, 263-264
IDCMP_SIZEVERIFY, 91, 250, 261, 263-264
IDCMP_UPDATE, 277
IDCMP_VANILLAKEY, 256, 261, 277
IDCMP_WBENCHMESSAGE, 263
IDNestCnt Counter, 530
IEQUALIFIER_CAPSLOCK, 282
IEQUALIFIER_CONTROL, 282
IEQUALIFIER_LALT, 282
IEQUALIFIER_LCOMMAND, 282
IEQUALIFIER_LEFTBUTTON, 282
IEQUALIFIER_LSHIFT, 282
IEQUALIFIER_MIDBUTTON, 282
IEQUALIFIER_NUMERICPAD, 282
IEQUALIFIER_RALT, 282
IEQUALIFIER_RBUTTON, 282
IEQUALIFIER_RCOMMAND, 282
IEQUALIFIER_REPEAT, 277, 282
IEQUALIFIER_RSHIFT, 282
IFEMPTY, 498
IFF -->
IFFHandle structure, 780
IFFParse -->
IFNOTEMPTY, 498
ILBM, 799
Illegal instruction, 474
Image - menu item, 169, 190, position, 224
Image structure -->
imageclass, 292, 297
ImageData - changing VSprites, 627
ImageData pointer - in VSprite structure, 625
Imagery - in requester, 204, in requester gadgets, 206
Images - see also Boopsi
IM_ITEM, 370
IM_SUB, 370
inheritance, 293, 306, 311
InitArea(), 582, 611
InitBitMap(), 98, 552, 610
InitGels(), 668
InitGMasks(), 668
InitIFF(), 781, 810
InitIFFasClip(), 781, 810
InitIFFasDOS(), 344, 781, 810
InitMasks(), 648, 668
InitRastPort(), 582, 611
InitRequester(), 203, 211, 222
InitResident(), 759
InitSemaphore(), 511, 515
InitStruct(), 462
InitTmpRas(), 583
InitView(), 610, 709
InitVPort(), 553, 610, 709
Input - and Intuition, 245, block with requester, 203, out-of-sync, 920
Input Device, 245, 246 - input stream, 246
Input Event, 323 - menus, 176, mouse, 266, processing menu events, 177
Input Event Loop, 30
Input Focus, 78, 248
Input Handler, 246, 247
Input Stream, 246
InputEvent Structure, 246, 321 - ie_Qualifier, 256
InputPrefs structure, 339
InputXpression structure, 745
Insert(), 492, 498
InsertCxObj(), 737
InstallClipRegion(), 703, 711, 719, 720-721, 723
Instance, 292
Instance data, 293, 308 - initializing, 308
INST_DATA() macro, 309
INT2, 519
INT6, 519
INTB_VERTB, 521
INTEN Interrupts, 519
INTENA, 517, 518
INTENA Register, 517
INTENAR, 521
Interconnection class - see icclass
International Characters - as menu command keys, 184
International compatibility, 922
International strings -->
Interprocess communication, 433, 499
Interrupt stack, 477
Interrupt Structure -->
Interrupts -->
INTREQ, 517, 518
INTREQ Register, 517
INTREQR, 521
IntuiMessage structure -->
IntuiText - in requester, 204, position, 224
IntuiText structure -->
IntuiTextLength(), 241, 243, 244
Intuition -->
Intuition public classes, 297
IntuitionBase Structure, 283, 283-284
INVERSVID, 240, 243, 585
InvertString(), 749, 889
IORequest, 446 - creating, 446
IPL0, 517
IPL1, 517
IPL2, 517
ISDRAWN, 192
IsListEmpt, 498
ISP, 477
Item Number, 177 - terminator, 177
ItemAddress(), 177, 200
ITEMENABLED, 175, 191
ItemFill, 225
ITEMNUM(), 177, 178
ITEMTEXT, 190, 191, 192, 225
itexticlass, 297
IX structure, 745
IXSYM_ALT, 745
IXSYM_CAPS, 745
IXSYM_SHIFT, 745
.info file, 345
IDCMP Index
IDCMP, 31, 247
application allocated, 249
Boopsi, 301
creation, 249
definition, 90
discard messages, 113
Flags, 257
freeing, 249
in easy requesters, 215
input events, 249
message structure, 250
queue limits, 113
requester, 210
shared, 253-254
WA_IDCMP tag, 107
IFF Index
IFF, 777
Chunk, 778
example file, 780
FORM, 778-779 - size, 780
FORM types, 799
FTXT, 803
ILBM, 800, 801, 802
introduction, 778
Preferences, 338
IFFParse Index
IFFParse, 777
context stack, 789
custom chunk handler, 797, 798
custom stream handler, 793-795, 795
error handling, 792
examples
examining IFF files, 807
parsing FTXT for the clipboard, 803
reading files, 784
streams, 781
struct ContextNode, 789
struct IFFHandle, 780
writing files, 787
Image structure Index
Image structure, 180, 190, 191, 192, 223, 224, 224-225, 225, 353
bit-plane organization, 227
calculation of data size, 226
color computation, 228
Depth, 226, 231
Height, 226, 231
ImageData, 226, 227, 231
LeftEdge, 226, 240
NextImage, 226
PlaneOnOff, 226, 230-231
PlanePick, 226, 230
TopEdge, 226, 240
Width, 226, 231
International strings Index
International strings, 880
example, 880
function reference, 883
functions, 880
Interrupt Structure Index
Interrupt Structure, 520, 521, 521, 525, 527
is_Data, 521, 524, 525
is_Node, 525
Interrupts Index
Interrupts, 917
68000 interrupt request signals, 517
68000 priority levels, 517
autovectors, 518
deferred, 519
disable, 520
disabling, 530
Exceptions, 473
handlers, 519, 521
hardware registers, 517
non-maskable (NMI), 519
priorities, 519
server return value, 525
servers, 519, 525
software, 527
Task private, 473
IntuiMessage structure Index
IntuiMessage structure, 119, 247, 250, 256
Class, 256-257, 257, 268
Code, 186, 256, 258, 259-260, 261, 268
ExecMessage, 256
IAddress, 257, 259, 262, 263
IDCMPWindow, 257
Micros, 257
MouseX, 256, 268, 273
MouseY, 256, 268, 273
Qualifier, 256, 261, 282
Seconds, 257
SpecialLink, 257
IntuiText structure Index
IntuiText structure, 123, 180, 190, 191, 192, 213, 223, 224, 239, 239-240,
240, 243
BackPen, 239, 242-243
DrawMode, 239
FrontPen, 239-240, 242-243
IText, 240, 241
ITextFont, 240, 241, 243
LeftEdge, 240, 240
NextText, 240, 243
TopEdge, 240, 240
Intuition Index
Intuition, 619, 927
3D look, 26
and other user interface libraries, 24
BeginRefresh(), 95, 97, 97
Boopsi - see Boopsi
Boopsi class reference, 891
busy pointer, 207
CloseWindow(), 82
components of the user interface, 25, 27
EndRefresh(), 95, 97, 97
examples
alert, 221
blockinput.c, 207
closewindowsafely.c (for shared IDCMPs), 255
complex Image drawing, 231
custom pointer, 275
easy requester, 217
input event loop, 31
IDCMP processing, 251
Intuition basics (all OS versions), 34
Intuition basics (Release 2), 32
Intuition text rendering, 241
memory functions, 285, 286
mousetest.c, 269
raw key processing, 277
reusing Border structures, 235
simple Image drawing, 228
ExtNewWindow structure, 80
font, 243
graphics features, 223
IDCMP, 31
input event loop, 30, 31
introduction, 23
line drawing, 234
NewWindow structure, 80
OpenWindow(), 80
OpenWindowTagList(), 80
OpenWindowTags(), 80
QueryOverscan(), 86
struct EasyStruct, 216
struct Image, 225
struct IntuiMessage, 256
struct IntuiText Structure, 239
struct Menu, 188
struct MenuItem, 189
struct Remember, 285
struct Requester, 211
struct Window, 104
text, 239
J Index
JAM1, 234, 237, 239, 242-243, 585 - with INVERSVID, 585
JAM1 mode - in drawing, 584
JAM2, 239, 242-243, 585
JAM2 mode - in drawing, 584
Justification - menu item text, 190
K Index
KCF_ALT, 820-821
KCF_CONTROL, 820-821
KCF_DOWNUP, 820
KCF_SHIFT, 820-821
KCF_STRING, 820
KCmpStr(), 890
KC_NOQUAL, 820-821
KC_VANILLA, 820-821
Key Mapping, 277
Keyboard -->
Keyboard Layout, 828
Keyboard Qualifier, 282
Keyboard Shortcut - screens, 74
Keymap -->
KeyMap structure, 812
keymap.library, 811
KGetChar(), 890
KGetNum(), 890
Kickstart version, 435
KMayGetChar(), 890
KNOBHIT, 140, 147
KPrintF(), 890
KPutChar(), 890
KPutStr(), 890
Keyboard Index
Keyboard
and menus, 176
as alternate to mouse, 280
menu shortcuts, 184
qualifiers, 282
raw key, 277
repeat queue limit, 108, 114
Shortcut, 281, 281
vanilla key, 277
with easy requesters, 217
Keymap Index
Keymap, 811
alternate key maps, 821
AskKeyMap(), 813
AskKeyMapDefault(), 812
capsable keys, 822
caveats - key numbers over hex 67, 818
dead-class keys, 823
double-dead keys, 826
Examples
AskKeyMap(), 813
German keymap excerpt, 824
mapping RAWKEY events to character sequences, 814
mapping text to keypresses, 816
SetKeyMap(), 813
high key map, 818
KCF_ALT, 820-821
KCF_CONTROL, 820-821
KCF_DOWNUP, 820
KCF_SHIFT, 820-821
KCF_STRING, 820
KC_NOQUAL, 820-821
KC_VANILLA, 820-821
key map standards, 823
keymapping, 829
keymapping qualifiers, 819, 820
keytype table, 820
low key map, 818
MapANSI(), 816
MapRawKey(), 814
mouse button events, 831
qualifiers, 820
repeatable keys, 822
SetKeyMap(), 813
SetKeyMapDefault(), 813
string output keys, 821
struct KeyMap, 812
L Index
LACE, 545 - in View and ViewPort, 548
Last-In-First-Out (LIFO), 492
Layer Structure -->
LAYERBACKDROP, 706
Layer_Info - locking, 97
Layer_Info Structure, 284, 704, 707, 707-708, 709, 710
LAYERREFRESH, 261
Layers -->
LAYERSIMPLE, 705
LAYERSMART, 205, 705
LAYERSUPER, 705
Layout - menu, 179
LAYOUTA_Spacing, 395
LayoutMenuItems(), 376, 413
LayoutMenuItemsA(), 376, 413
LayoutMenus(), 375, 413
LayoutMenusA(), 375, 413
Left Amiga Key -->
Left Mouse Button - selection, 266, with alert, 220, with menus, 169
leftmost - in GelsInfo, 624
Length - of Intuition text, 241
Libraries -->
Library -->
Library (Exec) -->
Library structure, 436, 441
Library Vector Offset - see LVO
Limits - change for window, 108, message queue, 113, window size, 85
Line 1010 emulator, 474
Line 1111 emulator, 474
Line drawing, 588
Line pattern, 585
Lines -->
LINKLIB macro, 438
List structure, 490, 520
Lists -->
LoadRGB4(), 554, 610
LoadRGB4CM(), 554
LoadSeg(), 479
LoadView() -->
LocalItemData(), 790, 810
Lock -->
LockIBase(), 283, 289
Locking, 473
LockLayer(), 707, 708
LockLayerInfo(), 707-708, 708
LockLayers(), 708
LockPubScreen(), 50, 51, 53, 53, 54, 56, 59, 75, 76, 83, 108
LockPubScreenList(), 54, 76
Logic equations - blitter, 596
Logical And, 719, 722, 722
Logical Exclusive-Or, 719, 722, 722
Logical Not, 721, 722
Logical Or, 719, 722, 722
Long-frame Copper list, 579
LOWCHECKWIDTH, 182
LOWCOMMWIDTH, 185
LVO, 436, 437
Layer Structure Index
Layer Structure, 214, 284, 704
bounds, 704
DamageList, 711, 719
Flags, 705
RastPort, 204
Layers Index
Layers, 205, 703, 929
accessing, 707, 711
alternative to GimmeZeroZero, 93
backdrop, 706
blocking output, 711
clipping rectangle list, 719
creating, 710, 710
creating the workspace, 709
damage list, 97
deleting, 710
introduction, 703
moving, 711
opening, 706
order, 711
redrawing, 711
requester, 204
scrolling, 711
sizing, 711
sub-layer operations, 712
updating, 711
windows, 170
with screens, 65
Left Amiga Key Index
Left Amiga Key, 184
with easy requesters, 217
with system requesters, 217
Libraries Index
Libraries
adding, 443
calling a library function, 437
relation to devices, 442
sharing library bases, 467
Library Index
Library
CLOSE vector, 442
example library source code, 909
EXPUNGE vector, 442
OPEN vector, 442
RESERVED vector, 442
romtag, 444
Library (Exec) Index
Library (Exec), 435
Close vector, 437
Exec - OpenLibrary(), 435
Expunge vector, 437
Library Vector Offset - see LVO
LVO, 436, 437
Open vector, 437
OpenLibrary(), 435
Reserved vector, 437
version, 435
Lines Index
Lines
and Intuition graphics, 234
multiple, 589
patterned, 589
with Intuition graphics, 223
Lists Index
Lists
empty lists, 494
prioritized insertion, 492
scanning a list, 494
searching by name, 493
shared lists, 497
LoadView() Index
LoadView(), 66, 610, 709
effect of freeing memory, 560
in display ViewPorts, 555
Lock Index
Lock, 916, 917
CloseWorkBench(), 52
IntuitionBase, 283
layer info, 97
layers, 97, 284
public screen, 50, 51, 53, 83, 108
public screen list, 54
window input, 203
M Index
Macros - menus, 178, 185, 200
MakeClass(), 311, 330
MakeDosNode(), 759, 776
MakeLibrary(), 443
MakeScreen(), 66, 70, 76
MakeVPort() -->
MapANSI(), 816
MapRawKey(), 814
Masking interrupts, 471
Master stack, 477
MatchToolValue(), 354
Math library, 833
mathffp.library, 835
mathieeedoubbas.library, 853
MathIeeeDoubTransBase, 857
mathieeedoubtrans.library, 857
mathieeesingbas.library, 845
MathIeeeSingTransBase, 849
mathieeesingtrans.library, 849
mathtrans.library, 838
MAXBODY, 143, 144
MAXPOT, 142, 143
MemChunk structure, 463
MemEntry structure, 460, 461
MEMF_24BITDMA, 431, 456
MEMF_ANY, 431, 456
MEMF_CHIP, 14, 227, 274, 288, 431, 456
MEMF_CLEAR, 211, 431, 456
MEMF_FAST, 14, 431, 456
MEMF_LOCAL, 431, 456
MEMF_PUBLIC, 431, 456
MEMF_REVERSE, 431, 456
MemHeader structure, 462
MemList structure, 459, 461
Memory -->
Memory allocation - Intuition, 284
Menu -->
Menu Bar, 168
Menu Help, 111
Menu Number -->
Menu Shortcut, 184
Menu structure -->
MENUCANCEL, 186
MENUDOWN, 110, 258, 268
MENUENABLED, 189
MENUHOT, 186
MenuItem structure -->
MENUNULL, 176, 177-178, 178, 179, 187, 191, 259-260
MENUNUM(), 177
MENUSTATE, 186
MENUTOGGLE, 182, 191
MENUUP, 110, 186, 187, 258, 268
MENUWAITING, 186
Message Port -->
Message Queue - IDCMP, 250
Message Structure, 250, 694
Messages -->
Messages arrival action, 500
Messages (Boopsi), 293 - final, 309, interim, 309
Methods, 293
MIDDLEDOWN, 258
MIDDLEUP, 258
MIDRAWN, 189
MinList structure, 489
MinNode structure, 488
Minterm, 596
Modal requesters, 202
Mode ID - of alert screen, 220
ModeID, 545, 550, 563, 565 - DisplayInfo, 567, MonitorSpec, 568
modelclass, 302
ModeNotAvailable(), 568, 611
Modes - display, 536, 545, ViewPort, 545, 550
Modify Clipping Region, 719
ModifyIDCMP(), 107, 188, 211, 216, 219, 249-250, 253-254, 257, 264, 264
ModifyProp(), 166
Modulo, 595
MonitorSpec structure, 568
Monochrome Screen - and Intuition graphics, 225
Mouse -->
Mouse button - right, 175
Mouse button events, 831
Mouse Movement - enable events, 273
Mouse Position - message, 256
Move(), 588, 611, 674
MOVEC, 517
MoveLayer(), 708, 711
MoveLayerInFrontOf(), 708, 711
MoveScreen(), 40, 74, 76
MoveSizeLayer(), 711
MoveSprite(), 288, 620, 668
MoveWindow(), 112, 115
MoveWindowInFrontOf(), 112, 113, 115
MrgCop() -->
Msg structure, 303, 307
MsgPort structure, 500 - SigTask, 254
MSP, 477
Multiple Asynchronous IORequests, 449
Multiple Gadgets - in easy request, 217
Multiple Select - menu, 169, 267, menu processing, 176
Multiple Tasks - with layers, 707
Multitasking, 429
Mutual Exclude - menu, 168, 181, 182, menu item, 190
Mutual exclusion, 473
myLabelLayer(), 712
MakeVPort() Index
MakeVPort(), 66, 555, 610, 709
allocating memory, 560
and Simple Sprites, 619
in double-buffering, 579
Memory Index
Memory
allocation, 455
allocation for BitMap, 552
allocation with Intuition, 284
allocation within interrupt code, 457
AllocMem(), 430, 455
AllocMem()/Vec() flags, 431
AllocVec(), 430
Chip, 431
Chip memory, 14
Chip memory (defined), 11
clearing, 456, 592
deallocation, 455
deallocation with Intuition, 284
deallocation within interrupt code, 457
Fast, 14, 431, 456
Fast (defined), 11
for area fill, 582
free, 455, 463
freeing, 560
freeing Workbench screen, 52
FreeMem(), 431, 455
FreeVec(), 431
location of, 456
loss, 919, 920, 920, 920, 920
problems, 916
public, 431, 456
remember key, 285
Remember Structure, 285
size
allocation, 455
deallocation, 455
special-purpose chip, 456
Menu Index
Menu, 167
active window, 79
Amiga key glyph, 170
cancelling menu operations, 186
changing, 175
checkmark, 182
command key shortcuts, 281
custom checkmark, 107
defined, 29
disable, 110, 111, 170
disabling, 175, 185
double-menu requester, 267
enable, 170
Enabling, 185
Examples - menu layout, 192, simple menu, 172
flickering, 920
help, 111, 260
highlighting, 169
input events, 177
Items, 168
layer operation, 712
layout, 179
limitations, 170
linking, 176
macros, 178, 200
maximum number of menu choices, 170
menu help, 178, 179
menu snap, 74
mouse button, 267
multi-select, 267
overview, 167
positioning, 170
processing, 171
processing input events, 178
right mouse button, 168
select box, 188
select message, 259
selection, 267, 268
setting up, 171
sharing, 176
standards, 169
SubItems, 168
SubMenus, 168
verify message, 259
with multiple windows, 171, 176
Menu Number Index
Menu Number, 177, 178, 185
construction, 178
conversion, 177
decoding, 178
disabling, 185
extraction, 178
terminator, 177
valid, 178
Menu structure Index
Menu structure, 179, 188-189, 189-190
BeatX, 189
BeatY, 189
definition, 188
FirstItem, 189, 189
Flags, 189
Height, 188
JazzX, 189
JazzY, 189
LeftEdge, 188, 189
MenuName, 189
NextMenu, 188
TopEdge, 188, 189
Width, 188
MenuItem structure Index
MenuItem structure, 176, 177, 180, 181, 182, 184, 189-191, 224
Command, 184, 190, 191
definition, 189
Flags, 181, 184, 190
Height, 190
ItemFill, 180, 190, 191
LeftEdge, 182, 190
MenuItem, 191
MutualExclude, 182-183, 190
NextItem, 189
NextSelect, 176, 177, 191
SelectFill, 190, 191, 192
SubItem, 190
TopEdge, 190
Width, 190
Message Port Index
Message Port, 446
creation, 446, 501
deletion, 501
IDCMP, 249
Intuition, 247
public, 501
Messages Index
Messages, 499
discarded by Intuition, 113
emergency, 220
Examples - skeleton of waiting for a signal, 434
GetMsg(), 434
getting, 505
IDCMP, 90
interprocess communication, 433
mouse, 268
putting, 503
queue limits, 113
replying, 505
waiting for, 504
waiting for messages and signals, 435
Mouse Index
Mouse
basic activities, 265
button usage, 266
click, 265
combining buttons and movement, 268
double click, 265
drag, 265
dragging, 268
enable reporting, 109
hot spot, 266
keyboard as alternate, 280
left (select) button, 266
menu button, 267
message queue limit, 114
move, 265
movement coordinates, 268
position in GimmeZeroZero, 93
position relative to window, 105
position reporting, 114
press, 265
queue limits, 108, 268
right (information transfer) button, 267
with alert, 220
MrgCop() Index
MrgCop(), 66, 610, 709
in graphics display, 555
installing VSprites, 628
merging Copper lists, 560
N Index
NBU_NOTIFY, 743
NBU_UNIQUE, 743
Nested Disabled Sections, 530
New Look, 55 - SA_Pens, 47, screen, 42
NewBroker structure, 730
NewGadget structure, 379
NewLayerInfo(), 710
NewList(), 491
NEWLIST, 498
NewList(), 498, 887
NewMenu structure, 370
NewModifyProp(), 147, 148, 166
NewObject(), 295, 330
NewObjectA(), 294, 330
NewRegion(), 720, 722
NewScreen - SPRITE flag, 619
NewScreen Structure, 42, 43, 46
NewWindow structure -->
Next - in ViewPort structure, 553
NEXTNODE, 498
NextPubScreen(), 54, 76
NMI, 519, 519, 525
NMI Interrupts, 519, 525
NM_BARLABEL, 371
NM_END, 370
NM_ITEM, 370
NM_ITEMENABLED, 371
NM_MENUENABLED, 371
NM_SUM, 370
NM_TITLE, 370
Node structure, 488 - ln_name, 54, ln_Pri, 525, 527
Nodes -->
NO_ICON_POSITION, 352
NOISYREQ, 203, 213
NOITEM, 177, 179, 185
NOMENU, 177
NOREQBACKFILL, 204, 213-214
NOSUB, 177, 179, 185
Notification - use by preferences, 336
Notify - close requester, 210, open requester, 210
NS_EXTENDED, 43, 45, 46
NT_INTERRUPT, 527
NT_SOFTINT, 527
NewWindow structure Index
NewWindow structure, 80, 106, 352
BitMap, 111
BlockPen, 106
CheckMark, 107
DetailPen, 106
extended new window structure, 80
FirstGadget, 107
flags, 109-111
Height, 106
IDCMPFlags, 107
LeftEdge, 106
MaxHeight, 108
MaxWidth, 108
MinHeight, 108
MinWidth, 108
Screen, 107
Title, 107
TopEdge, 106
Type, 107
Width, 106
Nodes Index
Nodes
initialization, 489
inserting, 491
priority, 489
removing, 491
successor and predecessor, 488
text names, 489
type, 489
O Index
O-Pen - see AOlPen
Object, 292
Object Oriented Programming - see Boopsi
Object Oriented Programming System for Intuition - see Boopsi
ObtainConfigBinding(), 759
ObtainGIRPort(), 319, 323, 330
ObtainSemaphore(), 512, 513, 513, 514, 514, 515
ObtainSemaphoreList(), 510, 514, 515
ObtainSemaphoreShared(), 513, 515
OFF_DISPLAY, 610
OffGadget(), 130, 166
OffMenu(), 185, 189, 191, 200
OM_ADDMEMBER, 302, 307
OM_ADDTAIL, 307
ON_DISPLAY, 610
OM_DISPOSE, 307 - see also Appendix B and DisposeObject()
OM_GET, 307, 311 - see also Appendix B and GetAttr()
OM_NEW, 307, 308 - see also Appendix B and NewObject()
OM_NOTIFY, 307, 309
OM_REMMEMBER, 307
OM_REMOVE, 307
OM_SET -->
OM_UPDATE, 307, 309 - Boopsi gadgets, 298
OnGadget(), 130, 166
OnMenu(), 185, 189, 191, 200
Open vector, 437
Open(), 263
OpenClipboard(), 781, 810
OpenDevice(), 447
OpenDiskFont(), 188, 243, 670, 675
OpenFont(), 243, 670, 675
OpenIFF(), 344, 782, 810
Opening a device, 447
OpenLibrary(), 3, 4, 188, 263, 435
OpenMonitor(), 568, 611
OpenScreen(), 42, 43, 45, 46, 76
OpenScreenTagList(), 42, 45, 45, 46, 53, 56, 59, 76
OpenScreenTags(), 42, 42, 45, 46, 76
OpenWindow(), 80, 115
OpenWindowTagList(), 53, 80, 82, 83, 85, 90, 92, 92, 93, 97, 98, 104, 107,
107, 108, 115, 175, 249, 254
OpenWindowTags(), 80, 115
OpenWorkBench(), 52-53, 76
opGet structure, 311
opMember structure, 303
opSet structure, 305, 308
Optimized Refresh - layers, 705, 711, 719
OPUF_INTERIM, 309
opUpdate structure, 309
OrRectRegion(), 722
OrRegionRegion(), 722
OSCAN_MAX, 62
OSCAN_STANDARD, 62
OSCAN_TEXT, 62, 86
OSCAN_VIDEO, 62
OSERR_NOCHIPMEM, 45
OSERR_NOCHIPS, 45
OSERR_NOMEM, 45
OSERR_NOMONITOR, 45
OSERR_PUBNOTUNIQUE, 45
OSERR_UNKNOWNMODE, 45
Outline mode - in Flood() fill, 591
Outline pen, 584
Output -->
Overscan -->
OverscanPrefs structure, 339
OwnBlitter(), 599, 599, 612
OM_SET Index
OM_SET, 305, 307, 309
Boopsi gadgets, 298
see also Appendix B and SetAttrs()/SetGadgetAttrs()
Output Index
Output
and Intuition, 245, 248
and the console device, 248
and the graphics library, 248
Overscan Index
Overscan
autoscroll, 74
cloning, 59
coordinate reference, 46
display clip, 49, 61
effect on the Viewing Area, 533
finding display clip, 63
maximum, 62
maximum custom value, 62
preference, 62
preset values, 62
QueryOverscan(), 59
restrictions, 66
SA_DClip, 49, 62
SA_Overscan, 49
screen dimensions, 46
screen offsets, 46
standard, 49, 62
text, 46, 62
video, 62
VideoControl(), 63
ViewPortExtra Structure, 63
visible area, 63, 86
P Index
ParentChunk(), 789, 810
ParseIFF(), 344, 782, 810
ParseIX(), 746
PA_SOFTINT, 527
Paula, 11, 517
PC, 518
Pens -->
Performance - loss of, 920, 920
Permit(), 110, 470, 480, 520
PFBA, 545 - in dual playfield mode, 547
PGA_Freedom, 392, 394
Philosophy, 23
Pixel width, 548
PlaneOnOff - in Image structure, 226, using, 230
PlanePick - in Image structure, 226, using, 230
PLANEPTR, 552
Pointer -->
Pointer Relative - requester, 206
POINTREL, 205-206, 210, 212, 213
PolyDraw(), 589, 611
Polygons, 589
PopChunk(), 787, 810
POPPUBSCREEN, 52, 83
Port, 499 - named, 502, rendezvous at, 502
PORTS, 519, 525, 526
PORTS Interrupts, 519, 525
Position -->
PRED, 498
PREDRAWN, 212, 213, 214
Preemptive Task Scheduling, 518
Preferences -->
Preferences structure (1.3), 333
PrefHeader structure, 337
PrinterGfxPrefs structure, 339
PrinterTxtPrefs structure, 340
printf(), 887
PrintIText(), 224, 224, 240, 240, 243, 244
Private class, 293
Privilege violation, 474
Process, 430
Process structure, 430, 434 - pr_WindowPtr, 219
Processes, 466
Processor - interrupt priority levels, 471
Productivity Mode, 537, 561
Programming guidelines, 13
PROPBORDERLESS, 140, 147
PropChunk(), 344, 783, 810
propgclass, 297
PropInfo structure, 147
PROPNEWLOOK, 140, 147
PSNF_PRIVATE, 54
Public class, 293
Public memory, 431, 456
Public Screen -->
PUBLICSCREEN, 108
PubScreenNode Structure -->
PubScreenStatus(), 53, 76
PushChunk(), 787, 810
putchar(), 887
PutDefDiskObject(), 353
PutDiskObject(), 353
PutMsg(), 503, 520
puts(), 887
Pens Index
Pens
and Intuition text, 239
background, 58
block, 47, 57, 106
compatible, 55
custom, 56
detail, 47, 57, 106
DrawInfo, 106
fill, 58
from public screen, 56
highlight text, 58
in Border structure, 238
Intuition text, 242
monochrome, 55
new look, 55
SA_Pens, 47
screens, 59
shadow, 58
shine (highlight), 58
text, 57
text on fill, 58
with graphics, 85
Workbench, 57
Pointer Index
Pointer, 272
active window, 79
ClearPointer(), 274
color, 274
custom, 273
data definition, 274
default, 114
hot spot, 266, 274
keyboard control, 280
position, 114, 272
resolution, 272
set, 114, 273
SetPointer(), 273, 274
Position Index
Position
border, 234
Intuition graphics, 224
Intuition text, 240
of Image structure, 226
screen, 40
window, 106
Preferences Index
Preferences, 25, 331, 929
AllocIFF(), 344
CloseIFF(), 344
CurrentChunk(), 344
editor (IControl), 75
EndNotify(), 336, 344
ENVARC:sys, 335
ENV:sys, 335
examples - prefnotify.c, 336, showprefs.c, 341
file format (2.0), 337, 340
FindProp(), 344
font, 48, 58, 59, 85, 179-180
FreeIFF(), 344
GetDefPrefs(), 332, 344
GetPrefs(), 332, 344
IControl, 281
IDCMP_NEWPREFS, 262, 332
IFF chunks, 338
InitIFFasDOS(), 344
introduction, 25
Intuition, 75, 281
notification, 336
OpenIFF(), 344
overscan, 40, 59, 62
palette, 47
ParseIFF(), 344
pointer, 274
printer device, 334
PropChunk(), 344
public screens, 83
reading (1.3), 332
reading (2.0), 335
screen data, 59
SetPrefs(), 334, 344
setting (1.3), 334
setting (2.0), 335
StartNotify(), 336, 344
struct FontPrefs, 338
struct IControlPrefs, 338
struct InputPrefs, 339
struct OverscanPrefs, 339
struct Preferences (1.3), 333
struct PrefHeader, 337
struct PrinterGfxPrefs, 339
struct PrinterTxtPrefs, 340
struct ScreenModePrefs, 340
struct SerialPrefs, 340
Public Screen Index
Public Screen, 52, 53
access by name, 83
accessing, 50
and Intuition graphics, 225
cloning, 59
closing, 53
copying pens, 56
default, 52, 59, 82
display clip, 59
example, 56, 83
font, 59
get default, 50
global modes, 52, 83
jumping, 83
list, 54
locking, 50, 51
making private, 53
making public, 53
mode, 59
name, 49, 53
name collision, 45
next, 54, 83
notification, 49, 53
POPPUBSCREEN, 52, 83
requesters, 219, 219
set default, 50
SHANGHAI, 52, 83
sharing, 65
status, 53
structures, 54
visitor window, 82
WA_PubScreen, 108
WA_PubScreenFallBack, 108
WA_PubScreenName, 108
window fallback, 83
windows on, 77, 82
Workbench, 52
PubScreenNode Structure Index
PubScreenNode Structure, 54
ln_Name, 54
psn_Flags, 54
psn_Node, 54
psn_Screen, 54
Q Index
QBlit(), 599, 612 - linking bltnodes, 600
QBSBlit(), 599, 612 - avoiding flicker, 600, linking bltnodes, 600
Qualifier -->
Quantum, 430
QueryOverscan(), 59, 63, 76, 86
Queue Limit -->
Queues, 492
QuickIO, 448
Quiet - screen, 49
Qualifier Index
Qualifier, 281-282
Alt, 282
Amiga, 282
Caps Lock, 282
Ctrl, 282
mouse button, 282
numeric pad, 282
repeat, 277, 282
Shift, 282
Queue Limit Index
Queue Limit, 113
IDCMP_UPDATE, 277
keyboard repeat, 108
mouse, 108
mouse move, 268
raw key, 277
vanilla key, 277
R Index
RangeRand(), 887
RasInfo, 550
RasInfo Structure, 70, 552
RASSIZE(), 610
RASSIZE() macro, 551
Raster -->
RastPort - and Windows, 587, Area buffer, 582, pointer to, 587, pens, 584
RastPort Structure, 39, 58, 64, 65, 85, 224, 224, 225, 227, 230, 235, 240,
243, 581, 669, 670, 704, 710 - in layers, 704
Raw Key, 277 - codes, 90, queue limit, 277
RawDoFmt(), 217
RawKeyConvert(), 262, 277
RBF Interrupts, 519
RBFHandler, 523
RDB - see RigidDiskBlock
ReadChunkBytes(), 810
ReadChunkRecords(), 810
ReadPixel(), 588, 611
RECOVERY_ALERT, 220, 221
Rectangle fill, 591
Rectangle scrolling, 593
Rectangle Structure, 62, 676, 721 - with regions, 720
RectFill(), 591, 611
Refresh -->
RefreshGadgets(), 97, 166
RefreshGList(), 128, 130, 166
RefreshWindowFrame(), 97, 115
Regions -->
Register parameters, 521
Register usage conventions, 6
Release 2 - extensions, 18, migrating to, 18, versus 1.3, 19
ReleaseConfigBinding(), 759
ReleaseGIRPort(), 323, 330
ReleaseSemaphore(), 513, 514, 515
ReleaseSemaphoreList(), 514, 515
RemakeDisplay(), 66, 76
Remap Coordinates, 703
RemBob(), 641, 668
Remember Structure, 284, 284-285, 285, 285-286
REMHEAD, 498
RemHead(), 492, 498, 520
REMHEADQ, 498
RemIBob(), 641, 668
RemIntServer(), 525
REMOVE, 494, 498
Remove(), 492, 498
RemoveClass(), 312, 330
RemoveCxObj(), 737
RemoveGadget(), 166
RemoveGList(), 122, 166, 322
RemPort(), 502
RemSemaphore(), 513, 515
REMTAIL, 498
RemTail(), 492, 498, 520
RemTask(), 469, 480
RemTOF(), 888
RemVSprite(), 627, 668
Render - border, 235, requesters, 204
Repeat Qualifier, 277
Replying, 499, 505
ReplyMsg(), 249, 253, 263, 505, 520
ReportMouse(), 114, 268, 273, 282
REQACTIVE, 214
REQOFFWINDOW, 214
Request(), 112, 202, 203, 211, 222
Requester -->
Requester Structure -->
Reserved vector, 437
ResetMenuStrip(), 111, 175, 176, 200
Resident structure, 444
Resolution - pointer position, 272
Restricting Graphics - with layers, 710
RethinkDisplay(), 66, 70, 76
RHeight, 549
Right Amiga Key, 184 - with Alt key, 176
Right Justification - menu item text, 190
Right Mouse Button -->
rightmost - in GelsInfo, 624
RigidDiskBlock, 769
RigidDiskBlock specification, 770
RINGTRIGGER, 659
romtag, 444
rootclass, 292, 297
RouteCxMsg(), 746
RTE, 521
RTS, 521, 525
RWidth, 549
RxOffset -->
RyOffset -->
Raster Index
Raster
allocation, 98
depth, 544
dimensions, 549
in dual-playfield mode, 545
memory allocation, 551
one color, 593
RasInfo structure, 550
scrolling, 593
Refresh Index
Refresh
disable reporting, 97, 110
events with smart refresh, 110
layers, 705, 711
locking layers, 97
optimized window, 97
simple refresh, 705
smart refresh, 705
super bitmap, 706
window notification, 97
Regions Index
Regions, 703
changing, 722
clearing, 722
creating, 720
for clipping, 93
removing, 720
Requester Index
Requester - see ASL
advantages over menus, 170
and the IDCMP, 211
clear message, 260
count for window, 105
defined, 30
direct rendering, 205
disabling system requesters, 219
double menu, 202, 203, 210, 211
easy requester, 215
ending, 204
file, 20
font, 20
initialization, 211
limits, 204
low level use of easy request, 218
modal, 202
multiple, 204
pointer relative, 210
position in GimmeZeroZero, 93
positioning, 205, 212
refreshing, 205
rendering, 204
set message, 260
system requester, 219
text in easy requester, 215
title in easy requester, 216
true, 202
verify message, 260
Requester Structure Index
Requester Structure, 204, 211-212, 224, 235
BackFill, 204, 213, 214
Flags, 210, 212, 213, 214
Height, 212
ImageBMap, 205, 213, 214
LeftEdge, 205, 210, 212
OlderRequest, 212
RelLeft, 206, 210, 212
RelTop, 206, 210, 212
ReqBorder, 212
ReqGadget, 212
ReqImage, 213, 214
ReqLayer, 205, 214
ReqPad1, 214
ReqPad2, 214
ReqText, 213
RWindow, 214
TopEdge, 205, 210, 212
Width, 212
Right Mouse Button Index
Right Mouse Button
cancel window drag, 77
cancel window sizing, 78
disable menu, 110
information transfer, 266
trap, 268
with alert, 220
RxOffset Index
RxOffset
effect on display, 549
in RasInfo structure, 550
in ViewPort display memory, 549
RyOffset Index
RyOffset
effect on display, 549
in RasInfo structure, 550
in ViewPort display memory, 549
S Index
SA_AutoScroll, 49, 63
SA_Behind, 49
SA_BitMap, 48
SA_BlockPen, 47
SA_Colors, 47
SA_DClip, 49, 62, 62, 63
SA_Depth, 47
SA_DetailPen, 47
SA_DisplayID, 45, 47, 59
SA_ErrorCode, 45, 46
SA_Font, 47, 58, 85
SA_FullPalette, 47
SA_Height, 46
SA_Left, 40, 46
SA_Overscan, 49, 62, 63
SA_Pens, 47, 55, 56-57
SA_PubName, 49, 53
SA_PubSig, 49, 53
SA_PubTask, 49, 53
SA_Quiet, 49
SA_ShowTitle, 49
SA_SysFont, 48, 58, 59
SA_Title, 47
SA_Top, 40, 46
SA_Type, 48-49
SA_Width, 46
ScalerDiv(), 598
Screen Structure -->
SCREENBEHIND, 49
ScreenModePrefs structure, 340
SCREENQUIET, 49
Screens -->
ScreenToBack(), 74, 76
ScreenToFront(), 74, 76
Scrolling -->
ScrollLayer(), 98, 706, 707-708, 711
ScrollRaster(), 261, 593, 612
ScrollVPort(), 552
Select Box - menu, 188, menu item, 190
Select Button - with menus, 169
SELECTDOWN, 258, 268
SelectFill, 225
Selection - menus, 169
SELECTUP, 258, 268
Self-modifying code, 478
Semaphores, 473, 510 - function prototype summary, 510
Sending A Command To A Device, 448
SendIO(), 448, 449, 520
Serial device, 925
SerialPrefs structure, 340
SetAfPt(), 585, 611
SetAPen(), 584, 611, 672
SetAttrs(), 295, 330
SetBPen(), 584, 611, 672
SetCollision(), 647, 668
SetCurrentBinding(), 759, 776
SetCxObjPri(), 737
SetDefaultPubScreen(), 50, 76
SetDMRequest(), 210, 222
SetDrMd(), 585
SetDrMode(), 611, 672
SetDrPt(), 585, 589, 611
SetEditHook(), 166
SetExcept(), 473
SetFilter(), 746
SetFilterIX(), 746
SetFont(), 670
SetFunction(), 442
SetGadgetAttrs(), 295, 305, 330
SetIntVector(), 518, 521
SetKeyMap(), 831
SetKeyMapDefault(), 813
SetLocalItemPurge(), 799, 810
SetMenuStrip(), 111, 171, 175, 176, 200
SetMouseQueue(), 114, 269, 282
SetOPen(), 584, 611
SetPointer(), 114, 115, 273, 274, 282
SetPrefs(), 262, 289, 289, 334, 344
SetPubScreenModes(), 52, 76, 83
SetRast(), 593, 612
SetRexxVar(), 888
SetRGB4(), 275
SetRGB4CM(), 554, 610
SetSignal(), 433, 484, 485
SetSoftStyle(), 675
SetSR(), 478
SetSuperAttrs(), 330, 890
SetTaskPri(), 469, 480
SetTranslate(), 742
SetWindowTitles(), 107, 113, 115
SetWrMask(), 611
SGA_BEEP, 160, 161
SGA_END, 160, 161, 161
SGA_NEXTACTIVE, 160, 161
SGA_PREVACTIVE, 160, 161
SGA_REDISPLAY, 160, 161, 161
SGA_REUSE, 160, 161, 161
SGA_USE, 160, 161, 161
SGH_CLICK, 158, 161, 161
SGH_KEY, 158, 160, 161
SGM_EXITHELP, 158
SGM_FIXEDFIELD, 158
SGM_NOFILTER, 158
SGM_REPLACE, 157
SGWork structure, 159
SHADOWPEN, 58, 238
SHANGHAI, 52, 83
Share - IDCMP, 254
Share Display, 703 - layers, 703
Sharing - of layers, 707
Shift Select, 267
SHIFTITEM(), 200
SHIFTMENU(), 200
SHIFTSUB(), 200
SHINEPEN, 58, 238
Shortcut, 184
Short-frame Copper list, 579
SHOWTITLE, 49
ShowTitle(), 49, 65, 75, 76, 92
Signal(), 484, 485, 520
Signal bit - IDCMP, 254
Signal bit number, 500
Signal Semaphore, 510
Signals -->
Simple Refresh - attribute, 110, requester, 205
Simple Refresh Layer, 705
Simple Refresh Window, 94
Simple Sprite -->
SIMPLEREQ, 205
SimpleSprite structure, 617
Single-buffering, 550
Size -->
Size Gadget - cancel window sizing, 78, window, 78
Size Limits - window, 108
SizeLayer(), 706, 708, 711
SizeWindow(), 112, 115
Sizing - of layer, 705, window limits, 89
Smart Refresh - attribute, 110, refresh events, 110, requester, 205
Smart Refresh Layer, 705
Smart Refresh Window, 94
SOFTINT Interrupts, 519
Software error, 474
Software interrupts, 499, 500, 517, 519, 527
SortGList(), 642, 668 - ordering GEL list, 628
SprColors - changing VSprites, 627
SprColors pointer -->
sprintf(), 887
Sprite -->
Sprite Animation - introduction, 614
Sprite DMA, 633
spriteimage - structure, 620
SPRITES, 545-546
sprRsrvd GelsInfo member - in reserving Sprites, 632
SSP, 477
Stack -->
Stack overflows, 469
Stack size, 352
Standards - menus, 169
StartNotify(), 336, 344
Startup-sequence, 933
STDSCREENHEIGHT, 46, 62
STDSCREENWIDTH, 46, 62
StopChunk(), 783, 810
StopOnExit(), 785, 810
StoreItemInContext(), 791, 810
StoreLocalItem(), 791, 810
Strap, 925
strgclass, 297
STRINGA_ExitHelp, 387
STRINGA_Justification, 387
STRINGA_ReplaceMode, 387
StringExtend structure, 157
StringInfo structure, 155
struct GadgetInfo, 316
Structures -->
Stub, 438
subclass, 292
SubItems - number, 177, number terminator, 177
SUBNUM(), 177
SUCC, 498
SuperBitMap theory, 706
SuperBitMap Layer, 705
SuperBitMap Refresh -->
SuperBitMap Window, 94 - example, 99
superclass, 292
SUPERHIRES, 545
Supervisor Modes, 475, 477, 518, 520
Supervisor stack, 477
SwapBitsRastPortClipRect(), 712
Synchronization - of layers, 707
SyncSBitMap(), 98
SysBase Structure, 521
sysiclass, 297
SysReqHandler(), 217, 218-219
SYSREQUEST, 214
SysRequestHandler(), 222
System(), 20
System Request - easy requester, 219
System stack, 475, 520
Screen Structure Index
Screen Structure, 40, 45, 54, 58, 82, 108, 235
1.3 compatible usage, 19
BarLayer, 40
BitMap, 40
BlockPen, 55
DetailPen, 55
Font, 41, 58, 215
LayerInfo, 40
LeftEdge, 40, 86
MouseX, 40
MouseY, 40
RastPort, 40
TopEdge, 40, 86
UserData, 41
ViewPort, 40, 64
WBorBottom, 40, 89
WBorLeft, 40, 89
WBorRight, 40, 89
WBorTop, 40, 89
Screens Index
Screens
aspect ratio, 20
autoscroll, 74
attributes, 46
color selection, 47, 65
CON: on, 20
coordinate reference, 46
data structures, 39
defined, 27
display modes, 20, 37
DisplayBeep(), 75
Examples
cloning a public screen, 59
double buffered screen, 67
dual playfield screen, 70
finding the Workbench screen, 51
opening a new look screen, 42
opening screens compatibly, 44
using a public screen, 56
font, 59
from window, 105
hide title, 92
menu snap, 74
mode for alert, 220
MoveScreen(), 74
multiple screens, 38
positioning, 40
ShowTitle(), 65
tag items, 46
title bar, 49, 65, 75
using layers with, 65
Workbench, 75
Scrolling Index
Scrolling
a RastPort, 593
auto screen, 49
keyboard qualifiers, 74
screens, 63, 74
Signals Index
Signals, 432
allocation, 482
coordination, 481
exception, 473
IDCMP, 250
on arrival of messages, 500
waiting for, 482
waiting for messages and signals, 435
Simple Sprite Index
Simple Sprite
allocation, 619
colors, 618 - and ViewPorts, 618
functions, 619
GfxBase, 632
in Intuition, 619
position, 617
simple definition, 614
Size Index
Size
by inner dimension, 108
change window limits, 108
enable gadget, 109
window auto-adjust, 111
SprColors pointer Index
SprColors pointer
in VSprite structure, 626
in VSprite troubleshooting, 632
Sprite Index
Sprite
and Intuition, 288
color, 546
data definition, 274
display, 543
in animation, 555
in Intuition windows & screens, 288
pairs, 618
reserving, 632
Stack Index
Stack, 477
Interrupt stack, 477
ISP, 477
Master stack, 477
MSP, 477
overflow, 916
SSP, 477
Supervisor stack, 477
User stack, 477
USP, 477
Structures Index
Structures
access to global system structures, 470
AnimComp, 652
AnimOb, 652
AvailFonts, 688
AvailFontsHeader, 688
bltnode, 600
Bob, 635
BoolInfo, 139
Border, 123
Class, 305
CollTable, 646
ColorFontColors, 698
ColorTextFont, 697
ConfigDev, 756
ContextNode, 789
CurrentBinding, 759
DBufPacket, 645
DiagArea, 761
DiskFontHeader, 699
DosEnvc, 760
EasyStruct, 216
ExpansionRom, 757
FileRequester, 416
FontContents, 698
FontContentsHeader, 698
FontPrefs, 338
FontRequester, 422
Gadget, 132
GadgetInfo, 316, 318
gpGoInactive, 322
gpHitTest, 320
gpInput, 320
gpRender, 319
Hook, 312
IControlPrefs, 338
IFFHandle, 780
Image, 225
InputEvent, 321
InputPrefs, 339
InputXpression, 745
IntuiMessage, 119, 256
IntuiText, 123, 239
IX, 745
Keymap, 812
Library, 436, 441
Menu, 188
MenuItem, 189
Message, 694
Msg, 303, 307
NewBroker, 730
NewGadget, 379
NewMenu, 370
opGet, 311
opMember, 303
opSet, 305, 308
opUpdate, 309
OverscanPrefs, 339
Preferences (1.3), 333
PrefHeader, 337
PrinterGfxPrefs, 339
PrinterTxtPrefs, 340
Process, 430, 434
PropInfo, 147
RastPort, 581, 669, 670
Rectangle, 676
Remember, 285
Requester, 211
ScreenModePrefs, 340
SerialPrefs, 340
SGWork, 159
shared, 470
StringExtend, 157
StringInfo, 155
Task, 430, 465
TAvailFonts, 689
TextAttr, 671, 682
TextExtent, 676
TextFont, 674, 681, 694
TextFontExtension, 681, 683, 696
TFontContents, 699
TTextAttr, 682
Window, 104
SuperBitMap Refresh Index
SuperBitMap Refresh
attribute, 111
creating, 98
description, 96
memory requirements, 96
update responsibility, 96
T Index
TA_DeviceDPI, 682
Tag lists -->
TagItem Structure - ti_Data, 45, 108
TagItems - screen, 46
Tags -->
Task signal, 499
Task Structure, 49, 430, 465
Task-Relative Interrupts, 517
Tasks -->
TAvailFonts structure, 689
TBE Interrupts, 519
tc_MemEntry, 461
Terminal - virtual, 77
Testing, 922
Text(), 670
Text -->
Text structure - 1.3 compatible usage, 19
TextAttr Structure, 47, 58, 240, 243, 671, 682
TextExtent(), 676
TextExtent structure, 676
TextFit(), 676
TextFont Structure, 58, 674, 681, 694
TextFontExtension structure, 681, 683, 696
TextLength(), 676
TEXTPEN, 57
TFCH_ID, 698
TFontContents structure, 699
Time - getting current values, 288
TimeDelay(), 888
Timer device, 926
Title -->
Title Bar -->
TmpRas, 583
ToolTypes -->
topmost - in GelsInfo, 624
Trace, 474
Trackdisk - problems, 921
Trackdisk device, 926
Translate(), 865 - output buffer, 866
Translator library, 865 - exception rules, 866
TRAP -->
TRAP instruction, 469
Traps, 474 - instructions, 476, supervisor mode, 475, trap handler, 475
TRAPV instruction, 474
Troubleshooting guide, 915
TSTLIST, 498
TSTLST2, 498
TSTNODE, 498
TTextAttr structure, 682
Type - of interrupt, 519, screen, 48
TypeOfMem(), 459
Tag lists Index
Tag lists
copying, 871
creating, 871
filtering, 872
mapping, 874
reading, 873
boolean, 874
random access, 874
sequential, 873
Tags Index
Tags, 867
advanced use, 871
function reference, 883
functions, 868
simple example, 869
simple usage, 868
structures, 867
with open screen, 43
with OpenWindow(), 80
Tasks Index
Tasks, 429, 430, 917
cleanup, 469
communication, 481
coordination, 481
creation, 466, 467 - stack, 466
exclusion, 470
deallocation of system resources, 469
finalPC, 469
forbidding, 470
initialPC, 469
non-preemptive, 470
priority, 469
sharing library bases, 467
stack
minimum size, 468
overflows, 469
supervisor mode, 468
user mode, 468
switching, 932
termination, 469
Text Index
Text
about Amiga fonts, 669
and Intuition graphics, 239
AskSoftStyle(), 675
aspect ratio, 681, 682
AvailFonts(), 688
AvailFonts flags, 689
Caveats - don't assume Topaz-8, 672
ClearEOL(), 675
ClearScreen(), 675
cloning a RastPort, 673
color fonts, 697
ColorTextFont flags, 697
COMPLEMENT, 673
Compugraphic fonts, 670, 681, 682, 683
dots per inch, 682
drawing modes, 672
Examples
list available fonts, 690
measuring and fitting text, 678
render a text file to a window, 684
sample font source, 699
skeleton for opening a font, 671
skeleton for selecting aspect ratio, 683
skeleton for soft styling a font, 675
skeleton using AvailFonts(), 689
ExternFont(), 682
font bitmaps, 695
font flags, 671
font preferences, 671
font scaling, 670, 681
font style flags, 671
FontContentsHeader file IDs, 698
FontExtent(), 676
format of a font file, 698
in easy requester, 215
in requester gadgets, 206
Intellifont engine, 670
INVERSEVID, 673
JAM1, 672
JAM2, 673
kerning, 696
length, 241
making the text fit, 676
menu item, 169, 190
Move(), 674
OpenDiskFont(), 670, 675
OpenFont(), 670, 675
outline fonts, 670, 682, 683
rendering the text, 673
selecting a font, 670
SetAPen(), 672
SetBPen(), 672
SetDrMode(), 672
SetFont(), 670
SetSoftStyle(), 675
setting the font style, 675
struct AvailFonts, 688
struct AvailFontsHeader, 688
struct ColorFontColors, 698
struct ColorTextFont, 697
struct DiskFontHeader, 699
struct FontContents, 698
struct FontContentsHeader, 698
struct Message, 694
struct RastPort, 669, 670
struct Rectangle, 676
struct TAvailFonts, 689
struct TextAttr, 671, 682
struct TextExtent, 676
struct TextFont, 674, 681, 694
struct TextFontExtension, 681, 683, 696
struct TFontContents, 699
struct TTextAttr, 682
Text(), 670
TextExtent(), 676
TextFit(), 676
TextLength(), 676
with Intuition graphics, 223
Title Index
Title
active window, 79
font, 107
screen, 47
screen (from window), 107
window, 107
Title Bar Index
Title Bar
hidden (screen), 49
menus, 168
screens, 39, 49, 75
window, 89
ToolTypes Index
ToolTypes
array, 354
DONOTWAIT, 354
parsing, 354
standard, 354
STARTPRI, 354
TOOLPRI, 354
TRAP Index
TRAP
address error, 474
bus error, 474
CHK instruction, 474
illegal instruction, 474
line 1010 emulator, 474
line 1111 emulator, 474
privilege violation, 474
trace, 474
trap instructions, 474
TRAPV instruction, 474
zero divide, 474
U Index
UCopList structure, 602
UnlockIBase(), 283, 289
UnlockLayer(), 707, 708
UnlockLayerInfo(), 708, 708
UnlockLayers(), 708
UnlockPubScreen(), 51, 56, 76
UnlockPubScreenList(), 54, 76
UpfrontLayer(), 708, 711
User Interface - libraries, 24
User stack, 477
USEREQIMAGE, 204, 213
UserExt, 651
Using A Device, 447
USP, 477
Utility -->
Utility Index
Utility, 867
32-bit math, 878
callback hooks, 875
date functions, 881
function reference, 883
international strings, 880
tags, 867
V Index
Vanilla Key, 277 - queue limit, 277
VBEAM counter, 601
VBR, 517
Verify - requester, 211, window sizing, 91
VERTB, 519, 525
VERTB interrupts, 519, 525
VertBServer, 527
VGA Mode 3 - 8514/A, 537, 561
Video Parameters - Intuition control, 38
Video priority - in dual-playfield mode, 545
VideoControl() -->
View - origin, 62, preparing, 551
View Structure, 64, 66, 551 - function, 540
ViewAddress(), 64, 76
ViewExtra, 551
ViewExtra structure, 568
ViewPort -->
ViewPort Structure, 39, 64, 66, 187, 552
ViewPortAddress(), 64, 76
ViewPortExtra, 551
ViewPortExtra Structure, 59, 63, 86, 551, 553 - DisplayClip, 46
Virtual terminal, 27 - window, 77
Visible Area - screen, 40
Visible Display - easy request, 217
Visitor Window, 82
VSOVERFLOW Flag - in VSprite structure, 624, reserving Sprites, 632
VSprite -->
VSprite Flags - and True VSprites, 624
VTAG_USERCLIP_SET, 603
VUserStuff, 651
VideoControl() Index
VideoControl(), 59, 63, 86, 545, 550, 553, 564, 603, 608, 611
ColorMap, 564
genlock, 607
ViewPort, 564
ViewPort Index
ViewPort
and Simple Sprite colors, 618
ColorMap, 542
colors, 543, 553
display instructions, 555
display memory, 549
displaying, 541
function, 541
Height, 542
interlaced, 548
low-resolution, 553
modes, 544, 545
Modes in Release 2, 564
multiple, 553
parameters, 542
Width, 543
width of and sprite display, 543
VSprite Index
VSprite
building the Copper list, 628
changing, 627
color, 626
hardware Sprite assignment, 628, 633
Playfield colors, 633
position, 624
shape, 625
simple definition, 614
size, 625
sorting the GEL list, 628
troubleshooting, 632
W,X,Y,Z Index
WA_Activate, 91, 110
WA_AutoAdjust, 108, 111
WA_Backdrop, 92, 110
WA_BlockPen, 106
WA_Borderless, 93, 110
WA_Checkmark, 107, 181
WA_CloseGadget, 107, 109
WA_CustomScreen, 82, 107
WA_DepthGadget, 107, 109
WA_DetailPen, 106
WA_DragBar, 107, 109
WA_Flags, 106, 111, 175
WA_Gadgets, 107
WA_GimmeZeroZero, 93, 110
WA_Height, 106
WA_IDCMP, 90, 107, 186
WA_InnerHeight, 108
WA_InnerWidth, 108
WA_Left, 106
WA_MaxHeight, 108
WA_MaxWidth, 108
WA_MenuHelp, 111, 179, 258, 260
WA_MinHeight, 108
WA_MinWidth, 108
WA_MouseQueue, 108, 114, 269
WA_NoCareRefresh, 97, 110
WA_PubScreen, 83, 108
WA_PubScreenFallBack, 53, 83, 108
WA_PubScreenName, 53, 83, 108
WA_ReportMouse, 109, 258
WA_RMBTrap, 110, 251, 258
WA_RptQueue, 108, 114, 277
WA_ScreenTitle, 107
WA_SimpleRefresh, 110, 261
WA_SizeBBottom, 109
WA_SizeBRight, 109
WA_SizeGadget, 109
WA_SmartRefresh, 110, 261
WA_SuperBitMap, 98, 111
WA_Title, 107
WA_Top, 106
WA_Width, 106
WA_Zoom, 107, 108
Wait(), 30, 31, 250, 432, 449, 470, 471, 483, 485, 505
WaitBlit(), 587, 592, 599, 599, 612
WaitBOVP(), 560
WaitIO(), 449, 451
WaitPort(), 449, 504
WaitTOF(), 560, 629
WBenchToBack(), 52, 76
WBenchToFront(), 52, 76
WFLG_ACTIVATE, 91, 110
WFLG_BACKDROP, 92, 110
WFLG_BORDERLESS, 88, 93, 110
WFLG_CLOSEGADGET, 109
WFLG_DEPTHGADGET, 109
WFLG_DRAGBAR, 109
WFLG_GIMMEZEROZERO, 93, 96, 110
WFLG_NOCAREREFRESH, 97, 110
WFLG_NW_EXTENDED, 80, 106
WFLG_REPORTMOUSE, 109, 273
WFLG_RMBTRAP, 49, 110, 111, 175, 268 - setting, 110
WFLG_SIMPLE_REFRESH, 110
WFLG_SIZEBBOTTOM, 109, 126
WFLG_SIZEBRIGHT, 109, 126
WFLG_SIZEGADGET, 109
WFLG_SMART_REFRESH, 110, 205
WFLG_SUPER_BITMAP, 98, 111
WFLG_WINDOWCLOSE, 107
WFLG_WINDOWDEPTH, 107
WFLG_WINDOWDRAG, 107
WFLG_WINDOWSIZING, 108
WhichLayer(), 708
White Boxes--The Transparent Base Classes - Boopsi, 316
Width - by inner dimension, 108
Width variable - in VSprite structure, 625
Window -->
Window structure -->
WindowLimits(), 89, 108, 115
WindowToBack(), 112, 113, 115
WindowToFront(), 112, 113, 115
Workbench -->
WriteChunkBytes(), 787
WriteChunkRecords(), 787
WritePixel(), 587, 611
XorRectRegion(), 722
XorRegionRegion(), 722
Z, 525
Zero divide, 474
ZipWindow(), 112, 113, 115
Zoom -->
Zorro II - see Expansion, AUTOCONFIG
Zorro III - see Expansion, AUTOCONFIG
Window Index
Window, 917
activate message, 261
advantages over menus, 170
automatic size adjust, 111
backdrop window type, 92
borderless window type, 93
borders, 932
change message, 263
close message, 259
defined, 27
dimensions, 85
Examples
calculating window border size, 89
opening a window with tags, 80
superbitmap window, 99
using public screens, 83
window sized to the visible display, 86
GimmeZeroZero window type, 93
inactive message, 261
maximum height, 108
maximum width, 108
menus, 169
minimum height, 108
minimum width, 108
new size message, 260
pointer position, 273
position change notify, 91
positioning, 40
problems, 921, 921
refresh message, 261
requester limit, 204
simple refresh, 94
size change notify, 91
size limits, 108
size verify message, 261
smart refresh, 94
super bit map, 94
user positioning, 77
Window structure Index
Window structure, 219, 235, 273
1.3 compatible usage, 19
BorderBottom, 88, 89, 105
BorderLeft, 88, 89, 105
BorderRight, 88, 89, 105
BorderRPort, 105
BorderTop, 88, 89, 105
definition, 104
FirstRequest, 214
Flags, 110, 186
GZZHeight, 93
GZZMouseX, 93, 105, 273
GZZMouseY, 93, 105, 273
GZZWidth, 93
Height, 89, 105
IDCMPFlags, 249-250
LeftEdge, 105
MessageKey, 249
MouseX, 105, 269
MouseY, 105, 269
ReqCount, 105
RPort, 105
TopEdge, 105
UserData, 105
UserPort (IDCMP), 31, 249, 253-254, 257
Width, 89, 105
WindowPort, 249, 253-254
WScreen, 105
Workbench Index
Workbench, 25, 52, 929
AppMessage, 359
close screen, 52
introduction, 25
open screen, 52
screen, 75, 933
screen to back, 52
screen to front, 52
shortcut key functions, 281
stack size, 352
startup code, 364
startup message, 364
start-up message, 364
ToolTypes, 354
windows on screen, 82
.info file, 345
Zoom Index
Zoom, 113
alternate size, 78, 108
enable gadget, 108
ZipWindow(), 112, 113
Converted on 22 Apr 2000 with RexxDoesAmigaGuide2HTML 2.1 by Michael Ranner.