Coordinate space transformations lazarus / 7-LCL ---------------------------------------------------------------------- tk · 2009-10-04 22:42 Hi, in order to create the printing support (not just) for KGrid I would appreciate the SetWindowExtEx, SetViewPortExtEx and SetMapMode functions in Lazarus. Of course i can map manually but especially in controls with custom painting I'd like to use something "hidden" in the Canvas/device context. Are the transformations on the roadmap or even implementable for the other widget sets? Thanks ---------------------------------------------------------------------- Paul Ishenin · 2009-10-05 01:27 Some functions are available in LCLIntf unit. For example SetWindowOrgEx. You can try to implement missing in a similar way and to send us a patch. ---------------------------------------------------------------------- tk · 2009-10-05 07:34 OK. I'll give it a try because I really need them. At least for GTKx and QT where I can test it. ---------------------------------------------------------------------- tk · 2009-10-05 10:50 I made a brief research about how this could be implemented under QT and GTKx. QT seems to be very easy by utilizing the QPainter_Scale function. But GTK does not natively support these transformations (Cairo does sth but would be too hard to implement). I'll have to make major modifications to the GTK interfaces by introducing eg. FScaleX and FScaleY fields (Double type) to TGTKDeviceContext and modify ALL painting methods. I can do this but the question is, will such huge change be accepted by the Lazarus development team and the community? I'm asking because of course I cannot test everything myself and thus cannot guarantee that the new feature will work for every possible case (but I think I can guarantee the default behavior remains unchanged if the three new functions will not be used).