namespace sd { class Window; } namespace sd::slidesorter::model { class SlideSorterModel; } namespace sd::slidesorter::view { class PageObjectLayouter; } namespace sd::slidesorter::view { class Theme; }
namespace sd::slidesorter::view {
class InsertPosition;
/** Calculate the size and position of page objects displayed by a slide sorter.Thelayoutertakesintoaccountvariousinputvalues: 1.)Sizeofthewindowinwhichtheslidesorterisdisplayed. 2.)Desiredandminimalandmaximalwidthsofpageobjects. 3.)Minimalandmaximalnumberofcolumns. 4.)Verticalandhorizontalgapsbetweenobjectsinadjacentcolumns. 5.)Bordersaroundeverypageobject. 6.)Verticalandhorizontalbordersbetweenenclosingpageandouter pageobjects. Fromthese,itcalculatesvariousoutputvalues: 1.)Thewidthofpageobjects. 2.)Thenumberofcolumns. 3.)Thesizeoftheenclosingpage.
/** Returns the passed Size plus the gap between pages. @paramrObjectSize Objectsizetostartfrom.
*/ static Size AddGap(const Size & rObjectSize);
/** Return the bounding box in window coordinates of the nIndex-th page object.
*/
::tools::Rectangle GetPageObjectBox ( const sal_Int32 nIndex, constbool bIncludeBorderAndGap) const;
/** Return the bounding box in model coordinates of the page that containsthegivenamountofpageobjects.
*/
::tools::Rectangle GetTotalBoundingBox() const;
/** Return the index of the first fully or partially visible page object.Thistakesintoaccountonlytheverticaldimension. @return Thesecondindexmaybelargerthanthenumberofexisting pageobjects.
*/
Range GetRangeOfVisiblePageObjects (const ::tools::Rectangle& rVisibleArea) const;
/** Return the index of the page object that is rendered at the given point. @paramrPosition Thepositionisexpectedtobeinmodelcoordinatesrelativeto thepageorigin. @return Thereturnedindexmaybelargerthanthenumberofexisting pageobjects.
*/
sal_Int32 GetIndexAtPoint(const Point& rModelPosition) const;
/** Return an object that describes the logical and visual properties of wheretodoaninsertoperationwhentheuserwouldreleasethe mousebuttonatthegivenpositionafteradragoperationandof whereandhowtodisplayaninsertionindicator. @paramrModelPosition Thepositioninthemodelcoordinatesystemforwhichto determinetheinsertionpageindex.Thepositiondoesnothave tobeoverapageobjecttoreturnavalidvalue. @paramrIndicatorSize Thesizeoftheinsertionindicator.Thissizeisusedtoadapt thelocationwhenattheleftorrightofaroworatthetopor bottomofacolumn. @paramrModel Themodelisusedtogetaccesstotheselectionstatesofthe pages.Thisinturnisusedtodeterminethevisualbounding boxes.
*/
InsertPosition GetInsertPosition ( const Point& rModelPosition, const Size& rIndicatorSize,
model::SlideSorterModel const & rModel) const;
Range GetValidHorizontalSizeRange() const;
Range GetValidVerticalSizeRange() const;
/** Collect all values concerning the logical and visual properties of the insertionpositionthatisusedfordrag-and-dropandcopy-and-paste.
*/ class InsertPosition
{ public:
InsertPosition(); booloperator== (const InsertPosition& rInsertPosition) const; booloperator!= (const InsertPosition& rInsertPosition) const;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.