Advertisement
Guest User

Untitled

a guest
Feb 25th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. void Graphics::drawImage(Graphics::Image i, float x, float y, float rot, float xScale, float yScale)
  2. {
  3. unsigned char r = 0, g = 0, b = 0;
  4. Vector<float> pos = Vector<float>::create(0, 0);
  5.  
  6. i.setRotation(rot);
  7. i.setXScale(xScale);
  8. i.setYScale(yScale);
  9.  
  10. for (int j = 0; j < i.getWidth() * i.getHeight(); j++)
  11. {
  12. i.getPixel((j % i.getWidth()), (j / i.getWidth()), r, g, b);
  13. SDL_SetRenderDrawColor(renderer, r, g, b, 255);
  14. pos.elements[0] = (j % i.getWidth());
  15. pos.elements[1] = (j / i.getWidth());
  16.  
  17. Vector<float> transPos = pos - Vector<float>::create(i.getCenterX(), i.getCenterY());
  18. Matrix<float> trans = math::scale<float>(i.getXScale(), i.getYScale()) * math::rot<float>((double)i.getRot());
  19. transPos = math::mult<float, float>(trans, transPos);
  20.  
  21. SDL_RenderDrawPoint(renderer, (int)x + transPos.elements[0] + (i.getCenterX() * i.getXScale()), (int)y + transPos.elements[1] + (i.getCenterY() * i.getYScale()));
  22.  
  23. }
  24.  
  25. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement