]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkthemingengine.h
stylecontext: Do invalidation on first resize container
[~andy/gtk] / gtk / gtkthemingengine.h
index ab90bf5a7b2392432f5e241acc611955cb9520bb..be458bbb76812f340a5c3c68d15d72a0c5587e64 100644 (file)
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
 
+#ifndef __GTK_THEMING_ENGINE_H__
+#define __GTK_THEMING_ENGINE_H__
+
 #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#ifndef __GTK_THEMING_ENGINE_H__
-#define __GTK_THEMING_ENGINE_H__
-
 #include <glib-object.h>
 #include <cairo.h>
 
-#include <gtk/gtkstylecontext.h>
-#include <gtk/gtkwidgetpath.h>
+#include <gtk/gtkborder.h>
 #include <gtk/gtkenums.h>
+#include <gtk/gtkstyleproperties.h>
+#include <gtk/gtktypes.h>
 
 G_BEGIN_DECLS
 
@@ -41,16 +40,17 @@ G_BEGIN_DECLS
 #define GTK_THEMING_ENGINE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS  ((o), GTK_TYPE_THEMING_ENGINE, GtkThemingEngineClass))
 
 typedef struct _GtkThemingEngine GtkThemingEngine;
+typedef struct GtkThemingEnginePrivate GtkThemingEnginePrivate;
 typedef struct _GtkThemingEngineClass GtkThemingEngineClass;
 
 struct _GtkThemingEngine
 {
   GObject parent_object;
-  gpointer priv;
+  GtkThemingEnginePrivate *priv;
 };
 
 /**
- * GtkThemingEngineClass
+ * GtkThemingEngineClass:
  * @parent_class: The parent class.
  * @render_line: Renders a line between two points.
  * @render_background: Renders the background area of a widget region.
@@ -69,6 +69,7 @@ struct _GtkThemingEngine
  * @render_activity: Renders an area displaying activity, such as in #GtkSpinner,
  *                   or #GtkProgressBar.
  * @render_icon_pixbuf: Renders an icon as a #GdkPixbuf.
+ * @render_icon: Renders an icon given as a #GdkPixbuf.
  *
  * Base class for theming engines.
  */
@@ -168,13 +169,20 @@ struct _GtkThemingEngineClass
   GdkPixbuf * (* render_icon_pixbuf) (GtkThemingEngine    *engine,
                                       const GtkIconSource *source,
                                       GtkIconSize          size);
+  void (* render_icon) (GtkThemingEngine *engine,
+                        cairo_t          *cr,
+                       GdkPixbuf        *pixbuf,
+                        gdouble           x,
+                        gdouble           y);
+
+  /*< private >*/
+  gpointer padding[15];
 };
 
 GType gtk_theming_engine_get_type (void) G_GNUC_CONST;
 
-void _gtk_theming_engine_set_context (GtkThemingEngine *engine,
-                                      GtkStyleContext  *context);
-
+/* function implemented in gtkcsscustomproperty.c */
+GDK_DEPRECATED_IN_3_8
 void gtk_theming_engine_register_property (const gchar            *name_space,
                                            GtkStylePropertyParser  parse_func,
                                            GParamSpec             *pspec);
@@ -202,7 +210,7 @@ gboolean gtk_theming_engine_lookup_color (GtkThemingEngine *engine,
                                           const gchar      *color_name,
                                           GdkRGBA          *color);
 
-G_CONST_RETURN GtkWidgetPath * gtk_theming_engine_get_path (GtkThemingEngine *engine);
+const GtkWidgetPath * gtk_theming_engine_get_path (GtkThemingEngine *engine);
 
 gboolean gtk_theming_engine_has_class  (GtkThemingEngine *engine,
                                         const gchar      *style_class);
@@ -211,10 +219,12 @@ gboolean gtk_theming_engine_has_region (GtkThemingEngine *engine,
                                         GtkRegionFlags   *flags);
 
 GtkStateFlags gtk_theming_engine_get_state        (GtkThemingEngine *engine);
+GDK_DEPRECATED_IN_3_6
 gboolean      gtk_theming_engine_state_is_running (GtkThemingEngine *engine,
                                                    GtkStateType      state,
                                                    gdouble          *progress);
 
+GDK_DEPRECATED_IN_3_8_FOR(gtk_theming_engine_get_state)
 GtkTextDirection gtk_theming_engine_get_direction (GtkThemingEngine *engine);
 
 GtkJunctionSides gtk_theming_engine_get_junction_sides (GtkThemingEngine *engine);
@@ -240,6 +250,7 @@ void gtk_theming_engine_get_margin  (GtkThemingEngine *engine,
                                      GtkStateFlags     state,
                                      GtkBorder        *margin);
 
+GDK_DEPRECATED_IN_3_8_FOR(gtk_theming_engine_get)
 const PangoFontDescription * gtk_theming_engine_get_font (GtkThemingEngine *engine,
                                                           GtkStateFlags     state);
 
@@ -247,7 +258,6 @@ GtkThemingEngine * gtk_theming_engine_load (const gchar *name);
 
 GdkScreen * gtk_theming_engine_get_screen (GtkThemingEngine *engine);
 
-
 G_END_DECLS
 
 #endif /* __GTK_THEMING_ENGINE_H__ */