Diff for /np2/macosx/np2.cpp between versions 1.32 and 1.33

version 1.32, 2003/11/06 18:27:59 version 1.33, 2003/11/08 17:54:26
Line 137  static void MenuBarInit(void) { Line 137  static void MenuBarInit(void) {
         InsertMenu(GetMenu(IDM_KEYBOARD), -1);          InsertMenu(GetMenu(IDM_KEYBOARD), -1);
         InsertMenu(GetMenu(IDM_SOUND), -1);          InsertMenu(GetMenu(IDM_SOUND), -1);
         InsertMenu(GetMenu(IDM_MEMORY), -1);          InsertMenu(GetMenu(IDM_MEMORY), -1);
       ChangeMenuAttributes(GetMenuRef(IDM_EDIT), kMenuAttrAutoDisable, 0);
     SetMenuItemModifiers(GetMenuRef(IDM_FDD2), IDM_FDD2OPEN, kMenuOptionModifier);      SetMenuItemModifiers(GetMenuRef(IDM_FDD2), IDM_FDD2OPEN, kMenuOptionModifier);
     SetMenuItemModifiers(GetMenuRef(IDM_FDD2), IDM_FDD2EJECT, kMenuOptionModifier);      SetMenuItemModifiers(GetMenuRef(IDM_FDD2), IDM_FDD2EJECT, kMenuOptionModifier);
     SetMenuItemModifiers(GetMenuRef(IDM_SASI2), IDM_SASI2OPEN, kMenuOptionModifier);      SetMenuItemModifiers(GetMenuRef(IDM_SASI2), IDM_SASI2OPEN, kMenuOptionModifier);
Line 205  static void HandleMenuChoice(long wParam Line 206  static void HandleMenuChoice(long wParam
                 case IDM_NEWDISK:                  case IDM_NEWDISK:
             newdisk();              newdisk();
                         break;                          break;
 #if 0  
                 case IDM_NEWHDD:  
                         newhdddisk();  
                         break;  
 #endif  
         case IDM_FONT:          case IDM_FONT:
             dialog_font();              dialog_font();
             break;              break;
                           
                 case IDM_EXIT:                  case IDM_EXIT:
                         np2running = FALSE;                          taskmng_exit();
                         break;                          break;
   
                 case IDM_FDD1OPEN:                  case IDM_FDD1OPEN:
Line 374  static void HandleMenuChoice(long wParam Line 371  static void HandleMenuChoice(long wParam
   
                 case IDM_F12MOUSE:                  case IDM_F12MOUSE:
                         menu_setf12copy(0);                          menu_setf12copy(0);
                         keystat_resetcopyhelp();                          mackbd_resetf12();
                         update |= SYS_UPDATECFG;                          update |= SYS_UPDATECFG;
                         break;                          break;
   
                 case IDM_F12COPY:                  case IDM_F12COPY:
                         menu_setf12copy(1);                          menu_setf12copy(1);
                         keystat_resetcopyhelp();                          mackbd_resetf12();
                         update |= SYS_UPDATECFG;                          update |= SYS_UPDATECFG;
                         break;                          break;
   
                 case IDM_F12STOP:                  case IDM_F12STOP:
                         menu_setf12copy(2);                          menu_setf12copy(2);
                         keystat_resetcopyhelp();                          mackbd_resetf12();
                           update |= SYS_UPDATECFG;
                           break;
   
                   case IDM_F12EQU:
                           menu_setf12copy(3);
                           mackbd_resetf12();
                           update |= SYS_UPDATECFG;
                           break;
   
                   case IDM_F12COMMA:
                           menu_setf12copy(4);
                           mackbd_resetf12();
                         update |= SYS_UPDATECFG;                          update |= SYS_UPDATECFG;
                         break;                          break;
   
Line 459  static void HandleMenuChoice(long wParam Line 468  static void HandleMenuChoice(long wParam
                         update |= SYS_UPDATECFG;                          update |= SYS_UPDATECFG;
                         break;                          break;
   
                   case IDM_AMD98:
                           menu_setsound(0x80);
                           update |= SYS_UPDATECFG;
                           break;
   
                 case IDM_SEEKSND:                  case IDM_SEEKSND:
                         menu_setmotorflg(np2cfg.MOTOR ^ 1);                          menu_setmotorflg(np2cfg.MOTOR ^ 1);
                         update |= SYS_UPDATECFG;                          update |= SYS_UPDATECFG;
Line 535  static void HandleMenuChoice(long wParam Line 549  static void HandleMenuChoice(long wParam
 static void HandleMouseDown(EventRecord *pevent) {  static void HandleMouseDown(EventRecord *pevent) {
   
         WindowPtr       hWnd;          WindowPtr       hWnd;
       BYTE                ret;
   
     soundmng_stop();          if (FindWindow(pevent->where, &hWnd) == inMenuBar) {
         switch(FindWindow(pevent->where, &hWnd)) {          soundmng_stop();
                 case inMenuBar:          HandleMenuChoice(MenuSelect(pevent->where));
                         HandleMenuChoice(MenuSelect(pevent->where));      }
                         break;      else {
         }          ret=mouse_btn(MOUSE_LEFTDOWN);
       }
 }  }
   
   
Line 811  int main(int argc, char *argv[]) { Line 827  int main(int argc, char *argv[]) {
 //以下、ごっそりIIxからマージ  //以下、ごっそりIIxからマージ
 static pascal OSStatus np2appevent (EventHandlerCallRef myHandlerChain, EventRef event, void* userData)  static pascal OSStatus np2appevent (EventHandlerCallRef myHandlerChain, EventRef event, void* userData)
 {  {
     UInt32          whatHappened;      OSStatus    result = eventNotHandledErr;
     OSStatus        result = eventNotHandledErr;  
           
     long                eventClass;      long                eventClass;
           UInt32              whatHappened;
     eventClass = GetEventClass(event);      eventClass = GetEventClass(event);
     whatHappened = GetEventKind(event);      whatHappened = GetEventKind(event);
   
     EventRecord         eve;      EventRecord eve;
     ConvertEventRefToEventRecord( event,&eve );      ConvertEventRefToEventRecord( event,&eve );
   
     if (IsDialogEvent(&eve)) return result;      if (IsDialogEvent(&eve)) return result;
   
     UInt32 modif;      UInt32              modif;
     GetEventParameter (event, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(UInt32), NULL, &modif);      GetEventParameter (event, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(UInt32), NULL, &modif);
   
 #if defined(NP2GCC)  #if defined(NP2GCC)
     HIPoint delta;      HIPoint             delta;
     EventMouseButton buttonKind;      EventMouseButton buttonKind;
     GetEventParameter (event, kEventParamMouseButton, typeMouseButton, NULL, sizeof(EventMouseButton), NULL, &buttonKind);      GetEventParameter (event, kEventParamMouseButton, typeMouseButton, NULL, sizeof(EventMouseButton), NULL, &buttonKind);
   
Line 836  static pascal OSStatus np2appevent (Even Line 850  static pascal OSStatus np2appevent (Even
 #endif  #endif
                   
     switch (eventClass)      switch (eventClass)
         {      {
                 case kEventClassAppleEvent:            case kEventClassAppleEvent:  
                     if (whatHappened == kEventAppleEvent) {              if (whatHappened == kEventAppleEvent) {
                         AEProcessAppleEvent(&eve);                  AEProcessAppleEvent(&eve);
                     }              }
                     break;              break;
   
                 case kEventClassMouse:           case kEventClassMouse: 
 #if defined(NP2GCC)  #if defined(NP2GCC)
                     switch (whatHappened)              switch (whatHappened)
                         {              {
                         case kEventMouseMoved:                  case kEventMouseMoved:
                             GetEventParameter (event, kEventParamMouseDelta, typeHIPoint, NULL, sizeof(HIPoint), NULL, &delta);                      GetEventParameter (event, kEventParamMouseDelta, typeHIPoint, NULL, sizeof(HIPoint), NULL, &delta);
                             mouse_callback(delta);                      mouse_callback(delta);
                             result = noErr;                      result = noErr;
                             break;                      break;
                        case kEventMouseDown:                  case kEventMouseDown:
                             if (buttonKind == kEventMouseButtonSecondary | modif & controlKey) {                      if (buttonKind == kEventMouseButtonSecondary | modif & controlKey) {
                                 ret=mouse_btn(MOUSE_RIGHTDOWN);                          ret=mouse_btn(MOUSE_RIGHTDOWN);
                             }                      }
                             else {                      else {
                                 HandleMouseDown(&eve);                          HandleMouseDown(&eve);
                             }                      }
                             result=noErr;                      result=noErr;
                             break;                      break;
                         case kEventMouseUp:                  case kEventMouseUp:
                             if (buttonKind == kEventMouseButtonSecondary | modif & controlKey) {                      if (buttonKind == kEventMouseButtonSecondary | modif & controlKey) {
                                 ret=mouse_btn(MOUSE_RIGHTUP);                          ret=mouse_btn(MOUSE_RIGHTUP);
                             }                      }
                             else if (buttonKind == kEventMouseButtonTertiary) {                      else if (buttonKind == kEventMouseButtonTertiary) {
                                 mouse_running(MOUSE_XOR);                          mouse_running(MOUSE_XOR);
                                 menu_setmouse(np2oscfg.MOUSE_SW ^ 1);                          menu_setmouse(np2oscfg.MOUSE_SW ^ 1);
                                 sysmng_update(SYS_UPDATECFG);                          sysmng_update(SYS_UPDATECFG);
                             }                      }
                             else {                      else {
                                 ret=mouse_btn(MOUSE_LEFTUP);                          ret=mouse_btn(MOUSE_LEFTUP);
                             }                      }
                             result=noErr;                      result=noErr;
                             break;                          break;    
                         }                  }
 #else  #else
                                                 if (whatHappened == kEventMouseDown) {                  if (whatHappened == kEventMouseDown) {
                                                         HandleMouseDown(&eve);                      HandleMouseDown(&eve);
                                                 }                  }
 #endif  #endif
                         break;                  break;
             default:          default:
                     break;               break; 
         }      }
   
         (void)myHandlerChain;          (void)myHandlerChain;
         (void)userData;          (void)userData;
Line 897  static pascal OSStatus np2windowevent(Ev Line 911  static pascal OSStatus np2windowevent(Ev
     UInt32              whatHappened;      UInt32              whatHappened;
     OSStatus    result = eventNotHandledErr;          OSStatus    result = eventNotHandledErr;    
     long                eventClass;      long                eventClass;
     static UInt32 backup = 0;  
           
     GetEventParameter(event, kEventParamDirectObject, typeWindowRef, NULL,      GetEventParameter(event, kEventParamDirectObject, typeWindowRef, NULL,
                          sizeof(window), NULL, &window);                           sizeof(window), NULL, &window);
     eventClass = GetEventClass(event);      eventClass = GetEventClass(event);
     whatHappened = GetEventKind(event);      whatHappened = GetEventKind(event);
                   
       static UInt32 backup = 0;
     switch (eventClass)      switch (eventClass)
         {              {        
             case kEventClassWindow:          case kEventClassKeyboard:
                 switch (whatHappened)              UInt32 key;
                 {              GetEventParameter (event, kEventParamKeyCode, typeUInt32, NULL, sizeof(UInt32), NULL, &key);
                     case kEventWindowClose:              UInt32 modif;
                         taskmng_exit();              GetEventParameter (event, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(UInt32), NULL, &modif);
                         result = noErr;              switch (whatHappened)
                         break;              {
                     case kEventWindowActivated:                  case kEventRawKeyUp:
                         DisableAllMenuItems(GetMenuHandle(IDM_EDIT));                      mackbd_keyup(key);
                         break;                      result = noErr;
                     case kEventWindowToolbarSwitchMode:                      break;
                         toolwin_open();                  case kEventRawKeyRepeat:
                         break;                      mackbd_keydown(key);
                     case kEventWindowDragStarted:                      result = noErr;
                         soundmng_stop();                      break;
                         break;                  case kEventRawKeyDown:
                     case kEventWindowDragCompleted:                      if (modif & cmdKey) {
                         soundmng_play();                          EventRecord     eve;
                         break;                          ConvertEventRefToEventRecord( event,&eve );
                     case kEventWindowShown:                          HandleMenuChoice(MenuEvent(&eve));
                         scrndraw_redraw();                      }
                         break;                      else {
                 }                          mackbd_keydown(key);
                 break;                      }
             case kEventClassKeyboard:                      result = noErr;
                 UInt32 key;                      break;
                 GetEventParameter (event, kEventParamKeyCode, typeUInt32, NULL, sizeof(UInt32), NULL, &key);                  case kEventRawKeyModifiersChanged:
                 UInt32 modif;                      if (modif & shiftKey) keystat_senddata(0x70);
                 GetEventParameter (event, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(UInt32), NULL, &modif);                      else keystat_senddata(0x70 | 0x80);
                 switch (whatHappened)                      if (modif & optionKey) keystat_senddata(0x73);
                 {                      else keystat_senddata(0x73 | 0x80);
                     case kEventRawKeyUp:                      if (modif & controlKey) keystat_senddata(0x74);
                         mackbd_f12up(key);                      else keystat_senddata(0x74 | 0x80);
                         result = noErr;                      if ((modif & alphaLock) != (backup & alphaLock)) {
                         break;                          keystat_senddata(0x71);
                     case kEventRawKeyRepeat:                          backup = modif;
                         mackbd_f12down(key);                      }
                         result = noErr;                      result = noErr;
                         break;                      break;
                     case kEventRawKeyDown:                  default: 
                         if (modif & cmdKey) {                      break;             
                             EventRecord eve;              }
                             ConvertEventRefToEventRecord( event,&eve );              break;
                             HandleMenuChoice(MenuEvent(&eve));              
                         }          case kEventClassWindow:
                         else {              switch (whatHappened)
                             mackbd_f12down(key);              {
                         }                  case kEventWindowClose:
                         result = noErr;                      taskmng_exit();
                         break;                      result = noErr;
                     case kEventRawKeyModifiersChanged:                      break;
                         if (modif & shiftKey) keystat_senddata(0x70);                  case kEventWindowActivated:
                         else keystat_senddata(0x70 | 0x80);                      DisableAllMenuItems(GetMenuHandle(IDM_EDIT));
                         if (modif & optionKey) keystat_senddata(0x73);                      break;
                         else keystat_senddata(0x73 | 0x80);                  case kEventWindowToolbarSwitchMode:
                         if (modif & controlKey) keystat_senddata(0x74);                      toolwin_open();
                         else keystat_senddata(0x74 | 0x80);                      break;
                         if ((modif & alphaLock) != (backup & alphaLock)) {                  case kEventWindowDragStarted:
                             keystat_senddata(0x71);                      soundmng_stop();
                             backup = modif;                      break;
                         }                  case kEventWindowDragCompleted:
                         result = noErr;                      soundmng_play();
                         break;                      break;
                     default:                   case kEventWindowShown:
                         break;                                   scrndraw_redraw();
                 }                      break;
             default:               }
                 break;                              break;
         }          default: 
               break;                
       }
   
         (void)myHandler;          (void)myHandler;
         (void)userData;          (void)userData;

Removed from v.1.32  
changed lines
  Added in v.1.33


RetroPC.NET-CVS <cvs@retropc.net>