0021985: Vista/WIndows 7 compatibility issues reported by the community
authoraba <aba@opencascade.com>
Fri, 7 Dec 2012 10:21:46 +0000 (14:21 +0400)
committeraba <aba@opencascade.com>
Fri, 7 Dec 2012 10:21:46 +0000 (14:21 +0400)
WNT_Window::Dump method calls were replaced with V3dView::Dump calls
Type casts were removed
Added supported image formats in file filters of Export methods, edited documentation for Image_AlienPixMap  class
Supported image formats filter for 2dsample was extended

samples/mfc/standard/01_Geometry/src/GeometryView.cpp
samples/mfc/standard/09_Animation/src/AnimationView3D.cpp
samples/mfc/standard/Common/OCC_2dView.cpp
samples/mfc/standard/Common/OCC_3dView.cpp
src/Image/Image_AlienPixMap.hxx

index 54c70fc..fb7383d 100755 (executable)
@@ -80,20 +80,16 @@ CGeometryDoc* CGeometryView::GetDocument() // non-debug version is inline
 void CGeometryView::OnFileExportImage()
 {
   CFileDialog dlg(FALSE,_T("*.BMP"),NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
-                  _T("BMP Files (*.BMP)|*.bmp |GIF Files (*.GIF)|*.gif | XWD Files (*.XWD)|*.xwd||"), 
+                  _T("BMP Files (*.BMP)|*.bmp |GIF Files (*.GIF)|*.gif | PNG Files (*.PNG)|*.png"
+                     "|JPEG Files (*.JPEG)|*.jpeg | PPM Files (*.PPM)|*.ppm | TIFF Files (*.TIFF)"
+                     "|*.tiff | TGA Files (*.TGA)|*.tga | EXR Files (*.EXR)|*.exr||"), 
                   NULL );
 
   if (dlg.DoModal() == IDOK) 
   {
     SetCursor(AfxGetApp()->LoadStandardCursor(IDC_WAIT));
-    CString filename = dlg.GetPathName();
-    Handle(Aspect_Window) anAspectWindow = myView->Window();
-    Handle(WNT_Window) aWNTWindow = Handle(WNT_Window)::DownCast(anAspectWindow);
-    CString ext = dlg.GetFileExt();
-    if (ext == "bmp")     aWNTWindow->SetOutputFormat ( WNT_TOI_BMP );
-    if (ext == "gif")     aWNTWindow->SetOutputFormat ( WNT_TOI_GIF );
-    if (ext == "xwd")     aWNTWindow->SetOutputFormat ( WNT_TOI_XWD );
-    aWNTWindow->Dump ((Standard_CString)(LPCTSTR)filename);
+    CString aFileName = dlg.GetPathName();
+    myView->Dump(aFileName);
     SetCursor(AfxGetApp()->LoadStandardCursor(IDC_ARROW));
   }
 }
index 94a25a9..3390aa9 100755 (executable)
@@ -241,20 +241,16 @@ CAnimationDoc* CAnimationView3D::GetDocument() // non-debug version is inline
 void CAnimationView3D::OnFileExportImage()
 {
   CFileDialog dlg(FALSE,_T("*.BMP"),NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
-                  _T("BMP Files (*.BMP)|*.bmp |GIF Files (*.GIF)|*.gif | XWD Files (*.XWD)|*.xwd||"), 
+                  _T("BMP Files (*.BMP)|*.bmp |GIF Files (*.GIF)|*.gif | PNG Files (*.PNG)|*.png"
+                     "|JPEG Files (*.JPEG)|*.jpeg | PPM Files (*.PPM)|*.ppm | TIFF Files (*.TIFF)"
+                     "|*.tiff | TGA Files (*.TGA)|*.tga | EXR Files (*.EXR)|*.exr||"), 
                   NULL );
 
   if (dlg.DoModal() == IDOK) 
   {
     SetCursor(AfxGetApp()->LoadStandardCursor(IDC_WAIT));
-    CString filename = dlg.GetPathName();
-    Handle(Aspect_Window) anAspectWindow = myView->Window();
-    Handle(WNT_Window) aWNTWindow = Handle(WNT_Window)::DownCast(anAspectWindow);
-    CString ext = dlg.GetFileExt();
-    if (ext == "bmp")     aWNTWindow->SetOutputFormat ( WNT_TOI_BMP );
-    if (ext == "gif")     aWNTWindow->SetOutputFormat ( WNT_TOI_GIF );
-    if (ext == "xwd")     aWNTWindow->SetOutputFormat ( WNT_TOI_XWD );
-    aWNTWindow->Dump ((Standard_CString)(LPCTSTR)filename);
+    CString aFileName = dlg.GetPathName();
+    myView->Dump(aFileName);
     SetCursor(AfxGetApp()->LoadStandardCursor(IDC_ARROW));
   }
 }
