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