[open-beos-printing] Re: Function signature

> what are the function signatures of the reserved
> functions at index 15 and 16 of BPicture::Play?

Good question :-)

> I guess, function# 15 should draw a circle and
> function# 16 should draw a filled circle.

I guess not.
BView don't have a Stroke/FillCircle(), because Stroke/FillEllipse() is there 
for circle too!

BView *drawing* methods / Play() functions arrays:

StrokeLine                 2:  StrokeLine
StrokeRect                 3:  StrokeRect
FillRect                   4:  FillRect
StrokeRoundedRect          5:  StrokeRoundedRect
FillRoundedRect            6:  FillRounderRect
StrokeBezier               7:  StrokeBezier
FillBezier                 8:  FillBezier
StrokeArc                  9:  StrokeArc
FillArc                    10: FillArc
StrokeEllipse              11: StrokeEllipse
FillEllipse                12: FillEllipse
StrokePolygon              13: StrokePolygon
FillPolygon                14: FillPolygon
DrawChar                   17: DrawString (I guess!)
DrawString                 17: DrawString
DrawBitmap                 18: DrawPixels
DrawBitmapAsync            18: DrawPixels (there is not Async during Play())

Which give us these *unmapped* BView drawings methods 

DrawPicture
DrawPictureAsync
StrokeTriangle
FillTriangle
StrokeShape
FillShape
FillRegion
InvertRect
CopyBits

1) DrawPicture, DrawPictureAsync:
   I guess BPictures into BPictures are playback by Play() like 
   there are included in parent one... maybe just between 
   a PopState()/PushState() pair.

2) Stroke/FillTriangle should be simply mapped to Stroke/FillPolygon, 
   I bet.

3) Stroke/FillShape are better candidates for slots 15 & 16, 
   but I would bet that Play() *run* them by calling StrokeLine,    
   and Stroke/FillBezier. But, who know!?
   As two first uint32 in calling stack seem to be address to 
   kernel area, maybe it's a BShape *... Welcome to BShapeIterator!

4) FillRegion() could be played by Fill*() methods, I thinks.

5) InvertRect, CopyBits: I'm not sure these one are recorded in BPicture...

BTW, do you have a document to share with us that trigger these 
#15/16 opcodes during BPicture::Play()?


Philippe.

Other related posts: