]> git.saurik.com Git - wxWidgets.git/blame - include/wx/gtk/private/textmeasure.h
Add missing WXK constants for the control keys
[wxWidgets.git] / include / wx / gtk / private / textmeasure.h
CommitLineData
8cd79b7a
VZ
1///////////////////////////////////////////////////////////////////////////////
2// Name: wx/gtk/private/textmeasure.h
3// Purpose: wxGTK-specific declaration of wxTextMeasure class
4// Author: Manuel Martin
5// Created: 2012-19-05
6// Copyright: (c) 1997-2012 wxWidgets team
7// Licence: wxWindows licence
8///////////////////////////////////////////////////////////////////////////////
9
10#ifndef _WX_GTK_PRIVATE_TEXTMEASURE_H_
11#define _WX_GTK_PRIVATE_TEXTMEASURE_H_
12
13// ----------------------------------------------------------------------------
14// wxTextMeasure
15// ----------------------------------------------------------------------------
16
17class WXDLLIMPEXP_FWD_CORE wxWindowDCImpl;
18
19class wxTextMeasure : public wxTextMeasureBase
20{
21public:
22 wxTextMeasure(const wxDC *dc, const wxFont *font)
23 : wxTextMeasureBase(dc, font)
24 {
25 Init();
26 }
27
28 wxTextMeasure(const wxWindow *win, const wxFont *font)
29 : wxTextMeasureBase(win, font)
30 {
31 Init();
32 }
33
34protected:
35 // Common part of both ctors.
36 void Init();
37
38 virtual void BeginMeasuring();
39 virtual void EndMeasuring();
40
41 virtual void DoGetTextExtent(const wxString& string,
42 wxCoord *width,
43 wxCoord *height,
44 wxCoord *descent = NULL,
45 wxCoord *externalLeading = NULL);
46
47 virtual bool DoGetPartialTextExtents(const wxString& text,
48 wxArrayInt& widths,
49 double scaleX);
50
51
52 // This class is only used for DC text measuring with GTK+ 2 as GTK+ 3 uses
53 // Cairo and not Pango for this. However it's still used even with GTK+ 3
54 // for window text measuring, so the context and the layout are still
55 // needed.
56#ifndef __WXGTK3__
57 wxWindowDCImpl *m_wdc;
58#endif // GTK+ < 3
59 PangoContext *m_context;
60 PangoLayout *m_layout;
61
62 wxDECLARE_NO_COPY_CLASS(wxTextMeasure);
63};
64
65#endif // _WX_GTK_PRIVATE_TEXTMEASURE_H_