X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/32b8ec418aee4e38877d4cb79e2984c766dcc358..758bce950ba9236d0a9edc4c880c3ec73b5173f3:/src/mgl/utils.cpp diff --git a/src/mgl/utils.cpp b/src/mgl/utils.cpp index 354f08d83f..3017bbf4f3 100644 --- a/src/mgl/utils.cpp +++ b/src/mgl/utils.cpp @@ -3,7 +3,7 @@ // Purpose: // Author: Vaclav Slavik // Id: $Id$ -// Copyright: (c) 2001 Vaclav Slavik +// Copyright: (c) 2001 SciTech Software, Inc. (www.scitechsoft.com) // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -12,7 +12,6 @@ #include "wx/intl.h" #include "wx/log.h" - #include "wx/process.h" #include @@ -26,6 +25,8 @@ #include "wx/unix/execute.h" #endif +#include "wx/mgl/private.h" + //---------------------------------------------------------------------------- // misc. //---------------------------------------------------------------------------- @@ -39,20 +40,33 @@ void wxBell() // display characterstics // ---------------------------------------------------------------------------- -extern MGLDevCtx *g_displayDC; - -void wxDisplaySize( int *width, int *height ) +void wxDisplaySize(int *width, int *height) { wxASSERT_MSG( g_displayDC, wxT("MGL display DC not created yet.") ); if (width) *width = g_displayDC->sizex(); if (height) *height = g_displayDC->sizey(); } -void wxGetMousePosition( int* x, int* y ) +void wxDisplaySizeMM(int *width, int *height) { -#if 0 // FIXME_MGL - gdk_window_get_pointer( (GdkWindow*) NULL, x, y, (GdkModifierType*) NULL ); -#endif + wxASSERT_MSG( g_displayDC, wxT("MGL display DC not created yet.") ); + if ( width ) + *width = g_displayDC->sizex() * 25/72; + if ( height ) + *height = g_displayDC->sizey() * 25/72; + // FIXME_MGL -- what about returning *real* monitor dimensions? +} + +void wxClientDisplayRect(int *x, int *y, int *width, int *height) +{ + // This is supposed to return desktop dimensions minus any window + // manager panels, menus, taskbars, etc. If there is a way to do that + // for this platform please fix this function, otherwise it defaults + // to the entire desktop. + if (x) *x = 0; + if (y) *y = 0; + wxDisplaySize(width, height); + // FIXME_MGL -- make it use wxDesktop class when there's one } bool wxColourDisplay() @@ -71,20 +85,41 @@ int wxDisplayDepth() int wxGetOsVersion(int *majorVsn, int *minorVsn) { -#if 0 // FIXME_MGL - // FIXME_MGL : wxGetOsVersion, too - if (majorVsn) *majorVsn = GTK_MAJOR_VERSION; - if (minorVsn) *minorVsn = GTK_MINOR_VERSION; - - return wxGTK; + if ( majorVsn ) + *majorVsn = MGL_RELEASE_MAJOR; + if ( minorVsn ) + *minorVsn = MGL_RELEASE_MINOR; + +#if defined(__UNIX__) + return wxMGL_UNIX; +#elif defined(__OS2__) + return wxMGL_OS2; +#elif defined(__WIN32__) + return wxMGL_WIN32; #endif } +void wxGetMousePosition(int* x, int* y) +{ + MS_getPos(x, y); +} + +wxPoint wxGetMousePosition() +{ + wxPoint pt; + wxGetMousePosition(&pt.x, &pt.y); + return pt; +} + + + #ifdef __UNIX__ int wxAddProcessCallback(wxEndProcessData *proc_data, int fd) { + wxFAIL_MSG(wxT("wxAddProcessCallback not implemented in wxMGL!")); + return 0; #if 0 // FIXME_MGL -do we need it at all? int tag = gdk_input_add(fd, GDK_INPUT_READ,