vclprocessor2d.cxx (2af35ee2) | vclprocessor2d.cxx (6de8cae6) |
---|---|
1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance --- 402 unchanged lines hidden (view full) --- 411 412 bPainted = true; 413 } 414 } 415 416 if(!bPainted) 417 { 418 static bool bForceUseOfOwnTransformer(false); | 1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance --- 402 unchanged lines hidden (view full) --- 411 412 bPainted = true; 413 } 414 } 415 416 if(!bPainted) 417 { 418 static bool bForceUseOfOwnTransformer(false); |
419 static bool bUseGraphicManager(true); | |
420 421 // decompose matrix to check for shear, rotate and mirroring 422 basegfx::B2DVector aScale, aTranslate; 423 double fRotate, fShearX; 424 aLocalTransform.decompose(aScale, aTranslate, fRotate, fShearX); 425 426 // #121387# when mirrored and rotated, avoid the GraphicManager output which has low quality 427 const bool bRotated(!basegfx::fTools::equalZero(fRotate)); 428 const bool bSheared(!basegfx::fTools::equalZero(fShearX)); | 419 420 // decompose matrix to check for shear, rotate and mirroring 421 basegfx::B2DVector aScale, aTranslate; 422 double fRotate, fShearX; 423 aLocalTransform.decompose(aScale, aTranslate, fRotate, fShearX); 424 425 // #121387# when mirrored and rotated, avoid the GraphicManager output which has low quality 426 const bool bRotated(!basegfx::fTools::equalZero(fRotate)); 427 const bool bSheared(!basegfx::fTools::equalZero(fShearX)); |
429 const bool bMirrored(aScale.getX() < 0.0 || aScale.getY() < 0.0); 430 const bool bMirroredAndRotated(bRotated && bMirrored); | 428 //const bool bMirrored(aScale.getX() < 0.0 || aScale.getY() < 0.0); 429 // const bool bMirroredAndRotated(bRotated && bMirrored); |
431 | 430 |
432 if(!bForceUseOfOwnTransformer && !bSheared && !bMirroredAndRotated) | 431 if(!bForceUseOfOwnTransformer && !bRotated && !bSheared) // && !bMirrored) |
433 { | 432 { |
434 if(!bUseGraphicManager && !bRotated) 435 { 436 RenderBitmapPrimitive2D_BitmapEx(*mpOutputDevice, aBitmapEx, aLocalTransform); 437 } 438 else 439 { 440 RenderBitmapPrimitive2D_GraphicManager(*mpOutputDevice, aBitmapEx, aLocalTransform); 441 } | 433 RenderBitmapPrimitive2D_BitmapEx(*mpOutputDevice, aBitmapEx, aLocalTransform); |
442 } 443 else 444 { 445 if(!aBitmapEx.IsTransparent() && (bSheared || bRotated)) 446 { 447 // parts will be uncovered, extend aBitmapEx with a mask bitmap 448 const Bitmap aContent(aBitmapEx.GetBitmap()); 449 aBitmapEx = BitmapEx(aContent, Bitmap(aContent.GetSizePixel(), 1)); --- 1176 unchanged lines hidden --- | 434 } 435 else 436 { 437 if(!aBitmapEx.IsTransparent() && (bSheared || bRotated)) 438 { 439 // parts will be uncovered, extend aBitmapEx with a mask bitmap 440 const Bitmap aContent(aBitmapEx.GetBitmap()); 441 aBitmapEx = BitmapEx(aContent, Bitmap(aContent.GetSizePixel(), 1)); --- 1176 unchanged lines hidden --- |