diff options
author | Matteo Casalin <matteo.casalin@gmx.com> | 2012-02-26 22:47:10 +0100 |
---|---|---|
committer | Matteo Casalin <matteo.casalin@gmx.com> | 2012-03-03 09:49:35 +0100 |
commit | 0809906906d7941ceb9ae170a41c482fdd1e6bfa (patch) | |
tree | 6f271cb24b74ad074655c30c1818e87da51ba69a /svtools/inc | |
parent | ValueSet: remove redundant check (diff) | |
download | core-0809906906d7941ceb9ae170a41c482fdd1e6bfa.tar.gz core-0809906906d7941ceb9ae170a41c482fdd1e6bfa.zip |
ValueSet: reduce memory footprint by dynamically evaluating rectangles
Diffstat (limited to 'svtools/inc')
-rw-r--r-- | svtools/inc/svtools/valueset.hxx | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/svtools/inc/svtools/valueset.hxx b/svtools/inc/svtools/valueset.hxx index 7e0b7db0f6d2..22271da5369b 100644 --- a/svtools/inc/svtools/valueset.hxx +++ b/svtools/inc/svtools/valueset.hxx @@ -217,6 +217,10 @@ private: ValueItemList mItemList; ValueSetItem* mpNoneItem; ScrollBar* mpScrBar; + Rectangle maNoneItemRect; + Rectangle maItemListRect; + long mnItemWidth; + long mnItemHeight; long mnTextOffset; long mnVisLines; long mnLines; @@ -241,6 +245,7 @@ private: bool mbScroll : 1; bool mbFullMode : 1; bool mbIsTransientChildrenDisabled : 1; + bool mbHasVisibleItems : 1; Color maColor; Link maDoubleClickHdl; Link maSelectHdl; @@ -255,7 +260,7 @@ private: SVT_DLLPRIVATE void ImplInitSettings( bool bFont, bool bForeground, bool bBackground ); SVT_DLLPRIVATE void ImplInitScrollBar(); SVT_DLLPRIVATE void ImplDeleteItems(); - SVT_DLLPRIVATE void ImplFormatItem( ValueSetItem* pItem ); + SVT_DLLPRIVATE void ImplFormatItem( ValueSetItem* pItem, Rectangle aRect ); SVT_DLLPRIVATE void ImplDrawItemText( const XubString& rStr ); SVT_DLLPRIVATE void ImplDrawSelect( sal_uInt16 nItemId, const bool bFocus, const bool bDrawSel ); SVT_DLLPRIVATE void ImplDrawSelect(); @@ -270,6 +275,7 @@ private: SVT_DLLPRIVATE sal_uInt16 ImplGetVisibleItemCount() const; SVT_DLLPRIVATE ValueSetItem* ImplGetVisibleItem( sal_uInt16 nVisiblePos ); SVT_DLLPRIVATE void ImplInsertItem( ValueSetItem *const pItem, const size_t nPos ); + SVT_DLLPRIVATE Rectangle ImplGetItemRect( size_t nPos ) const; SVT_DLLPRIVATE void ImplFireAccessibleEvent( short nEventId, const ::com::sun::star::uno::Any& rOldValue, const ::com::sun::star::uno::Any& rNewValue ); SVT_DLLPRIVATE bool ImplHasAccessibleListeners(); SVT_DLLPRIVATE void ImplTracking( const Point& rPos, bool bRepeat ); |