]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/imagjpeg.cpp
wxMenu::Append (and similar) now return a pointer to the wxMenuItem
[wxWidgets.git] / src / common / imagjpeg.cpp
index a35e1e57e587c06f780677ab3d8f8aa5d6efc3dd..d2d50a0e5d8e9104a95ea0eea1e64b3c30f1f82d 100644 (file)
@@ -40,6 +40,9 @@
 
 extern "C"
 {
 
 extern "C"
 {
+    #if defined(__WXMSW__)
+        #define XMD_H
+    #endif
     #include "jpeglib.h"
 }
 
     #include "jpeglib.h"
 }
 
@@ -356,6 +359,21 @@ bool wxJPEGHandler::SaveFile( wxImage *image, wxOutputStream& stream, bool verbo
     if (image->HasOption(wxT("quality")))
         jpeg_set_quality(&cinfo, image->GetOptionInt(wxT("quality")), TRUE);
 
     if (image->HasOption(wxT("quality")))
         jpeg_set_quality(&cinfo, image->GetOptionInt(wxT("quality")), TRUE);
 
+    // sets the resolution fields in the output file
+    if (image->HasOption(wxIMAGE_OPTION_RESOLUTION))
+    {
+        cinfo.X_density = 
+        cinfo.Y_density = image->GetOptionInt(wxIMAGE_OPTION_RESOLUTION);
+    }
+
+    // sets the resolution unit field in the output file
+    // wxIMAGE_RESOLUTION_INCHES for inches
+    // wxIMAGE_RESOLUTION_CM for centimeters
+    if (image->HasOption(wxIMAGE_OPTION_RESOLUTIONUNIT))
+    {
+        cinfo.density_unit = image->GetOptionInt(wxIMAGE_OPTION_RESOLUTIONUNIT);
+    }
+
     jpeg_start_compress(&cinfo, TRUE);
 
     stride = cinfo.image_width * 3;    /* JSAMPLEs per row in image_buffer */
     jpeg_start_compress(&cinfo, TRUE);
 
     stride = cinfo.image_width * 3;    /* JSAMPLEs per row in image_buffer */