]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtksizerequest.h
filechooserbutton: whitespace fixes
[~andy/gtk] / gtk / gtksizerequest.h
index dbeb0cfb802c3a3953bf101c0d60936ce2e0c393..3e22f967cc99025bb2114f714e3867b953ea9311 100644 (file)
@@ -16,9 +16,7 @@
  * Library General Public License for more details.
  *
  * You should have received a copy of the GNU Library 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_SIZE_REQUEST_H__
 
 G_BEGIN_DECLS
 
-#define GTK_TYPE_SIZE_REQUEST            (gtk_size_request_get_type ())
-#define GTK_SIZE_REQUEST(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SIZE_REQUEST, GtkSizeRequest))
-#define GTK_SIZE_REQUEST_CLASS(klass)    ((GtkSizeRequestIface*)g_type_interface_peek ((klass), GTK_TYPE_SIZE_REQUEST))
-#define GTK_IS_SIZE_REQUEST(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SIZE_REQUEST))
-#define GTK_SIZE_REQUEST_GET_IFACE(obj)  (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTK_TYPE_SIZE_REQUEST, GtkSizeRequestIface))
+typedef struct _GtkRequestedSize         GtkRequestedSize;
 
-typedef struct _GtkSizeRequest           GtkSizeRequest;
-typedef struct _GtkSizeRequestIface      GtkSizeRequestIface;
-
-
-struct _GtkSizeRequestIface
+/**
+ * GtkRequestedSize:
+ * @data: A client pointer
+ * @minimum_size: The minimum size needed for allocation in a given orientation
+ * @natural_size: The natural size for allocation in a given orientation
+ *
+ * Represents a request of a screen object in a given orientation. These
+ * are primarily used in container implementations when allocating a natural
+ * size for children calling. See gtk_distribute_natural_allocation().
+ */
+struct _GtkRequestedSize
 {
-  GTypeInterface g_iface;
-
-  /* virtual table */
-  GtkSizeRequestMode (* get_request_mode)     (GtkSizeRequest  *layout);
-
-  void               (* get_height)           (GtkSizeRequest  *layout,
-                                              gint            *minimum_height,
-                                              gint            *natural_height);
-  void               (* get_width_for_height) (GtkSizeRequest  *layout,
-                                              gint             height,
-                                              gint            *minimum_width,
-                                              gint            *natural_width);
-  void               (* get_width)            (GtkSizeRequest  *layout,
-                                              gint            *minimum_width,
-                                              gint            *natural_width);
-  void               (* get_height_for_width) (GtkSizeRequest  *layout,
-                                              gint             width,
-                                              gint            *minimum_height,
-                                              gint            *natural_height);
+  gpointer data;
+  gint     minimum_size;
+  gint     natural_size;
 };
 
-GType               gtk_size_request_get_type             (void) G_GNUC_CONST;
 
-GtkSizeRequestMode  gtk_size_request_get_request_mode     (GtkSizeRequest *layout);
-void                gtk_size_request_get_width            (GtkSizeRequest *layout,
-                                                          gint           *minimum_width,
-                                                          gint           *natural_width);
-void                gtk_size_request_get_height_for_width (GtkSizeRequest *layout,
-                                                          gint            width,
-                                                          gint           *minimum_height,
-                                                          gint           *natural_height);
-void                gtk_size_request_get_height           (GtkSizeRequest *layout,
-                                                          gint           *minimum_height,
-                                                          gint           *natural_height);
-void                gtk_size_request_get_width_for_height (GtkSizeRequest *layout,
-                                                          gint            height,
-                                                          gint           *minimum_width,
-                                                          gint           *natural_width);
-void                gtk_size_request_get_size             (GtkSizeRequest *layout,
-                                                          GtkRequisition *minimum_size,
-                                                          GtkRequisition *natural_size);
+/* General convenience function to aid in allocating natural sizes */
+gint                gtk_distribute_natural_allocation               (gint              extra_space,
+                                                                     guint             n_requested_sizes,
+                                                                     GtkRequestedSize *sizes);
+
 
 G_END_DECLS