glue.c 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #include "lcms2_plugin.h"
  2. #include "brl.mod/blitz.mod/blitz.h"
  3. extern BBUINT image_cms_common_TCmsIoHandler__Read(BBObject * handler, void * buffer, BBUINT size, BBUINT count);
  4. extern BBINT image_cms_common_TCmsIoHandler__Seek(BBObject * handler, BBUINT offset);
  5. extern BBINT image_cms_common_TCmsIoHandler__Close(BBObject * handler);
  6. extern BBUINT image_cms_common_TCmsIoHandler__Tell(BBObject * handler);
  7. extern BBINT image_cms_common_TCmsIoHandler__Write(BBObject * handler, BBUINT size, void * buffer);
  8. static cmsUInt32Number cms_read(cmsIOHANDLER* iohandler, void *buffer, cmsUInt32Number size, cmsUInt32Number count) {
  9. return image_cms_common_TCmsIoHandler__Read((BBObject*)iohandler->stream, buffer, size, count);
  10. }
  11. static cmsBool cms_seek(cmsIOHANDLER* iohandler, cmsUInt32Number offset) {
  12. return image_cms_common_TCmsIoHandler__Seek((BBObject*)iohandler->stream, offset);
  13. }
  14. static cmsBool cms_close(cmsIOHANDLER* iohandler) {
  15. return image_cms_common_TCmsIoHandler__Close((BBObject*)iohandler->stream);
  16. }
  17. static cmsUInt32Number cms_tell(cmsIOHANDLER* iohandler) {
  18. return image_cms_common_TCmsIoHandler__Tell((BBObject*)iohandler->stream);
  19. }
  20. static cmsBool cms_write(cmsIOHANDLER* iohandler, cmsUInt32Number size, const void* buffer) {
  21. return image_cms_common_TCmsIoHandler__Write((BBObject*)iohandler->stream, size, buffer);
  22. }
  23. cmsIOHANDLER * bmx_create_cmsiohandler(BBObject * handler) {
  24. cmsIOHANDLER * iohandler = (cmsIOHANDLER*) _cmsMallocZero(NULL, sizeof(cmsIOHANDLER));
  25. iohandler->stream = (void*)handler;
  26. iohandler->Read = cms_read;
  27. iohandler->Seek = cms_seek;
  28. iohandler->Close = cms_close;
  29. iohandler->Tell = cms_tell;
  30. iohandler->Write = cms_write;
  31. return iohandler;
  32. }