X-Git-Url: http://git.osdn.net/view?p=seraphyscrtools%2FSeraphyScriptTools.git;a=blobdiff_plain;f=Draw.cpp;h=6357d6e36386cf8788d93939ed1dee5f2fa3656a;hp=83762e3a7d59a6a2c3b5becac982beb9f6e6ee89;hb=82de408e53d9aef7ad24c955f28641eb7facb08c;hpb=31b7fd93b6ea8ccc4d7f091f92cc1b1227bcb077 diff --git a/Draw.cpp b/Draw.cpp index 83762e3..6357d6e 100644 --- a/Draw.cpp +++ b/Draw.cpp @@ -11,14 +11,14 @@ void CCanvas::FinalRelease() { ATLTRACE("CCanvas::FinalRelease\r\n"); // ƒvƒŠƒ“ƒ^ƒfƒoƒCƒX‚̉ð•ú - if(m_pPrinterDeviceMode){ + if (m_pPrinterDeviceMode) { delete m_pPrinterDeviceMode; m_pPrinterDeviceMode = NULL; } // ƒŒƒCƒ„[ƒIƒuƒWƒFƒNƒg‚̉ð•ú int i; - for(i=0 ; iRelease(); m_pComLayer[i] = NULL; } @@ -27,13 +27,12 @@ void CCanvas::FinalRelease() STDMETHODIMP CCanvas::InterfaceSupportsErrorInfo(REFIID riid) { - static const IID* arr[] = + static const IID* arr[] = { &IID_ICanvas }; - for (int i=0; i < sizeof(arr) / sizeof(arr[0]); i++) - { - if (IsEqualGUID(*arr[i],riid)) + for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) { + if (IsEqualGUID(*arr[i], riid)) return S_OK; } return S_FALSE; @@ -44,17 +43,17 @@ STDMETHODIMP CCanvas::get_Layer(VARIANT varLay, VARIANT *pVal) // ƒŒƒCƒ„[ƒIƒuƒWƒFƒNƒg‚̎󂯓n‚µ CComVariant vLay; int nLayer = 0; - if(vLay.ChangeType(VT_I2,&varLay) == S_OK){ + if (SUCCEEDED(vLay.ChangeType(VT_I2, &varLay))) { nLayer = vLay.iVal; } - if(!(nLayer >= 0 && nLayer < MAXLAYER) || m_pComLayer[nLayer] == NULL){ - ErrorInfo(IDS_ERR_LAYERBOUND); - return DISP_E_EXCEPTION; + if (!(nLayer >= 0 && nLayer < MAXLAYER) || m_pComLayer[nLayer] == NULL) { + return Error(IDS_ERR_LAYERBOUND); } + IUnknown* pUnk = NULL; - if(m_pComLayer[nLayer]->QueryInterface(IID_IUnknown,(void**)&pUnk) == S_OK){ + if (SUCCEEDED(m_pComLayer[nLayer]->QueryInterface(IID_IUnknown, (void**)&pUnk))) { ::VariantInit(pVal); - pVal->vt = VT_UNKNOWN; + pVal->vt = VT_UNKNOWN; pVal->punkVal = pUnk; } return S_OK; @@ -62,42 +61,42 @@ STDMETHODIMP CCanvas::get_Layer(VARIANT varLay, VARIANT *pVal) ///////////////////////////////// // ˆóüƒƒ\ƒbƒhEƒvƒƒpƒeƒB -STDMETHODIMP CCanvas::PrintAs(VARIANT print,VARIANT* pRet) +STDMETHODIMP CCanvas::PrintAs(VARIANT print, VARIANT* pRet) { CComVariant varRet, varPrint; PRINTDLG pdlg = {0}; pdlg.lStructSize = sizeof(PRINTDLG); pdlg.hwndOwner = m_hParent; pdlg.Flags = PD_NOPAGENUMS | PD_RETURNDC; - if(PrintDlg(&pdlg)){ - if(pdlg.hDevMode){ + if (PrintDlg(&pdlg)) { + if (pdlg.hDevMode) { // ƒvƒŠƒ“ƒgƒfƒoƒCƒXƒpƒ‰ƒ[ƒ^[‚ðŽæ“¾‚·‚é DWORD siz = GlobalSize(pdlg.hDevMode); - if(m_pPrinterDeviceMode){ + if (m_pPrinterDeviceMode) { delete m_pPrinterDeviceMode; } DEVMODE *pDevMode = (DEVMODE*)GlobalLock(pdlg.hDevMode); m_pPrinterDeviceMode = (DEVMODE*) new BYTE[siz + 1]; CopyMemory(m_pPrinterDeviceMode, pDevMode, siz); // ƒvƒŠƒ“ƒ^–¼‚ð•Û‘¶ - StringCbCopy(m_szPrinterName, MAX_PATH, (LPCTSTR) pDevMode->dmDeviceName); + StringCchCopy(m_szPrinterName, MAX_PATH, (LPCTSTR)pDevMode->dmDeviceName); varRet = pDevMode->dmDeviceName; GlobalUnlock(pdlg.hDevMode); GlobalFree(pdlg.hDevMode); } - if(pdlg.hDevNames){ + if (pdlg.hDevNames) { GlobalFree(pdlg.hDevNames); } // ƒvƒŠƒ“ƒg‚·‚é‚©Ý’肾‚¯‚©? BOOL bPrintOut = true; - if(print.vt != VT_EMPTY && print.vt != VT_NULL && print.vt != VT_ERROR - && varPrint.ChangeType(VT_I2,&print) == S_OK){ + if (print.vt != VT_EMPTY && print.vt != VT_NULL && print.vt != VT_ERROR + && varPrint.ChangeType(VT_I2, &print) == S_OK) { bPrintOut = varPrint.iVal; } CDC dc; dc.m_bPrinting = true; - dc.m_hDC = pdlg.hDC; - if(bPrintOut){ + dc.m_hDC = pdlg.hDC; + if (bPrintOut) { PrintCore(dc); } DeleteDC(dc.m_hDC); @@ -108,16 +107,16 @@ STDMETHODIMP CCanvas::PrintAs(VARIANT print,VARIANT* pRet) STDMETHODIMP CCanvas::Print() { - if(!m_pPrinterDeviceMode){ + if (!m_pPrinterDeviceMode) { // ‚Ü‚¾ƒvƒŠƒ“ƒ^ƒfƒoƒCƒX‚ðƒI[ƒvƒ“‚µ‚Ä‚¢‚È‚¢ CComVariant dmy; - PrintAs(dmy,&dmy); + PrintAs(dmy, &dmy); } - else{ + else { // ‚·‚łɎ擾‚³‚ꂽƒvƒŠƒ“ƒ^–¼‚ƃfƒoƒCƒXƒpƒ‰ƒ[ƒ^[‚ňóü‚·‚é - HDC hdc = CreateDC(NULL,m_szPrinterName,NULL,m_pPrinterDeviceMode); + HDC hdc = CreateDC(NULL, m_szPrinterName, NULL, m_pPrinterDeviceMode); CDC dc; - dc.m_hDC = hdc; + dc.m_hDC = hdc; dc.m_bPrinting = true; PrintCore(dc); DeleteDC(dc.m_hDC); @@ -127,33 +126,32 @@ STDMETHODIMP CCanvas::Print() BOOL CCanvas::PrintCore(CDC dc) { - ::SetCursor(::LoadCursor(NULL,IDC_WAIT)); + ::SetCursor(::LoadCursor(NULL, IDC_WAIT)); // ƒvƒŠƒ“ƒ^‚̃I[ƒvƒ“ DOCINFO dinfo = {0}; dinfo.cbSize = sizeof(DOCINFO); dinfo.lpszDocName = _TEXT("SeraphyScriptTools"); - int nJob = StartDoc(dc.m_hDC,&dinfo); + int nJob = StartDoc(dc.m_hDC, &dinfo); StartPage(dc.m_hDC); // ˆóü”͈͂̐ݒè - SetMapMode(dc.m_hDC,MM_LOMETRIC); - int width = GetDeviceCaps(dc.m_hDC,PHYSICALWIDTH); - int height = GetDeviceCaps(dc.m_hDC,PHYSICALHEIGHT); - SetViewportOrgEx(dc.m_hDC,0,height,NULL); - SetWindowOrgEx(dc.m_hDC,-m_marginWidth,-m_marginHeight,NULL); + SetMapMode(dc.m_hDC, MM_LOMETRIC); + int width = GetDeviceCaps(dc.m_hDC, PHYSICALWIDTH); + int height = GetDeviceCaps(dc.m_hDC, PHYSICALHEIGHT); + SetViewportOrgEx(dc.m_hDC, 0, height, NULL); + SetWindowOrgEx(dc.m_hDC, -m_marginWidth, -m_marginHeight, NULL); // ”wŒiƒ‚[ƒhÝ’è - SetBkMode(dc.m_hDC,TRANSPARENT); + SetBkMode(dc.m_hDC, TRANSPARENT); // ƒŒƒCƒ„[‚̈óü - dc.m_rct.bottom = GetDeviceCaps(dc.m_hDC,VERTSIZE) * 10; - dc.m_rct.right = GetDeviceCaps(dc.m_hDC,HORZSIZE) * 10; - dc.m_rct.bottom += - (m_marginHeight * 2); // ƒrƒ…[ƒ|[ƒg‚̐ݒè‚ŏc—]”’‚³‚ê‚Ä‚¢‚é‚Ì‚ðƒLƒƒƒ“ƒZƒ‹‚·‚é - int i; - for(i=0;iDraw(dc); } // I—¹ EndPage(dc.m_hDC); EndDoc(dc.m_hDC); - ::SetCursor(::LoadCursor(NULL,IDC_ARROW)); + ::SetCursor(::LoadCursor(NULL, IDC_ARROW)); return true; } @@ -161,13 +159,13 @@ STDMETHODIMP CCanvas::GetPrinterDefault(VARIANT name) { CComVariant varName; ATL::CString szPrinterName(_TEXT("")); - if (varName.ChangeType(VT_BSTR,&name) == S_OK) { + if (SUCCEEDED(varName.ChangeType(VT_BSTR, &name))) { szPrinterName = varName.bstrVal; } else { DWORD namesz = MAX_PATH; LPTSTR pName = szPrinterName.GetBufferSetLength(namesz); - if (!GetDefaultPrinter(pName, &namesz)){ + if (!GetDefaultPrinter(pName, &namesz)) { // Šù’è‚̃vƒŠƒ“ƒ^‚ªŒ©‚‚©‚ç‚È‚©‚Á‚½ê‡ return Error(IDS_ERR_NODEFPRINTER); } @@ -182,16 +180,18 @@ STDMETHODIMP CCanvas::GetPrinterDefault(VARIANT name) } // •K—v‚ȃpƒ‰ƒ[ƒ^[‚Ì•ÛŽ - DWORD sz = (DWORD)DocumentProperties(m_hParent, hp, szPrinterName.GetBuffer(), NULL, NULL, 0); - m_pPrinterDeviceMode = (DEVMODE*)new BYTE[sz+1]; + DWORD sz = (DWORD)DocumentProperties( + m_hParent, hp, szPrinterName.GetBuffer(), NULL, NULL, 0); + m_pPrinterDeviceMode = (DEVMODE*)new BYTE[sz + 1]; - DocumentProperties(m_hParent, hp, szPrinterName.GetBuffer(), m_pPrinterDeviceMode, NULL, DM_OUT_BUFFER); + DocumentProperties(m_hParent, hp, szPrinterName.GetBuffer(), + m_pPrinterDeviceMode, NULL, DM_OUT_BUFFER); ClosePrinter(hp); // ƒvƒŠƒ“ƒ^–¼‚Ì•Û‘¶ - lstrcpy(m_szPrinterName, szPrinterName); + StringCchCopy(m_szPrinterName, MAX_PATH, szPrinterName); } - else{ + else { // ƒvƒŠƒ“ƒ^î•ñ‚̎擾‚ÉŽ¸”s‚µ‚½ê‡ return Error(IDS_ERR_PRINTERSETTING); } @@ -222,28 +222,28 @@ STDMETHODIMP CCanvas::put_MarginHeight(long newVal) return S_OK; } -void CCanvas::Draw(HDC hdc,RECT& rt) +void CCanvas::Draw(HDC hdc, RECT& rt) { // ƒ}ƒbƒsƒ“ƒOƒ‚[ƒh int md = GetMapMode(hdc); - SetMapMode(hdc,MM_LOMETRIC); - POINT oldPort,oldWindow; - SetViewportOrgEx(hdc,0,rt.bottom,&oldPort); - SetWindowOrgEx(hdc,0,0,&oldWindow); + SetMapMode(hdc, MM_LOMETRIC); + POINT oldPort, oldWindow; + SetViewportOrgEx(hdc, 0, rt.bottom, &oldPort); + SetWindowOrgEx(hdc, 0, 0, &oldWindow); // ƒŒƒCƒ„[ƒIƒuƒWƒFƒNƒg‚É•`‰æ‚ðs‚킹‚é CDC dc; - dc.m_hDC = hdc; + dc.m_hDC = hdc; dc.m_bPrinting = false; - dc.m_rct = rt; + dc.m_rct = rt; int i; - for(i=0 ; iDraw(dc); } } - SetWindowOrgEx(hdc,oldWindow.x,oldWindow.y,NULL); - SetViewportOrgEx(hdc,oldPort.x,oldPort.y,NULL); - SetMapMode(hdc,md); + SetWindowOrgEx(hdc, oldWindow.x, oldWindow.y, NULL); + SetViewportOrgEx(hdc, oldPort.x, oldPort.y, NULL); + SetMapMode(hdc, md); } void CCanvas::DetachOwner() @@ -263,15 +263,14 @@ STDMETHODIMP CCanvas::LoadPicture(VARIANT file, VARIANT *punkVal) { ::VariantInit(punkVal); CComVariant varFile; - if(varFile.ChangeType(VT_BSTR,&file) != S_OK){ + if (varFile.ChangeType(VT_BSTR, &file) != S_OK) { return DISP_E_TYPEMISMATCH; } IPicture* pPicture = NULL; - if(OleLoadPicturePath(varFile.bstrVal,NULL,0,NULL,IID_IPicture,(void**)&pPicture) != S_OK){ - ErrorInfo(IDS_ERR_PICTURELOADFAIL); - return DISP_E_EXCEPTION; + if (OleLoadPicturePath(varFile.bstrVal, NULL, 0, NULL, IID_IPicture, (void**)&pPicture) != S_OK) { + return Error(IDS_ERR_PICTURELOADFAIL); } - punkVal->vt = VT_UNKNOWN; + punkVal->vt = VT_UNKNOWN; punkVal->punkVal = pPicture; // (IUnknown*) return S_OK; }