equal
deleted
inserted
replaced
100 state->blendInfo.destination.rectangle = &state->dstRect; |
100 state->blendInfo.destination.rectangle = &state->dstRect; |
101 state->blendInfo.source.image = state->scaledSourceImage; |
101 state->blendInfo.source.image = state->scaledSourceImage; |
102 state->blendInfo.source.rectangle = &state->scaledSrcRect; |
102 state->blendInfo.source.rectangle = &state->scaledSrcRect; |
103 state->blendInfo.mask = state->originalMaskImage ? state->maskImage : NULL; |
103 state->blendInfo.mask = state->originalMaskImage ? state->maskImage : NULL; |
104 state->blendInfo.globalAlpha = state->globalAlpha; |
104 state->blendInfo.globalAlpha = state->globalAlpha; |
105 |
|
106 /* composition does not use these values ever */ |
|
107 state->blendInfo.tsColor = NULL; |
|
108 state->blendInfo.destinationFullyOpaque = OWF_FALSE; |
|
109 |
105 |
110 DPRINT((" globalAplha = %f", state->globalAlpha)); |
106 DPRINT((" globalAplha = %f", state->globalAlpha)); |
111 /* no need to check with OWF_ALPHA_MIN_VALUE as it is zero */ |
107 /* no need to check with OWF_ALPHA_MIN_VALUE as it is zero */ |
112 OWF_ASSERT(state->blendInfo.globalAlpha <= OWF_ALPHA_MAX_VALUE); |
108 OWF_ASSERT(state->blendInfo.globalAlpha <= OWF_ALPHA_MAX_VALUE); |
113 } |
109 } |
350 state->rotation = element->sourceRotation; |
346 state->rotation = element->sourceRotation; |
351 state->sourceFlip = element->sourceFlip; |
347 state->sourceFlip = element->sourceFlip; |
352 state->globalAlpha = element->globalAlpha; |
348 state->globalAlpha = element->globalAlpha; |
353 state->sourceScaleFilter = element->sourceScaleFilter; |
349 state->sourceScaleFilter = element->sourceScaleFilter; |
354 state->transparencyTypes = element->transparencyTypes; |
350 state->transparencyTypes = element->transparencyTypes; |
|
351 |
|
352 if (state->transparencyTypes & WFC_TRANSPARENCY_ELEMENT_GLOBAL_ALPHA) |
|
353 { |
|
354 if (state->globalAlpha == OWF_FULLY_TRANSPARENT) |
|
355 { |
|
356 /* Fully transparent element - no contribution. */ |
|
357 return NULL; |
|
358 } |
|
359 if (state->globalAlpha == OWF_FULLY_OPAQUE) |
|
360 { |
|
361 /* Fully opaque global alpha - global alpha can be ignored */ |
|
362 state->transparencyTypes &= ~WFC_TRANSPARENCY_ELEMENT_GLOBAL_ALPHA; |
|
363 } |
|
364 } |
|
365 |
355 /* replicate the source viewport rectangle and target extent rectangle */ |
366 /* replicate the source viewport rectangle and target extent rectangle */ |
356 for (x = 0; x < 4; x++) |
367 for (x = 0; x < 4; x++) |
357 { |
368 { |
358 state->sourceRect[x] = element->srcRect[x]; |
369 state->sourceRect[x] = element->srcRect[x]; |
359 state->destinationRect[x] = element->dstRect[x]; |
370 state->destinationRect[x] = element->dstRect[x]; |