]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtksettings.h
stylecontext: Do invalidation on first resize container
[~andy/gtk] / gtk / gtksettings.h
index f058e00a6853ad5f3da13674efe6bcaa5013ab3a..9e6434a12e610997869af9be247b928381fa1fbe 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
+
 #ifndef __GTK_SETTINGS_H__
 #define __GTK_SETTINGS_H__
 
-#include       <gtk/gtkrc.h>
+#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only <gtk/gtk.h> can be included directly."
+#endif
+
+#include <gdk/gdk.h>
+#include <gtk/gtktypes.h>
 
 G_BEGIN_DECLS
 
@@ -33,9 +38,9 @@ G_BEGIN_DECLS
 
 
 /* --- typedefs --- */
-typedef struct    _GtkSettingsClass GtkSettingsClass;
-typedef struct    _GtkSettingsValue GtkSettingsValue;
-typedef struct    _GtkSettingsPropertyValue GtkSettingsPropertyValue; /* Internal */
+typedef struct _GtkSettingsPrivate GtkSettingsPrivate;
+typedef struct _GtkSettingsClass GtkSettingsClass;
+typedef struct _GtkSettingsValue GtkSettingsValue;
 
 
 /* --- structures --- */
@@ -43,17 +48,21 @@ struct _GtkSettings
 {
   GObject parent_instance;
 
-  GData  *queued_settings;     /* of type GtkSettingsValue* */
-  GtkSettingsPropertyValue *property_values;
-
-  GtkRcContext *rc_context;
-  GdkScreen    *screen;
+  /*< private >*/
+  GtkSettingsPrivate *priv;
 };
+
 struct _GtkSettingsClass
 {
   GObjectClass parent_class;
-  
+
+  /* Padding for future expansion */
+  void (*_gtk_reserved1) (void);
+  void (*_gtk_reserved2) (void);
+  void (*_gtk_reserved3) (void);
+  void (*_gtk_reserved4) (void);
 };
+
 struct _GtkSettingsValue
 {
   /* origin should be something like "filename:linenumber" for rc files,
@@ -69,63 +78,48 @@ struct _GtkSettingsValue
 
 
 /* --- functions --- */
-GType          gtk_settings_get_type                (void) G_GNUC_CONST;
+GType           gtk_settings_get_type                (void) G_GNUC_CONST;
 #ifndef GDK_MULTIHEAD_SAFE
-GtkSettings*   gtk_settings_get_default             (void);
+GtkSettings*    gtk_settings_get_default             (void);
 #endif
-GtkSettings*   gtk_settings_get_for_screen          (GdkScreen *screen);
-  
-void           gtk_settings_install_property        (GParamSpec         *pspec);
-void           gtk_settings_install_property_parser (GParamSpec         *pspec,
-                                                     GtkRcPropertyParser parser);
+GtkSettings*    gtk_settings_get_for_screen          (GdkScreen *screen);
+
+void            gtk_settings_install_property        (GParamSpec         *pspec);
+void            gtk_settings_install_property_parser (GParamSpec         *pspec,
+                                                      GtkRcPropertyParser parser);
 
 /* --- precoded parsing functions --- */
 gboolean gtk_rc_property_parse_color       (const GParamSpec *pspec,
-                                           const GString    *gstring,
-                                           GValue           *property_value);
+                                            const GString    *gstring,
+                                            GValue           *property_value);
 gboolean gtk_rc_property_parse_enum        (const GParamSpec *pspec,
-                                           const GString    *gstring,
-                                           GValue           *property_value);
+                                            const GString    *gstring,
+                                            GValue           *property_value);
 gboolean gtk_rc_property_parse_flags       (const GParamSpec *pspec,
-                                           const GString    *gstring,
-                                           GValue           *property_value);
+                                            const GString    *gstring,
+                                            GValue           *property_value);
 gboolean gtk_rc_property_parse_requisition (const GParamSpec *pspec,
-                                           const GString    *gstring,
-                                           GValue           *property_value);
+                                            const GString    *gstring,
+                                            GValue           *property_value);
 gboolean gtk_rc_property_parse_border      (const GParamSpec *pspec,
-                                           const GString    *gstring,
-                                           GValue           *property_value);
-
-/*< private >*/
-void           gtk_settings_set_property_value  (GtkSettings   *settings,
-                                                 const gchar   *name,
-                                                 const GtkSettingsValue *svalue);
-void           gtk_settings_set_string_property (GtkSettings   *settings,
-                                                 const gchar   *name,
-                                                 const gchar   *v_string,
-                                                 const gchar   *origin);
-void           gtk_settings_set_long_property   (GtkSettings   *settings,
-                                                 const gchar   *name,
-                                                 glong          v_long,
-                                                 const gchar   *origin);
-void           gtk_settings_set_double_property (GtkSettings   *settings,
-                                                 const gchar   *name,
-                                                 gdouble        v_double,
-                                                 const gchar   *origin);
-
-
-/* implementation details */
-void _gtk_settings_set_property_value_from_rc (GtkSettings            *settings,
-                                              const gchar            *name,
-                                              const GtkSettingsValue *svalue);
-void _gtk_settings_reset_rc_values            (GtkSettings            *settings);
-
-void                _gtk_settings_handle_event        (GdkEventSetting    *event);
-GtkRcPropertyParser _gtk_rc_property_parser_from_type (GType               type);
-gboolean           _gtk_settings_parse_convert       (GtkRcPropertyParser parser,
-                                                      const GValue       *src_value,
-                                                      GParamSpec         *pspec,
-                                                      GValue             *dest_value);
+                                            const GString    *gstring,
+                                            GValue           *property_value);
+
+void     gtk_settings_set_property_value   (GtkSettings            *settings,
+                                            const gchar            *name,
+                                            const GtkSettingsValue *svalue);
+void     gtk_settings_set_string_property  (GtkSettings            *settings,
+                                            const gchar            *name,
+                                            const gchar            *v_string,
+                                            const gchar            *origin);
+void     gtk_settings_set_long_property    (GtkSettings            *settings,
+                                            const gchar            *name,
+                                            glong                   v_long,
+                                            const gchar            *origin);
+void     gtk_settings_set_double_property  (GtkSettings            *settings,
+                                            const gchar            *name,
+                                            gdouble                 v_double,
+                                            const gchar            *origin);
 
 
 G_END_DECLS