void ShapeTemplate::initShapes() { CComObject* shape; // rectangle CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(0, 100); shape->CompleteDefinition(_T("Rectangle")); // decision CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(50, 0); shape->AddOutlineStraight(100, 50); shape->AddOutlineStraight(50, 100); shape->AddOutlineStraight(0, 50); shape->put_AnchorPattern(_T("Decision2In2Out")); shape->CompleteDefinition(_T("Decision")); // delay CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 0); shape->AddOutlineBezier(50, 0, 80, 0, 100, 30); shape->AddOutlineBezier(100, 50, 100, 70, 80, 100); shape->AddOutlineStraight(50, 100); shape->AddOutlineStraight(0, 100); shape->CompleteDefinition(_T("Delay")); // procedure CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(0, 100); shape->AddDecorationLine(15, 0, 15, 100); shape->AddDecorationLine(85, 0, 85, 100); shape->AddTextStraight(15, 0); shape->AddTextStraight(85, 0); shape->AddTextStraight(85, 100); shape->AddTextStraight(15, 100); shape->CompleteDefinition(_T("Procedure")); // ellipse CComObject::CreateInstance(&shape); shape->AddRef(); shape->SetOutlineEllipse(); shape->CompleteDefinition(_T("Ellipse")); // alternative CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(50, 0); shape->AddOutlineStraight(100, 100); shape->CompleteDefinition(_T("Alternative")); // arrow 1 CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(40, 50); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(60, 0); shape->AddOutlineStraight(100, 50); shape->AddOutlineStraight(60, 100); shape->AddOutlineStraight(0, 100); shape->CompleteDefinition(_T("Arrow1")); // arrow 2 CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(25, 0); shape->AddOutlineStraight(25, 40); shape->AddOutlineStraight(60, 40); shape->AddOutlineStraight(60, 0); shape->AddOutlineStraight(100, 50); shape->AddOutlineStraight(60, 100); shape->AddOutlineStraight(60, 60); shape->AddOutlineStraight(25, 60); shape->AddOutlineStraight(25, 100); shape->AddOutlineStraight(0, 100); shape->CompleteDefinition(_T("Arrow2")); // arrow 3 CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 30); shape->AddOutlineStraight(60, 30); shape->AddOutlineStraight(60, 0); shape->AddOutlineStraight(100, 50); shape->AddOutlineStraight(60, 100); shape->AddOutlineStraight(60, 70); shape->AddOutlineStraight(0, 70); shape->CompleteDefinition(_T("Arrow3")); // arrow 4 CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 30); shape->AddOutlineStraight(60, 30); shape->AddOutlineStraight(60, 0); shape->AddOutlineStraight(100, 50); shape->AddOutlineStraight(60, 100); shape->AddOutlineStraight(60, 70); shape->AddOutlineStraight(0, 70); shape->AddOutlineStraight(20, 50); shape->CompleteDefinition(_T("Arrow4")); // arrow 5 CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(30, 30); shape->AddOutlineStraight(30, 0); shape->AddOutlineStraight(0, 50); shape->AddOutlineStraight(30, 100); shape->AddOutlineStraight(30, 70); shape->AddOutlineStraight(70, 70); shape->AddOutlineStraight(70, 100); shape->AddOutlineStraight(100, 50); shape->AddOutlineStraight(70, 0); shape->AddOutlineStraight(70, 30); shape->CompleteDefinition(_T("Arrow5")); // arrow 6 CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineBezier(0, 100, 50, 66, 50, 33); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(100, 50); shape->CompleteDefinition(_T("Arrow6")); // arrow 7 CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(70, 0); shape->AddOutlineStraight(100, 50); shape->AddOutlineStraight(70, 100); shape->AddOutlineStraight(0, 100); shape->CompleteDefinition(_T("Arrow7")); // arrow 8 CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(40, 0); shape->AddOutlineStraight(40, 35); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(40, 65); shape->AddOutlineStraight(40, 100); shape->AddOutlineStraight(100, 50); shape->AddDecorationLine(40, 35, 40, 65); shape->CompleteDefinition(_T("Arrow8")); // begin loop CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 25); shape->AddOutlineStraight(0, 25); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(100, 25); shape->AddOutlineStraight(75, 0); shape->AddOutlineStraight(25, 0); shape->CompleteDefinition(_T("BeginLoop")); // collate CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(0, 0); shape->CompleteDefinition(_T("Collate")); // cone down CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineBezier(0, 80, 6, 94, 30, 100); shape->AddOutlineStraight(50, 100); shape->AddOutlineBezier(50, 100, 70, 100, 94, 94); shape->AddOutlineStraight(100, 80); shape->AddOutlineStraight(50, 0); shape->AddOutlineStraight(0, 80); shape->AddDecorationBezier(0, 80, 10, 65, 30, 60, 50, 60); shape->AddDecorationBezier(50, 60, 70, 60, 90, 65, 100, 80); shape->AddTextStraight(0, 80); shape->AddTextStraight(50, 0); shape->AddTextBezier(100, 80, 94, 66, 70, 60); shape->AddTextBezier(50, 60, 30, 60, 6, 66); shape->CompleteDefinition(_T("ConeDown")); // cone up CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineBezier(0, 80, 6, 94, 30, 100); shape->AddOutlineStraight(50, 100); shape->AddOutlineBezier(50, 100, 70, 100, 94, 94); shape->AddOutlineStraight(100, 80); shape->AddOutlineStraight(50, 0); shape->AddOutlineStraight(0, 80); shape->CompleteDefinition(_T("ConeUp")); // create request CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(0, 0); shape->AddDecorationLine(0, 15, 100, 15); shape->AddDecorationLine(0, 85, 100, 85); shape->AddTextStraight(0, 15); shape->AddTextStraight(100, 15); shape->AddTextStraight(100, 85); shape->AddTextStraight(0, 85); shape->CompleteDefinition(_T("CreateRequest")); // cross CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(40, 40); shape->AddOutlineStraight(40, 40); shape->AddOutlineStraight(40, 0); shape->AddOutlineStraight(60, 0); shape->AddOutlineStraight(60, 40); shape->AddOutlineStraight(100, 40); shape->AddOutlineStraight(100, 60); shape->AddOutlineStraight(60, 60); shape->AddOutlineStraight(60, 100); shape->AddOutlineStraight(40, 100); shape->AddOutlineStraight(40, 60); shape->AddOutlineStraight(0, 60); shape->AddOutlineStraight(0, 40); shape->AddOutlineStraight(40, 40); shape->CompleteDefinition(_T("Cross")); // cylinder CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(100, 20); shape->AddOutlineBezier(100, 80, 100, 95, 70, 100); shape->AddOutlineBezier(50, 100, 30, 100, 0, 95); shape->AddOutlineStraight(0, 80); shape->AddOutlineBezier(0, 20, 0, 5, 30, 0); shape->AddOutlineBezier(50, 0, 70, 0, 100, 5); shape->AddDecorationBezier(100, 20, 100, 35, 70, 40, 50, 40); shape->AddDecorationBezier(50, 40, 30, 40, 0, 35, 0, 20); shape->AddTextStraight(100, 20); shape->AddTextBezier(100, 80, 100, 95, 70, 100); shape->AddTextBezier(50, 100, 30, 100, 0, 95); shape->AddTextStraight(0, 80); shape->AddTextBezier(0, 20, 16, 35, 30, 40); shape->AddTextBezier(50, 40, 70, 40, 100, 35); shape->CompleteDefinition(_T("Cylinder")); // decision2 CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 50); shape->AddOutlineStraight(25, 100); shape->AddOutlineStraight(75, 100); shape->AddOutlineStraight(100, 50); shape->AddOutlineStraight(75, 0); shape->AddOutlineStraight(25, 0); shape->CompleteDefinition(_T("Decision2")); // double-in delay CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 100); shape->AddOutlineBezier(100, 100, 85, 100, 67, 75); shape->AddOutlineBezier(67, 50, 67, 25, 85, 0); shape->AddOutlineStraight(100, 0); shape->AddOutlineBezier(0, 0, 15, 0, 33, 25); shape->AddOutlineBezier(33, 50, 33, 75, 15, 100); shape->CompleteDefinition(_T("DInDelay")); // double-out delay CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(33, 100); shape->AddOutlineBezier(67, 100, 80, 100, 100, 75); shape->AddOutlineBezier(100, 50, 100, 25, 85, 0); shape->AddOutlineStraight(67, 0); shape->AddOutlineBezier(33, 0, 15, 0, 0, 25); shape->AddOutlineBezier(0, 50, 0, 75, 15, 100); shape->CompleteDefinition(_T("DOutDelay")); // disk storage CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(100, 20); shape->AddOutlineBezier(100, 80, 100, 95, 70, 100); shape->AddOutlineBezier(50, 100, 30, 100, 0, 95); shape->AddOutlineStraight(0, 80); shape->AddOutlineBezier(0, 20, 0, 5, 30, 0); shape->AddOutlineBezier(50, 0, 70, 0, 100, 5); shape->AddDecorationBezier(100, 20, 100, 35, 70, 40, 50, 40); shape->AddDecorationBezier(50, 40, 30, 40, 0, 35, 0, 20); shape->AddDecorationBezier(100, 30, 100, 45, 70, 50, 50, 50); shape->AddDecorationBezier(50, 50, 30, 50, 0, 45, 0, 30); shape->AddTextStraight(100, 30); shape->AddTextBezier(100, 80, 100, 95, 70, 100); shape->AddTextBezier(50, 100, 30, 100, 0, 95); shape->AddTextStraight(0, 80); shape->AddTextBezier(0, 30, 16, 45, 30, 50); shape->AddTextBezier(50, 50, 70, 50, 100, 45); shape->CompleteDefinition(_T("DiskStorage")); // divided event CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(10, 100); shape->AddOutlineBezier(90, 100, 95, 100, 100, 95); shape->AddOutlineStraight(100, 90); shape->AddOutlineBezier(100, 10, 100, 5, 95, 0); shape->AddOutlineStraight(90, 0); shape->AddOutlineBezier(10, 0, 5, 0, 0, 5); shape->AddOutlineStraight(0, 10); shape->AddOutlineBezier(0, 90, 0, 95, 5, 100); shape->AddDecorationLine(0, 20, 100, 20); shape->CompleteDefinition(_T("DividedEvent")); // divided process CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(0, 0); shape->AddDecorationLine(0, 20, 100, 20); shape->AddTextStraight(0, 15); shape->AddTextStraight(100, 15); shape->AddTextStraight(100, 100); shape->AddTextStraight(0, 100); shape->CompleteDefinition(_T("DividedProcess")); // document CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 90); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(100, 0); shape->AddOutlineBezier(100, 90, 83, 80, 66, 80); shape->AddOutlineBezier(50, 90, 33, 100, 16, 100); shape->CompleteDefinition(_T("Document")); // end loop CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(100, 75); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(0, 75); shape->AddOutlineStraight(25, 100); shape->AddOutlineStraight(75, 100); shape->CompleteDefinition(_T("EndLoop")); // heart CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineBezier(50, 20, 50, 5, 65, 0); shape->AddOutlineBezier(75, 0, 85, 0, 100, 10); shape->AddOutlineBezier(100, 25, 100, 50, 67, 75); shape->AddOutlineBezier(50, 100, 33, 75, 0, 50); shape->AddOutlineBezier(0, 25, 0, 10, 15, 0); shape->AddOutlineBezier(25, 0, 35, 0, 50, 5); shape->CompleteDefinition(_T("Heart")); // input CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(0, 40); shape->CompleteDefinition(_T("Input")); // internal storage CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(0, 0); shape->AddDecorationLine(0, 15, 100, 15); shape->AddDecorationLine(15, 0, 15, 100); shape->AddTextStraight(15, 15); shape->AddTextStraight(100, 15); shape->AddTextStraight(100, 100); shape->AddTextStraight(15, 100); shape->CompleteDefinition(_T("InternalStorage")); // message from user CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(80, 50); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(0, 0); shape->CompleteDefinition(_T("MessageFromUser")); // message to user CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(20, 100); shape->AddOutlineStraight(0, 50); shape->AddOutlineStraight(20, 0); shape->AddOutlineStraight(100, 0); shape->CompleteDefinition(_T("MessageToUser")); // multi document CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 92); shape->AddOutlineStraight(0, 20); shape->AddOutlineStraight(10, 20); shape->AddOutlineStraight(10, 10); shape->AddOutlineStraight(20, 10); shape->AddOutlineStraight(20, 0); shape->AddOutlineStraight(100, 0); shape->AddOutlineBezier(100, 72, 95, 69, 90, 69); shape->AddOutlineStraight(90, 69); shape->AddOutlineBezier(90, 82, 85, 79, 80, 79); shape->AddOutlineStraight(80, 79); shape->AddOutlineBezier(80, 92, 66, 84, 53, 84); shape->AddOutlineBezier(39, 92, 26, 100, 13, 100); shape->AddDecorationLine(10, 20, 80, 20); shape->AddDecorationLine(80, 20, 80, 79); shape->AddDecorationLine(20, 10, 90, 10); shape->AddDecorationLine(90, 10, 90, 69); shape->AddTextStraight(0, 92); shape->AddTextStraight(0, 20); shape->AddTextStraight(80, 20); shape->AddTextStraight(80, 20); shape->AddTextBezier(80, 92, 66, 84, 53, 84); shape->AddTextBezier(39, 92, 26, 100, 13, 100); shape->CompleteDefinition(_T("MultiDocument")); // off-line storage CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(50, 100); shape->AddOutlineStraight(100, 0); shape->AddDecorationLine(10, 20, 90, 20); shape->AddTextStraight(50, 100); shape->AddTextStraight(10, 20); shape->AddTextStraight(90, 20); shape->CompleteDefinition(_T("OfflineStorage")); // off-page reference CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 70); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(100, 70); shape->AddOutlineStraight(50, 100); shape->CompleteDefinition(_T("OffpageReference")); // primitive from call CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(80, 50); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(0, 0); shape->AddDecorationLine(15, 0, 15, 100); shape->AddTextStraight(20, 0); shape->AddTextStraight(20, 100); shape->AddTextStraight(100, 100); shape->AddTextStraight(80, 50); shape->AddTextStraight(100, 0); shape->CompleteDefinition(_T("PrimitiveFromCall")); // primitive to call CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(20, 100); shape->AddOutlineStraight(0, 50); shape->AddOutlineStraight(20, 0); shape->AddOutlineStraight(100, 0); shape->AddDecorationLine(85, 0, 85, 100); shape->AddTextStraight(80, 0); shape->AddTextStraight(80, 100); shape->AddTextStraight(20, 100); shape->AddTextStraight(0, 50); shape->AddTextStraight(20, 0); shape->CompleteDefinition(_T("PrimitiveToCall")); // process CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(0, 100); shape->AddDecorationLine(15, 0, 15, 100); shape->AddTextStraight(15, 0); shape->AddTextStraight(100, 0); shape->AddTextStraight(100, 100); shape->AddTextStraight(15, 100); shape->CompleteDefinition(_T("Process")); // prysm CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(50, 0); shape->AddOutlineStraight(100, 20); shape->AddOutlineStraight(100, 80); shape->AddOutlineStraight(50, 100); shape->AddOutlineStraight(50, 100); shape->AddOutlineStraight(0, 80); shape->AddOutlineStraight(0, 20); shape->AddDecorationLine(0, 20, 50, 40); shape->AddDecorationLine(50, 40, 50, 100); shape->AddDecorationLine(50, 40, 100, 20); shape->CompleteDefinition(_T("Prysm")); // pyramid down CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(50, 100); shape->AddOutlineStraight(100, 80); shape->AddOutlineStraight(50, 0); shape->AddOutlineStraight(0, 80); shape->AddDecorationLine(0, 80, 50, 60); shape->AddDecorationLine(50, 0, 50, 60); shape->AddDecorationLine(100, 80, 50, 60); shape->CompleteDefinition(_T("PyramidDown")); // pyramid up CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(50, 100); shape->AddOutlineStraight(100, 80); shape->AddOutlineStraight(50, 0); shape->AddOutlineStraight(0, 80); shape->AddDecorationLine(50, 0, 50, 100); shape->CompleteDefinition(_T("PyramidUp")); // punched card CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(0, 30); shape->AddOutlineStraight(30, 0); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(100, 100); shape->CompleteDefinition(_T("PunchedCard")); // save CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(25, 0); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(75, 100); shape->CompleteDefinition(_T("Save")); // sort CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(50, 0); shape->AddOutlineStraight(100, 50); shape->AddOutlineStraight(50, 100); shape->AddOutlineStraight(0, 50); shape->AddDecorationLine(0, 50, 100, 50); shape->put_AnchorPattern(_T("Decision2In2Out")); shape->CompleteDefinition(_T("Sort")); // sphere CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineBezier(50, 0, 75, 0, 100, 25); shape->AddOutlineBezier(100, 50, 100, 75, 75, 100); shape->AddOutlineBezier(50, 100, 25, 100, 0, 75); shape->AddOutlineBezier(0, 50, 0, 25, 25, 0); shape->AddDecorationBezier(50, 0, 25, 25, 25, 75, 50, 100); shape->AddTextBezier(50, 0, 75, 0, 100, 25); shape->AddTextBezier(100, 50, 100, 75, 75, 100); shape->AddTextStraight(50, 100); shape->AddTextBezier(50, 100, 25, 75, 25, 25); shape->CompleteDefinition(_T("Sphere")); // start CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineBezier(15, 100, 5, 100, 0, 75); shape->AddOutlineBezier(0, 50, 0, 25, 5, 0); shape->AddOutlineStraight(15, 0); shape->AddOutlineBezier(85, 0, 95, 0, 100, 25); shape->AddOutlineBezier(100, 50, 100, 75, 95, 100); shape->AddOutlineStraight(85, 100); shape->AddDecorationLine(15, 0, 15, 100); shape->AddDecorationLine(85, 0, 85, 100); shape->AddTextStraight(20, 0); shape->AddTextStraight(80, 0); shape->AddTextStraight(80, 100); shape->AddTextStraight(20, 100); shape->CompleteDefinition(_T("Start")); // double delay CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 100); shape->AddOutlineBezier(67, 100, 85, 100, 100, 75); shape->AddOutlineBezier(100, 50, 100, 25, 85, 0); shape->AddOutlineStraight(67, 0); shape->AddOutlineBezier(0, 0, 15, 0, 33, 25); shape->AddOutlineBezier(33, 50, 33, 75, 15, 100); shape->CompleteDefinition(_T("DDelay")); // terminator CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(20, 100); shape->AddOutlineBezier(80, 100, 90, 100, 100, 75); shape->AddOutlineBezier(100, 50, 100, 25, 90, 0); shape->AddOutlineStraight(80, 0); shape->AddOutlineBezier(20, 0, 10, 0, 0, 25); shape->AddOutlineBezier(0, 50, 0, 75, 10, 100); shape->CompleteDefinition(_T("Terminator")); // manual operation CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(20, 100); shape->AddOutlineStraight(80, 100); shape->CompleteDefinition(_T("ManualOperation")); // display CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineBezier(40, 100, 15, 100, 0, 70); shape->AddOutlineBezier(0, 50, 0, 30, 15, 0); shape->AddOutlineStraight(40, 0); shape->AddOutlineBezier(85, 0, 100, 20, 100, 30); shape->AddOutlineBezier(100, 50, 100, 70, 100, 80); shape->AddOutlineStraight(85, 100); shape->CompleteDefinition(_T("Display")); // multi proc CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(80, 100); shape->AddOutlineStraight(80, 90); shape->AddOutlineStraight(90, 90); shape->AddOutlineStraight(90, 80); shape->AddOutlineStraight(100, 80); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(20, 0); shape->AddOutlineStraight(20, 10); shape->AddOutlineStraight(10, 10); shape->AddOutlineStraight(10, 20); shape->AddOutlineStraight(0, 20); shape->AddDecorationLine(10, 20, 80, 20); shape->AddDecorationLine(80, 20, 80, 90); shape->AddDecorationLine(20, 10, 90, 10); shape->AddDecorationLine(90, 10, 90, 80); shape->AddTextStraight(0, 100); shape->AddTextStraight(80, 100); shape->AddTextStraight(80, 20); shape->AddTextStraight(0, 20); shape->CompleteDefinition(_T("MultiProc")); // lined document CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 90); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(100, 0); shape->AddOutlineBezier(100, 90, 83, 80, 66, 80); shape->AddOutlineBezier(50, 90, 33, 100, 16, 100); shape->AddDecorationLine(15, 0, 15, 96); shape->AddTextStraight(16, 94); shape->AddTextStraight(16, 0); shape->AddTextStraight(100, 0); shape->AddTextBezier(100, 90, 83, 80, 66, 80); shape->AddTextBezier(50, 90, 33, 100, 24, 100); shape->CompleteDefinition(_T("LinedDocument")); // database CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(100, 20); shape->AddOutlineBezier(100, 80, 100, 95, 70, 100); shape->AddOutlineBezier(50, 100, 30, 100, 0, 95); shape->AddOutlineStraight(0, 80); shape->AddOutlineBezier(0, 20, 0, 5, 30, 0); shape->AddOutlineBezier(50, 0, 70, 0, 100, 5); shape->AddDecorationBezier(100, 20, 100, 35, 70, 40, 50, 40); shape->AddDecorationBezier(50, 40, 30, 40, 0, 35, 0, 20); shape->AddDecorationBezier(100, 30, 100, 45, 70, 50, 50, 50); shape->AddDecorationBezier(50, 50, 30, 50, 0, 45, 0, 30); shape->AddDecorationBezier(100, 40, 100, 55, 70, 60, 50, 60); shape->AddDecorationBezier(50, 60, 30, 60, 0, 55, 0, 40); shape->AddTextStraight(100, 40); shape->AddTextBezier(100, 80, 100, 95, 70, 100); shape->AddTextBezier(50, 100, 30, 100, 0, 95); shape->AddTextStraight(0, 80); shape->AddTextBezier(0, 40, 16, 55, 30, 60); shape->AddTextBezier(50, 60, 70, 60, 100, 55); shape->CompleteDefinition(_T("Database")); // data transmition CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(15, 100); shape->AddOutlineStraight(85, 100); shape->AddOutlineStraight(100, 50); shape->AddOutlineStraight(85, 0); shape->AddOutlineStraight(15, 0); shape->AddOutlineStraight(0, 50); shape->CompleteDefinition(_T("DataTransmition")); // cloud CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineBezier(67, 0, 58, 2, 61, 7); shape->AddOutlineBezier(60, 19, 49, 11, 51, 8); shape->AddOutlineBezier(43, 14, 37, 19, 40, 25); shape->AddOutlineBezier(41, 33, 35, 24, 27, 13); shape->AddOutlineBezier(13, 21, 10, 25, 7, 29); shape->AddOutlineBezier(15, 44, 5, 47, 0, 50); shape->AddOutlineBezier(0, 63, 3, 74, 17, 72); shape->AddOutlineBezier(27, 71, 21, 77, 14, 93); shape->AddOutlineBezier(27, 100, 38, 100, 52, 93); shape->AddOutlineBezier(55, 78, 70, 93, 81, 87); shape->AddOutlineBezier(88, 80, 91, 69, 87, 63); shape->AddOutlineBezier(79, 57, 90, 52, 100, 43); shape->AddOutlineBezier(100, 24, 96, 7, 77, 0); shape->CompleteDefinition(_T("Cloud")); // transmittal tape CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(60, 90); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(0, 90); shape->CompleteDefinition(_T("TransmittalTape")); // framed rectange CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(0, 100); shape->AddDecorationLine(5, 5, 95, 5); shape->AddDecorationLine(95, 5, 95, 95); shape->AddDecorationLine(95, 95, 5, 95); shape->AddDecorationLine(5, 95, 5, 5); shape->AddTextStraight(5, 5); shape->AddTextStraight(95, 5); shape->AddTextStraight(95, 95); shape->AddTextStraight(5, 95); shape->CompleteDefinition(_T("FramedRectangle")); // microform CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 90); shape->AddOutlineBezier(0, 10, 16, 20, 33, 20); shape->AddOutlineBezier(50, 10, 66, 0, 83, 0); shape->AddOutlineStraight(100, 10); shape->AddOutlineBezier(100, 90, 83, 80, 66, 80); shape->AddOutlineBezier(50, 90, 33, 100, 16, 100); shape->CompleteDefinition(_T("Microform")); // microform recording CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(80, 75); shape->AddOutlineStraight(100, 85); shape->AddOutlineStraight(100, 15); shape->AddOutlineStraight(80, 25); shape->AddOutlineStraight(0, 0); shape->CompleteDefinition(_T("MicroformRecording")); // microform processing CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(50, 74); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(50, 25); shape->AddOutlineStraight(0, 0); shape->CompleteDefinition(_T("MicroformProcessing")); // connected issues CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 10); shape->AddOutlineStraight(40, 50); shape->AddOutlineStraight(0, 90); shape->AddOutlineStraight(10, 100); shape->AddOutlineStraight(50, 60); shape->AddOutlineStraight(90, 100); shape->AddOutlineStraight(100, 90); shape->AddOutlineStraight(60, 50); shape->AddOutlineStraight(100, 10); shape->AddOutlineStraight(90, 0); shape->AddOutlineStraight(50, 40); shape->AddOutlineStraight(10, 0); shape->CompleteDefinition(_T("ConnectedIssues")); // external organization CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(0, 100); shape->AddDecorationLine(10, 0, 0, 10); shape->AddDecorationLine(90, 0, 100, 10); shape->AddDecorationLine(90, 100, 100, 90); shape->AddDecorationLine(0, 90, 10, 100); shape->CompleteDefinition(_T("ExternalOrganization")); // external process CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(50, 0); shape->AddOutlineStraight(100, 50); shape->AddOutlineStraight(50, 100); shape->AddOutlineStraight(0, 50); shape->AddDecorationLine(40, 10, 60, 10); shape->AddDecorationLine(40, 90, 60, 90); shape->AddDecorationLine(10, 40, 10, 60); shape->AddDecorationLine(90, 40, 90, 60); shape->put_AnchorPattern(_T("Decision2In2Out")); shape->CompleteDefinition(_T("ExternalProcess")); // file CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(100, 30); shape->AddOutlineStraight(70, 0); shape->AddDecorationLine(70, 0, 70, 30); shape->AddDecorationLine(70, 30, 100, 30); shape->AddTextStraight(0, 100); shape->AddTextStraight(100, 100); shape->AddTextStraight(100, 30); shape->AddTextStraight(70, 30); shape->AddTextStraight(70, 0); shape->AddTextStraight(0, 0); shape->CompleteDefinition(_T("File")); ////////////////////////////// // Polygons from the resources // pentagon CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(50, 0); shape->AddOutlineStraight(50, 0); shape->AddOutlineStraight(0, 50); shape->AddOutlineStraight(15, 100); shape->AddOutlineStraight(85, 100); shape->AddOutlineStraight(100, 50); shape->CompleteDefinition(_T("Pentagon")); // heptagon CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(28, 100); shape->AddOutlineStraight(0, 70); shape->AddOutlineStraight(10, 25); shape->AddOutlineStraight(50, 0); shape->AddOutlineStraight(90, 25); shape->AddOutlineStraight(100, 70); shape->AddOutlineStraight(72, 100); shape->CompleteDefinition(_T("Heptagon")); // octagon CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(33, 100); shape->AddOutlineStraight(0, 67); shape->AddOutlineStraight(0, 33); shape->AddOutlineStraight(33, 0); shape->AddOutlineStraight(67, 0); shape->AddOutlineStraight(100, 33); shape->AddOutlineStraight(100, 67); shape->AddOutlineStraight(67, 100); shape->CompleteDefinition(_T("Octagon")); // reversed save CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(30, 100); shape->AddOutlineStraight(30, 100); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(70, 0); shape->AddOutlineStraight(0, 0); shape->CompleteDefinition(_T("RSave")); // star CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(50, 0); shape->AddOutlineStraight(50, 0); shape->AddOutlineStraight(40, 33); shape->AddOutlineStraight( 0, 30); shape->AddOutlineStraight(30, 50); shape->AddOutlineStraight(15, 100); shape->AddOutlineStraight(50, 60); shape->AddOutlineStraight(85, 100); shape->AddOutlineStraight(67, 50); shape->AddOutlineStraight(100, 30); shape->AddOutlineStraight(60, 33); shape->CompleteDefinition(_T("Star")); // lightning CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(30, 0); shape->AddOutlineStraight(30, 0); shape->AddOutlineStraight(15, 40); shape->AddOutlineStraight(45, 40); shape->AddOutlineStraight(30, 100); shape->AddOutlineStraight(65, 30); shape->AddOutlineStraight(33, 27); shape->AddOutlineStraight(56, 0); shape->CompleteDefinition(_T("Lightning")); // arrow 9 CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(30, 50); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(100, 50); shape->CompleteDefinition(_T("Arrow9")); // hourglass CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(30, 50); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(70, 50); shape->AddOutlineStraight(100, 0); shape->CompleteDefinition(_T("Hourglass")); // cube CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(70, 100); shape->AddOutlineStraight(70, 100); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(0, 30); shape->AddOutlineStraight(70, 30); shape->AddOutlineStraight(0, 30); shape->AddOutlineStraight(30, 0); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(70, 30); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(100, 70); shape->AddOutlineStraight(70, 100); shape->AddOutlineStraight(70, 30); shape->AddTextStraight(70, 100); shape->AddTextStraight(70, 100); shape->AddTextStraight(0, 100); shape->AddTextStraight(0, 30); shape->AddTextStraight(70, 30); shape->AddTextStraight(0, 30); shape->AddTextStraight(70, 30); shape->AddTextStraight(70, 100); shape->CompleteDefinition(_T("Cube")); // interrupt CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(100, 50); shape->AddOutlineStraight(100, 100); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(100, 50); shape->CompleteDefinition(_T("Interrupt")); // interrupt2 CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(80, 50); shape->AddOutlineStraight(80, 20); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(80, 20); shape->AddOutlineStraight(80, 80); shape->AddOutlineStraight(60, 100); shape->AddOutlineStraight(80, 80); shape->AddOutlineStraight(80, 50); shape->CompleteDefinition(_T("Interrupt2")); // RoundRect CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(10, 0); shape->AddOutlineArc(80, 0, 100, 20, -90, 90); shape->AddOutlineStraight(100, 10); shape->AddOutlineArc(80, 80, 100, 100, 0, 90); shape->AddOutlineStraight(90, 100); shape->AddOutlineArc(0, 80, 20, 100, 90, 90); shape->AddOutlineStraight(0, 90); shape->AddOutlineArc(0, 0, 20, 20, 180, 90); shape->CompleteDefinition(_T("RoundRect")); // DirectAccessStorage CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(10, 0); shape->AddOutlineArc(80, 0, 100, 100, -90, 180); shape->AddOutlineStraight(90, 100); shape->AddOutlineArc(0, 0, 20, 100, 90, 180); shape->AddDecorationArc(0, 0, 20, 100, -90, 180); shape->AddTextStraight(10, 0); shape->AddTextArc(80, 0, 100, 100, -90, 180); shape->AddTextStraight(90, 100); shape->AddTextBezier(10, 100, 35, 66, 35, 33); shape->CompleteDefinition(_T("DirectAccessStorage")); // Merge CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(100, 0); shape->AddOutlineStraight(50, 100); shape->CompleteDefinition(_T("Merge")); // OffpageConnection CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(50, 0); shape->AddOutlineStraight(100, 50); shape->AddOutlineStraight(50, 100); shape->AddOutlineStraight(0, 100); shape->CompleteDefinition(_T("OffpageConnection")); // or CComObject::CreateInstance(&shape); shape->AddRef(); shape->SetOutlineEllipse(); shape->AddDecorationLine(50, 0, 50, 100); shape->AddDecorationLine(0, 50, 100, 50); shape->CompleteDefinition(_T("Or")); // Gate CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(-100, 0, 100, 100, -90, 180); shape->AddOutlineBezier(0, 100, 55, 75, 55, 25); shape->CompleteDefinition(_T("Gate")); // IsoProcess CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(0, 0); shape->AddOutlineStraight(75, 0); shape->AddOutlineStraight(100, 50); shape->AddOutlineStraight(75, 100); shape->AddOutlineStraight(0, 100); shape->AddOutlineStraight(25, 50); shape->CompleteDefinition(_T("IsoProcess")); // junction CComObject::CreateInstance(&shape); shape->AddRef(); shape->SetOutlineEllipse(); shape->AddDecorationLine(15, 15, 85, 85); shape->AddDecorationLine(85, 15, 15, 85); shape->CompleteDefinition(_T("Junction")); // Actor CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(40, 0, 60, 20, 90, 360); shape->AddOutlineStraight(50, 20); shape->AddOutlineArc(65, 20, 75, 30, 270, 90); shape->AddOutlineStraight(75, 30); shape->AddOutlineStraight(75, 60); shape->AddOutlineStraight(68, 60); shape->AddOutlineStraight(68, 30); shape->AddOutlineStraight(64, 30); shape->AddOutlineStraight(64, 100); shape->AddOutlineStraight(52, 100); shape->AddOutlineStraight(52, 65); shape->AddOutlineStraight(48, 65); shape->AddOutlineStraight(48, 100); shape->AddOutlineStraight(36, 100); shape->AddOutlineStraight(36, 30); shape->AddOutlineStraight(32, 30); shape->AddOutlineStraight(32, 60); shape->AddOutlineStraight(25, 60); shape->AddOutlineArc(25, 20, 35, 30, 180, 90); shape->CompleteDefinition(_T("Actor")); // Tape short y = (short)(sqrt((double)3) * 25) + 50; CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(0, 0, 100, 100, 90, 330); shape->AddOutlineStraight(75, y); shape->AddOutlineStraight(100, y); shape->AddOutlineStraight(100, 100); shape->CompleteDefinition(_T("Tape")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(50, 0); shape->AddOutlineStraight(100, 50); shape->AddOutlineStraight(50, 100); shape->AddOutlineStraight(0, 50); shape->AddOutlineStraight(50, 0); OLE_COLOR black = OLE_COLOR(RGB(0, 0, 0)); shape->StartFilledDecoration(black); shape->AddOutlineStraight(20, 45); shape->AddOutlineStraight(38, 45); shape->AddOutlineStraight(25, 32); shape->AddOutlineStraight(32, 25); shape->AddOutlineStraight(45, 38); shape->AddOutlineStraight(45, 20); shape->AddOutlineStraight(55, 20); shape->AddOutlineStraight(55, 38); shape->AddOutlineStraight(68, 25); shape->AddOutlineStraight(75, 32); shape->AddOutlineStraight(62, 45); shape->AddOutlineStraight(80, 45); shape->AddOutlineStraight(80, 55); shape->AddOutlineStraight(62, 55); shape->AddOutlineStraight(75, 68); shape->AddOutlineStraight(68, 75); shape->AddOutlineStraight(55, 62); shape->AddOutlineStraight(55, 80); shape->AddOutlineStraight(45, 80); shape->AddOutlineStraight(45, 62); shape->AddOutlineStraight(32, 75); shape->AddOutlineStraight(25, 68); shape->AddOutlineStraight(38, 55); shape->AddOutlineStraight(20, 55); shape->AddOutlineStraight(20, 45); shape->EndFilledDecoration(); shape->AddTextStraight(-20, 100); shape->AddTextStraight(140, 100); shape->AddTextStraight(140, 140), shape->AddTextStraight(-20, 140), shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnComplex")); CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(50, 0); shape->AddOutlineStraight(100, 50); shape->AddOutlineStraight(50, 100); shape->AddOutlineStraight(0, 50); shape->AddOutlineStraight(50, 0); //FillMode.Winding,"test", shape->StartFilledDecoration(black); shape->AddOutlineStraight(45, 50); shape->AddOutlineStraight(33, 26); shape->AddOutlineStraight(43, 26); shape->AddOutlineStraight(50, 40); shape->AddOutlineStraight(57, 26); shape->AddOutlineStraight(67, 26); shape->AddOutlineStraight(55, 50); shape->AddOutlineStraight(67, 74); shape->AddOutlineStraight(57, 74); shape->AddOutlineStraight(50, 60); shape->AddOutlineStraight(43, 74); shape->AddOutlineStraight(33, 74); shape->AddOutlineStraight(45, 50); shape->EndFilledDecoration(); shape->AddTextStraight(-20, 100); shape->AddTextStraight(140, 100); shape->AddTextStraight(140, 140), shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnDataBasedXor")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->StartFilledDecoration(black); shape->AddOutlineStraight(45, 50); shape->AddOutlineStraight(23, 28); shape->AddOutlineStraight(28, 23), shape->AddOutlineStraight(50, 45), shape->AddOutlineStraight(73, 23), shape->AddOutlineStraight(78, 28), shape->AddOutlineStraight(55, 50); shape->AddOutlineStraight(78, 73); shape->AddOutlineStraight(73, 78); shape->AddOutlineStraight(50, 55); shape->AddOutlineStraight(28, 78); shape->AddOutlineStraight(23, 73); shape->AddOutlineStraight(45, 50); shape->EndFilledDecoration(); shape->StartFilledDecoration(black); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->AddOutlineArc(10, 10, 90, 90, 0, 360); shape->EndFilledDecoration(); shape->AddTextStraight(-20, 100); shape->AddTextStraight(140, 100); shape->AddTextStraight(140, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnEndCancel")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->StartFilledDecoration(black); shape->AddOutlineStraight(14, 50); shape->AddOutlineStraight(50, 30); shape->AddOutlineStraight(50, 70); shape->AddOutlineStraight(14, 50); shape->EndFilledDecoration(); shape->StartFilledDecoration(black); shape->AddOutlineStraight(47, 50); shape->AddOutlineStraight(83, 30); shape->AddOutlineStraight(83, 70); shape->AddOutlineStraight(47, 50); shape->EndFilledDecoration(); shape->StartFilledDecoration(black); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->AddOutlineArc(10, 10, 90, 90, 0, 360); shape->EndFilledDecoration(); shape->AddTextStraight(-20, 100); shape->AddTextStraight(140, 100); shape->AddTextStraight(140, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnEndCompensation")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->StartFilledDecoration(black); shape->AddOutlineStraight(77, 23); shape->AddOutlineStraight(60, 65); shape->AddOutlineStraight(43, 45); shape->AddOutlineStraight(23, 77); shape->AddOutlineStraight(40, 35); shape->AddOutlineStraight(57, 55); shape->AddOutlineStraight(77, 23); shape->EndFilledDecoration(); shape->StartFilledDecoration(black); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->AddOutlineArc(10, 10, 90, 90, 0, 360); shape->EndFilledDecoration(); shape->AddTextStraight(-20, 100); shape->AddTextStraight(140, 100); shape->AddTextStraight(140, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnEndError")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->StartFilledDecoration(black); shape->AddOutlineStraight(20, 35); shape->AddOutlineStraight(77, 35); shape->AddOutlineStraight(77, 20); shape->AddOutlineStraight(88, 50); shape->AddOutlineStraight(77, 80); shape->AddOutlineStraight(77, 65); shape->AddOutlineStraight(20, 65); shape->AddOutlineStraight(20, 65); shape->AddOutlineStraight(20, 35); shape->EndFilledDecoration(); shape->StartFilledDecoration(black); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->AddOutlineArc(10, 10, 90, 90, 0, 360); shape->EndFilledDecoration(); shape->AddTextStraight(-20, 100); shape->AddTextStraight(120, 100); shape->AddTextStraight(120, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnEndLink")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->AddDecorationLine(17, 30, 83, 30); shape->AddDecorationLine(83, 30, 83, 70); shape->AddDecorationLine(83, 70, 17, 70); shape->AddDecorationLine(17, 70, 17, 30); shape->AddDecorationLine(17, 30, 50, 50); shape->AddDecorationLine(50, 50, 83, 30); shape->StartFilledDecoration(black); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->AddOutlineArc(10, 10, 90, 90, 0, 360); shape->EndFilledDecoration(); shape->AddTextStraight(-20, 100); shape->AddTextStraight(120, 100); shape->AddTextStraight(120, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnEndMessage")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->StartFilledDecoration(black); shape->AddOutlineStraight(39, 31); shape->AddOutlineStraight(50, 12); shape->AddOutlineStraight(61, 31); shape->AddOutlineStraight(83, 31); shape->AddOutlineStraight(72, 50); shape->AddOutlineStraight(83, 69); shape->AddOutlineStraight(61, 69); shape->AddOutlineStraight(50, 88); shape->AddOutlineStraight(39, 69); shape->AddOutlineStraight(18, 69); shape->AddOutlineStraight(27, 50); shape->AddOutlineStraight(17, 31); shape->AddOutlineStraight(39, 31); shape->EndFilledDecoration(); shape->StartFilledDecoration(black); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->AddOutlineArc(10, 10, 90, 90, 0, 360); shape->EndFilledDecoration(); shape->AddTextStraight(-20, 100); shape->AddTextStraight(120, 100); shape->AddTextStraight(120, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnEndMultiple")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->StartFilledDecoration(black); shape->AddOutlineArc(20, 20, 80, 80, 0, 360); shape->EndFilledDecoration(); shape->StartFilledDecoration(black); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->AddOutlineArc(10, 10, 90, 90, 0, 360); shape->EndFilledDecoration(); shape->AddTextStraight(-20, 100); shape->AddTextStraight(120, 100); shape->AddTextStraight(120, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnEndTerminate")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(50, 0); shape->AddOutlineStraight(100, 50); shape->AddOutlineStraight(50, 100); shape->AddOutlineStraight(0, 50); shape->AddOutlineStraight(50, 0); shape->AddDecorationArc(20, 20, 80, 80, 0, 360); shape->AddDecorationArc(30, 30, 70, 70, 0, 360); shape->StartFilledDecoration(black); shape->AddOutlineStraight(44, 41); shape->AddOutlineStraight(50, 32); shape->AddOutlineStraight(56, 41); shape->AddOutlineStraight(66, 41); shape->AddOutlineStraight(61, 50); shape->AddOutlineStraight(66, 59); shape->AddOutlineStraight(56, 59); shape->AddOutlineStraight(50, 68); shape->AddOutlineStraight(44, 59); shape->AddOutlineStraight(34, 59); shape->AddOutlineStraight(39, 50); shape->AddOutlineStraight(34, 41); shape->AddOutlineStraight(44, 41); shape->EndFilledDecoration(); shape->AddTextStraight(-20, 100); shape->AddTextStraight(120, 100); shape->AddTextStraight(120, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnEventBasedXor")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(50, 0); shape->AddOutlineStraight(100, 50); shape->AddOutlineStraight(50, 100); shape->AddOutlineStraight(0, 50); shape->AddOutlineStraight(50, 0); shape->StartFilledDecoration(black); shape->AddOutlineStraight(80, 50); shape->AddOutlineArc(20, 20, 80, 80, 0, 360); shape->AddOutlineStraight(80, 50); shape->AddOutlineArc(30, 30, 70, 70, 0, 360); shape->EndFilledDecoration(); shape->AddTextStraight(-20, 100); shape->AddTextStraight(120, 100); shape->AddTextStraight(120, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnInclusive")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->AddDecorationArc(0, 0, 100, 100, 0, 360); shape->StartFilledDecoration(black); shape->AddOutlineStraight(45, 50); shape->AddOutlineStraight(23, 28); shape->AddOutlineStraight(28, 23); shape->AddOutlineStraight(50, 45); shape->AddOutlineStraight(73, 23); shape->AddOutlineStraight(78, 28); shape->AddOutlineStraight(55, 50); shape->AddOutlineStraight(78, 73); shape->AddOutlineStraight(73, 78); shape->AddOutlineStraight(50, 55); shape->AddOutlineStraight(28, 78); shape->AddOutlineStraight(23, 73); shape->AddOutlineStraight(45, 50); shape->EndFilledDecoration(); shape->AddTextStraight(-20, 100); shape->AddTextStraight(120, 100); shape->AddTextStraight(120, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnIntermediateCancel")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->StartFilledDecoration(black); shape->AddOutlineStraight(14, 50); shape->AddOutlineStraight(50, 30); shape->AddOutlineStraight(50, 70); shape->AddOutlineStraight(14, 50); shape->EndFilledDecoration(); shape->StartFilledDecoration(black); shape->AddOutlineStraight(47, 50); shape->AddOutlineStraight(83, 30); shape->AddOutlineStraight(83, 70); shape->AddOutlineStraight(47, 50); shape->EndFilledDecoration(); shape->AddDecorationArc(10, 10, 90, 90, 0, 360); shape->AddTextStraight(-20, 100); shape->AddTextStraight(120, 100); shape->AddTextStraight(120, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnIntermediateCompensation")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->StartFilledDecoration(black); shape->AddOutlineStraight(77, 23); shape->AddOutlineStraight(60, 65); shape->AddOutlineStraight(43, 45); shape->AddOutlineStraight(23, 77); shape->AddOutlineStraight(40, 35); shape->AddOutlineStraight(57, 55); shape->AddOutlineStraight(77, 23); shape->EndFilledDecoration(); shape->AddDecorationArc(10, 10, 90, 90, 0, 360); shape->AddTextStraight(-20, 100); shape->AddTextStraight(140, 100); shape->AddTextStraight(140, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnIntermediateError")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->StartFilledDecoration(black); shape->AddOutlineStraight(20, 35); shape->AddOutlineStraight(77, 35); shape->AddOutlineStraight(77, 20); shape->AddOutlineStraight(88, 50); shape->AddOutlineStraight(77, 80); shape->AddOutlineStraight(77, 65); shape->AddOutlineStraight(20, 65); shape->AddOutlineStraight(20, 65); shape->AddOutlineStraight(20, 35); shape->EndFilledDecoration(); shape->AddDecorationArc(10, 10, 90, 90, 0, 360); shape->AddTextStraight(-20, 100); shape->AddTextStraight(120, 100); shape->AddTextStraight(120, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnIntermediateLink")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->AddDecorationArc(10, 10, 90, 90, 0, 360); shape->AddDecorationLine(17, 30, 83, 30); shape->AddDecorationLine(83, 30, 83, 70); shape->AddDecorationLine(83, 70, 17, 70); shape->AddDecorationLine(17, 70, 17, 30); shape->AddDecorationLine(17, 30, 50, 50); shape->AddDecorationLine(50, 50, 83, 30); shape->AddTextStraight(-20, 100); shape->AddTextStraight(120, 100); shape->AddTextStraight(120, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnIntermediateMessage")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->AddDecorationArc(10, 10, 90, 90, 0, 360); shape->StartFilledDecoration(black); shape->AddOutlineStraight(39, 31); shape->AddOutlineStraight(50, 12); shape->AddOutlineStraight(61, 31); shape->AddOutlineStraight(83, 31); shape->AddOutlineStraight(72, 50); shape->AddOutlineStraight(83, 69); shape->AddOutlineStraight(61, 69); shape->AddOutlineStraight(50, 88); shape->AddOutlineStraight(39, 69); shape->AddOutlineStraight(18, 69); shape->AddOutlineStraight(27, 50); shape->AddOutlineStraight(17, 31); shape->AddOutlineStraight(39, 31); shape->EndFilledDecoration(); shape->AddTextStraight(-20, 100); shape->AddTextStraight(120, 100); shape->AddTextStraight(120, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnIntermediateMultiple")); // OLE_COLOR white = OLE_COLOR(RGB(255, 255, 255)); CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->AddDecorationArc(10, 10, 90, 90, 0, 360); shape->StartFilledDecoration(white); shape->AddOutlineStraight(25, 20); shape->AddOutlineStraight(75, 20); shape->AddOutlineStraight(75, 80); shape->AddOutlineStraight(25, 80); shape->AddOutlineStraight(25, 20); shape->EndFilledDecoration(); shape->AddDecorationLine(25, 20, 75, 20); shape->AddDecorationLine(75, 20, 75, 80); shape->AddDecorationLine(75, 80, 25, 80); shape->AddDecorationLine(25, 80, 25, 20); shape->AddDecorationLine(45, 30, 55, 30); shape->AddDecorationLine(55, 30, 55, 31); shape->AddDecorationLine(55, 31, 45, 31); shape->AddDecorationLine(45, 31, 45, 30); shape->AddDecorationLine(40, 47, 60, 47); shape->AddDecorationLine(60, 47, 60, 48); shape->AddDecorationLine(60, 48, 40, 48); shape->AddDecorationLine(40, 48, 40, 47); shape->AddDecorationLine(40, 65, 60, 65); shape->AddDecorationLine(60, 65, 60, 66); shape->AddDecorationLine(60, 66, 40, 66); shape->AddDecorationLine(40, 66, 40, 65); shape->AddTextStraight(-20, 100); shape->AddTextStraight(120, 100); shape->AddTextStraight(120, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnIntermediateRule")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->AddDecorationArc(10, 10, 90, 90, 0, 360); shape->AddDecorationArc(20, 20, 80, 80, 0, 360); shape->AddDecorationLine(20, 50, 30, 50); shape->AddDecorationLine(24, 35, 30, 39); shape->AddDecorationLine(35, 24, 39, 30); shape->AddDecorationLine(50, 20, 50, 30); shape->AddDecorationLine(65, 24, 61, 30); shape->AddDecorationLine(76, 35, 70, 39); shape->AddDecorationLine(70, 50, 80, 50); shape->AddDecorationLine(76, 65, 70, 61); shape->AddDecorationLine(65, 76, 61, 70); shape->AddDecorationLine(50, 70, 50, 80); shape->AddDecorationLine(24, 65, 30, 61); shape->AddDecorationLine(35, 76, 39, 70); shape->AddDecorationLine(50, 50, 53, 24); shape->AddDecorationLine(50, 50, 67, 50); shape->AddTextStraight(-20, 100); shape->AddTextStraight(120, 100); shape->AddTextStraight(120, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnIntermediateTimer")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(50, 0); shape->AddOutlineStraight(100, 50); shape->AddOutlineStraight(50, 100); shape->AddOutlineStraight(0, 50); shape->AddOutlineStraight(50, 0); shape->StartFilledDecoration(black); shape->AddOutlineStraight(20, 45); shape->AddOutlineStraight(45, 45), shape->AddOutlineStraight(45, 20); shape->AddOutlineStraight(55, 20); shape->AddOutlineStraight(55, 45); shape->AddOutlineStraight(80, 45); shape->AddOutlineStraight(80, 55); shape->AddOutlineStraight(55, 55); shape->AddOutlineStraight(55, 80); shape->AddOutlineStraight(45, 80); shape->AddOutlineStraight(45, 55); shape->AddOutlineStraight(20, 55); shape->AddOutlineStraight(20, 45); shape->EndFilledDecoration(); shape->AddTextStraight(-20, 100); shape->AddTextStraight(120, 100); shape->AddTextStraight(120, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnParallelFork")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->StartFilledDecoration(black); shape->AddOutlineStraight(20, 35); shape->AddOutlineStraight(77, 35); shape->AddOutlineStraight(77, 20); shape->AddOutlineStraight(88, 50); shape->AddOutlineStraight(77, 80); shape->AddOutlineStraight(77, 65); shape->AddOutlineStraight(20, 65); shape->AddOutlineStraight(20, 65); shape->AddOutlineStraight(20, 35); shape->EndFilledDecoration(); shape->AddTextStraight(-20, 100); shape->AddTextStraight(120, 100); shape->AddTextStraight(120, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnStartLink")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->AddDecorationLine(17, 30, 83, 30); shape->AddDecorationLine(83, 30, 83, 70); shape->AddDecorationLine(83, 70, 17, 70); shape->AddDecorationLine(17, 70, 17, 30); shape->AddDecorationLine(17, 30, 50, 50); shape->AddDecorationLine(50, 50, 83, 30); shape->AddTextStraight(-20, 100); shape->AddTextStraight(120, 100); shape->AddTextStraight(120, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnStartMessage")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->StartFilledDecoration(black); shape->AddOutlineStraight(39, 31); shape->AddOutlineStraight(50, 12); shape->AddOutlineStraight(61, 31); shape->AddOutlineStraight(83, 31); shape->AddOutlineStraight(72, 50); shape->AddOutlineStraight(83, 69); shape->AddOutlineStraight(61, 69); shape->AddOutlineStraight(50, 88); shape->AddOutlineStraight(39, 69); shape->AddOutlineStraight(18, 69); shape->AddOutlineStraight(27, 50); shape->AddOutlineStraight(17, 31); shape->AddOutlineStraight(39, 31); shape->EndFilledDecoration(); shape->AddTextStraight(-20, 100); shape->AddTextStraight(120, 100); shape->AddTextStraight(120, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnStartMultiple")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->StartFilledDecoration(white); shape->AddOutlineStraight(25, 20); shape->AddOutlineStraight(75, 20); shape->AddOutlineStraight(75, 80); shape->AddOutlineStraight(25, 80); shape->AddOutlineStraight(25, 20); shape->EndFilledDecoration(); shape->AddDecorationLine(25, 20, 75, 20); shape->AddDecorationLine(75, 20, 75, 80); shape->AddDecorationLine(75, 80, 25, 80); shape->AddDecorationLine(25, 80, 25, 20); shape->AddDecorationLine(45, 30, 55, 30); shape->AddDecorationLine(55, 30, 55, 31); shape->AddDecorationLine(55, 31, 45, 31); shape->AddDecorationLine(45, 31, 45, 30); shape->AddDecorationLine(40, 47, 60, 47); shape->AddDecorationLine(60, 47, 60, 48); shape->AddDecorationLine(60, 48, 40, 48); shape->AddDecorationLine(40, 48, 40, 47); shape->AddDecorationLine(40, 65, 60, 65); shape->AddDecorationLine(60, 65, 60, 66); shape->AddDecorationLine(60, 66, 40, 66); shape->AddDecorationLine(40, 66, 40, 65); shape->AddTextStraight(-20, 100); shape->AddTextStraight(120, 100); shape->AddTextStraight(120, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnStartRule")); // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineArc(0, 0, 100, 100, 0, 360); shape->AddDecorationArc(20, 20, 80, 80, 0, 360); shape->AddDecorationLine(20, 50, 30, 50); shape->AddDecorationLine(24, 35, 30, 39); shape->AddDecorationLine(35, 24, 39, 30); shape->AddDecorationLine(50, 20, 50, 30); shape->AddDecorationLine(65, 24, 61, 30); shape->AddDecorationLine(76, 35, 70, 39); shape->AddDecorationLine(70, 50, 80, 50); shape->AddDecorationLine(76, 65, 70, 61); shape->AddDecorationLine(65, 76, 61, 70); shape->AddDecorationLine(50, 70, 50, 80); shape->AddDecorationLine(24, 65, 30, 61); shape->AddDecorationLine(35, 76, 39, 70); shape->AddDecorationLine(50, 50, 53, 24); shape->AddDecorationLine(50, 50, 67, 50); shape->AddTextStraight(-20, 100); shape->AddTextStraight(120, 100); shape->AddTextStraight(120, 140); shape->AddTextStraight(-20, 140); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("BpmnStartTimer")); /*template // CComObject::CreateInstance(&shape); shape->AddRef(); shape->AddOutlineStraight(50, 0); shape->StartFilledDecoration(black); shape->AddOutlineStraight(45, 50); shape->EndFilledDecoration(); shape->AddTextStraight(-20, 100); shape->CompleteDefinition(_T("")); */ }