From f241653c17d39de2cce512bb8ecfba80b9ac0351 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?W=C5=82odzimierz=20Skiba?= Date: Thu, 10 Feb 2005 09:22:12 +0000 Subject: [PATCH] wxWindow::GetClientAreaOrigin duplicated wxWindowBase method. Working wxFrame::GetClientAreaOrigin. Screen size metric. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31883 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/palmos/window.h | 4 ---- src/palmos/frame.cpp | 17 +++++++++++++---- src/palmos/settings.cpp | 22 +++++++++++++++++++--- src/palmos/window.cpp | 7 ------- 4 files changed, 32 insertions(+), 18 deletions(-) diff --git a/include/wx/palmos/window.h b/include/wx/palmos/window.h index 8c1f1dd31e..460e2242e8 100644 --- a/include/wx/palmos/window.h +++ b/include/wx/palmos/window.h @@ -147,10 +147,6 @@ public: void OnPaint(wxPaintEvent& event); public: - // For implementation purposes - sometimes decorations make the client area - // smaller - virtual wxPoint GetClientAreaOrigin() const; - // Windows subclassing void SubclassWin(WXHWND hWnd); void UnsubclassWin(); diff --git a/src/palmos/frame.cpp b/src/palmos/frame.cpp index 2267eee58e..c81817af92 100644 --- a/src/palmos/frame.cpp +++ b/src/palmos/frame.cpp @@ -302,8 +302,17 @@ bool wxFrame::HandleSize(int x, int y, WXUINT id) // get the origin of the client area in the client coordinates wxPoint wxFrame::GetClientAreaOrigin() const { - Coord x, y; - WinWindowToDisplayPt(&x,&y); - wxPoint pt(x,y); - return pt; + // there is no API to get client area but we know + // it starts after titlebar and 1 pixel of form border + Coord maxY = wxSystemSettings::GetMetric(wxSYS_SCREEN_Y), + X = 1, + Y = 0; + while ( Y < maxY ) + { + if(!FrmPointInTitle(GetForm(),X,Y)) + return wxPoint(X,Y+1); + Y++; + } + + return wxPoint(X,0); } diff --git a/src/palmos/settings.cpp b/src/palmos/settings.cpp index 4191175eb3..25239aba83 100644 --- a/src/palmos/settings.cpp +++ b/src/palmos/settings.cpp @@ -2,10 +2,10 @@ // Name: src/palmos/settings.cpp // Purpose: wxSystemSettingsNative implementation for Palm OS // Author: William Osborne - minimal working wxPalmOS port -// Modified by: +// Modified by: Wlodzimierz ABX Skiba - native implementation // Created: 10/13/04 // RCS-ID: $Id$ -// Copyright: (c) William Osborne +// Copyright: (c) William Osborne, Wlodzimierz Skiba // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -125,7 +125,23 @@ wxFont wxSystemSettingsNative::GetFont(wxSystemFont index) // Get a system metric, e.g. scrollbar size int wxSystemSettingsNative::GetMetric(wxSystemMetric index) { - return -1; + int metric = -1; + uint32_t attrP; + + switch( index ) + { + case wxSYS_SCREEN_X: + WinScreenGetAttribute(winScreenWidth, &attrP); + metric = attrP; + break; + + case wxSYS_SCREEN_Y: + WinScreenGetAttribute(winScreenHeight, &attrP); + metric = attrP; + break; + } + + return metric; } bool wxSystemSettingsNative::HasFeature(wxSystemFeature index) diff --git a/src/palmos/window.cpp b/src/palmos/window.cpp index 5eba9aed6a..6ecb274dfa 100644 --- a/src/palmos/window.cpp +++ b/src/palmos/window.cpp @@ -558,13 +558,6 @@ void wxWindowPalm::DoSetClientSize(int width, int height) { } -// For implementation purposes - sometimes decorations make the client area -// smaller -wxPoint wxWindowPalm::GetClientAreaOrigin() const -{ - return wxPoint(0, 0); -} - // --------------------------------------------------------------------------- // text metrics // ---------------------------------------------------------------------------