]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/private.h
Fix setting frame icon when using non-standard icon sizes in wxMSW.
[wxWidgets.git] / include / wx / gtk / private.h
index 868dfe72eb1344f8eba136dd503118d0dfd3c9d2..261f483ee9e68b4bbeb4ab057f729e6bf9a3917e 100644 (file)
@@ -15,6 +15,7 @@
 #include <gtk/gtk.h>
 
 #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_