Commit 672f2ed3 authored by ElenaSubbotina's avatar ElenaSubbotina Committed by Alexander Trofimov

Svm метафайлы ...

parent b31d554a
...@@ -155,8 +155,6 @@ void CSvmFile::PlayMetaFile() ...@@ -155,8 +155,6 @@ void CSvmFile::PlayMetaFile()
case META_ISECTRECTCLIPREGION_ACTION: Read_META_SECTRECTCLIPREGION(); break; case META_ISECTRECTCLIPREGION_ACTION: Read_META_SECTRECTCLIPREGION(); break;
case META_ISECTREGIONCLIPREGION_ACTION: Read_META_SECTREGIONCLIPREGION(); break; case META_ISECTREGIONCLIPREGION_ACTION: Read_META_SECTREGIONCLIPREGION(); break;
case META_LAYOUTMODE_ACTION: Read_META_LAYOUTMODE(); break;
case META_ROUNDRECT_ACTION: case META_ROUNDRECT_ACTION:
case META_ELLIPSE_ACTION: case META_ELLIPSE_ACTION:
case META_ARC_ACTION: case META_ARC_ACTION:
...@@ -177,13 +175,13 @@ void CSvmFile::PlayMetaFile() ...@@ -177,13 +175,13 @@ void CSvmFile::PlayMetaFile()
case META_MOVECLIPREGION_ACTION: case META_MOVECLIPREGION_ACTION:
case META_EPS_ACTION: case META_EPS_ACTION:
case META_REFPOINT_ACTION: case META_REFPOINT_ACTION:
case META_LAYOUTMODE_ACTION:
case META_OVERLINECOLOR_ACTION: case META_OVERLINECOLOR_ACTION:
case META_RENDERGRAPHIC_ACTION: case META_RENDERGRAPHIC_ACTION:
case META_COMMENT_ACTION: case META_COMMENT_ACTION:
case META_NULL_ACTION: case META_NULL_ACTION:
default: default:
m_unRecordPos = m_unRecordPos;
break; break;
} }
...@@ -193,7 +191,7 @@ void CSvmFile::PlayMetaFile() ...@@ -193,7 +191,7 @@ void CSvmFile::PlayMetaFile()
m_oStream.Skip(need_skip); m_oStream.Skip(need_skip);
#ifdef _DEBUG #ifdef _DEBUG
if (100 <= actionType && actionType <= META_LAST_ACTION && need_skip != 0 && !m_pOutput) if (100 <= actionType && actionType <= META_LAST_ACTION && need_skip > 0 && !m_pOutput)
{ {
std::wstring name = actionNames[actionType - 99].actionName; std::wstring name = actionNames[actionType - 99].actionName;
...@@ -220,7 +218,7 @@ void CSvmFile::Read_META_LINE() ...@@ -220,7 +218,7 @@ void CSvmFile::Read_META_LINE()
CSvmPen *last_pen = dynamic_cast<CSvmPen *>(m_oPlayer.GetLastObject(SVM_OBJECT_PEN)); CSvmPen *last_pen = dynamic_cast<CSvmPen *>(m_oPlayer.GetLastObject(SVM_OBJECT_PEN));
if (last_pen) if (last_pen)
{ {
last_pen->Width = line_info.width / (m_oPlayer.GetDC()->m_dPixelWidth * 2); last_pen->Width = line_info.width;
switch(line_info.style) switch(line_info.style)
{ {
...@@ -255,9 +253,9 @@ void CSvmFile::Read_SVM_HEADER() ...@@ -255,9 +253,9 @@ void CSvmFile::Read_SVM_HEADER()
m_oBoundingBox.nRight *= m_pDC->m_dPixelWidthPrefered * 2; m_oBoundingBox.nRight *= m_pDC->m_dPixelWidthPrefered * 2;
m_oBoundingBox.nBottom *= m_pDC->m_dPixelHeightPrefered * 2; m_oBoundingBox.nBottom *= m_pDC->m_dPixelHeightPrefered * 2;
m_oBoundingBox.nLeft *= m_pDC->m_dPixelWidthPrefered; m_oBoundingBox.nLeft *= m_pDC->m_dPixelWidthPrefered * 2;
m_oBoundingBox.nTop *= m_pDC->m_dPixelHeightPrefered; m_oBoundingBox.nTop *= m_pDC->m_dPixelHeightPrefered * 2;
//???? *2 ради повышения качества картинки (если в векторе насамом деле растр - сментся на растровые размеры ниже // *2 ради повышения качества картинки (если в векторе насамом деле растр - сментся на растровые размеры ниже
m_bFirstPoint = true; m_bFirstPoint = true;
} }
void CSvmFile::Read_META_POLYLINE() void CSvmFile::Read_META_POLYLINE()
...@@ -273,7 +271,7 @@ void CSvmFile::Read_META_POLYLINE() ...@@ -273,7 +271,7 @@ void CSvmFile::Read_META_POLYLINE()
CSvmPen *last_pen = dynamic_cast<CSvmPen *>(m_oPlayer.GetLastObject(SVM_OBJECT_PEN)); CSvmPen *last_pen = dynamic_cast<CSvmPen *>(m_oPlayer.GetLastObject(SVM_OBJECT_PEN));
if (last_pen) if (last_pen)
{ {
last_pen->Width = line_info.width / (m_oPlayer.GetDC()->m_dPixelWidth * 2); last_pen->Width = line_info.width;
switch(line_info.style) switch(line_info.style)
{ {
...@@ -285,15 +283,11 @@ void CSvmFile::Read_META_POLYLINE() ...@@ -285,15 +283,11 @@ void CSvmFile::Read_META_POLYLINE()
if (m_currentActionVersion >= 3) if (m_currentActionVersion >= 3)
{ {
unsigned int tmp1;
unsigned short tmp2;
unsigned char bHasPolyFlags = 0; unsigned char bHasPolyFlags = 0;
m_oStream >> bHasPolyFlags; m_oStream >> bHasPolyFlags;
if ( bHasPolyFlags ) if ( bHasPolyFlags )
{ {
m_oStream >> tmp1 >> tmp2;
} }
bHasPolyFlags = bHasPolyFlags;
//read flags //read flags
//enum PolyFlags //enum PolyFlags
//{ //{
...@@ -425,15 +419,6 @@ void CSvmFile::Read_META_SETMAPMODE() ...@@ -425,15 +419,6 @@ void CSvmFile::Read_META_SETMAPMODE()
UpdateOutputDC(); UpdateOutputDC();
} }
void CSvmFile::Read_META_LAYOUTMODE()
{
unsigned int textLayputMode;
m_oStream >> textLayputMode;
UpdateOutputDC();
}
void CSvmFile::Read_META_STRETCHTEXT() void CSvmFile::Read_META_STRETCHTEXT()
{ {
std::wstring sText; std::wstring sText;
...@@ -502,7 +487,6 @@ void CSvmFile::Read_META_TEXT() ...@@ -502,7 +487,6 @@ void CSvmFile::Read_META_TEXT()
void CSvmFile::Read_META_ARRAYTEXT() void CSvmFile::Read_META_ARRAYTEXT()
{ {
std::wstring sText; std::wstring sText;
std::wstring sText2;
TSvmPoint startPoint; TSvmPoint startPoint;
m_oStream >> startPoint; m_oStream >> startPoint;
...@@ -545,8 +529,6 @@ void CSvmFile::Read_META_ARRAYTEXT() ...@@ -545,8 +529,6 @@ void CSvmFile::Read_META_ARRAYTEXT()
m_oStream >> nTemp; m_oStream >> nTemp;
tempBuffer += (wchar_t)nTemp; tempBuffer += (wchar_t)nTemp;
} }
sText2 = tempBuffer;
} }
DrawText(sText, sText.length(), startPoint.x, startPoint.y, mpDXAry); DrawText(sText, sText.length(), startPoint.x, startPoint.y, mpDXAry);
......
...@@ -49,6 +49,7 @@ class CSvmFile : virtual public IMetaFileBase ...@@ -49,6 +49,7 @@ class CSvmFile : virtual public IMetaFileBase
} }
TRect* GetDCBounds() TRect* GetDCBounds()
{ {
//if (m_oHeader.mapMode.isSimple)
if (m_pDC->m_oMapMode.isSimple) if (m_pDC->m_oMapMode.isSimple)
{ {
m_oDCRect = m_oBoundingBox; m_oDCRect = m_oBoundingBox;
...@@ -56,7 +57,6 @@ class CSvmFile : virtual public IMetaFileBase ...@@ -56,7 +57,6 @@ class CSvmFile : virtual public IMetaFileBase
} }
else else
{ {
m_oDCRect = m_oHeader.boundRect;
return &m_oHeader.boundRect; return &m_oHeader.boundRect;
} }
} }
...@@ -199,8 +199,6 @@ class CSvmFile : virtual public IMetaFileBase ...@@ -199,8 +199,6 @@ class CSvmFile : virtual public IMetaFileBase
void Read_META_SECTRECTCLIPREGION(); void Read_META_SECTRECTCLIPREGION();
void Read_META_SECTREGIONCLIPREGION(); void Read_META_SECTREGIONCLIPREGION();
void Read_META_LAYOUTMODE();
void Read_META_STRETCHTEXT(); void Read_META_STRETCHTEXT();
void Read_META_POLYPOLYGON(std::vector<TSvmPolygon> & polygons, std::vector<TSvmPolygon> & complexPolygons); void Read_META_POLYPOLYGON(std::vector<TSvmPolygon> & polygons, std::vector<TSvmPolygon> & complexPolygons);
...@@ -213,13 +211,12 @@ class CSvmFile : virtual public IMetaFileBase ...@@ -213,13 +211,12 @@ class CSvmFile : virtual public IMetaFileBase
} }
void TranslatePoint(int nX, int nY, double& dX, double &dY) void TranslatePoint(int nX, int nY, double& dX, double &dY)
{ {
if (m_pDC->m_oMapMode.isSimple ) if (m_pDC->m_oMapMode.isSimple ) return;
return;
//TSvmWindow* pWindow = m_pDC->GetWindow(); //TSvmWindow* pWindow = m_pDC->GetWindow();
//TSvmWindow* pViewport = m_pDC->GetViewport(); //TSvmWindow* pViewport = m_pDC->GetViewport();
//dX = (double)(nX) * m_pDC->m_dPixelWidth ; dX = (double)(nX) * m_pDC->m_dPixelWidth ;
//dY = (double)(nY) * m_pDC->m_dPixelHeight ; dY = (double)(nY) * m_pDC->m_dPixelHeight ;
//dX = (double)((double)(nX - pWindow->lX) * m_pDC->m_dPixelWidth) + pViewport->lX; //dX = (double)((double)(nX - pWindow->lX) * m_pDC->m_dPixelWidth) + pViewport->lX;
//dY = (double)((double)(nY - pWindow->lY) * m_pDC->m_dPixelHeight) + pViewport->lY; //dY = (double)((double)(nY - pWindow->lY) * m_pDC->m_dPixelHeight) + pViewport->lY;
......
...@@ -464,49 +464,49 @@ void CSvmDC::SetMapMode(TSvmMapMode & mapMode, bool prefered ) ...@@ -464,49 +464,49 @@ void CSvmDC::SetMapMode(TSvmMapMode & mapMode, bool prefered )
{ {
case MAP_MM: // 1 unit = 1 mm case MAP_MM: // 1 unit = 1 mm
{ {
dPixel = 1. * 96 / 25.4; dPixel = 1. * 72 / 25.4;
SetPixelWidth(dPixel); SetPixelWidth(dPixel);
SetPixelHeight(dPixel); SetPixelHeight(dPixel);
}break; }break;
case MAP_CM: // 1 unit = 1 cm = 10 mm case MAP_CM: // 1 unit = 1 cm = 10 mm
{ {
dPixel = 10. * 96 / 25.4; dPixel = 10. * 72 / 25.4;
SetPixelWidth(dPixel); SetPixelWidth(dPixel);
SetPixelHeight(dPixel); SetPixelHeight(dPixel);
}break; }break;
case MAP_100TH_MM: case MAP_100TH_MM:
{ {
dPixel = 1. * 96 / 2540.; dPixel = 1. * 72 / 2540.;
SetPixelWidth(dPixel); SetPixelWidth(dPixel);
SetPixelHeight(dPixel); SetPixelHeight(dPixel);
}break; }break;
case MAP_10TH_MM: case MAP_10TH_MM:
{ {
dPixel = 1. * 96 / 254.; dPixel = 1. * 72 / 254.;
SetPixelWidth(dPixel); SetPixelWidth(dPixel);
SetPixelHeight(dPixel); SetPixelHeight(dPixel);
}break; }break;
case MAP_1000TH_INCH: case MAP_1000TH_INCH:
{ {
dPixel = 1. * 96 / 1000.; dPixel = 1. * 72 / 1000.;
SetPixelWidth(dPixel); SetPixelWidth(dPixel);
SetPixelHeight(dPixel); SetPixelHeight(dPixel);
}break; }break;
case MAP_100TH_INCH: case MAP_100TH_INCH:
{ {
dPixel = 1.* 96 / 100.; dPixel = 1.* 72 / 100.;
SetPixelWidth(dPixel); SetPixelWidth(dPixel);
SetPixelHeight(dPixel); SetPixelHeight(dPixel);
}break; }break;
case MAP_10TH_INCH: case MAP_10TH_INCH:
{ {
dPixel = 1. * 96 / 10.; dPixel = 1. * 72 / 10.;
SetPixelWidth(dPixel); SetPixelWidth(dPixel);
SetPixelHeight(dPixel); SetPixelHeight(dPixel);
}break; }break;
case MAP_INCH: // 1 unit = 1 inch case MAP_INCH: // 1 unit = 1 inch
{ {
dPixel = 1. * 96; dPixel = 1. * 72;
SetPixelWidth(dPixel); SetPixelWidth(dPixel);
SetPixelHeight(dPixel); SetPixelHeight(dPixel);
}break; }break;
...@@ -522,7 +522,7 @@ void CSvmDC::SetMapMode(TSvmMapMode & mapMode, bool prefered ) ...@@ -522,7 +522,7 @@ void CSvmDC::SetMapMode(TSvmMapMode & mapMode, bool prefered )
}break; }break;
case MAP_PIXEL: case MAP_PIXEL:
{ {
dPixel = 0.5;// /96.; //todooo dPixel = 0.5;// /72.; //todooo
SetPixelWidth(dPixel); SetPixelWidth(dPixel);
SetPixelHeight(dPixel); SetPixelHeight(dPixel);
}break; }break;
......
...@@ -78,7 +78,7 @@ void main() ...@@ -78,7 +78,7 @@ void main()
oFonts.Initialize(); oFonts.Initialize();
CMetaFile oMetaFile(&oFonts); CMetaFile oMetaFile(&oFonts);
ConvertFolder(oMetaFile, L"D://test//_svm//4//", c_lMetaSvm); ConvertFolder(oMetaFile, L"D://test//_svm//5//", c_lMetaSvm);
//ConvertFolder(oMetaFile, L"D://Test Files//Wmf//Test//", c_lMetaWmf); //ConvertFolder(oMetaFile, L"D://Test Files//Wmf//Test//", c_lMetaWmf);
//ConvertFolder(oMetaFile, L"D://Test Files//Emf//Temp//", c_lMetaEmf); //ConvertFolder(oMetaFile, L"D://Test Files//Emf//Temp//", c_lMetaEmf);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment