1Some weirdness encountered so far:
2
3B_OP_INVERT seems to invert the dest alpha as well,
4some other modes act weird on the dest alpha channel, I guess we should not copy that behaviour
5
6B_OP_SELECT is originally behaving very strange. For BBitmp drawing, it doesn't seem to do anything, and if it does something for Stroke* and Fill* methods, it doesn't do what the BeBook says it would do. My implementation is more according to the BeBook, though for images, it is worth investigating.
7
8B_OP_ALPHA (with B_ALPHA_OVERLAY) seems to *assign* the source alpha to the dest alpha, which makes absolutely no sense at all
9
10The BView pen location appears to be integer coords, which spoils the pen location version of BView::DrawString() for rotated text.
11
12Dest alpha is actually only interesting when drawing into a BBitmap. When drawing into the frame buffer, dest alpha is logically 255, it wouldn't even need to be assigned. Maybe we could save a few CPU cycles if we adjust the DrawingMode classes accordingly. For now, the modes work as expected when drawing into a BBitmap.
13
14
15Current comparision timings:
16
17drawing_mode:		B_OP_COPY
18pen size:			 1.0
19ellipse test:		 5.15
20ellipse test AA:	13.90
21pen size:			 2.0
22ellipse test:		15.2
23ellipse test AA:	11.0
24