source.h 747 B

12345678910111213141516171819202122232425
  1. #include <stdlib.h>
  2. #include <stdint.h> // uintptr_t
  3. #include <vips/vips.h>
  4. #include <vips/connection.h>
  5. // vips async source
  6. typedef struct _VipsAsyncSource {
  7. VipsSource source; // class designator
  8. uintptr_t readerHandle; // async reader handler
  9. } VipsAsyncSource;
  10. // glib class for vips async source
  11. typedef struct _VipsAsyncSourceClass {
  12. VipsSourceClass parent_class;
  13. } VipsAsyncSourceClass;
  14. // vips async source read function
  15. int vips_jpegloadsource_go(VipsAsyncSource *source, int shrink, VipsImage **out);
  16. // creates new vips async source from a reader handle
  17. VipsAsyncSource *vips_new_async_source(uintptr_t readerHandle);
  18. // unreferences the source, which leads to reader close
  19. void unref_source(VipsAsyncSource *source);