mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-30 15:31:34 +00:00
41 lines
1.0 KiB
C
41 lines
1.0 KiB
C
|
#include <gdk/gdk.h>
|
||
|
|
||
|
static void
|
||
|
test_set_source_big_pixbuf (void)
|
||
|
{
|
||
|
cairo_surface_t *surface;
|
||
|
GdkPixbuf *pixbuf;
|
||
|
cairo_t *cr;
|
||
|
|
||
|
#define WAY_TOO_BIG 65540
|
||
|
|
||
|
/* Check that too big really is to big.
|
||
|
* If this check fails, somebody improved Cairo and this test is useless.
|
||
|
*/
|
||
|
surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, WAY_TOO_BIG, 1);
|
||
|
g_assert_cmpint (cairo_surface_status (surface), !=, CAIRO_STATUS_SUCCESS);
|
||
|
cairo_surface_destroy (surface);
|
||
|
|
||
|
surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 10, 10);
|
||
|
cr = cairo_create (surface);
|
||
|
pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, WAY_TOO_BIG, 1);
|
||
|
|
||
|
gdk_cairo_set_source_pixbuf (cr, pixbuf, 0, 0);
|
||
|
g_assert_cmpint (cairo_status (cr), !=, CAIRO_STATUS_SUCCESS);
|
||
|
|
||
|
g_object_unref (pixbuf);
|
||
|
cairo_destroy (cr);
|
||
|
cairo_surface_destroy (surface);
|
||
|
}
|
||
|
|
||
|
int
|
||
|
main (int argc, char *argv[])
|
||
|
{
|
||
|
g_test_init (&argc, &argv, NULL);
|
||
|
gdk_init (&argc, &argv);
|
||
|
|
||
|
g_test_add_func ("/drawing/set-source-big-pixbuf", test_set_source_big_pixbuf);
|
||
|
|
||
|
return g_test_run ();
|
||
|
}
|