#include "wx/setup.h"
#include "wx/utils.h"
#include "wx/app.h"
+#include "wx/mac/uma.h"
#include <ctype.h>
#include <string.h>
#include <stdarg.h>
-// Get full hostname (eg. DoDo.BSn-Germany.crg.de)
+// get full hostname (with domain name if possible)
+bool wxGetFullHostName(wxChar *buf, int maxSize)
+{
+ return wxGetHostName(buf, maxSize);
+}
+
+// Get hostname only (without domain name)
bool wxGetHostName(char *buf, int maxSize)
{
// TODO
}
#endif // wxUSE_RESOURCES
-static int wxBusyCursorCount = 0;
+int wxBusyCursorCount = 0;
+extern CursHandle gMacCurrentCursor ;
+CursHandle gMacStoredActiveCursor = NULL ;
// Set the cursor to the busy cursor for all windows
void wxBeginBusyCursor(wxCursor *cursor)
wxBusyCursorCount ++;
if (wxBusyCursorCount == 1)
{
- // TODO
+ gMacStoredActiveCursor = gMacCurrentCursor ;
+ ::SetCursor( *::GetCursor( watchCursor ) ) ;
}
else
{
wxBusyCursorCount --;
if (wxBusyCursorCount == 0)
{
- // TODO
+ if ( gMacStoredActiveCursor )
+ ::SetCursor( *gMacStoredActiveCursor ) ;
+ else
+ {
+ Cursor MacArrow ;
+ ::SetCursor( GetQDGlobalsArrow( &MacArrow ) ) ;
+ }
+ gMacStoredActiveCursor = NULL ;
}
}
return (wxBusyCursorCount > 0);
}
+wxString wxMacFindFolder( short vol,
+ OSType folderType,
+ Boolean createFolder)
+{
+ short vRefNum ;
+ long dirID ;
+ wxString strDir ;
+
+ if ( FindFolder( vol, folderType, createFolder, &vRefNum, &dirID) == noErr)
+ {
+ FSSpec file ;
+ if ( FSMakeFSSpec( vRefNum , dirID , "\p" , &file ) == noErr )
+ {
+ strDir = wxMacFSSpec2UnixFilename( &file ) + "/" ;
+ }
+ }
+ return strDir ;
+}
+
char *wxGetUserHome (const wxString& user)
{
// TODO
void wxGetMousePosition( int* x, int* y )
{
- // TODO
+ Point pt ;
+
+ GetMouse( &pt ) ;
+ LocalToGlobal( &pt ) ;
+ *x = pt.h ;
+ *y = pt.v ;
};
// Return TRUE if we have a colour display
bool wxColourDisplay()
{
- // TODO
return TRUE;
}
// Returns depth of screen
int wxDisplayDepth()
{
- // TODO
- return 0;
+ Rect globRect ;
+ SetRect(&globRect, -32760, -32760, 32760, 32760);
+ GDHandle theMaxDevice;
+
+ int theDepth = 8;
+ theMaxDevice = GetMaxDevice(&globRect);
+ if (theMaxDevice != nil)
+ theDepth = (**(**theMaxDevice).gdPMap).pixelSize;
+
+ return theDepth ;
}
// Get size of display
void wxDisplaySize(int *width, int *height)
{
- // TODO
+ BitMap screenBits;
+ GetQDGlobalsScreenBits( &screenBits );
+
+ *width = screenBits.bounds.right - screenBits.bounds.left ;
+ *height = screenBits.bounds.bottom - screenBits.bounds.top ;
+ #if TARGET_CARBON
+ SInt16 mheight ;
+ GetThemeMenuBarHeight( &mheight ) ;
+ *height -= mheight ;
+#else
+ *height -= LMGetMBarHeight() ;
+ #endif
}
+wxWindow* wxFindWindowAtPoint(const wxPoint& pt)
+{
+ return wxGenericFindWindowAtPoint(pt);
+}