LibreOffice Module sd (master) 1
|
A simple slide sorter for the presenter screen. More...
#include <PresenterSlideSorter.hxx>
Classes | |
class | CurrentSlideFrameRenderer |
class | Layout |
class | MouseOverManager |
Public Member Functions | |
PresenterSlideSorter (const css::uno::Reference< css::uno::XComponentContext > &rxContext, const css::uno::Reference< css::drawing::framework::XResourceId > &rxViewId, const rtl::Reference<::sd::DrawController > &rxController, const ::rtl::Reference< PresenterController > &rpPresenterController) | |
virtual | ~PresenterSlideSorter () override |
virtual void SAL_CALL | disposing () override |
virtual void SAL_CALL | disposing (const css::lang::EventObject &rEventObject) override |
virtual void SAL_CALL | windowResized (const css::awt::WindowEvent &rEvent) override |
virtual void SAL_CALL | windowMoved (const css::awt::WindowEvent &rEvent) override |
virtual void SAL_CALL | windowShown (const css::lang::EventObject &rEvent) override |
virtual void SAL_CALL | windowHidden (const css::lang::EventObject &rEvent) override |
virtual void SAL_CALL | windowPaint (const css::awt::PaintEvent &rEvent) override |
virtual void SAL_CALL | mousePressed (const css::awt::MouseEvent &rEvent) override |
virtual void SAL_CALL | mouseReleased (const css::awt::MouseEvent &rEvent) override |
virtual void SAL_CALL | mouseEntered (const css::awt::MouseEvent &rEvent) override |
virtual void SAL_CALL | mouseExited (const css::awt::MouseEvent &rEvent) override |
virtual void SAL_CALL | mouseMoved (const css::awt::MouseEvent &rEvent) override |
virtual void SAL_CALL | mouseDragged (const css::awt::MouseEvent &rEvent) override |
virtual css::uno::Reference< css::drawing::framework::XResourceId > SAL_CALL | getResourceId () override |
virtual sal_Bool SAL_CALL | isAnchorOnly () override |
virtual void SAL_CALL | propertyChange (const css::beans::PropertyChangeEvent &rEvent) override |
virtual void SAL_CALL | notifyPreviewCreation (sal_Int32 nSlideIndex) override |
virtual void SAL_CALL | setCurrentPage (const css::uno::Reference< css::drawing::XDrawPage > &rxSlide) override |
virtual css::uno::Reference< css::drawing::XDrawPage > SAL_CALL | getCurrentPage () override |
Private Member Functions | |
void | UpdateLayout () |
css::geometry::RealRectangle2D | PlaceScrollBars (const css::geometry::RealRectangle2D &rUpperBox) |
void | PlaceCloseButton (const PresenterPaneContainer::SharedPaneDescriptor &rpPane, const css::awt::Rectangle &rCenterBox, const sal_Int32 nLeftFrameWidth) |
void | ClearBackground (const css::uno::Reference< css::rendering::XCanvas > &rxCanvas, const css::awt::Rectangle &rRedrawArea) |
double | GetSlideAspectRatio () const |
css::uno::Reference< css::rendering::XBitmap > | GetPreview (const sal_Int32 nSlideIndex) |
void | PaintPreview (const css::uno::Reference< css::rendering::XCanvas > &rxCanvas, const css::awt::Rectangle &rUpdateBox, const sal_Int32 nSlideIndex) |
void | Paint (const css::awt::Rectangle &rUpdateBox) |
void | SetHorizontalOffset (const double nXOffset) |
void | SetVerticalOffset (const double nYOffset) |
void | GotoSlide (const sal_Int32 nSlideIndex) |
bool | ProvideCanvas () |
void | ThrowIfDisposed () |
Private Attributes | |
css::uno::Reference< css::uno::XComponentContext > | mxComponentContext |
css::uno::Reference< css::drawing::framework::XResourceId > | mxViewId |
css::uno::Reference< css::drawing::framework::XPane > | mxPane |
css::uno::Reference< css::rendering::XCanvas > | mxCanvas |
css::uno::Reference< css::awt::XWindow > | mxWindow |
::rtl::Reference< PresenterController > | mpPresenterController |
css::uno::Reference< css::presentation::XSlideShowController > | mxSlideShowController |
css::uno::Reference< css::drawing::XSlidePreviewCache > | mxPreviewCache |
bool | mbIsLayoutPending |
std::shared_ptr< Layout > | mpLayout |
::rtl::Reference< PresenterScrollBar > | mpVerticalScrollBar |
::rtl::Reference< PresenterButton > | mpCloseButton |
std::unique_ptr< MouseOverManager > | mpMouseOverManager |
sal_Int32 | mnSlideIndexMousePressed |
sal_Int32 | mnCurrentSlideIndex |
sal_Int32 | mnSeparatorY |
css::util::Color | maSeparatorColor |
css::awt::Rectangle | maCurrentSlideFrameBoundingBox |
std::shared_ptr< CurrentSlideFrameRenderer > | mpCurrentSlideFrameRenderer |
css::uno::Reference< css::rendering::XPolyPolygon2D > | mxPreviewFrame |
![]() | |
mutable::osl::Mutex | m_aMutex |
A simple slide sorter for the presenter screen.
It uses a preview cache to create the slide previews. Painting is done via a canvas.
Definition at line 59 of file PresenterSlideSorter.hxx.
sdext::presenter::PresenterSlideSorter::PresenterSlideSorter | ( | const css::uno::Reference< css::uno::XComponentContext > & | rxContext, |
const css::uno::Reference< css::drawing::framework::XResourceId > & | rxViewId, | ||
const rtl::Reference<::sd::DrawController > & | rxController, | ||
const ::rtl::Reference< PresenterController > & | rpPresenterController | ||
) |
Definition at line 228 of file PresenterSlideSorter.cxx.
References sdext::presenter::PresenterButton::Create(), disposing(), m_aMutex, maSeparatorColor, mnCurrentSlideIndex, mpCloseButton, mpLayout, mpMouseOverManager, mpPresenterController, mpVerticalScrollBar, mxCanvas, mxComponentContext, mxPane, mxPreviewCache, mxSlideShowController, mxWindow, SetHorizontalOffset(), and xFactory.
|
overridevirtual |
Definition at line 341 of file PresenterSlideSorter.cxx.
|
private |
Definition at line 754 of file PresenterSlideSorter.cxx.
References mpPresenterController, mxViewId, and mxWindow.
Referenced by Paint().
|
overridevirtual |
Definition at line 345 of file PresenterSlideSorter.cxx.
References mpCloseButton, mpLayout, mpMouseOverManager, mpPresenterController, mpVerticalScrollBar, mxCanvas, mxComponentContext, mxPane, mxPreviewCache, mxSlideShowController, mxViewId, and mxWindow.
Referenced by PresenterSlideSorter().
|
overridevirtual |
|
overridevirtual |
Definition at line 606 of file PresenterSlideSorter.cxx.
References ThrowIfDisposed().
|
private |
Definition at line 797 of file PresenterSlideSorter.cxx.
References mpLayout, mxPane, and mxPreviewCache.
Referenced by PaintPreview().
|
overridevirtual |
Definition at line 547 of file PresenterSlideSorter.cxx.
References mxViewId, and ThrowIfDisposed().
|
private |
Definition at line 769 of file PresenterSlideSorter.cxx.
References mxSlideShowController.
Referenced by PlaceScrollBars(), and UpdateLayout().
|
private |
Definition at line 1014 of file PresenterSlideSorter.cxx.
References mxSlideShowController.
Referenced by mouseReleased().
|
overridevirtual |
Definition at line 553 of file PresenterSlideSorter.cxx.
|
overridevirtual |
Definition at line 543 of file PresenterSlideSorter.cxx.
|
overridevirtual |
Definition at line 505 of file PresenterSlideSorter.cxx.
|
overridevirtual |
Definition at line 507 of file PresenterSlideSorter.cxx.
References mnSlideIndexMousePressed, and mpMouseOverManager.
|
overridevirtual |
check whether RTL interface or not
Definition at line 516 of file PresenterSlideSorter.cxx.
References AllSettings::GetLayoutRTL(), mnSlideIndexMousePressed, mpLayout, mpMouseOverManager, and mxWindow.
|
overridevirtual |
check whether RTL interface or not
Definition at line 463 of file PresenterSlideSorter.cxx.
References AllSettings::GetLayoutRTL(), mnSlideIndexMousePressed, mpLayout, and mxWindow.
|
overridevirtual |
check whether RTL interface or not
Definition at line 475 of file PresenterSlideSorter.cxx.
References AllSettings::GetLayoutRTL(), GotoSlide(), mnSlideIndexMousePressed, mpLayout, mpPresenterController, and mxWindow.
|
overridevirtual |
Definition at line 566 of file PresenterSlideSorter.cxx.
References mpLayout, mpPresenterController, and mxWindow.
|
private |
Definition at line 937 of file PresenterSlideSorter.cxx.
References sdext::presenter::PresenterGeometryHelper::AreRectanglesDisjoint(), ClearBackground(), sdext::presenter::PresenterGeometryHelper::ConvertRectangle(), maSeparatorColor, mbIsLayoutPending, mnSeparatorY, mpCloseButton, mpLayout, mpVerticalScrollBar, mxCanvas, mxWindow, nIndex, PaintPreview(), ProvideCanvas(), sdext::presenter::PresenterCanvasHelper::SetDeviceColor(), and UpdateLayout().
Referenced by windowPaint().
|
private |
Definition at line 807 of file PresenterSlideSorter.cxx.
References sdext::presenter::PresenterGeometryHelper::AreRectanglesDisjoint(), sdext::presenter::PresenterGeometryHelper::ConvertRectangle(), sdext::presenter::PresenterGeometryHelper::CreatePolygon(), sdext::presenter::PresenterBitmapContainer::GetBitmap(), AllSettings::GetLayoutRTL(), GetPreview(), sdext::presenter::PresenterController::HasCustomAnimation(), sdext::presenter::PresenterController::HasTransition(), sdext::presenter::PresenterGeometryHelper::Intersection(), maCurrentSlideFrameBoundingBox, mnCurrentSlideIndex, mpCurrentSlideFrameRenderer, mpLayout, mpMouseOverManager, mxCanvas, mxComponentContext, mxPreviewFrame, mxSlideShowController, and sdext::presenter::PresenterCanvasHelper::SetDeviceColor().
Referenced by Paint().
|
private |
Definition at line 724 of file PresenterSlideSorter.cxx.
References abs(), mpCloseButton, and nButtonWidth.
Referenced by UpdateLayout().
|
private |
Definition at line 673 of file PresenterSlideSorter.cxx.
References AllSettings::GetLayoutRTL(), GetSlideAspectRatio(), mpLayout, mpVerticalScrollBar, and mxSlideShowController.
Referenced by UpdateLayout().
|
overridevirtual |
Definition at line 560 of file PresenterSlideSorter.cxx.
|
private |
Definition at line 1019 of file PresenterSlideSorter.cxx.
References mpCurrentSlideFrameRenderer, mxCanvas, mxComponentContext, and mxPane.
Referenced by Paint().
|
overridevirtual |
Definition at line 577 of file PresenterSlideSorter.cxx.
References maCurrentSlideFrameBoundingBox, mnCurrentSlideIndex, mpCurrentSlideFrameRenderer, mpLayout, mpPresenterController, mxSlideShowController, mxWindow, and ThrowIfDisposed().
|
private |
Definition at line 990 of file PresenterSlideSorter.cxx.
References mpLayout, mpPresenterController, mxPreviewCache, and mxWindow.
Referenced by PresenterSlideSorter().
|
private |
Definition at line 1002 of file PresenterSlideSorter.cxx.
References mpLayout, mpPresenterController, mxPreviewCache, and mxWindow.
|
private |
css::lang::DisposedException | when the object has already been disposed. |
Definition at line 1038 of file PresenterSlideSorter.cxx.
Referenced by getCurrentPage(), getResourceId(), setCurrentPage(), windowHidden(), windowMoved(), windowResized(), and windowShown().
|
private |
Definition at line 613 of file PresenterSlideSorter.cxx.
References GetSlideAspectRatio(), sdext::presenter::gnHorizontalBorder(), sdext::presenter::gnVerticalBorder(), mbIsLayoutPending, mnSeparatorY, mpCloseButton, mpLayout, mpPresenterController, mxPreviewCache, mxPreviewFrame, mxViewId, mxWindow, PlaceCloseButton(), and PlaceScrollBars().
Referenced by Paint().
|
overridevirtual |
Definition at line 441 of file PresenterSlideSorter.cxx.
References ThrowIfDisposed().
|
overridevirtual |
Definition at line 429 of file PresenterSlideSorter.cxx.
References ThrowIfDisposed().
|
overridevirtual |
Definition at line 448 of file PresenterSlideSorter.cxx.
|
overridevirtual |
Definition at line 422 of file PresenterSlideSorter.cxx.
References mbIsLayoutPending, mpPresenterController, mxWindow, and ThrowIfDisposed().
|
overridevirtual |
Definition at line 434 of file PresenterSlideSorter.cxx.
References mbIsLayoutPending, mpPresenterController, mxWindow, and ThrowIfDisposed().
|
private |
Definition at line 152 of file PresenterSlideSorter.hxx.
Referenced by PaintPreview(), and setCurrentPage().
|
private |
Definition at line 151 of file PresenterSlideSorter.hxx.
Referenced by Paint(), and PresenterSlideSorter().
|
private |
Definition at line 141 of file PresenterSlideSorter.hxx.
Referenced by Paint(), UpdateLayout(), windowResized(), and windowShown().
|
private |
Definition at line 149 of file PresenterSlideSorter.hxx.
Referenced by PaintPreview(), PresenterSlideSorter(), and setCurrentPage().
|
private |
Definition at line 150 of file PresenterSlideSorter.hxx.
Referenced by Paint(), and UpdateLayout().
|
private |
Definition at line 148 of file PresenterSlideSorter.hxx.
Referenced by mouseExited(), mouseMoved(), mousePressed(), and mouseReleased().
|
private |
Definition at line 145 of file PresenterSlideSorter.hxx.
Referenced by disposing(), Paint(), PlaceCloseButton(), PresenterSlideSorter(), and UpdateLayout().
|
private |
Definition at line 154 of file PresenterSlideSorter.hxx.
Referenced by PaintPreview(), ProvideCanvas(), and setCurrentPage().
|
private |
Definition at line 143 of file PresenterSlideSorter.hxx.
Referenced by disposing(), GetPreview(), mouseMoved(), mousePressed(), mouseReleased(), notifyPreviewCreation(), Paint(), PaintPreview(), PlaceScrollBars(), PresenterSlideSorter(), setCurrentPage(), SetHorizontalOffset(), SetVerticalOffset(), and UpdateLayout().
|
private |
Definition at line 147 of file PresenterSlideSorter.hxx.
Referenced by disposing(), mouseExited(), mouseMoved(), PaintPreview(), and PresenterSlideSorter().
|
private |
Definition at line 138 of file PresenterSlideSorter.hxx.
Referenced by ClearBackground(), disposing(), mouseReleased(), notifyPreviewCreation(), PresenterSlideSorter(), setCurrentPage(), SetHorizontalOffset(), SetVerticalOffset(), UpdateLayout(), windowResized(), and windowShown().
|
private |
Definition at line 144 of file PresenterSlideSorter.hxx.
Referenced by disposing(), Paint(), PlaceScrollBars(), PresenterSlideSorter(), and sdext::presenter::PresenterSlideSorter::Layout::UpdateScrollBars().
|
private |
Definition at line 136 of file PresenterSlideSorter.hxx.
Referenced by sdext::presenter::PresenterSlideSorter::MouseOverManager::CreateBitmap(), disposing(), Paint(), sdext::presenter::PresenterSlideSorter::MouseOverManager::Paint(), PaintPreview(), PresenterSlideSorter(), ProvideCanvas(), sdext::presenter::PresenterSlideSorter::MouseOverManager::SetCanvas(), and windowPaint().
|
private |
Definition at line 133 of file PresenterSlideSorter.hxx.
Referenced by disposing(), PaintPreview(), PresenterSlideSorter(), and ProvideCanvas().
|
private |
Definition at line 135 of file PresenterSlideSorter.hxx.
Referenced by disposing(), GetPreview(), PresenterSlideSorter(), and ProvideCanvas().
|
private |
Definition at line 140 of file PresenterSlideSorter.hxx.
Referenced by disposing(), GetPreview(), PresenterSlideSorter(), SetHorizontalOffset(), SetVerticalOffset(), and UpdateLayout().
|
private |
Definition at line 155 of file PresenterSlideSorter.hxx.
Referenced by PaintPreview(), and UpdateLayout().
|
private |
Definition at line 139 of file PresenterSlideSorter.hxx.
Referenced by disposing(), GetSlideAspectRatio(), GotoSlide(), PaintPreview(), PlaceScrollBars(), PresenterSlideSorter(), and setCurrentPage().
|
private |
Definition at line 134 of file PresenterSlideSorter.hxx.
Referenced by ClearBackground(), disposing(), getResourceId(), and UpdateLayout().
|
private |
Definition at line 137 of file PresenterSlideSorter.hxx.
Referenced by ClearBackground(), disposing(), mouseMoved(), mousePressed(), mouseReleased(), notifyPreviewCreation(), Paint(), PresenterSlideSorter(), setCurrentPage(), SetHorizontalOffset(), SetVerticalOffset(), UpdateLayout(), windowResized(), and windowShown().