index d909f19..d47cdf0 100755 (executable)
@@ -127,7 +127,9 @@ void OCC_2dView::OnInitialUpdate()
 void OCC_2dView::OnFileExportImage()
 {
 CFileDialog dlg(FALSE,_T("*.BMP"),NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
-               _T("BMP Files (*.BMP)|*.bmp |GIF Files (*.GIF)|*.gif | XWD Files (*.XWD)|*.xwd||"), 
+               _T("BMP Files (*.BMP)|*.bmp |GIF Files (*.GIF)|*.gif | PNG Files (*.PNG)|*.png"
+                  "|JPEG Files (*.JPEG)|*.jpeg | PPM Files (*.PPM)|*.ppm | TIFF Files (*.TIFF)"
+                  "|*.tiff | TGA Files (*.TGA)|*.tga | EXR Files (*.EXR)|*.exr||"), 
                NULL );
 
 if (dlg.DoModal() == IDOK) 
@@ -136,10 +138,6 @@ if (dlg.DoModal() == IDOK)
  CString filename = dlg.GetPathName();
  Handle(WNT_Window) aWNTWindow=
  Handle(WNT_Window)::DownCast(myV2dView->Driver()->Window());
- CString ext = dlg.GetFileExt();
- if (ext == "bmp")     aWNTWindow->SetOutputFormat ( WNT_TOI_BMP );
- if (ext == "gif")     aWNTWindow->SetOutputFormat ( WNT_TOI_GIF );
- if (ext == "xwd")     aWNTWindow->SetOutputFormat ( WNT_TOI_XWD );
  aWNTWindow->Dump ((Standard_CString)(LPCTSTR)filename);
  SetCursor(AfxGetApp()->LoadStandardCursor(IDC_ARROW));
 }
index ce3c7ba..d51f223 100755 (executable)
@@ -155,34 +155,31 @@ OCC_3dBaseDoc* OCC_3dView::GetDocument() // non-debug version is inline
 void OCC_3dView::OnFileExportImage()
 {
   LPCTSTR filter;
-  filter = _T("BMP Files (*.BMP)|*.bmp|GIF Files (*.GIF)|*.gif|XWD Files (*.XWD)|*.xwd|PS Files (*.PS)|*.ps|EPS Files (*.EPS)|*.eps|TEX Files (*.TEX)|*.tex|PDF Files (*.PDF)|*.pdf|SVG Files (*.SVG)|*.svg|PGF Files (*.PGF)|*.pgf||");
+  filter = _T("EXR Files (*.EXR)|*.exr|TGA Files (*.TGA)|*.tga|TIFF Files (*.TIFF)|*.tiff|"
+              "PPM Files (*.PPM)|*.ppm|JPEG Files(*.JPEG)|*.jpeg|PNG Files (*.PNG)|*.png|"
+              "GIF Files (*.GIF)|*.gif|BMP Files (*.BMP)|*.bmp|PS Files (*.PS)|*.ps|"
+              "EPS Files (*.EPS)|*.eps|TEX Files (*.TEX)|*.tex|PDF Files (*.PDF)|*.pdf"
+              "|SVG Files (*.SVG)|*.svg|PGF Files (*.PGF)|*.pgf|EMF Files (*.EMF)|*.emf||");
   CFileDialog dlg(FALSE,_T("*.BMP"),NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
                   filter, 
                   NULL );
 
   if (dlg.DoModal() == IDOK) 
   {
-    SetCursor(AfxGetApp()->LoadStandardCursor(IDC_WAIT));
-    CString filename = dlg.GetPathName();
-    char* theFile = new char[filename.GetLength()+1];
-    //_tcscpy(theFile,filename);
-    strcpy_s(theFile,filename.GetLength()+1,filename);
+    CString aFileName = dlg.GetPathName();
     CString ext = dlg.GetFileExt();
-    if (ext == "ps" || ext == "emf")
+    if (!(ext.CompareNoCase("ps")) || !(ext.CompareNoCase("emf"))
+        || !(ext.CompareNoCase("pdf")) || !(ext.CompareNoCase("eps"))
+        || !(ext.CompareNoCase("tex")) || !(ext.CompareNoCase("svg"))
+        || !(ext.CompareNoCase("pgf")))
     {
       Graphic3d_ExportFormat exFormat;
-      if (ext == "ps") exFormat = Graphic3d_EF_PostScript;
+      if (!(ext.CompareNoCase("ps"))) exFormat = Graphic3d_EF_PostScript;
       else             exFormat = Graphic3d_EF_EnhPostScript;
-      myView->View()->Export( theFile, exFormat );
+      myView->View()->Export( aFileName, exFormat );
       return;
     }
-    Handle(Aspect_Window) anAspectWindow = myView->Window();
-    Handle(WNT_Window) aWNTWindow = Handle(WNT_Window)::DownCast(anAspectWindow);
-    if (ext == "bmp")     aWNTWindow->SetOutputFormat ( WNT_TOI_BMP );
-    if (ext == "gif")     aWNTWindow->SetOutputFormat ( WNT_TOI_GIF );
-    if (ext == "xwd")     aWNTWindow->SetOutputFormat ( WNT_TOI_XWD );
-    aWNTWindow->Dump ((Standard_CString)(LPCTSTR)filename);
-    SetCursor(AfxGetApp()->LoadStandardCursor(IDC_ARROW));
+    myView->Dump(aFileName);
   }
 }
 
index 85045b2..8493e1e 100644 (file)
@@ -27,7 +27,15 @@ class TCollection_AsciiString;
 struct FIBITMAP;
 
 //! Image class that support file reading/writing operations using auxiliary image library.
-//! Notice that supported images format could be limited.
+//! Supported image formats:
+//! - *.bmp - bitmap image, lossless format without compression.
+//! - *.ppm - PPM (Portable Pixmap Format), lossless format without compression.
+//! - *.png - PNG (Portable Network Graphics) lossless format with compression.
+//! - *.jpg, *.jpe, *.jpeg - JPEG/JIFF (Joint Photographic Experts Group) lossy format (compressed with quality losses). YUV color space used (automatically converted from/to RGB).
+//! - *.tif, *.tiff - TIFF (Tagged Image File Format).
+//! - *.tga - TGA (Truevision Targa Graphic), lossless format.
+//! - *.gif - GIF (Graphical Interchange Format), lossy format. Color stored using pallete (up to 256 distinct colors).
+//! - *.exr - OpenEXR high dynamic-range format (supports float pixel formats). 
 class Image_AlienPixMap : public Image_PixMap
 {