コード例 #1
0
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);
	}
}
コード例 #2
0
ファイル: Emf11.c プロジェクト: AaronFae/VimProject
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) ;
}
コード例 #3
0
ファイル: accumulateenergy.cpp プロジェクト: liye0005/QT_POJ
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);
}
コード例 #4
0
ファイル: CoordFrame.cpp プロジェクト: SeanGo/warmgui
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;
}
コード例 #5
0
ファイル: cprint.c プロジェクト: sharkcz/xtrkcad
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;
}