Implement wrap-around mode for KisPaintDevice
This patch effectively does the following: 1) Refactors the KisPaintDevice so that the behavior of most of the methods is switchable with a strategy. There are two strategies available: KisPaintDeviceStrategy and KisPaintDeviceWrappedStrategy. 2) The choice of Wrapped/Unwrapped mode is defined by the KisDefaultBounds object, which is accessible from all the paint devices of the image. 3) Implements wrapped versions of hline, vline, rect and random accessor iterators. Construction of different iterators is done by means of switching strategies. 4) The basic maths of the wrapping is done by a special object named KisWrappedRect.
Showing with 1678 additions and 308 deletions