#include "FractalViewerPrefs.h" enum { // Preferences Dialog Items iPrefsOK = 1, iPrefsCancel, iPrefsBW, iPrefsJuliaX = iPrefsBW + 3, iPrefsJuliaY = iPrefsJuliaX + 2 }; FractalViewerPrefs GlobalPrefs; /***** * HandlePrefs(void) * * Handle the preferences dialog * *****/ void HandlePrefs(void) { Boolean dlgDone = false; short itemHit, itemType; Handle itemHandle; Rect itemRect; DialogPtr dlgPrefs = GetNewDialog(128, nil, (WindowPtr)-1L); SetDialogDefaultItem(dlgPrefs, iPrefsOK); SetDialogCancelItem(dlgPrefs, iPrefsCancel); ShowWindow(dlgPrefs); while (!dlgDone) { ModalDialog(nil, &itemHit); switch (itemHit) { case iPrefsOK: case iPrefsCancel: dlgDone = true; break; case iPrefsBW: GetDItem(dlgPrefs, itemHit, &itemType, &itemHandle, &itemRect); SetCtlValue((ControlHandle)itemHandle, !GetCtlValue((ControlHandle)itemHandle)); break; default: SysBeep(5); break; } } DisposeDialog(dlgPrefs); }