Community
Participate
Working Groups
The GC implementation in its current state does two things. It serves as a GC for 'Devices' like in new GC( display ) with all actual drawing operations implemented as no-ops, plus it handles the actual drawing on canvases like so: new GC( canvas). With bug 334627 in mind, the situation will become even worse. The GC should be refactored act as a facade that delegates to distinct implementations that do the actual work of drawing on a certain 'surface'.
Created attachment 186997 [details] Proposed refactoring A new abstract class GCDelegate was introduced. The GC holds an instance of GCDelegate and almost all methods delegate to this instance. Currently two implementations of GCDelegate exist: DeviceGC and ControlGC
Released patch to CVS HEAD