void CEnvelopeWizard::AddDroppedGraphic(int nDragImage, POINT point) { if (!m_pEnvelopeDoc) return; CAGPage* pPage = m_pEnvelopeDoc->GetPage(0); if (!pPage) return; CAGLayer* pUserLayer = pPage->GetUserLayer(); if (!pUserLayer) return; CAGSymImage* pImage = m_pGraphics[nDragImage]; if (!pImage) return; CAGSymImage* pNewImage = (CAGSymImage*)pImage->Duplicate(); if (!pNewImage) return; SetImageSize(pNewImage, &point); pUserLayer->AddSymbol(pNewImage); GetDocWin()->SymbolUnselect(true); GetDocWin()->SymbolSelect(pNewImage); GetDocWin()->SymbolInvalidate(pNewImage); }
void CEnvelopeWizard::CreateEnvelope(CAGDoc** ppAGDoc) { m_pEnvelopeDoc = new CAGDoc(); // Let the caller take control over this document if (ppAGDoc) *ppAGDoc = m_pEnvelopeDoc; if (!m_pEnvelopeDoc) return; m_pEnvelopeDoc->SetPortrait(m_PageSize.cx <= m_PageSize.cy); m_pEnvelopeDoc->SetDocType(DOC_ENVELOPE); m_pEnvelopeDoc->SetFileName(CString("Untitled")); m_pEnvelopeDoc->SetModified(true); CAGPage* pPage = new CAGPage(m_PageSize.cx, m_PageSize.cy); if (!pPage) return; m_pEnvelopeDoc->AddPage(pPage); int nLayers = 2; for (int j = 0; j < nLayers; j++) pPage->AddLayer(new CAGLayer()); CAGLayer* pUserLayer = pPage->GetUserLayer(); if (!pUserLayer) return; CAGLayer* pMasterLayer = pPage->GetMasterLayer(); if (!pUserLayer) return; m_nMaxImageSize = m_PageSize.cy / 2; m_pEnvelopePicture->GetPictureList()->DrawListViewThumbnails(); // Add the Background Item CAGSymGraphic* pBackground = new CAGSymRectangle(); if (pBackground) { RECT BackgroundRect; ::SetRect(&BackgroundRect, 0, 0, m_PageSize.cx, m_PageSize.cy); pBackground->SetDestRect(BackgroundRect); pBackground->SetID(IDR_ENVELOPE_BACKGROUND); pBackground->SetFillColor(RGB(240,240,255)); pBackground->SetFillColor2(RGB(255,255,255)); pBackground->SetFillType(FT_Solid); pBackground->SetHidden(true); pUserLayer->AddSymbol(pBackground); } int xCenter = m_PageSize.cx / 2; int yCenter = m_PageSize.cy / 2; RECT rMargins = { INCHES(0.375), INCHES(0.375), m_PageSize.cx - INCHES(0.375), m_PageSize.cy - INCHES(0.375)}; // Add the Send Address Text Item CAGSymText* pSendAddr = new CAGSymText(ST_TEXT); if (pSendAddr) { RECT SendRect; SendRect.left = xCenter - (INCHES(1.75)/2); SendRect.top = yCenter - (INCHES(1)/2); SendRect.right = SendRect.left + INCHES(3.0); SendRect.bottom = SendRect.top + INCHES(1.1); pSendAddr->Create(SendRect); pSendAddr->SetID(IDR_ENVELOPE_SEND); SetAddressText(pSendAddr, m_strSendAddress); pSendAddr->SelectAll(false); pSendAddr->SetHorzJust(eFlushLeft); pSendAddr->SetVertJust(eVertTop); pSendAddr->SetEmphasis(false, false, false); pUserLayer->AddSymbol(pSendAddr); } // Add the Return Address Text Item CAGSymText* pReturnAddr = new CAGSymText(ST_TEXT); if (pReturnAddr) { RECT ReturnRect; ReturnRect.left = rMargins.left; ReturnRect.top = rMargins.top; ReturnRect.right = ReturnRect.left + INCHES(3.0); ReturnRect.bottom = ReturnRect.top + INCHES(1.1); pReturnAddr->Create(ReturnRect); pReturnAddr->SetID(IDR_ENVELOPE_RETURN); SetAddressText(pReturnAddr, m_strReturnAddress); pReturnAddr->SelectAll(false); pReturnAddr->SetHorzJust(eFlushLeft); pReturnAddr->SetVertJust(eVertTop); pReturnAddr->SetEmphasis(false, false, false); pUserLayer->AddSymbol(pReturnAddr); } // Add the first image to the document CAGSymImage* pImage = m_pGraphics[0]; if (!pImage) return; CAGSymImage* pNewImage = (CAGSymImage*)pImage->Duplicate(); if (!pNewImage) return; SetImageSize(pNewImage); pNewImage->SetID(IDC_ENVELOPE_PIC_0); pUserLayer->AddSymbol(pNewImage); GetDocWin()->SymbolUnselect(true); GetDocWin()->SymbolSelect(pNewImage); GetDocWin()->Position(POS_LEFT, POS_BOTTOM, 0/*id*/); }