X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/05adb9d2fdc40d8620730be490bf406b8e367cf8..d1fe917ba097fd8039a4340d1d82115f72cbbd91:/include/wx/mac/app.h diff --git a/include/wx/mac/app.h b/include/wx/mac/app.h index 145c023274..c82ec80f85 100644 --- a/include/wx/mac/app.h +++ b/include/wx/mac/app.h @@ -22,7 +22,7 @@ #include "wx/event.h" class WXDLLEXPORT wxFrame; -class WXDLLEXPORT wxWindow; +class WXDLLEXPORT wxWindowMac; class WXDLLEXPORT wxApp ; class WXDLLEXPORT wxKeyEvent; class WXDLLEXPORT wxLog; @@ -51,6 +51,7 @@ class WXDLLEXPORT wxApp: public wxAppBase virtual bool Initialized(); virtual bool Pending() ; virtual void Dispatch() ; + virtual bool Yield(bool onlyIfNeeded = FALSE); virtual wxIcon GetStdIcon(int which) const; virtual void SetPrintMode(int mode) { m_printMode = mode; } @@ -67,7 +68,7 @@ class WXDLLEXPORT wxApp: public wxAppBase // Send idle event to window and all subwindows // Returns TRUE if more idle time is requested. - bool SendIdleEvents(wxWindow* win); + bool SendIdleEvents(wxWindowMac* win); // Windows only, but for compatibility... inline void SetAuto3D(bool flag) { m_auto3D = flag; } @@ -92,8 +93,8 @@ public: static long sm_lastMessageTime; static wxWindow* s_captureWindow ; static int s_lastMouseDown ; // 0 = none , 1 = left , 2 = right - static RgnHandle s_macCursorRgn ; - EventRecord* m_macCurrentEvent ; + static WXHRGN s_macCursorRgn ; + WXEVENTREF m_macCurrentEvent ; int m_nCmdShow; @@ -119,9 +120,9 @@ public : static bool s_macHasDialogManager ; static long s_macDialogManagerVersion ; - RgnHandle m_macCursorRgn ; - RgnHandle m_macSleepRgn ; - RgnHandle m_macHelpRgn ; + WXHRGN m_macCursorRgn ; + WXHRGN m_macSleepRgn ; + WXHRGN m_macHelpRgn ; virtual void MacSuspend( bool convertClipboard ) ; virtual void MacResume( bool convertClipboard ) ; @@ -132,29 +133,38 @@ public : // event main methods void MacDoOneEvent() ; - void MacHandleOneEvent( EventRecord *ev ) ; - EventRecord* MacGetCurrentEvent() { return m_macCurrentEvent ; } + void MacHandleOneEvent( WXEVENTREF ev ) ; + WXEVENTREF MacGetCurrentEvent() { return m_macCurrentEvent ; } // primary events - virtual void MacHandleMouseDownEvent( EventRecord *ev ) ; - virtual void MacHandleMouseUpEvent( EventRecord *ev ) ; - virtual void MacHandleActivateEvent( EventRecord *ev ) ; - virtual void MacHandleUpdateEvent( EventRecord *ev ) ; - virtual void MacHandleKeyDownEvent( EventRecord *ev ) ; - virtual void MacHandleKeyUpEvent( EventRecord *ev ) ; - virtual void MacHandleDiskEvent( EventRecord *ev ) ; - virtual void MacHandleOSEvent( EventRecord *ev ) ; - virtual void MacHandleHighLevelEvent( EventRecord *ev ) ; + virtual void MacHandleMouseDownEvent( WXEVENTREF ev ) ; + virtual void MacHandleMouseUpEvent( WXEVENTREF ev ) ; + virtual void MacHandleActivateEvent( WXEVENTREF ev ) ; + virtual void MacHandleUpdateEvent( WXEVENTREF ev ) ; + virtual void MacHandleKeyDownEvent( WXEVENTREF ev ) ; + virtual void MacHandleKeyUpEvent( WXEVENTREF ev ) ; + virtual void MacHandleDiskEvent( WXEVENTREF ev ) ; + virtual void MacHandleOSEvent( WXEVENTREF ev ) ; + virtual void MacHandleHighLevelEvent( WXEVENTREF ev ) ; virtual void MacHandleMenuSelect( int menuid , int menuitem ) ; - virtual OSErr MacHandleAEODoc(AppleEvent *event , AppleEvent *reply) ; - virtual OSErr MacHandleAEPDoc(AppleEvent *event , AppleEvent *reply) ; - virtual OSErr MacHandleAEOApp(AppleEvent *event , AppleEvent *reply) ; - virtual OSErr MacHandleAEQuit(AppleEvent *event , AppleEvent *reply) ; + virtual short MacHandleAEODoc(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ; + virtual short MacHandleAEPDoc(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ; + virtual short MacHandleAEOApp(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ; + virtual short MacHandleAEQuit(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ; DECLARE_EVENT_TABLE() }; +class WXDLLEXPORT wxStAppResource +{ +public : + wxStAppResource() ; + ~wxStAppResource() ; +private : + short m_currentRefNum ; +} ; + // TODO: add platform-specific arguments int WXDLLEXPORT wxEntry( int argc, char *argv[] , bool enterLoop = TRUE); @@ -170,6 +180,27 @@ void wxMacConvertToPC( char * p ) ; void wxMacConvertToPC( unsigned char *p ) ; wxString wxMacMakePCStringFromMac( const char * p ) ; +// converts this string into a pascal with optional pc 2 mac encoding +void wxMacStringToPascal( const char * from , unsigned char* to , bool pc2macEncoding ) ; + +// converts this string into a pascal with pc 2 mac encoding if s_macDefaultEncodingIsPC +inline void wxMacStringToPascal( const char * from , unsigned char* to ) + { wxMacStringToPascal( from , to , wxApp::s_macDefaultEncodingIsPC ) ; } + +// converts this string into a pascal with optional mac 2 pc encoding +wxString wxMacMakeStringFromPascal( unsigned char* from , bool mac2pcEncoding ) ; + +// converts this pascal string into a wxString with pc 2 mac encoding if s_macDefaultEncodingIsPC +inline wxString wxMacMakeStringFromPascal( unsigned char* from ) + { return wxMacMakeStringFromPascal( from , wxApp::s_macDefaultEncodingIsPC ) ; } + +// converts this c string into a wxString with optional mac 2 pc encoding +wxString wxMacMakeStringFromMacString( const char* from , bool mac2pcEncoding ) ; + +// converts this c string into a wxString with pc 2 mac encoding if s_macDefaultEncodingIsPC +inline wxString wxMacMakeStringFromMacString( const char* from ) + { return wxMacMakeStringFromMacString( from , wxApp::s_macDefaultEncodingIsPC ) ; } + #endif // _WX_APP_H_