[haiku-commits] Re: haiku: hrev45335 - src/kits/interface

  • From: Stephan Aßmus <superstippi@xxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 4 Mar 2013 09:12:12 +0100

Am 04.03.2013 um 05:14 schrieb leavengood@xxxxxxxxx:

> hrev45335 adds 1 changeset to branch 'master'
> old head: dca92a6c75716c3572e1a37c8a96947c6c3188b3
> new head: f44a56ca9a15c0ec2f1fb8c778e30871888499a6
> overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=f44a56c+%5Edca92a6
> 
> ----------------------------------------------------------------------------
> 
> f44a56c: Add back moving the pen to origin in BControlLook arrow drawing.
> 
>  Removing this did not affect scrollbar arrow buttons, but made the
>  arrows disappear on the Deskbar.
> 
>  Clearly, BControlLook cannot be changed without extensive testing.


Thanks for cleaning up some of these messy parts. As you found out yourself, 
changes in this code can have unintended side effects in other apps, so the 
status quo is always a bit of a work in progress towards more clean and sane 
code and there is always room for more cleanup...

BShape has the completely unintuitive property of rendering at the current pen 
position. No other drawing call has this effect other than certain forms of 
DrawString(), DrawChar() and StrokeLine(). Directly comparable would be 
StrokeRect() and FillRect() which take BRects much in the same way as 
StrokeShape() and FillShape() take BShapes, yet only BShape uses the current 
pen position. Obviously we inherited that from BeOS. To be honest, I think the 
whole concept of the "current pen position" is completely useless. But there is 
lots of other stuff in the drawing API that deserves cleaning up.

Best regards,
-Stephan


Other related posts: