X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cc209a518f106f39fde26f8bc8dd3d9d53dc5cc5..d928f01967cec20e112cc9dde2162b147d8f1433:/include/wx/gtk/private.h diff --git a/include/wx/gtk/private.h b/include/wx/gtk/private.h index 868dfe72eb..261f483ee9 100644 --- a/include/wx/gtk/private.h +++ b/include/wx/gtk/private.h @@ -15,6 +15,7 @@ #include #include "wx/gtk/private/string.h" +#include "wx/gtk/private/gtk2-compat.h" // pango_version_check symbol is quite recent ATM (4/2007)... so we // use our own wrapper which implements a smart trick. @@ -51,13 +52,13 @@ extern const gchar *wx_pango_version_check(int major, int minor, int micro); // helper: use the encoding of the given font if it's valid inline wxCharBuffer wxConvertToGTK(const wxString& s, const wxFont& font) { - return wxConvertToGTK(s, font.Ok() ? font.GetEncoding() + return wxConvertToGTK(s, font.IsOk() ? font.GetEncoding() : wxFONTENCODING_SYSTEM); } inline wxCharBuffer wxConvertFromGTK(const wxString& s, const wxFont& font) { - return wxConvertFromGTK(s, font.Ok() ? font.GetEncoding() + return wxConvertFromGTK(s, font.IsOk() ? font.GetEncoding() : wxFONTENCODING_SYSTEM); } @@ -86,23 +87,46 @@ extern const gchar *wx_pango_version_check(int major, int minor, int micro); #define wxGTK_CONV_BACK_SYS(s) wxConvertFromGTK((s)) #endif -// Some deprecated GTK+ prototypes we still use often -// FIXME: Don't use them if possible. -extern "C" { +// ---------------------------------------------------------------------------- +// various private helper functions +// ---------------------------------------------------------------------------- -// Deprecated since GTK+-1.3.7: -// Trivial wrapper around gtk_window_move, with some side effects we seem to rely on -void gtk_widget_set_uposition (GtkWidget *widget, - gint x, - gint y); +namespace wxGTKPrivate +{ -// We rely on the allow_shrink parameter in one place -void gtk_window_set_policy (GtkWindow *window, - gint allow_shrink, - gint allow_grow, - gint auto_shrink); +// these functions create the GTK widgets of the specified types which can then +// used to retrieve their styles, pass them to drawing functions &c +// +// the returned widgets shouldn't be destroyed, this is done automatically on +// shutdown +GtkWidget *GetButtonWidget(); +GtkWidget *GetCheckButtonWidget(); +GtkWidget *GetComboBoxWidget(); +GtkWidget *GetEntryWidget(); +GtkWidget *GetHeaderButtonWidgetFirst(); +GtkWidget *GetHeaderButtonWidgetLast(); +GtkWidget *GetHeaderButtonWidget(); +GtkWidget *GetRadioButtonWidget(); +GtkWidget *GetSplitterWidget(); +GtkWidget *GetTextEntryWidget(); +GtkWidget *GetTreeWidget(); + +// Set Pango attributes corresponding to the given font for the span 0..len (or +// without any bounds if len == 0) in the specified layout. Currently only +// underlined and strike-through attributes are handled by this function. +// +// Special "addDummyAttrs" parameter is used to work around a bug in old Pango +// versions in wxWindowDCImpl::DoDrawText(), see comment there. +// +// If neither of them is specified, returns false, otherwise sets up the +// attributes and returns true. +// +// This function is implemented in src/gtk/dcclient.cpp. +bool +SetPangoAttrsForFont(const wxFont& font, PangoLayout* layout, size_t len = 0, + bool addDummyAttrs = false); -} // extern "C" +} // wxGTKPrivate #endif // _WX_GTK_PRIVATE_H_