void CuStaticRuler::OnPaint() { CPaintDC dc(this); DrawRuler(&dc); CaHeaderMarker* pHeader = NULL; POSITION pos = m_listHeader.GetHeadPosition(); while (pos != NULL) { pHeader = m_listHeader.GetNext (pos); DrawHeaderMarker(&dc, pHeader); } }
void CreateRoutine (HWND hwnd) { HDC hdcEMF ; HENHMETAFILE hemf ; hdcEMF = CreateEnhMetaFile (NULL, TEXT ("emf11.emf"), NULL, TEXT ("EMF11\0EMF Demo #11\0")) ; SetMapMode (hdcEMF, MM_LOENGLISH) ; DrawRuler (hdcEMF, 600, 100) ; hemf = CloseEnhMetaFile (hdcEMF) ; DeleteEnhMetaFile (hemf) ; }
void AccumulateEnergy::Draw(QPainter &painter) { QPen pen; pen.setColor(Qt::black); painter.setPen(pen); DrawAxeUPart(painter); DrawAxeDPart(painter); DrawRuler(painter); DrawAccumulateEnergy(painter); DrawAdvanceMeter(painter); DrawNumEvents(painter); DrawAxeUPartText(painter); DrawAxeDPartText(painter); }
HRESULT CCoordFrame::DrawGraph(bool redraw) { //MYTRACE(L"CCoordFrame::Draw()\n"); if (_artist && _rect.right - _rect.left > 0 && _rect.bottom - _rect.top > 0) { //TCHAR myname[MAX_PATH]; //CChineseCodeLib::Gb2312ToUnicode(myname, MAX_PATH, _name); //MYTRACE(L"A CCoordFrame %s (%d, %d), (%d, %d)\n", myname, _rect.left, _rect.top, _rect.right, _rect.bottom); _artist->SetSolidColorBrush(_clr_line); _rect_calc.right = RectWidth(_rect), _rect_calc.bottom = RectHeight(_rect), _rect_calc.left = _rect_calc.top = 0; _artist->SetStrokeStyle(D2D1_CAP_STYLE_ROUND, D2D1_CAP_STYLE_ROUND, D2D1_CAP_STYLE_ROUND, D2D1_LINE_JOIN_ROUND, 10.0f, D2D1_DASH_STYLE_SOLID); D2D1_ANTIALIAS_MODE am = _artist->GetHwndRT()->GetAntialiasMode(); _artist->GetUsingRT()->SetAntialiasMode(D2D1_ANTIALIAS_MODE_ALIASED); _artist->SetTextFormat(_pTextFormat); //MYTRACE(L"B CCoordFrame %s (%d, %d), (%d, %d)\n", myname, _rect_calc.left, _rect_calc.top, _rect_calc.right, _rect_calc.bottom); //MYTRACE(L"B CCoordFrame %s (%d, %d), (%d, %d)\n", myname, _rect.left, _rect.top, _rect.right, _rect.bottom); /* MATRIX_2D backmatrix, m; _artist->GetTransform(&backmatrix); m = backmatrix; //m._31 += _rect.left, m._32 += _rect.top; _artist->SetTransform(&m); MYTRACE(L"CCoordFrame::DrawGraph %s: %.02f %.02f, %.02f %.02f, %.02f %.02f\n", _name, m._11, m._12, m._21, m._22, m._31, m._32); MYTRACE(L"CCoordFrame %s (%d, %d), (%d, %d)\n", _name, _rect_calc.left, _rect_calc.top, _rect_calc.right, _rect_calc.bottom); MYTRACE(L"CCoordFrame %s (%d, %d), (%d, %d)\n", _name, _rect.left, _rect.top, _rect.right, _rect.bottom); D2D1::Matrix3x2F trans(m._11, m._12, m._21, m._22, m._31, m._32); POINT_f p1 = trans.TransformPoint(D2D1::Point2F(0, 0)); POINT_f p2 = trans.TransformPoint(D2D1::Point2F(_rect_calc.right, _rect_calc.bottom)); MYTRACE(L"CCoordFrame::DrawGraph %s: %.02f %.02f, %.02f %.02f ==> %.02f %.02f, %.02f %.02f\n", _name, 0, 0, _rect_calc.right, _rect_calc.bottom, p1.x, p1.y, p2.x, p2.y);*/ DrawSideBar(); DrawGrid(); DrawRuler(); //_artist->SetTransform(&backmatrix); _artist->GetUsingRT()->SetAntialiasMode(am); _artist->SetStrokeStyle(D2D1_CAP_STYLE_ROUND, D2D1_CAP_STYLE_ROUND, D2D1_CAP_STYLE_ROUND, D2D1_LINE_JOIN_ROUND, 10.0f, D2D1_DASH_STYLE_SOLID); } return S_OK; }
static BOOL_T PrintPage( int x, int y ) { coOrd orig, p[4], minP, maxP; int i; coOrd clipOrig, clipSize; wFont_p fp; coOrd roomSize; if (BITMAP(bm,x,y)) { orig.x = currPrintGrid.orig.x + x*currPrintGrid.size.x; orig.y = currPrintGrid.orig.y + y*currPrintGrid.size.y; Rotate( &orig, currPrintGrid.orig, currPrintGrid.angle ); p[0] = p[1] = p[2] = p[3] = orig; p[1].x = p[2].x = orig.x + currPrintGrid.size.x; p[2].y = p[3].y = orig.y + currPrintGrid.size.y + ( printGaudy ? printScale : 0.0 ); Rotate( &p[0], orig, currPrintGrid.angle ); Rotate( &p[1], orig, currPrintGrid.angle ); Rotate( &p[2], orig, currPrintGrid.angle ); Rotate( &p[3], orig, currPrintGrid.angle ); minP = maxP = p[0]; for (i=1; i<4; i++) { if (maxP.x < p[i].x) maxP.x = p[i].x; if (maxP.y < p[i].y) maxP.y = p[i].y; if (minP.x > p[i].x) minP.x = p[i].x; if (minP.y > p[i].y) minP.y = p[i].y; } maxP.x -= minP.x; maxP.y -= minP.y; print_d.d = page_d.d = wPrintPageStart(); if (page_d.d == NULL) return FALSE; print_d.dpi = page_d.dpi = wDrawGetDPI( print_d.d ); print_d.angle = currPrintGrid.angle; print_d.orig = orig; print_d.size = /*maxP*/ currPrintGrid.size; page_d.orig = zero; page_d.angle = 0.0; if ( printGaudy ) { Translate( &print_d.orig, orig, currPrintGrid.angle+180.0, printScale ); print_d.size.y += printScale; } if (printRotate) { rotateCW = (printFormat != PORTRAIT); if (rotateCW) { page_d.orig.x = realPageSize.y; page_d.orig.y = 0.0; page_d.angle = -90.0; print_d.angle += -90.0; Translate( &print_d.orig, print_d.orig, currPrintGrid.angle+90, maxPageSize.x ); } else { page_d.orig.x = 0.0; page_d.orig.y = realPageSize.x; page_d.angle = 90.0; print_d.angle += 90.0; Translate( &print_d.orig, print_d.orig, currPrintGrid.angle, maxPageSize.y+(printGaudy?printScale:0) ); } page_d.size.x = print_d.size.y/printScale; page_d.size.y = print_d.size.x/printScale; print_d.size.x = currPrintGrid.size.y; print_d.size.y = currPrintGrid.size.x; } else { page_d.size.x = print_d.size.x/printScale; page_d.size.y = print_d.size.y/printScale; } wSetCursor( wCursorWait ); print_d.scale = printScale; if (print_d.d == NULL) AbortProg( "wPrintPageStart" ); clipOrig.x = clipOrig.y = 0; clipSize.x = maxPageSize.x/printScale; clipSize.y = maxPageSize.y/printScale; GetRoomSize( &roomSize ); if (printGaudy) { PrintGaudyBox( roomSize ); if ((!printRotate) || rotateCW) { clipOrig.y = 1.0; } if (printRotate && rotateCW) { print_d.size.x += printScale; } } else if (printRegistrationMarks) PrintPlainBox( x, y, p ); if (printRotate) { wPrintClip( (wPos_t)(clipOrig.y*print_d.dpi), (wPos_t)(clipOrig.x*print_d.dpi), (wPos_t)(clipSize.y*print_d.dpi), (wPos_t)(clipSize.x*print_d.dpi) ); } else { wPrintClip( (wPos_t)(clipOrig.x*print_d.dpi), (wPos_t)(clipOrig.y*print_d.dpi), (wPos_t)(clipSize.x*print_d.dpi), (wPos_t)(clipSize.y*print_d.dpi) ); } p[0].x = p[3].x = 0.0; p[1].x = p[2].x = roomSize.x; p[0].y = p[1].y = 0.0; p[2].y = p[3].y = roomSize.y; fp = wStandardFont( F_TIMES, FALSE, FALSE ); DrawRuler( &print_d, p[0], p[1], 0.0, TRUE, FALSE, wDrawColorBlack ); DrawRuler( &print_d, p[0], p[3], 0.0, TRUE, TRUE, wDrawColorBlack ); DrawRuler( &print_d, p[1], p[2], 0.0, FALSE, FALSE, wDrawColorBlack ); DrawRuler( &print_d, p[3], p[2], 0.0, FALSE, TRUE, wDrawColorBlack ); if ( printRuler && currPrintGrid.angle == 0 ) { if ( !printRotate ) { p[2] = p[3] = print_d.orig; p[3].x += print_d.size.x; p[3].y += print_d.size.y; } else if ( rotateCW ) { p[2].x = print_d.orig.x - print_d.size.y; p[2].y = print_d.orig.y; p[3].x = print_d.orig.x; p[3].y = print_d.orig.y + print_d.size.x; } else { p[2].x = print_d.orig.x; p[2].y = print_d.orig.y - print_d.size.x; p[3].x = print_d.orig.x + print_d.size.y; p[3].y = print_d.orig.y; } if ( p[2].x > 0 ) minP.x = p[2].x + 0.4 * print_d.scale; else minP.x = 0.0; if ( p[3].x < roomSize.x ) maxP.x = p[3].x - 0.2 * print_d.scale; else maxP.x = roomSize.x; if ( p[2].y > 0 ) minP.y = p[2].y + 0.4 * print_d.scale; else minP.y = 0.0; if ( p[3].y < roomSize.y ) maxP.y = p[3].y - 0.2 * print_d.scale; else maxP.y = roomSize.y; p[0].y = 0.0; p[1].y = maxP.y - minP.y; if ( p[2].x > 0 ) { p[0].x = p[1].x = p[2].x + 0.4 * print_d.scale; DrawRuler( &print_d, p[0], p[1], minP.y, TRUE, TRUE, wDrawColorBlack ); } if ( p[3].x < roomSize.x ) { p[0].x = p[1].x = p[3].x - 0.2 * print_d.scale; DrawRuler( &print_d, p[0], p[1], minP.y, FALSE, FALSE, wDrawColorBlack ); } p[0].x = 0; p[1].x = maxP.x - minP.x; if ( p[2].y > 0 ) { p[0].y = p[1].y = p[2].y + 0.4 * print_d.scale; DrawRuler( &print_d, p[0], p[1], minP.x, TRUE, FALSE, wDrawColorBlack ); } if ( p[3].y < roomSize.y ) { p[0].y = p[1].y = p[3].y - 0.2 * print_d.scale; DrawRuler( &print_d, p[0], p[1], minP.x, FALSE, TRUE, wDrawColorBlack ); } } if (printGrid) DrawSnapGrid( &print_d, mapD.size, FALSE ); roadbedWidth = printRoadbed?printRoadbedWidth:0.0; DrawTracks( &print_d, print_d.scale, minP, maxP ); if (printRegistrationMarks && printScale == 1) DrawRegistrationMarks( &print_d ); if ( !wPrintPageEnd( print_d.d ) ) return FALSE; /*BITMAP(bm,x,y) = 0;*/ MarkPage( x, y ); } return TRUE; }