diff Plugins/Engine/OrthancPlugins.cpp @ 1599:dd1f9e81f891

fixes to image primitives
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 01 Sep 2015 11:23:41 +0200
parents c6b50b803387
children 7151d63e6d81
line wrap: on
line diff
--- a/Plugins/Engine/OrthancPlugins.cpp	Mon Aug 31 17:37:54 2015 +0200
+++ b/Plugins/Engine/OrthancPlugins.cpp	Tue Sep 01 11:23:41 2015 +0200
@@ -1048,7 +1048,7 @@
 
   void OrthancPlugins::UncompressImage(const void* parameters)
   {
-    const _OrthancPluginUncompressImage& p = reinterpret_cast<const _OrthancPluginUncompressImage&>(parameters);
+    const _OrthancPluginUncompressImage& p = *reinterpret_cast<const _OrthancPluginUncompressImage*>(parameters);
 
     switch (p.format)
     {
@@ -1071,7 +1071,7 @@
 
   void OrthancPlugins::CompressImage(const void* parameters)
   {
-    const _OrthancPluginCompressImage& p = reinterpret_cast<const _OrthancPluginCompressImage&>(parameters);
+    const _OrthancPluginCompressImage& p = *reinterpret_cast<const _OrthancPluginCompressImage*>(parameters);
 
     std::string compressed;
 
@@ -1086,6 +1086,7 @@
 
       case OrthancPluginImageFormat_Jpeg:
         // TODO
+        //writer.SetQuality(p.quality);
 
       default:
         throw OrthancException(ErrorCode_ParameterOutOfRange);
@@ -1401,42 +1402,42 @@
 
       case _OrthancPluginService_GetImagePixelFormat:
       {
-        const _OrthancPluginGetImageInfo& p = reinterpret_cast<const _OrthancPluginGetImageInfo&>(parameters);
+        const _OrthancPluginGetImageInfo& p = *reinterpret_cast<const _OrthancPluginGetImageInfo*>(parameters);
         *(p.resultPixelFormat) = Convert(reinterpret_cast<const ImageAccessor*>(p.image)->GetFormat());
         return true;
       }
 
       case _OrthancPluginService_GetImageWidth:
       {
-        const _OrthancPluginGetImageInfo& p = reinterpret_cast<const _OrthancPluginGetImageInfo&>(parameters);
+        const _OrthancPluginGetImageInfo& p = *reinterpret_cast<const _OrthancPluginGetImageInfo*>(parameters);
         *(p.resultUint32) = reinterpret_cast<const ImageAccessor*>(p.image)->GetWidth();
         return true;
       }
 
       case _OrthancPluginService_GetImageHeight:
       {
-        const _OrthancPluginGetImageInfo& p = reinterpret_cast<const _OrthancPluginGetImageInfo&>(parameters);
+        const _OrthancPluginGetImageInfo& p = *reinterpret_cast<const _OrthancPluginGetImageInfo*>(parameters);
         *(p.resultUint32) = reinterpret_cast<const ImageAccessor*>(p.image)->GetHeight();
         return true;
       }
 
       case _OrthancPluginService_GetImagePitch:
       {
-        const _OrthancPluginGetImageInfo& p = reinterpret_cast<const _OrthancPluginGetImageInfo&>(parameters);
+        const _OrthancPluginGetImageInfo& p = *reinterpret_cast<const _OrthancPluginGetImageInfo*>(parameters);
         *(p.resultUint32) = reinterpret_cast<const ImageAccessor*>(p.image)->GetPitch();
         return true;
       }
 
       case _OrthancPluginService_GetImageBuffer:
       {
-        const _OrthancPluginGetImageInfo& p = reinterpret_cast<const _OrthancPluginGetImageInfo&>(parameters);
-        *(p.resultBuffer) = reinterpret_cast<const ImageAccessor*>(p.image)->GetBuffer();
+        const _OrthancPluginGetImageInfo& p = *reinterpret_cast<const _OrthancPluginGetImageInfo*>(parameters);
+        *(p.resultBuffer) = reinterpret_cast<const ImageAccessor*>(p.image)->GetConstBuffer();
         return true;
       }
 
       case _OrthancPluginService_FreeImage:
       {
-        const _OrthancPluginGetImageInfo& p = reinterpret_cast<const _OrthancPluginGetImageInfo&>(parameters);
+        const _OrthancPluginGetImageInfo& p = *reinterpret_cast<const _OrthancPluginGetImageInfo*>(parameters);
         delete reinterpret_cast<const ImageAccessor*>(p.image);
         return true;
       }