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
// Get a system metric, e.g. scrollbar size
int wxSystemSettingsNative::GetMetric(wxSystemMetric index)
{
// Get a system metric, e.g. scrollbar size
int wxSystemSettingsNative::GetMetric(wxSystemMetric index)
{
switch ( index)
{
case wxSYS_MOUSE_BUTTONS:
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
case wxSYS_BORDER_X:
// TODO
case wxSYS_BORDER_Y:
// TODO
return 0;
case wxSYS_BORDER_Y:
// TODO
return 0;
// TODO
return 0;
case wxSYS_SCREEN_X:
// TODO
return 0;
case wxSYS_SCREEN_X:
+ wxDisplaySize(&value, NULL);
+ return value;
+ wxDisplaySize(NULL, &value);
+ return value;
case wxSYS_FRAMESIZE_X:
// TODO
return 0;
case wxSYS_FRAMESIZE_X:
// TODO
return 0;
BitMap screenBits;
GetQDGlobalsScreenBits( &screenBits );
BitMap screenBits;
GetQDGlobalsScreenBits( &screenBits );
- *width = screenBits.bounds.right - screenBits.bounds.left ;
- *height = screenBits.bounds.bottom - screenBits.bounds.top ;
+ 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)
}
void wxDisplaySizeMM(int *width, int *height)
wxDisplaySize(width, height);
// on mac 72 is fixed (at least now ;-)
float cvPt2Mm = 25.4 / 72;
wxDisplaySize(width, height);
// on mac 72 is fixed (at least now ;-)
float cvPt2Mm = 25.4 / 72;
- *width = int( *width * cvPt2Mm );
- *height = int( *height * cvPt2Mm );
+
+ if (width != NULL) {
+ *width = int( *width * cvPt2Mm );
+ }
+ if (height != NULL) {
+ *height = int( *height * cvPt2Mm );
+ }
}
void wxClientDisplayRect(int *x, int *y, int *width, int *height)
}
void wxClientDisplayRect(int *x, int *y, int *width, int *height)
if (x) *x = 0;
if (y) *y = 0;
if (x) *x = 0;
if (y) *y = 0;
- *width = screenBits.bounds.right - screenBits.bounds.left ;
- *height = screenBits.bounds.bottom - screenBits.bounds.top ;
+ 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
SInt16 mheight ;
#if TARGET_CARBON
#else
mheight = LMGetMBarHeight() ;
#endif
#else
mheight = LMGetMBarHeight() ;
#endif
- *height -= mheight ;
- if ( y )
+ if (height != NULL) {
+ *height -= mheight ;
+ }
+ if (y)
// Get a system metric, e.g. scrollbar size
int wxSystemSettingsNative::GetMetric(wxSystemMetric index)
{
// Get a system metric, e.g. scrollbar size
int wxSystemSettingsNative::GetMetric(wxSystemMetric index)
{
switch ( index)
{
case wxSYS_MOUSE_BUTTONS:
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
case wxSYS_BORDER_X:
// TODO
case wxSYS_BORDER_Y:
// TODO
return 0;
case wxSYS_BORDER_Y:
// TODO
return 0;
// TODO
return 0;
case wxSYS_SCREEN_X:
// TODO
return 0;
case wxSYS_SCREEN_X:
+ wxDisplaySize(&value, NULL);
+ return value;
+ wxDisplaySize(NULL, &value);
+ return value;
case wxSYS_FRAMESIZE_X:
// TODO
return 0;
case wxSYS_FRAMESIZE_X:
// TODO
return 0;
BitMap screenBits;
GetQDGlobalsScreenBits( &screenBits );
BitMap screenBits;
GetQDGlobalsScreenBits( &screenBits );
- *width = screenBits.bounds.right - screenBits.bounds.left ;
- *height = screenBits.bounds.bottom - screenBits.bounds.top ;
+ 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)
}
void wxDisplaySizeMM(int *width, int *height)
wxDisplaySize(width, height);
// on mac 72 is fixed (at least now ;-)
float cvPt2Mm = 25.4 / 72;
wxDisplaySize(width, height);
// on mac 72 is fixed (at least now ;-)
float cvPt2Mm = 25.4 / 72;
- *width = int( *width * cvPt2Mm );
- *height = int( *height * cvPt2Mm );
+
+ if (width != NULL) {
+ *width = int( *width * cvPt2Mm );
+ }
+ if (height != NULL) {
+ *height = int( *height * cvPt2Mm );
+ }
}
void wxClientDisplayRect(int *x, int *y, int *width, int *height)
}
void wxClientDisplayRect(int *x, int *y, int *width, int *height)
if (x) *x = 0;
if (y) *y = 0;
if (x) *x = 0;
if (y) *y = 0;
- *width = screenBits.bounds.right - screenBits.bounds.left ;
- *height = screenBits.bounds.bottom - screenBits.bounds.top ;
+ 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
SInt16 mheight ;
#if TARGET_CARBON
#else
mheight = LMGetMBarHeight() ;
#endif
#else
mheight = LMGetMBarHeight() ;
#endif
- *height -= mheight ;
- if ( y )
+ if (height != NULL) {
+ *height -= mheight ;
+ }
+ if (y)