app_server: Implement more composition modes

* Use agg::comp_op classes to blend pixels.
* Subpixel path not implemented.
* Needed by WebKit.
* Implements #10274.

Change-Id: I07b0002196fd0a05fc100bd9f6d703c33cadc85b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2932
Reviewed-by: X512 <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
Kacper Kasper
2020-06-29 14:07:42 +00:00
committed by waddlesplash
parent cc30c791bd
commit 97bd6fe8d4
23 changed files with 563 additions and 15 deletions
+14 -1
View File
@@ -298,7 +298,20 @@ enum source_alpha {
enum alpha_function {
B_ALPHA_OVERLAY = 0,
B_ALPHA_COMPOSITE
B_ALPHA_COMPOSITE,
B_ALPHA_COMPOSITE_SOURCE_OVER = B_ALPHA_COMPOSITE,
B_ALPHA_COMPOSITE_SOURCE_IN,
B_ALPHA_COMPOSITE_SOURCE_OUT,
B_ALPHA_COMPOSITE_SOURCE_ATOP,
B_ALPHA_COMPOSITE_DESTINATION_OVER,
B_ALPHA_COMPOSITE_DESTINATION_IN,
B_ALPHA_COMPOSITE_DESTINATION_OUT,
B_ALPHA_COMPOSITE_DESTINATION_ATOP,
B_ALPHA_COMPOSITE_XOR,
B_ALPHA_COMPOSITE_CLEAR,
B_ALPHA_COMPOSITE_DIFFERENCE,
B_ALPHA_COMPOSITE_LIGHTEN,
B_ALPHA_COMPOSITE_DARKEN
};