ui/gtk/image.c

changeset 563
6fc93c3b91c9
parent 548
198756ab2845
child 565
54a97e543389
equal deleted inserted replaced
561:5798e3a28c59 563:6fc93c3b91c9
339 } 339 }
340 340
341 return 0; 341 return 0;
342 } 342 }
343 343
344 UIEXPORT int ui_image_load_data(UiGeneric *obj, const void *imgdata, size_t size) {
345 GBytes *bytes = g_bytes_new_static(imgdata, size);
346 GInputStream *in = g_memory_input_stream_new_from_bytes(bytes);
347 GError *error = NULL;
348 GdkPixbuf *pixbuf = gdk_pixbuf_new_from_stream(in, NULL, &error);
349 g_object_unref(bytes);
350 g_object_unref(in);
351 if(!pixbuf) {
352 return 1;
353 }
354
355 if(obj->set) {
356 obj->set(obj, pixbuf, UI_IMAGE_OBJECT_TYPE);
357 g_object_unref(pixbuf);
358 } else {
359 obj->value = pixbuf;
360 }
361
362 return 0;
363 }
364
344 void ui_image_ref(UIIMAGE img) { 365 void ui_image_ref(UIIMAGE img) {
345 g_object_ref(img); 366 g_object_ref(img);
346 } 367 }
347 368
348 void ui_image_unref(UIIMAGE img) { 369 void ui_image_unref(UIIMAGE img) {

mercurial