]> git.saurik.com Git - wxWidgets.git/blobdiff - src/palmos/dcclient.cpp
Remove Palm OS port.
[wxWidgets.git] / src / palmos / dcclient.cpp
diff --git a/src/palmos/dcclient.cpp b/src/palmos/dcclient.cpp
deleted file mode 100644 (file)
index b6313e8..0000000
+++ /dev/null
@@ -1,268 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////
-// Name:        src/palmos/dcclient.cpp
-// Purpose:     wxClientDC class
-// Author:      William Osborne - minimal working wxPalmOS port
-// Modified by:
-// Created:     10/13/04
-// RCS-ID:      $Id$
-// Copyright:   (c) William Osborne
-// Licence:     wxWindows licence
-/////////////////////////////////////////////////////////////////////////////
-
-// ===========================================================================
-// declarations
-// ===========================================================================
-
-// ----------------------------------------------------------------------------
-// headers
-// ----------------------------------------------------------------------------
-
-// For compilers that support precompilation, includes "wx.h".
-#include "wx/wxprec.h"
-
-#ifdef __BORLANDC__
-    #pragma hdrstop
-#endif
-
-#include "wx/dcclient.h"
-#include "wx/palmos/dcclient.h"
-
-#ifndef WX_PRECOMP
-    #include "wx/string.h"
-    #include "wx/log.h"
-    #include "wx/window.h"
-#endif
-
-// ----------------------------------------------------------------------------
-// array/list types
-// ----------------------------------------------------------------------------
-
-struct WXDLLEXPORT wxPaintDCInfo
-{
-    wxPaintDCInfo(wxWindow *win, wxPaintDCImpl *dc)
-    {
-        hwnd = win->GetHWND();
-        hdc = dc->GetHDC();
-        count = 1;
-    }
-
-    WXHWND    hwnd;       // window for this DC
-    WXHDC     hdc;        // the DC handle
-    size_t    count;      // usage count
-};
-
-#include "wx/arrimpl.cpp"
-
-WX_DEFINE_OBJARRAY(wxArrayDCInfo)
-
-// ===========================================================================
-// implementation
-// ===========================================================================
-
-// ----------------------------------------------------------------------------
-// wxWindowDCImpl
-// ----------------------------------------------------------------------------
-
-IMPLEMENT_ABSTRACT_CLASS(wxWindowDCImpl, wxPalmDCImpl)
-
-wxWindowDCImpl::wxWindowDCImpl( wxDC *owner ) :
-   wxPalmDCImpl( owner )
-{
-}
-
-wxWindowDCImpl::wxWindowDCImpl( wxDC *owner, wxWindow *window ) :
-   wxPalmDCImpl( owner )
-{
-    wxCHECK_RET( window, wxT("invalid window in wxWindowDCImpl") );
-}
-
-void wxWindowDCImpl::InitDC()
-{
-
-    // since we are a window dc we need to grab the palette from the window
-#if wxUSE_PALETTE
-    InitializePalette();
-#endif
-}
-
-void wxWindowDCImpl::DoGetSize(int *width, int *height) const
-{
-    wxCHECK_RET( m_window, wxT("wxWindowDCImpl without a window?") );
-
-    m_window->GetSize(width, height);
-}
-
-// ----------------------------------------------------------------------------
-// wxClientDCImpl
-// ----------------------------------------------------------------------------
-
-IMPLEMENT_ABSTRACT_CLASS(wxClientDCImpl, wxWindowDCImpl)
-
-wxClientDCImpl::wxClientDCImpl( wxDC *owner ) :
-   wxWindowDCImpl( owner )
-{
-}
-
-wxClientDCImpl::wxClientDCImpl( wxDC *owner, wxWindow *window ) :
-   wxWindowDCImpl( owner )
-{
-}
-
-void wxClientDCImpl::InitDC()
-{
-    wxWindowDCImpl::InitDC();
-
-    // in wxUniv build we must manually do some DC adjustments usually
-    // performed by Windows for us
-    //
-    // we also need to take the menu/toolbar manually into account under
-    // Windows CE because they're just another control there, not anything
-    // special as usually under Windows
-#if defined(__WXUNIVERSAL__) || defined(__WXWINCE__)
-    wxPoint ptOrigin = m_window->GetClientAreaOrigin();
-    if ( ptOrigin.x || ptOrigin.y )
-    {
-        // no need to shift DC origin if shift is null
-        SetDeviceOrigin(ptOrigin.x, ptOrigin.y);
-    }
-
-    // clip the DC to avoid overwriting the non client area
-    SetClippingRegion(wxPoint(0,0), m_window->GetClientSize());
-#endif // __WXUNIVERSAL__ || __WXWINCE__
-}
-
-wxClientDCImpl::~wxClientDCImpl()
-{
-}
-
-void wxClientDCImpl::DoGetSize(int *width, int *height) const
-{
-    wxCHECK_RET( m_window, wxT("wxClientDCImpl without a window?") );
-
-    m_window->GetClientSize(width, height);
-}
-
-// ----------------------------------------------------------------------------
-// wxPaintDCImpl
-// ----------------------------------------------------------------------------
-
-// VZ: initial implementation (by JACS) only remembered the last wxPaintDC
-//     created and tried to reuse it - this was supposed to take care of a
-//     situation when a derived class OnPaint() calls base class OnPaint()
-//     because in this case ::BeginPaint() shouldn't be called second time.
-//
-//     I'm not sure how useful this is, however we must remember the HWND
-//     associated with the last HDC as well - otherwise we may (and will!) try
-//     to reuse the HDC for another HWND which is a nice recipe for disaster.
-//
-//     So we store a list of windows for which we already have the DC and not
-//     just one single hDC. This seems to work, but I'm really not sure about
-//     the usefullness of the whole idea - IMHO it's much better to not call
-//     base class OnPaint() at all, or, if we really want to allow it, add a
-//     "wxPaintDC *" parameter to wxPaintEvent which should be used if it's
-//     !NULL instead of creating a new DC.
-
-IMPLEMENT_ABSTRACT_CLASS(wxPaintDCImpl, wxClientDCImpl)
-
-wxArrayDCInfo wxPaintDCImpl::ms_cache;
-
-wxPaintDCImpl::wxPaintDCImpl( wxDC *owner ) :
-   wxClientDCImpl( owner )
-{
-}
-
-wxPaintDCImpl::wxPaintDCImpl( wxDC *owner, wxWindow *window ) :
-   wxClientDCImpl( owner )
-{
-    wxCHECK_RET( window, wxT("NULL canvas in wxPaintDCImpl ctor") );
-
-    m_window = window;
-
-    // do we have a DC for this window in the cache?
-    wxPaintDCInfo *info = FindInCache();
-    if ( info )
-    {
-        m_hDC = info->hdc;
-        info->count++;
-    }
-    else // not in cache, create a new one
-    {
-        //m_hDC = (WXHDC)::BeginPaint(GetHwndOf(m_window), &g_paintStruct);
-        if (m_hDC)
-            ms_cache.Add(new wxPaintDCInfo(m_window, this));
-    }
-
-    // Note: at this point m_hDC can be NULL under MicroWindows, when dragging.
-    if (!GetHDC())
-        return;
-
-    // (re)set the DC parameters.
-    InitDC();
-
-    // the HDC can have a clipping box (which we didn't set), make sure our
-    // DoGetClippingBox() checks for it
-    m_clipping = true;
-}
-
-wxPaintDCImpl::~wxPaintDCImpl()
-{
-    if ( m_hDC )
-    {
-        SelectOldObjects(m_hDC);
-
-        size_t index;
-        wxPaintDCInfo *info = FindInCache(&index);
-
-        wxCHECK_RET( info, wxT("existing DC should have a cache entry") );
-
-        if ( --info->count == 0 )
-        {
-            //::EndPaint(GetHwndOf(m_window), &g_paintStruct);
-
-            ms_cache.RemoveAt(index);
-
-            // Reduce the number of bogus reports of non-freed memory
-            // at app exit
-            if (ms_cache.IsEmpty())
-                ms_cache.Clear();
-        }
-        //else: cached DC entry is still in use
-
-        // prevent the base class dtor from ReleaseDC()ing it again
-        m_hDC = 0;
-    }
-}
-
-wxPaintDCInfo *wxPaintDCImpl::FindInCache(size_t *index) const
-{
-    wxPaintDCInfo *info = NULL;
-    size_t nCache = ms_cache.GetCount();
-    for ( size_t n = 0; n < nCache; n++ )
-    {
-        wxPaintDCInfo *info1 = &ms_cache[n];
-        if ( info1->hwnd == m_window->GetHWND() )
-        {
-            info = info1;
-            if ( index )
-                *index = n;
-            break;
-        }
-    }
-
-    return info;
-}
-
-// find the entry for this DC in the cache (keyed by the window)
-WXHDC wxPaintDCImpl::FindDCInCache(wxWindow* win)
-{
-    size_t nCache = ms_cache.GetCount();
-    for ( size_t n = 0; n < nCache; n++ )
-    {
-        wxPaintDCInfo *info = &ms_cache[n];
-        if ( info->hwnd == win->GetHWND() )
-        {
-            return info->hdc;
-        }
-    }
-    return 0;
-}