how to change coordinates


I am developping a 2D API based on OpenVG and I am using AmanithVG implementation for now.
However I would like to use a coordinate system where 0,0 corresponds to top left (like GDI or
quartz) instead of bottom left, so how can I did this ?

I suppose I need something like :

vgLoadMatrix( ?, ?, ?, ?, ?, ?, ?, ?, ?);
vgLoadMatrix( ?, ?, ?, ?, ?, ?, ?, ?, ?);

Let’s say my window is width x height what should I pass to vgLoadMatrix ?


It’s been a while, but you can probably scale based on the size of your window, rotate by 270 or -90 then translate by -height.

No, just vgScale(1,-1), and vgTranslate(0, height);
not sure which order though off the top of my head.

Good point Ivo! Couldn’t remember the easiest way to inverse the y. The negative scale is ringing some bells.