Beispiel #1
0
static void
icon_loader_write_cb (EventObject *obj, EventArgs *ea, gpointer user_data)
{
	HttpRequestWriteEventArgs *args = (HttpRequestWriteEventArgs *) ea;
	IconLoader *icon = (IconLoader *) user_data;

	const guchar *buffer = (const guchar*)args->GetData ();
	gint32 offset = args->GetOffset ();
	gint32 n = args->GetCount ();

	if (icon->loader == NULL && offset == 0)
		CreateLoader (icon, buffer);

	if (icon->loader && icon->moon_error == NULL)
		icon->loader->Write (buffer, n, &icon->moon_error);
}
Beispiel #2
0
void
BitmapImage::pixbuf_write (EventObject *sender, EventArgs *calldata, gpointer data)
{
	BitmapImage *source = (BitmapImage *) data;
	HttpRequestWriteEventArgs *ea = (HttpRequestWriteEventArgs *) calldata;

	source->PixbufWrite ((unsigned char *) ea->GetData (), ea->GetOffset (), ea->GetCount ());
	if (source->moon_error) {
		ImageErrorEventArgs *args = NULL;
		if (source->HasHandlers(ImageFailedEvent))
			args = new ImageErrorEventArgs (*source->moon_error);
		source->CleanupLoader ();
		if (args)
			source->Emit (ImageFailedEvent, args);
	}
}