]> git.saurik.com Git - wxWidgets.git/blame - include/wx/palmos/dcclient.h
Better fix
[wxWidgets.git] / include / wx / palmos / dcclient.h
CommitLineData
ffecfa5a 1/////////////////////////////////////////////////////////////////////////////
e1d63b79 2// Name: wx/palmos/dcclient.h
ffecfa5a 3// Purpose: wxClientDC class
e1d63b79 4// Author: William Osborne - minimal working wxPalmOS port
ffecfa5a
JS
5// Modified by:
6// Created: 10/13/04
e1d63b79 7// RCS-ID: $Id$
ffecfa5a
JS
8// Copyright: (c) William Osborne
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_DCCLIENT_H_
13#define _WX_DCCLIENT_H_
14
15// ----------------------------------------------------------------------------
16// headers
17// ----------------------------------------------------------------------------
18
ffecfa5a 19#include "wx/dc.h"
e2fc40b4
VZ
20#include "wx/palmos/dc.h"
21#include "wx/dcclient.h"
ffecfa5a
JS
22#include "wx/dynarray.h"
23
24// ----------------------------------------------------------------------------
25// array types
26// ----------------------------------------------------------------------------
27
28// this one if used by wxPaintDC only
b5dbe15d 29struct WXDLLIMPEXP_FWD_CORE wxPaintDCInfo;
ffecfa5a
JS
30
31WX_DECLARE_EXPORTED_OBJARRAY(wxPaintDCInfo, wxArrayDCInfo);
32
33// ----------------------------------------------------------------------------
34// DC classes
35// ----------------------------------------------------------------------------
36
e2fc40b4 37class WXDLLEXPORT wxWindowDCImpl : public wxPalmDCImpl
ffecfa5a
JS
38{
39public:
40 // default ctor
e2fc40b4 41 wxWindowDCImpl( wxDC *owner );
ffecfa5a
JS
42
43 // Create a DC corresponding to the whole window
e2fc40b4
VZ
44 wxWindowDCImpl( wxDC *owner, wxWindow *win );
45
46 virtual void DoGetSize(int *width, int *height) const;
ffecfa5a
JS
47
48protected:
3103e8a9 49 // initialize the newly created DC
ffecfa5a
JS
50 void InitDC();
51
e2fc40b4
VZ
52 DECLARE_CLASS(wxWindowDCImpl)
53 DECLARE_NO_COPY_CLASS(wxWindowDCImpl)
ffecfa5a
JS
54};
55
e2fc40b4 56class WXDLLEXPORT wxClientDCImpl : public wxWindowDCImpl
ffecfa5a
JS
57{
58public:
59 // default ctor
e2fc40b4 60 wxClientDCImpl( wxDC *owner );
ffecfa5a
JS
61
62 // Create a DC corresponding to the client area of the window
e2fc40b4 63 wxClientDCImpl( wxDC *owner, wxWindow *win );
ffecfa5a 64
e2fc40b4
VZ
65 virtual ~wxClientDCImpl();
66
67 virtual void DoGetSize(int *width, int *height) const;
ffecfa5a
JS
68
69protected:
70 void InitDC();
71
e2fc40b4
VZ
72 DECLARE_CLASS(wxClientDCImpl)
73 DECLARE_NO_COPY_CLASS(wxClientDCImpl)
ffecfa5a
JS
74};
75
e2fc40b4 76class WXDLLEXPORT wxPaintDCImpl : public wxClientDCImpl
ffecfa5a
JS
77{
78public:
e2fc40b4 79 wxPaintDCImpl( wxDC *owner );
ffecfa5a
JS
80
81 // Create a DC corresponding for painting the window in OnPaint()
e2fc40b4 82 wxPaintDCImpl( wxDC *owner, wxWindow *win );
ffecfa5a 83
e2fc40b4 84 virtual ~wxPaintDCImpl();
ffecfa5a
JS
85
86 // find the entry for this DC in the cache (keyed by the window)
87 static WXHDC FindDCInCache(wxWindow* win);
88
89protected:
90 static wxArrayDCInfo ms_cache;
91
92 // find the entry for this DC in the cache (keyed by the window)
93 wxPaintDCInfo *FindInCache(size_t *index = NULL) const;
94
e2fc40b4
VZ
95 DECLARE_CLASS(wxPaintDCImpl)
96 DECLARE_NO_COPY_CLASS(wxPaintDCImpl)
ffecfa5a
JS
97};
98
99#endif
100 // _WX_DCCLIENT_H_