MCPcopy Create free account
hub / github.com/EasyRPG/Player / GetOperator

Method GetOperator

src/bitmap.cpp:1228–1271  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1226}
1227
1228pixman_op_t Bitmap::GetOperator(pixman_image_t* mask, Bitmap::BlendMode blend_mode) const {
1229 if (blend_mode != BlendMode::Default) {
1230 switch (blend_mode) {
1231 case BlendMode::Normal:
1232 return PIXMAN_OP_OVER;
1233 case BlendMode::NormalWithoutAlpha:
1234 return PIXMAN_OP_SRC;
1235 case BlendMode::XOR:
1236 return PIXMAN_OP_XOR;
1237 case BlendMode::Additive:
1238 return PIXMAN_OP_ADD;
1239 case BlendMode::Multiply:
1240 return PIXMAN_OP_MULTIPLY;
1241 case BlendMode::Overlay:
1242 return PIXMAN_OP_OVERLAY;
1243 case BlendMode::Saturate:
1244 return PIXMAN_OP_SATURATE;
1245 case BlendMode::Darken:
1246 return PIXMAN_OP_DARKEN;
1247 case BlendMode::Lighten:
1248 return PIXMAN_OP_LIGHTEN;
1249 case BlendMode::ColorDodge:
1250 return PIXMAN_OP_COLOR_DODGE;
1251 case BlendMode::ColorBurn:
1252 return PIXMAN_OP_COLOR_BURN;
1253 case BlendMode::Difference:
1254 return PIXMAN_OP_DIFFERENCE;
1255 case BlendMode::Exclusion:
1256 return PIXMAN_OP_EXCLUSION;
1257 case BlendMode::SoftLight:
1258 return PIXMAN_OP_SOFT_LIGHT;
1259 case BlendMode::HardLight:
1260 return PIXMAN_OP_HARD_LIGHT;
1261 default:
1262 return PIXMAN_OP_CLEAR;
1263 }
1264 }
1265
1266 if (!mask && (!GetTransparent() || GetImageOpacity() == ImageOpacity::Opaque)) {
1267 return PIXMAN_OP_SRC;
1268 }
1269
1270 return PIXMAN_OP_OVER;
1271}
1272
1273void Bitmap::EdgeMirrorBlit(int x, int y, Bitmap const& src, Rect const& src_rect, bool mirror_x, bool mirror_y, Opacity const& opacity) {
1274 if (opacity.IsTransparent())

Callers 7

BlitMethod · 0.80
TiledBlitMethod · 0.80
StretchBlitMethod · 0.80
WaverBlitMethod · 0.80
ToneBlitMethod · 0.80
BlendBlitMethod · 0.80
EdgeMirrorBlitMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected