CoordinateSystems
Jump to navigation
Jump to search
Coordinate systems mentioned in the code or elsewhere:
- Desktop
- World
- Root
- Document: used for the contents of the document ie the SPObjects and whotnot. Each item in the SVG tree can have a transform, and the SPRoot appears to have yet another transform that can be applied (SPRoot::c2p).
Abbreviations used for coordinate systems:
- d
- dt --- usually seems to mean `desktop'
- doc
- w --- I think this means `world'. GTK's view of things; used to pass in click positions etc.??
Notes:
Desktop has:
- SPDesktop::_w2d. Only set in SPDesktop::set_display_area(). This seems to be called to set the viewport, and is set to be a scale of (1/newscale, 1/-newscale). Widely used by event handlers to convert from mouse click coordinates (from GdkEventButton etc.) into desktop coordinates, so I think w2d in this context means "world to desktop" where world is basically GDK's view of things.
- SPDesktop::_d2w. Only set in the same place as _w2d. Set to (newscale, -newscale), ie the inverse of _w2d.
- SPDesktop::_doc2dt. Initialised to a scale of (1, -1). After that only _doc2dt[5] is touched, ie the y translation. This is set to the height of the drawing whenever it changes.