twain3/device/PaperSize.cpp

176 lines
5.7 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "PaperSize.h"
using namespace std;
namespace Device {
PaperSize::PaperSize()
{
InitPaperMap();
}
PaperSize::~PaperSize()
{
}
void PaperSize::InitPaperMap()
{
//!< ×ÔĘĘÓŚ
dpiDct[{None, 50.0f}] = { 594, 898 };
dpiDct[{None, 75.0f}] = { 892, 1347 };
dpiDct[{None, 100.0f}] = { 1189, 1795 };
dpiDct[{None, 150.0f}] = {1784, 2693};
dpiDct[{None, 200.0f}] = {2338, 3307};
dpiDct[{None, 240.0f}] = {2854, 4308};
dpiDct[{None, 300.0f}] = {3567, 5385};
dpiDct[{None, 400.0f}] = {4756, 7180};
dpiDct[{None, 600.0f}] = {7134, 10770};
//A3
dpiDct[{A3, 50.0f}] = {585, 827};
dpiDct[{A3, 75.0f}] = {877, 1240};
dpiDct[{A3, 100.0f}] = {1169, 1653};
dpiDct[{A3, 150.0f}] = {1753, 2480};
dpiDct[{A3, 200.0f}] = {2338, 3307};
dpiDct[{A3, 240.0f}] = {2806, 3968};
dpiDct[{A3, 300.0f}] = {3507, 4960};
dpiDct[{A3, 400.0f}] = {4677, 6614};
dpiDct[{A3, 600.0f}] = {7015, 9921};
//add lyc 2019 12 18
//A4
dpiDct[{A4, 50.0f}] = {413, 585};
dpiDct[{A4, 75.0f}] = {620, 877};
dpiDct[{A4, 100.0f}] = {826, 1169};
dpiDct[{A4, 150.0f}] = {1240, 1753};
dpiDct[{A4, 200.0f}] = {1653, 2338};
dpiDct[{A4, 240.0f}] = {1984, 2806};
dpiDct[{A4, 300.0f}] = {2480, 3507};
dpiDct[{A4, 400.0f}] = {3307, 4677};
dpiDct[{A4, 600.0f}] = {4960, 7015};
//add lyc 2019 12 18 A5
dpiDct[{A5, 50.0f}] = {291, 413};
dpiDct[{A5, 75.0f}] = {437, 620};
dpiDct[{A5, 100.0f}] = {582, 826};
dpiDct[{A5, 150.0f}] = {874, 1240};
dpiDct[{A5, 200.0f}] = {1165, 1653};
dpiDct[{A5, 240.0f}] = {1398, 1984};
dpiDct[{A5, 300.0f}] = {1748, 2480};
dpiDct[{A5, 400.0f}] = {2330, 3307};
dpiDct[{A5, 600.0f}] = {3496, 4960};
//add lyc 2019 12 18 A6
dpiDct[{A6, 50.0f}] = {207, 291};
dpiDct[{A6, 75.0f}] = {310, 437};
dpiDct[{A6, 100.0f}] = {413, 582};
dpiDct[{A6, 150.0f}] = {620, 874};
dpiDct[{A6, 200.0f}] = {826, 1165};
dpiDct[{A6, 240.0f}] = {992, 1398};
dpiDct[{A6, 300.0f}] = {1240, 1748};
dpiDct[{A6, 400.0f}] = {1653, 2330};
dpiDct[{A6, 600.0f}] = {2480, 3496};
//1.5ąśA3
dpiDct[{USStatement, 50.0f}] = {585, (LONG)(827*1.5)};
dpiDct[{USStatement, 75.0f}] = {877, (LONG)(1240*1.5)};
dpiDct[{USStatement, 100.0f}] = {1169, (LONG)(1653*1.5)};
dpiDct[{USStatement, 150.0f}] = {1753, (LONG)(2480*1.5)};
dpiDct[{USStatement, 200.0f}] = {2338, (LONG)(3307*1.5)};
dpiDct[{USStatement, 240.0f}] = {2806, (LONG)(3968*1.5)};
dpiDct[{USStatement, 300.0f}] = {3507, (LONG)(4960*1.5)};
dpiDct[{USStatement, 400.0f}] = {4677, (LONG)(6614*1.5)};
dpiDct[{USStatement, 600.0f}] = {7015, (LONG)(9921*1.5)};
//add lyc 2019 12 18 ł¤Îĸ壏2ąśA3
dpiDct[{MaxSize, 50.0f}] = {585, 1653};
dpiDct[{MaxSize, 75.0f}] = {877, 2480};
dpiDct[{MaxSize, 100.0f}] = {1169, 1653 * 2};
dpiDct[{MaxSize, 150.0f}] = {1753, 2480 * 2};
dpiDct[{MaxSize, 200.0f}] = {2338, 3307 * 2};
dpiDct[{MaxSize, 240.0f}] = {2806, 3968 * 2};
dpiDct[{MaxSize, 300.0f}] = {3507, 4960 * 2};
dpiDct[{MaxSize, 400.0f}] = {4677, 6614 * 2};
dpiDct[{MaxSize, 600.0f}] = {7015, 9921 * 2};
//add lyc 2019 12 18 B4
dpiDct[{B4, 50.0f}] = {506, 717};
dpiDct[{B4, 75.0f}] = {759, 1075};
dpiDct[{B4, 100.0f}] = {1011, 1433};
dpiDct[{B4, 150.0f}] = {1517, 2149};
dpiDct[{B4, 200.0f}] = {2023, 2866};
dpiDct[{B4, 240.0f}] = {2428, 3439};
dpiDct[{B4, 300.0f}] = {3035, 4299};
dpiDct[{B4, 400.0f}] = {4047, 5732};
dpiDct[{B4, 600.0f}] = {6070, 8598};
//add lyc 2019 12 18 B5
dpiDct[{B5, 50.0f}] = {358, 506};
dpiDct[{B5, 75.0f}] = {537, 759};
dpiDct[{B5, 100.0f}] = {716, 1011};
dpiDct[{B5, 150.0f}] = {1074, 1517};
dpiDct[{B5, 200.0f}] = {1433, 2023};
dpiDct[{B5, 240.0f}] = {1719, 2428};
dpiDct[{B5, 300.0f}] = {2149, 3035};
dpiDct[{B5, 400.0f}] = {2866, 4047};
dpiDct[{B5, 600.0f}] = {4299, 6070};
//add lyc 2019 12 18 B6
dpiDct[{B6, 50.0f}] = {252, 358};
dpiDct[{B6, 75.0f}] = {378, 537};
dpiDct[{B6, 100.0f}] = {503, 716};
dpiDct[{B6, 150.0f}] = {755, 1074};
dpiDct[{B6, 200.0f}] = {1007, 1433};
dpiDct[{B6, 240.0f}] = {1209, 1719};
dpiDct[{B6, 300.0f}] = {1511, 2149};
dpiDct[{B6, 400.0f}] = {2015, 2866};
dpiDct[{B6, 600.0f}] = {3023, 4299};
//add lyc 2019 12 18 DOUBLE LETTER
dpiDct[{USLedger, 50.0f}] = {550, 850};
dpiDct[{USLedger, 75.0f}] = {825, 1275};
dpiDct[{USLedger, 100.0f}] = {1100, 1700};
dpiDct[{USLedger, 150.0f}] = {1650, 2550};
dpiDct[{USLedger, 200.0f}] = {2200, 3400};
dpiDct[{USLedger, 240.0f}] = {2640, 4080};
dpiDct[{USLedger, 300.0f}] = {3300, 5100};
dpiDct[{USLedger, 400.0f}] = {4400, 6800};
dpiDct[{USLedger, 600.0f}] = {6600, 10200};
//add lyc 2019 12 18 LETTER
dpiDct[{USLetter, 50.0f}] = {425, 550};
dpiDct[{USLetter, 75.0f}] = {638, 825};
dpiDct[{USLetter, 100.0f}] = {850, 1100};
dpiDct[{USLetter, 150.0f}] = {1275, 1650};
dpiDct[{USLetter, 200.0f}] = {1700, 2200};
dpiDct[{USLetter, 240.0f}] = {2040, 2640};
dpiDct[{USLetter, 300.0f}] = {2550, 3300};
dpiDct[{USLetter, 400.0f}] = {3400, 4400};
dpiDct[{USLetter, 600.0f}] = {5100, 6600};
//add lyc 2019 12 18 LETTER
dpiDct[{USLegal, 50.0f}] = {425, 700};
dpiDct[{USLegal, 75.0f}] = {638, 1050};
dpiDct[{USLegal, 100.0f}] = {850, 1400};
dpiDct[{USLegal, 150.0f}] = {1275, 2100};
dpiDct[{USLegal, 200.0f}] = {1700, 2800};
dpiDct[{USLegal, 240.0f}] = {2040, 3360};
dpiDct[{USLegal, 300.0f}] = {2550, 4200};
dpiDct[{USLegal, 400.0f}] = {3400, 5600};
dpiDct[{USLegal, 600.0f}] = {5100, 8400};
}
SIZE PaperSize::GetPaperSize(DWORD paperType, float dpi,int orentation)
{
auto iter = dpiDct.find({(TwSS)paperType, dpi});
if (iter != dpiDct.end()) {
if (orentation == 0)//˛ťĐčŇŞĐýת
return iter->second;
else if(orentation == 3)//ĐýתžĹĘŽśČ
{
SIZE size;
size.cx = iter->second.cy;
size.cy = iter->second.cx;
return size;
}
}
return {2338,3307 };
}
}