allow wxDisplaySize to be called with NULL parameters

implement GetMetric for wxSYS_SCREEN_X & wxSYS_SCREEN_X using wxDisplaySize


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Gilles Depeyrot
2003-05-28 18:46:32 +00:00
parent eb382f3e5e
commit e8ca710507
4 changed files with 64 additions and 28 deletions

View File

@@ -151,10 +151,13 @@ wxFont wxSystemSettingsNative::GetFont(wxSystemFont index)
// Get a system metric, e.g. scrollbar size
int wxSystemSettingsNative::GetMetric(wxSystemMetric index)
{
int value;
switch ( index)
{
case wxSYS_MOUSE_BUTTONS:
return 2; // we emulate a two button mouse (ctrl + click = right button )
// we emulate a two button mouse (ctrl + click = right button )
return 2;
case wxSYS_BORDER_X:
// TODO
return 0;
@@ -210,11 +213,11 @@ int wxSystemSettingsNative::GetMetric(wxSystemMetric index)
// TODO
return 0;
case wxSYS_SCREEN_X:
// TODO
return 0;
wxDisplaySize(&value, NULL);
return value;
case wxSYS_SCREEN_Y:
// TODO
return 0;
wxDisplaySize(NULL, &value);
return value;
case wxSYS_FRAMESIZE_X:
// TODO
return 0;

View File

@@ -458,18 +458,27 @@ void wxDisplaySize(int *width, int *height)
BitMap screenBits;
GetQDGlobalsScreenBits( &screenBits );
if (width != NULL) {
*width = screenBits.bounds.right - screenBits.bounds.left ;
}
if (height != NULL) {
*height = screenBits.bounds.bottom - screenBits.bounds.top ;
}
}
void wxDisplaySizeMM(int *width, int *height)
{
wxDisplaySize(width, height);
// on mac 72 is fixed (at least now ;-)
float cvPt2Mm = 25.4 / 72;
if (width != NULL) {
*width = int( *width * cvPt2Mm );
}
if (height != NULL) {
*height = int( *height * cvPt2Mm );
}
}
void wxClientDisplayRect(int *x, int *y, int *width, int *height)
{
@@ -479,8 +488,12 @@ void wxClientDisplayRect(int *x, int *y, int *width, int *height)
if (x) *x = 0;
if (y) *y = 0;
if (width != NULL) {
*width = screenBits.bounds.right - screenBits.bounds.left ;
}
if (height != NULL) {
*height = screenBits.bounds.bottom - screenBits.bounds.top ;
}
SInt16 mheight ;
#if TARGET_CARBON
@@ -488,7 +501,9 @@ void wxClientDisplayRect(int *x, int *y, int *width, int *height)
#else
mheight = LMGetMBarHeight() ;
#endif
if (height != NULL) {
*height -= mheight ;
}
if (y)
*y = mheight ;
}

View File

@@ -151,10 +151,13 @@ wxFont wxSystemSettingsNative::GetFont(wxSystemFont index)
// Get a system metric, e.g. scrollbar size
int wxSystemSettingsNative::GetMetric(wxSystemMetric index)
{
int value;
switch ( index)
{
case wxSYS_MOUSE_BUTTONS:
return 2; // we emulate a two button mouse (ctrl + click = right button )
// we emulate a two button mouse (ctrl + click = right button )
return 2;
case wxSYS_BORDER_X:
// TODO
return 0;
@@ -210,11 +213,11 @@ int wxSystemSettingsNative::GetMetric(wxSystemMetric index)
// TODO
return 0;
case wxSYS_SCREEN_X:
// TODO
return 0;
wxDisplaySize(&value, NULL);
return value;
case wxSYS_SCREEN_Y:
// TODO
return 0;
wxDisplaySize(NULL, &value);
return value;
case wxSYS_FRAMESIZE_X:
// TODO
return 0;

View File

@@ -458,18 +458,27 @@ void wxDisplaySize(int *width, int *height)
BitMap screenBits;
GetQDGlobalsScreenBits( &screenBits );
if (width != NULL) {
*width = screenBits.bounds.right - screenBits.bounds.left ;
}
if (height != NULL) {
*height = screenBits.bounds.bottom - screenBits.bounds.top ;
}
}
void wxDisplaySizeMM(int *width, int *height)
{
wxDisplaySize(width, height);
// on mac 72 is fixed (at least now ;-)
float cvPt2Mm = 25.4 / 72;
if (width != NULL) {
*width = int( *width * cvPt2Mm );
}
if (height != NULL) {
*height = int( *height * cvPt2Mm );
}
}
void wxClientDisplayRect(int *x, int *y, int *width, int *height)
{
@@ -479,8 +488,12 @@ void wxClientDisplayRect(int *x, int *y, int *width, int *height)
if (x) *x = 0;
if (y) *y = 0;
if (width != NULL) {
*width = screenBits.bounds.right - screenBits.bounds.left ;
}
if (height != NULL) {
*height = screenBits.bounds.bottom - screenBits.bounds.top ;
}
SInt16 mheight ;
#if TARGET_CARBON
@@ -488,7 +501,9 @@ void wxClientDisplayRect(int *x, int *y, int *width, int *height)
#else
mheight = LMGetMBarHeight() ;
#endif
if (height != NULL) {
*height -= mheight ;
}
if (y)
*y = mheight ;
}