} SizeRequest;
typedef struct {
- SizeRequest **widths;
- SizeRequest **heights;
+ SizeRequest **requests[2];
- CachedSize cached_width;
- CachedSize cached_height;
+ CachedSize cached_size[2];
- GtkSizeRequestMode request_mode: 3;
- guint request_mode_valid : 1;
- guint cached_widths : 3;
- guint cached_heights : 3;
- guint last_cached_width : 3;
- guint last_cached_height : 3;
- guint cached_base_width : 1;
- guint cached_base_height : 1;
+ GtkSizeRequestMode request_mode : 3;
+ guint request_mode_valid : 1;
+ struct {
+ guint n_cached_requests : 3;
+ guint last_cached_request : 3;
+ guint cached_size_valid : 1;
+ } flags[2];
} SizeRequestCache;
void _gtk_size_request_cache_init (SizeRequestCache *cache);
void _gtk_size_request_cache_free (SizeRequestCache *cache);
void _gtk_size_request_cache_clear (SizeRequestCache *cache);
+void _gtk_size_request_cache_commit (SizeRequestCache *cache,
+ GtkOrientation orientation,
+ gint for_size,
+ gint minimum_size,
+ gint natural_size);
+gboolean _gtk_size_request_cache_lookup (SizeRequestCache *cache,
+ GtkOrientation orientation,
+ gint for_size,
+ gint *minimum,
+ gint *natural);
G_END_DECLS