Advertisement
Guest User

Untitled

a guest
Nov 27th, 2014
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. void Ctest2View::OnDraw(CDC* pDC)
  2. {
  3. Ctest2Doc* pDoc = GetDocument();
  4. ASSERT_VALID(pDoc);
  5. if (!pDoc)
  6. return;
  7.  
  8. CRect rect;
  9. GetClientRect(&rect);
  10. pDC->SetMapMode(MM_ANISOTROPIC);
  11. pDC->SetWindowExt(2000, 1000);
  12. pDC->SetViewportExt(rect.Width(), rect.Height());
  13. pDC->SetWindowOrg(0, 0);
  14.  
  15. CBrush brushBackground(RGB(255, 255, 255));
  16.  
  17. CBrush* oldBrushBackgorund = pDC->SelectObject(&brushBackground);
  18. pDC->SetBrushOrg(0, 0);
  19.  
  20. pDC->Rectangle(0, 0, 2000, 1000);
  21.  
  22. pDC->SelectObject(oldBrushBackgorund);
  23. brushBackground.DeleteObject();
  24.  
  25. POINT centar = {1000, 500};
  26. DrawPolygon(pDC, centar, 200, 7);
  27.  
  28. // TODO: add draw code for native data here
  29. }
  30.  
  31. void Ctest2View::DrawPolygon(CDC *pDC, POINT ptCenter, double radius, int n)
  32. {
  33. double _PI = 3.14159265359;
  34.  
  35. XFORM Xform, XformOld;
  36. int prevMode = SetGraphicsMode(pDC->m_hDC, GM_ADVANCED);
  37. BOOL b = GetWorldTransform(pDC->m_hDC, &XformOld);
  38. Xform.eM11 = 1.0;
  39. Xform.eM12 = 0.0;
  40. Xform.eM21 = 0.0;
  41. Xform.eM22 = 1.0;
  42. Xform.eDx = ptCenter.x;
  43. Xform.eDy = ptCenter.y;
  44.  
  45. SetWorldTransform(pDC->m_hDC, &Xform);
  46.  
  47. double ugaoRazmak = (2 * _PI) / n;
  48. double trenutniUgao = ugaoRazmak;
  49.  
  50. double Xtacka = sin(trenutniUgao) *radius;
  51. double Ytacka = cos(trenutniUgao) *radius;
  52. pDC->MoveTo(Xtacka, Ytacka);
  53.  
  54. double pocetnaX = Xtacka, pocetnaY = Ytacka;
  55.  
  56. for (int i=0; i<n;i++)
  57. {
  58. trenutniUgao += ugaoRazmak;
  59.  
  60. pDC->LineTo(Xtacka, Ytacka);
  61.  
  62. Xtacka = sin(trenutniUgao) * radius;
  63. Ytacka = cos(trenutniUgao) * radius;
  64.  
  65. }
  66.  
  67. pDC->LineTo(pocetnaX, pocetnaY);
  68.  
  69. SetWorldTransform(pDC->m_hDC, &XformOld);
  70. SetGraphicsMode(pDC->m_hDC, prevMode);
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement