summaryrefslogtreecommitdiff
path: root/slideshow/source
diff options
context:
space:
mode:
authorPhilipp Lohmann [pl] <Philipp.Lohmann@Oracle.COM>2010-08-03 11:46:23 +0200
committerPhilipp Lohmann [pl] <Philipp.Lohmann@Oracle.COM>2010-08-03 11:46:23 +0200
commit427ee90b689821e68eb19457982fa117cf61d03c (patch)
tree2008e79a712d1f5018d6e704b397d8fd3515d3c6 /slideshow/source
parente8af7005f7d30c025c546f0da90b260be1cff27b (diff)
parentf0072466a6c06f6ea0516b021eb53176128b13d3 (diff)
merge with DEV300_m86
Diffstat (limited to 'slideshow/source')
-rw-r--r--slideshow/source/engine/shapes/viewmediashape.cxx24
-rw-r--r--slideshow/source/engine/shapes/viewmediashape.hxx4
-rw-r--r--slideshow/source/engine/slide/layer.cxx4
3 files changed, 17 insertions, 15 deletions
diff --git a/slideshow/source/engine/shapes/viewmediashape.cxx b/slideshow/source/engine/shapes/viewmediashape.cxx
index 1c0b6f9b71a1..ee076d7e394d 100644
--- a/slideshow/source/engine/shapes/viewmediashape.cxx
+++ b/slideshow/source/engine/shapes/viewmediashape.cxx
@@ -39,7 +39,7 @@
#include <cppuhelper/exc_hlp.hxx>
#include <vcl/window.hxx>
-#include <vcl/javachild.hxx>
+#include <vcl/syschild.hxx>
#include <vcl/salbtype.hxx>
#include <basegfx/tools/canvastools.hxx>
@@ -153,7 +153,7 @@ namespace slideshow
mxPlayerWindow.clear();
}
- mpMediaWindow = ::std::auto_ptr< JavaChildWindow >();
+ mpMediaWindow = ::std::auto_ptr< SystemChildWindow >();
// shutdown player
if( mxPlayer.is() )
@@ -431,29 +431,29 @@ namespace slideshow
if( !rRangePix.isEmpty() )
{
- uno::Sequence< uno::Any > aArgs( 2 );
+ uno::Sequence< uno::Any > aArgs( 3 );
awt::Rectangle aAWTRect( rRangePix.getMinX(),
rRangePix.getMinY(),
rRangePix.getMaxX() - rRangePix.getMinX(),
rRangePix.getMaxY() - rRangePix.getMinY() );
- mpMediaWindow = ::std::auto_ptr< JavaChildWindow >( new JavaChildWindow( pWindow, WB_CLIPCHILDREN ) );
+ mpMediaWindow = ::std::auto_ptr< SystemChildWindow >( new
+ SystemChildWindow( pWindow, WB_CLIPCHILDREN ) );
mpMediaWindow->SetBackground( Color( COL_BLACK ) );
- mpMediaWindow->SetPosSizePixel( Point( aAWTRect.X,
- aAWTRect.Y ),
- Size( aAWTRect.Width,
- aAWTRect.Height ));
+ mpMediaWindow->SetPosSizePixel( Point( aAWTRect.X, aAWTRect.Y ),
+ Size( aAWTRect.Width, aAWTRect.Height ) );
mpMediaWindow->Show();
if( mxPlayer.is() )
{
aArgs[ 0 ] = uno::makeAny(
- sal::static_int_cast<sal_IntPtr>(
- mpMediaWindow->getParentWindowHandleForJava()) );
+ sal::static_int_cast< sal_IntPtr >( mpMediaWindow->GetParentWindowHandle() ) );
aAWTRect.X = aAWTRect.Y = 0;
aArgs[ 1 ] = uno::makeAny( aAWTRect );
+ aArgs[ 2 ] = uno::makeAny( reinterpret_cast< sal_IntPtr >( mpMediaWindow.get() ) );
+
mxPlayerWindow.set( mxPlayer->createPlayerWindow( aArgs ) );
if( mxPlayerWindow.is() )
@@ -515,9 +515,7 @@ namespace slideshow
if( mxPlayer.is() )
{
- aArgs[ 0 ] = uno::makeAny(
- sal::static_int_cast<sal_Int32>(
- aWNDVal) );
+ aArgs[ 0 ] = uno::makeAny( sal::static_int_cast< sal_Int32 >( aWNDVal) );
aArgs[ 1 ] = uno::makeAny( aAWTRect );
mxPlayerWindow.set( mxPlayer->createPlayerWindow( aArgs ) );
diff --git a/slideshow/source/engine/shapes/viewmediashape.hxx b/slideshow/source/engine/shapes/viewmediashape.hxx
index 5e2568bbd98e..8e024ae75bbe 100644
--- a/slideshow/source/engine/shapes/viewmediashape.hxx
+++ b/slideshow/source/engine/shapes/viewmediashape.hxx
@@ -36,7 +36,7 @@
#include "viewlayer.hxx"
-class JavaChildWindow;
+class SystemChildWindow;
namespace com { namespace sun { namespace star { namespace drawing {
class XShape;
@@ -155,7 +155,7 @@ namespace slideshow
const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& rDXDeviceParams );
ViewLayerSharedPtr mpViewLayer;
- ::std::auto_ptr< JavaChildWindow > mpMediaWindow;
+ ::std::auto_ptr< SystemChildWindow > mpMediaWindow;
mutable ::com::sun::star::awt::Point maWindowOffset;
mutable ::basegfx::B2DRectangle maBounds;
diff --git a/slideshow/source/engine/slide/layer.cxx b/slideshow/source/engine/slide/layer.cxx
index be67b220962e..65f52f3b823f 100644
--- a/slideshow/source/engine/slide/layer.cxx
+++ b/slideshow/source/engine/slide/layer.cxx
@@ -36,6 +36,8 @@
#include <basegfx/range/b2dpolyrange.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <basegfx/polygon/b2dpolypolygon.hxx>
+#include <basegfx/polygon/b2dpolypolygontools.hxx>
+#include <basegfx/polygon/b2dpolypolygoncutter.hxx>
#include "layer.hxx"
@@ -288,6 +290,8 @@ namespace slideshow
// clipping, and render each shape that intersects with
// the calculated update area
::basegfx::B2DPolyPolygon aClip( maUpdateAreas.solveCrossovers() );
+ aClip = ::basegfx::tools::stripNeutralPolygons(aClip);
+ aClip = ::basegfx::tools::stripDispensablePolygons(aClip, false);
// actually, if there happen to be shapes with zero
// update area in the maUpdateAreas vector, the