TFPCanvas should have coordinate translation routines
<h3><details><summary>Original Reporter info from Mantis: <small>AntonK</small></summary><small> - **Reporter name:** Anton Kavalenka </small></details></h3> ## Description: All modern graphic layers like Windows GDI, QT, (not sure about GTK and Carbon) has the coordinate translation functions using matrix arithmetic.<br/> The FPCanvas can have abstraction layer to allow to the programmer Rotate and Translate World.<br/> For example QT Painter has <br/> QPainter::rotate() and Qpainter:translate() either with setting transformation marix routines. Windows GDI have SetWorldTransform() function ## Steps to reproduce: Nothing, this just feature suggestion. ## Additional information: QT Example drawing rotated text<br/> QPainterH(fCanvas.Handle).translate(X,Y);<br/> QPainterH(fCanvas.Handle).rotate(-gFontAngle); fCanvas.TextOut(0,0,Buf); QPainterH(fCanvas.Handle).rotate(gFontAngle);<br/> QPainterH(fCanvas.Handle).translate(-X,-Y); GDI Example drawing rotated text<br/> const m:TXForm=(0,0,0,0,0,0);<br/> m.eM11:=cos(gFontAngle);<br/> m.eM12:=sin(gFontAngle);<br/> m.eM21:=-m.eM12;<br/> m.eM22:=eM11;<br/> SetWorldTransform(fCanvas.handle,matrix);<br/> fCanvas.TextOut(0,0,Buf); Anyway even if underlying graphic layer cannot do transformations - there can be generic transformation using matrix multiplication ## Mantis conversion info: - **Mantis ID:** 9761 - **Platform:** All
issue