X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/82ef81ed9c797178d9868823097e272bfddc4c93..b6ae016a1ffd906772c1fd6cd4532bb83d2084ac:/src/palmos/renderer.cpp diff --git a/src/palmos/renderer.cpp b/src/palmos/renderer.cpp deleted file mode 100644 index bc590a79c1..0000000000 --- a/src/palmos/renderer.cpp +++ /dev/null @@ -1,191 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// Name: palmos/renderer.cpp -// Purpose: implementation of wxRendererNative for Palm OS -// Author: Vadim Zeitlin -// Modified by: -// Created: 20.07.2003 -// RCS-ID: $Id$ -// Copyright: (c) 2003 Vadim Zeitlin -// License: wxWindows licence -/////////////////////////////////////////////////////////////////////////////// - -// ============================================================================ -// declarations -// ============================================================================ - -// ---------------------------------------------------------------------------- -// headers -// ---------------------------------------------------------------------------- - -// for compilers that support precompilation, includes "wx.h". -#include "wx/wxprec.h" - -#ifdef __BORLANDC__ - #pragma hdrstop -#endif - -// Palm OS doesn't really have a theme engine, so this is not needed. -#ifndef __WXPALMOS__ - -#ifndef WX_PRECOMP - #include "wx/string.h" - #include "wx/window.h" - #include "wx/dc.h" -#endif //WX_PRECOMP - -#include "wx/splitter.h" -#include "wx/renderer.h" - -#include "wx/palmos/uxtheme.h" - -// ---------------------------------------------------------------------------- -// wxRendererMSW: wxRendererNative implementation for "old" Win32 systems -// ---------------------------------------------------------------------------- - -class WXDLLEXPORT wxRendererMSW : public wxDelegateRendererNative -{ -public: - wxRendererMSW() { } - - static wxRendererNative& Get(); - -private: - DECLARE_NO_COPY_CLASS(wxRendererMSW) -}; - -// ---------------------------------------------------------------------------- -// wxRendererXP: wxRendererNative implementation for Windows XP and later -// ---------------------------------------------------------------------------- - -class WXDLLEXPORT wxRendererXP : public wxDelegateRendererNative -{ -public: - wxRendererXP() : wxDelegateRendererNative(wxRendererMSW::Get()) { } - - static wxRendererNative& Get(); - - virtual void DrawSplitterBorder(wxWindow *win, - wxDC& dc, - const wxRect& rect, - int flags = 0); - virtual void DrawSplitterSash(wxWindow *win, - wxDC& dc, - const wxSize& size, - wxCoord position, - wxOrientation orient, - int flags = 0); - virtual wxSplitterRenderParams GetSplitterParams(const wxWindow *win); - -private: - DECLARE_NO_COPY_CLASS(wxRendererXP) -}; - -// ============================================================================ -// wxRendererNative and wxRendererMSW implementation -// ============================================================================ - -/* static */ -wxRendererNative& wxRendererNative::GetDefault() -{ - wxUxThemeEngine *themeEngine = wxUxThemeEngine::Get(); - return themeEngine && themeEngine->IsAppThemed() ? wxRendererXP::Get() - : wxRendererMSW::Get(); -} - -/* static */ -wxRendererNative& wxRendererMSW::Get() -{ - static wxRendererMSW s_rendererMSW; - - return s_rendererMSW; -} - -// ============================================================================ -// wxRendererXP implementation -// ============================================================================ - -/* static */ -wxRendererNative& wxRendererXP::Get() -{ - static wxRendererXP s_rendererXP; - - return s_rendererXP; -} - -// ---------------------------------------------------------------------------- -// splitter drawing -// ---------------------------------------------------------------------------- - -// the width of the sash: this is the same as used by Explorer... -static const wxCoord SASH_WIDTH = 4; - -wxSplitterRenderParams -wxRendererXP::GetSplitterParams(const wxWindow * win) -{ - if (win->GetWindowStyle() & wxSP_NO_XP_THEME) - return m_rendererNative.GetSplitterParams(win); - else - return wxSplitterRenderParams(SASH_WIDTH, 0, false); -} - -void -wxRendererXP::DrawSplitterBorder(wxWindow * win, - wxDC& dc, - const wxRect& rect, - int flags) -{ - if (win->GetWindowStyle() & wxSP_NO_XP_THEME) - { - m_rendererNative.DrawSplitterBorder(win, dc, rect, flags); - } -} - -void -wxRendererXP::DrawSplitterSash(wxWindow *win, - wxDC& dc, - const wxSize& size, - wxCoord position, - wxOrientation orient, - int flags) -{ - if (win->GetWindowStyle() & wxSP_NO_XP_THEME) - { - m_rendererNative.DrawSplitterSash( - win, dc, size, position, orient, flags); - return; - } - - // I don't know if it is correct to use the rebar background for the - // splitter but it least this works ok in the default theme - wxUxThemeHandle hTheme(win, L"REBAR"); - if ( hTheme ) - { - RECT rect; - if ( orient == wxVERTICAL ) - { - rect.left = position; - rect.right = position + SASH_WIDTH; - rect.top = 0; - rect.bottom = size.y; - } - else // wxHORIZONTAL - { - rect.left = 0; - rect.right = size.x; - rect.top = position; - rect.bottom = position + SASH_WIDTH; - } - - wxUxThemeEngine::Get()->DrawThemeBackground - ( - (WXHTHEME)hTheme, - dc.GetHDC(), - 3 /* RP_BAND */, - 0 /* no state */ , - &rect, - NULL - ); - } -} - -#endif