On top of that the drawing routines in TFPCustomCanvas are not single-liners calling DoSomething, for example:
procedure TFPCustomCanvas.Ellipse (const Bounds:TRect); var p,b,dp,db,pb : boolean; begin p := Pen.style <> psClear; b := Brush.style <> bsClear; pb := false; dp:=False; db:=False; if p and (Pen is TFPCustomDrawPen) then ........ So not having them as virtual ruins our hability to change their behavior. Also TCanvas does not draw via Pen, Brush and Font like TFPCustomCanvas does. -- Felipe Monteiro de Carvalho _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel