summaryrefslogtreecommitdiff
path: root/sd/source/ui/slideshow
diff options
context:
space:
mode:
authorthb <thb@openoffice.org>2009-06-29 15:15:41 +0200
committerthb <thb@openoffice.org>2009-06-29 15:15:41 +0200
commit44d83b68fd07342fdad4003ce4007e26669979f4 (patch)
tree728e10999276a33fe99eef6fdbfcfa0e7944fa40 /sd/source/ui/slideshow
parent5d1e85e75edb5a702e538017063f7598d9f23c8e (diff)
#103174# Code from the ecntablet and eraser CWS; optionally improves user paint interactions in slideshow
Diffstat (limited to 'sd/source/ui/slideshow')
-rw-r--r--sd/source/ui/slideshow/makefile.mk4
-rw-r--r--sd/source/ui/slideshow/slideshow.hrc22
-rw-r--r--sd/source/ui/slideshow/slideshow.src110
-rw-r--r--sd/source/ui/slideshow/slideshowimpl.cxx335
-rw-r--r--sd/source/ui/slideshow/slideshowimpl.hxx9
5 files changed, 446 insertions, 34 deletions
diff --git a/sd/source/ui/slideshow/makefile.mk b/sd/source/ui/slideshow/makefile.mk
index e157ba99d3bc..b9b3cc9ee84f 100644
--- a/sd/source/ui/slideshow/makefile.mk
+++ b/sd/source/ui/slideshow/makefile.mk
@@ -43,6 +43,10 @@ AUTOSEG=true
.INCLUDE : settings.mk
.INCLUDE : $(PRJ)$/util$/makefile.pmk
+.IF "$(ENABLE_PRESENTER_EXTRA_UI)"="YES"
+CDEFS+= -DENABLE_PRESENTER_EXTRA_UI
+.ENDIF
+
# --- Files --------------------------------------------------------
diff --git a/sd/source/ui/slideshow/slideshow.hrc b/sd/source/ui/slideshow/slideshow.hrc
index 8a9799321738..11a5f9807bb1 100644
--- a/sd/source/ui/slideshow/slideshow.hrc
+++ b/sd/source/ui/slideshow/slideshow.hrc
@@ -27,7 +27,6 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-
#ifndef SD_SLIDESHOW_HRC_
#define SD_SLIDESHOW_HRC_
@@ -38,8 +37,23 @@
#define CM_SCREEN_BLACK 5
#define CM_SCREEN_WHITE 6
#define CM_ENDSHOW 7
-#define CM_FIRST_SLIDE 8
-#define CM_LAST_SLIDE 9
-#define CM_SLIDES 10
+#define CM_ERASE_INK 8
+#define CM_ERASE_ALLINK 9
+#define CM_ERASE_INK_PEN 10
+#define CM_ERASE_INK_PEN_VERY_THIN 11
+#define CM_ERASE_INK_PEN_THIN 12
+#define CM_ERASE_INK_PEN_NORMAL 13
+#define CM_ERASE_INK_PEN_THICK 14
+#define CM_ERASE_INK_PEN_VERY_THICK 15
+#define CM_COLOR_PEN 16
+#define CM_WIDTH_PEN 17
+#define CM_WIDTH_PEN_VERY_THIN 18
+#define CM_WIDTH_PEN_THIN 19
+#define CM_WIDTH_PEN_NORMAL 20
+#define CM_WIDTH_PEN_THICK 21
+#define CM_WIDTH_PEN_VERY_THICK 22
+#define CM_FIRST_SLIDE 23
+#define CM_LAST_SLIDE 24
+#define CM_SLIDES 25
#endif
diff --git a/sd/source/ui/slideshow/slideshow.src b/sd/source/ui/slideshow/slideshow.src
index ec57d3e84897..7d5a05c463bd 100644
--- a/sd/source/ui/slideshow/slideshow.src
+++ b/sd/source/ui/slideshow/slideshow.src
@@ -76,6 +76,56 @@ Menu RID_SLIDESHOW_CONTEXTMENU
};
MenuItem
{
+ Identifier = CM_WIDTH_PEN;
+ Text [ en-US ] = "~Pen Width" ;
+
+ SubMenu = Menu
+ {
+ ItemList =
+ {
+ MenuItem
+ {
+ Identifier = CM_WIDTH_PEN_VERY_THIN;
+ Text [ en-US ] = "~Very thin";
+ };
+ MenuItem
+ {
+ Identifier = CM_WIDTH_PEN_THIN;
+ Text [ en-US ] = "~Thin";
+ };
+ MenuItem
+ {
+ Identifier = CM_WIDTH_PEN_NORMAL;
+ Text [ en-US ] = "~Normal";
+ };
+ MenuItem
+ {
+ Identifier = CM_WIDTH_PEN_THICK;
+ Text [ en-US ] = "~Thick";
+ };
+ MenuItem
+ {
+ Identifier = CM_WIDTH_PEN_VERY_THICK;
+ Text [ en-US ] = "~Very Thick";
+ };
+ };
+ };
+ };
+ MenuItem
+ {
+ Separator = TRUE;
+ };
+ MenuItem
+ {
+ Identifier = CM_COLOR_PEN ;
+ Text [ en-US ] = "~Change Color" ;
+ };
+ MenuItem
+ {
+ Separator = TRUE;
+ };
+ MenuItem
+ {
Identifier = CM_SCREEN;
Text [ en-US ] = "~Screen" ;
@@ -102,6 +152,66 @@ Menu RID_SLIDESHOW_CONTEXTMENU
};
MenuItem
{
+ Identifier = CM_ERASE_ALLINK ;
+ Text [ en-US ] = "~Erase All Ink" ;
+ };
+ MenuItem
+ {
+ Identifier = CM_ERASE_INK ;
+ Text [ en-US ] = "~Erase Ink Mode ON/OFF" ;
+ };
+ MenuItem
+ {
+ Separator = TRUE;
+ };
+ MenuItem
+ {
+ Identifier = CM_ERASE_ALLINK ;
+ Text [ en-US ] = "~Erase All Ink" ;
+ };
+ MenuItem
+ {
+ Identifier = CM_ERASE_INK_PEN;
+ Text [ en-US ] = "~Eraser Size" ;
+
+ SubMenu = Menu
+ {
+ ItemList =
+ {
+ MenuItem
+ {
+ Identifier = CM_ERASE_INK_PEN_VERY_THIN;
+ Text [ en-US ] = "~Very thin";
+ };
+ MenuItem
+ {
+ Identifier = CM_ERASE_INK_PEN_THIN;
+ Text [ en-US ] = "~Thin";
+ };
+ MenuItem
+ {
+ Identifier = CM_ERASE_INK_PEN_NORMAL;
+ Text [ en-US ] = "~Normal";
+ };
+ MenuItem
+ {
+ Identifier = CM_ERASE_INK_PEN_THICK;
+ Text [ en-US ] = "~Thick";
+ };
+ MenuItem
+ {
+ Identifier = CM_ERASE_INK_PEN_VERY_THICK;
+ Text [ en-US ] = "~Very Thick";
+ };
+ };
+ };
+ };
+ MenuItem
+ {
+ Separator = TRUE;
+ };
+ MenuItem
+ {
Identifier = CM_ENDSHOW ;
Text [ en-US ] = "~End Show" ;
};
diff --git a/sd/source/ui/slideshow/slideshowimpl.cxx b/sd/source/ui/slideshow/slideshowimpl.cxx
index c0b4857f3f6b..e56c93f72b13 100644
--- a/sd/source/ui/slideshow/slideshowimpl.cxx
+++ b/sd/source/ui/slideshow/slideshowimpl.cxx
@@ -34,6 +34,7 @@
#include <boost/scoped_ptr.hpp>
+#include "com/sun/star/frame/XComponentLoader.hpp"
#include <com/sun/star/lang/XInitialization.hpp>
#include <com/sun/star/document/XEventsSupplier.hpp>
#include <com/sun/star/drawing/XMasterPageTarget.hpp>
@@ -86,6 +87,7 @@
#include "canvas/elapsedtime.hxx"
#include "canvas/prioritybooster.hxx"
#include "avmedia/mediawindow.hxx"
+#include "svtools/colrdlg.hxx"
#include <boost/noncopyable.hpp>
#include <boost/bind.hpp>
@@ -169,7 +171,7 @@ public:
bool nextSlide();
bool previousSlide();
- void displayCurrentSlide( const Reference< XSlideShow >& xShow );
+ void displayCurrentSlide( const Reference< XSlideShow >& xShow, const Reference< XDrawPagesSupplier>& xDrawPages);
sal_Int32 getNextSlideIndex() const;
sal_Int32 getPreviousSlideIndex() const;
@@ -466,7 +468,7 @@ bool AnimationSlideController::previousSlide()
return jumpToSlideIndex( getPreviousSlideIndex() );
}
-void AnimationSlideController::displayCurrentSlide( const Reference< XSlideShow >& xShow )
+void AnimationSlideController::displayCurrentSlide( const Reference< XSlideShow >& xShow, const Reference< XDrawPagesSupplier>& xDrawPages )
{
const sal_Int32 nCurrentSlideNumber = getCurrentSlideNumber();
@@ -488,7 +490,7 @@ void AnimationSlideController::displayCurrentSlide( const Reference< XSlideShow
}
if( getSlideAPI( nCurrentSlideNumber, xSlide, xAnimNode ) )
- xShow->displaySlide( xSlide, xAnimNode, aProperties );
+ xShow->displaySlide( xSlide, xDrawPages, xAnimNode, aProperties );
}
}
@@ -523,7 +525,11 @@ SlideshowImpl::SlideshowImpl( const Reference< XPresentation2 >& xPresentation,
, mbInputFreeze(false)
, mbActive(sal_False)
, maPresSettings( pDoc->getPresentationSettings() )
-, mnUserPaintColor( 0x0000FF00L )
+, mnUserPaintColor( 0x00000000L )
+, mdUserPaintStrokeWidth ( 4.0 )
+, mbEraseAllInk(false)
+, mbEraseInk(false)
+, mnEraseInkSize(100.0)
, mnEntryCounter(0)
, mnLastSlideNumber(-1)
, msOnClick( RTL_CONSTASCII_USTRINGPARAM("OnClick") )
@@ -1087,7 +1093,7 @@ bool SlideshowImpl::startShow( PresentationSettingsEx* pPresSettings )
aProperties.push_back(
beans::PropertyValue(
OUString( RTL_CONSTASCII_USTRINGPARAM("UserPaintColor") ),
- -1, Any( static_cast<sal_Int32>(0x0000FF00L) ),
+ -1, Any( static_cast<sal_Int32>(0x00000000L) ),
beans::PropertyState_DIRECT_VALUE ) );
}
@@ -1394,7 +1400,8 @@ void SlideshowImpl::displayCurrentSlide()
if( mpSlideController.get() && mxShow.is() )
{
- mpSlideController->displayCurrentSlide( mxShow );
+ Reference< XDrawPagesSupplier > xDrawPages( mpDoc->getUnoModel(), UNO_QUERY_THROW );
+ mpSlideController->displayCurrentSlide( mxShow, xDrawPages );
registerShapeEvents(mpSlideController->getCurrentSlideNumber());
update();
@@ -1411,6 +1418,12 @@ void SlideshowImpl::displayCurrentSlide()
void SlideshowImpl::endPresentation()
{
+ if( maPresSettings.mbMouseAsPen)
+ {
+ Reference< XMultiServiceFactory > xDocFactory(mpDoc->getUnoModel(), UNO_QUERY );
+ if( xDocFactory.is() )
+ mxShow->registerUserPaintPolygons(xDocFactory);
+ }
if( !mnEndShowEvent )
mnEndShowEvent = Application::PostUserEvent( LINK(this, SlideshowImpl, endPresentationHdl) );
}
@@ -2112,6 +2125,12 @@ IMPL_LINK( SlideshowImpl, ContextMenuHdl, void*, EMPTYARG )
PopupMenu* pMenu = new PopupMenu( SdResId( RID_SLIDESHOW_CONTEXTMENU ) );
+#ifdef ENABLE_PRESENTER_EXTRA_UI
+ //adding button to contextual menu for erasing functionnalities for UserPaintOverlay
+ pMenu->EnableItem( CM_ERASE_ALLINK, (maPresSettings.mbMouseAsPen));
+ pMenu->EnableItem( CM_COLOR_PEN, (maPresSettings.mbMouseAsPen));
+#endif
+
const ShowWindowMode eMode = mpShowWindow->GetShowWindowMode();
pMenu->EnableItem( CM_NEXT_SLIDE, ( mpSlideController->getNextSlideIndex() != -1 ) );
pMenu->EnableItem( CM_PREV_SLIDE, ( mpSlideController->getPreviousSlideIndex() != -1 ) || (eMode == SHOWWINDOWMODE_END) || (eMode == SHOWWINDOWMODE_PAUSE) || (eMode == SHOWWINDOWMODE_BLANK) );
@@ -2179,6 +2198,100 @@ IMPL_LINK( SlideshowImpl, ContextMenuHdl, void*, EMPTYARG )
}
}
+ PopupMenu* pWidthMenu = pMenu->GetPopupMenu( CM_WIDTH_PEN);
+
+ // populate color width list
+ if( pWidthMenu )
+ {
+ if(! maPresSettings.mbMouseAsPen)
+ {
+ pMenu->EnableItem( CM_WIDTH_PEN, FALSE );
+ }
+ else
+ {
+ sal_Int32 nIterator;
+ double nWidth;
+
+ nWidth = 4.0;
+ for( nIterator = 1; nIterator < 6; nIterator++)
+ {
+ switch(nIterator)
+ {
+ case 1:
+ nWidth = 4.0;
+ break;
+ case 2:
+ nWidth = 100.0;
+ break;
+ case 3:
+ nWidth = 150.0;
+ break;
+ case 4:
+ nWidth = 200.0;
+ break;
+ case 5:
+ nWidth = 400.0;
+ break;
+ default:
+ break;
+ }
+
+ pWidthMenu->EnableItem( (USHORT)(CM_WIDTH_PEN + nIterator), TRUE);
+ if( nWidth == mdUserPaintStrokeWidth)
+ pWidthMenu->CheckItem( (USHORT)(CM_WIDTH_PEN + nIterator) );
+
+ }
+ }
+ }
+
+#ifdef ENABLE_PRESENTER_EXTRA_UI
+ PopupMenu* pEraseWidthMenu = pMenu->GetPopupMenu( CM_ERASE_INK_PEN);
+
+ // populate eraser width list
+ if( pEraseWidthMenu )
+ {
+ if(! maPresSettings.mbMouseAsPen)
+ {
+ pMenu->EnableItem( CM_ERASE_INK_PEN, FALSE );
+ }
+ else
+ {
+ sal_Int32 nEIterator;
+ double nEWidth;
+
+ nEWidth = 100.0;
+ for( nEIterator = 1; nEIterator < 6; nEIterator++)
+ {
+ switch(nEIterator)
+ {
+ case 1:
+ nEWidth = 100.0;
+ break;
+ case 2:
+ nEWidth = 200.0;
+ break;
+ case 3:
+ nEWidth = 300.0;
+ break;
+ case 4:
+ nEWidth = 400.0;
+ break;
+ case 5:
+ nEWidth = 500.0;
+ break;
+ default:
+ break;
+ }
+
+ pEraseWidthMenu->EnableItem( (USHORT)(CM_ERASE_INK_PEN + nEIterator), TRUE);
+ if( nEWidth == mnEraseInkSize)
+ pEraseWidthMenu->CheckItem( (USHORT)(CM_ERASE_INK_PEN + nEIterator) );
+
+ }
+ }
+ }
+#endif
+
pMenu->SetSelectHdl( LINK( this, SlideshowImpl, ContextMenuSelectHdl ) );
pMenu->Execute( mpShowWindow, maPopupMousePos );
delete pMenu;
@@ -2241,32 +2354,134 @@ IMPL_LINK( SlideshowImpl, ContextMenuSelectHdl, Menu *, pMenu )
}
}
break;
+ case CM_COLOR_PEN:
+ if( maPresSettings.mbMouseAsPen )
+ {
+ //Open a color picker based on SvColorDialog
+ ::Color aColor( mnUserPaintColor );
+ SvColorDialog aColorDlg( mpShowWindow);
+ aColorDlg.SetColor( aColor );
- case CM_ENDSHOW:
- // in case the user cancels the presentation, switch to current slide
- // in edit mode
- if( mpSlideController.get() && (ANIMATIONMODE_SHOW == meAnimationMode) )
- {
- if( mpSlideController->getCurrentSlideNumber() != -1 )
+ if (aColorDlg.Execute() )
+ {
+ aColor = aColorDlg.GetColor();
+ mnUserPaintColor = aColor.GetColor();
+ setPenColor(mnUserPaintColor);
+ }
+ mbWasPaused = false;
+ }
+ break;
+
+ case CM_WIDTH_PEN_VERY_THIN:
+ if( maPresSettings.mbMouseAsPen )
{
- mnRestoreSlide = mpSlideController->getCurrentSlideNumber();
+ setPenWidth(4.0);
+ mbWasPaused = false;
}
- }
- endPresentation();
- break;
- default:
- sal_Int32 nPageNumber = nMenuId - CM_SLIDES;
- const ShowWindowMode eMode = mpShowWindow->GetShowWindowMode();
- if( (eMode == SHOWWINDOWMODE_END) || (eMode == SHOWWINDOWMODE_PAUSE) || (eMode == SHOWWINDOWMODE_BLANK) )
- {
- mpShowWindow->RestartShow( nPageNumber );
- }
- else if( nPageNumber != mpSlideController->getCurrentSlideNumber() )
- {
- displaySlideNumber( nPageNumber );
- }
- mbWasPaused = false;
- break;
+ break;
+
+ case CM_WIDTH_PEN_THIN:
+ if( maPresSettings.mbMouseAsPen )
+ {
+ setPenWidth(100.0);
+ mbWasPaused = false;
+ }
+ break;
+
+ case CM_WIDTH_PEN_NORMAL:
+ if( maPresSettings.mbMouseAsPen )
+ {
+ setPenWidth(150.0);
+ mbWasPaused = false;
+ }
+ break;
+
+ case CM_WIDTH_PEN_THICK:
+ if( maPresSettings.mbMouseAsPen )
+ {
+ setPenWidth(200.0);
+ mbWasPaused = false;
+ }
+ break;
+
+ case CM_WIDTH_PEN_VERY_THICK:
+ if( maPresSettings.mbMouseAsPen )
+ {
+ setPenWidth(400.0);
+ mbWasPaused = false;
+ }
+ break;
+ case CM_ERASE_ALLINK:
+ if( maPresSettings.mbMouseAsPen )
+ {
+ setEraseAllInk(true);
+ mbWasPaused = false;
+ }
+ break;
+ case CM_ERASE_INK_PEN_VERY_THIN:
+ if( maPresSettings.mbMouseAsPen )
+ {
+ setEraseInk(100.0);
+ mbWasPaused = false;
+ }
+ break;
+
+ case CM_ERASE_INK_PEN_THIN:
+ if( maPresSettings.mbMouseAsPen )
+ {
+ setEraseInk(200.0);
+ mbWasPaused = false;
+ }
+ break;
+
+ case CM_ERASE_INK_PEN_NORMAL:
+ if( maPresSettings.mbMouseAsPen )
+ {
+ setEraseInk(300.0);
+ mbWasPaused = false;
+ }
+ break;
+
+ case CM_ERASE_INK_PEN_THICK:
+ if( maPresSettings.mbMouseAsPen )
+ {
+ setEraseInk(400.0);
+ mbWasPaused = false;
+ }
+ break;
+ case CM_ERASE_INK_PEN_VERY_THICK:
+ if( maPresSettings.mbMouseAsPen )
+ {
+ setEraseInk(500.0);
+ mbWasPaused = false;
+ }
+ break;
+
+ case CM_ENDSHOW:
+ // in case the user cancels the presentation, switch to current slide
+ // in edit mode
+ if( mpSlideController.get() && (ANIMATIONMODE_SHOW == meAnimationMode) )
+ {
+ if( mpSlideController->getCurrentSlideNumber() != -1 )
+ {
+ mnRestoreSlide = mpSlideController->getCurrentSlideNumber();
+ }
+ }
+ endPresentation();
+ break;
+ default:
+ sal_Int32 nPageNumber = nMenuId - CM_SLIDES;
+ const ShowWindowMode eMode = mpShowWindow->GetShowWindowMode();
+ if( (eMode == SHOWWINDOWMODE_END) || (eMode == SHOWWINDOWMODE_PAUSE) || (eMode == SHOWWINDOWMODE_BLANK) )
+ {
+ mpShowWindow->RestartShow( nPageNumber );
+ }
+ else if( nPageNumber != mpSlideController->getCurrentSlideNumber() )
+ {
+ displaySlideNumber( nPageNumber );
+ }
+ mbWasPaused = false;
+ break;
}
}
@@ -2859,6 +3074,33 @@ void SAL_CALL SlideshowImpl::setUsePen( sal_Bool bMouseAsPen ) throw (RuntimeExc
aPenProp.Value = aValue;
mxShow->setProperty( aPenProp );
+ //for StrokeWidth :
+ Any aValueWidth;
+ if( maPresSettings.mbMouseAsPen )
+ aValueWidth <<= mdUserPaintStrokeWidth;
+
+ beans::PropertyValue aPenPropWidth;
+ aPenPropWidth.Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "UserPaintStrokeWidth" ));
+ aPenPropWidth.Value = aValueWidth;
+
+ mxShow->setProperty( aPenPropWidth );
+
+ //for EraseAllInk :
+ Any aValueEraseAllInk;
+ if( maPresSettings.mbMouseAsPen )
+ aValueEraseAllInk <<= mbEraseAllInk;
+ beans::PropertyValue aPenPropEraseAllInk;
+ aPenPropEraseAllInk.Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "EraseAllInk" ));
+ aPenPropEraseAllInk.Value = aValueEraseAllInk;
+ mxShow->setProperty( aPenPropEraseAllInk );
+ //for EraseInk :
+ Any aValueEraseInk;
+ if( maPresSettings.mbMouseAsPen )
+ aValueEraseInk <<= mnEraseInkSize;
+ beans::PropertyValue aPenPropEraseInk;
+ aPenPropEraseInk.Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "EraseInk" ));
+ aPenPropEraseInk.Value = aValueEraseInk;
+ mxShow->setProperty( aPenPropEraseInk );
}
catch( Exception& e )
{
@@ -2873,6 +3115,23 @@ void SAL_CALL SlideshowImpl::setUsePen( sal_Bool bMouseAsPen ) throw (RuntimeExc
}
// --------------------------------------------------------------------
+double SAL_CALL SlideshowImpl::getPenWidth() throw (RuntimeException)
+{
+ ::vos::OGuard aSolarGuard( Application::GetSolarMutex() );
+ return mdUserPaintStrokeWidth;
+}
+
+
+// --------------------------------------------------------------------
+
+void SAL_CALL SlideshowImpl::setPenWidth( double dStrokeWidth ) throw (RuntimeException)
+{
+ ::vos::OGuard aSolarGuard( Application::GetSolarMutex() );
+ mdUserPaintStrokeWidth = dStrokeWidth;
+ if( maPresSettings.mbMouseAsPen )
+ setUsePen( sal_True ); // update color and width
+}
+// --------------------------------------------------------------------
sal_Int32 SAL_CALL SlideshowImpl::getPenColor() throw (RuntimeException)
{
@@ -2891,6 +3150,24 @@ void SAL_CALL SlideshowImpl::setPenColor( sal_Int32 nColor ) throw (RuntimeExcep
}
// --------------------------------------------------------------------
+
+void SAL_CALL SlideshowImpl::setEraseAllInk( bool bEraseAllInk ) throw (RuntimeException)
+{
+ ::vos::OGuard aSolarGuard( Application::GetSolarMutex() );
+ mbEraseAllInk=bEraseAllInk;
+ if( maPresSettings.mbMouseAsPen )
+ setUsePen( sal_True ); // update erase all ink bool
+}
+
+
+void SAL_CALL SlideshowImpl::setEraseInk( double nEraseInkSize ) throw (RuntimeException)
+{
+ ::vos::OGuard aSolarGuard( Application::GetSolarMutex() );
+ mnEraseInkSize=nEraseInkSize;
+ if( maPresSettings.mbMouseAsPen )
+ setUsePen( sal_True ); // update erase ink size
+}
+// --------------------------------------------------------------------
// XSlideShowController Methods
// --------------------------------------------------------------------
diff --git a/sd/source/ui/slideshow/slideshowimpl.hxx b/sd/source/ui/slideshow/slideshowimpl.hxx
index b9d5506ff2f3..b492288b3f0c 100644
--- a/sd/source/ui/slideshow/slideshowimpl.hxx
+++ b/sd/source/ui/slideshow/slideshowimpl.hxx
@@ -200,8 +200,12 @@ public:
virtual void SAL_CALL setMouseVisible( ::sal_Bool _mousevisible ) throw (css::uno::RuntimeException);
virtual ::sal_Bool SAL_CALL getUsePen() throw (css::uno::RuntimeException);
virtual void SAL_CALL setUsePen( ::sal_Bool _usepen ) throw (css::uno::RuntimeException);
+ virtual double SAL_CALL getPenWidth() throw (css::uno::RuntimeException);
+ virtual void SAL_CALL setPenWidth( double dStrokeWidth ) throw (css::uno::RuntimeException);
virtual ::sal_Int32 SAL_CALL getPenColor() throw (css::uno::RuntimeException);
virtual void SAL_CALL setPenColor( ::sal_Int32 _pencolor ) throw (css::uno::RuntimeException);
+ virtual void SAL_CALL setEraseAllInk( bool bEraseAllInk ) throw (css::uno::RuntimeException);
+ virtual void SAL_CALL setEraseInk( double nEraseInkSize ) throw (css::uno::RuntimeException);
virtual ::sal_Bool SAL_CALL isRunning( ) throw (css::uno::RuntimeException);
virtual ::sal_Int32 SAL_CALL getSlideCount( ) throw (css::uno::RuntimeException);
virtual css::uno::Reference< css::drawing::XDrawPage > SAL_CALL getSlideByIndex( ::sal_Int32 Index ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException);
@@ -380,7 +384,10 @@ private:
PresentationSettings maPresSettings;
sal_Int32 mnUserPaintColor;
-
+ double mdUserPaintStrokeWidth;
+ bool mbEraseAllInk;
+ bool mbEraseInk;
+ double mnEraseInkSize;
/// used in updateHdl to prevent recursive calls
sal_Int32 mnEntryCounter;