summaryrefslogtreecommitdiffstats
path: root/svtools/source/misc/imap.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svtools/source/misc/imap.cxx')
-rw-r--r--svtools/source/misc/imap.cxx117
1 files changed, 43 insertions, 74 deletions
diff --git a/svtools/source/misc/imap.cxx b/svtools/source/misc/imap.cxx
index d4ee29924801..39bb9f83bd87 100644
--- a/svtools/source/misc/imap.cxx
+++ b/svtools/source/misc/imap.cxx
@@ -165,30 +165,6 @@ void IMapObject::Read( SvStream& rIStm, const String& rBaseURL )
/******************************************************************************
|*
-|* Konvertierung der logischen Koordianten in Pixel
-|*
-\******************************************************************************/
-
-Point IMapObject::GetPixelPoint( const Point& rLogPoint )
-{
- return Application::GetDefaultDevice()->LogicToPixel( rLogPoint, MapMode( MAP_100TH_MM ) );
-}
-
-
-/******************************************************************************
-|*
-|* Konvertierung der logischen Koordianten in Pixel
-|*
-\******************************************************************************/
-
-Point IMapObject::GetLogPoint( const Point& rPixelPoint )
-{
- return Application::GetDefaultDevice()->PixelToLogic( rPixelPoint, MapMode( MAP_100TH_MM ) );
-}
-
-
-/******************************************************************************
-|*
|*
|*
\******************************************************************************/
@@ -433,7 +409,7 @@ sal_Bool IMapCircleObject::IsHit( const Point& rPoint ) const
const Point aPoint( aCenter - rPoint );
sal_Bool bRet = sal_False;
- if ( (sal_uLong) sqrt( (double) aPoint.X() * aPoint.X() +
+ if ( (sal_Int32) sqrt( (double) aPoint.X() * aPoint.X() +
aPoint.Y() * aPoint.Y() ) <= nRadius )
{
bRet = sal_True;
@@ -743,8 +719,8 @@ sal_Bool IMapPolygonObject::IsEqual( const IMapPolygonObject& rEqObj )
|*
\******************************************************************************/
-ImageMap::ImageMap( const String& rName ) :
- aName ( rName )
+ImageMap::ImageMap( const String& rName )
+: aName( rName )
{
}
@@ -759,24 +735,24 @@ ImageMap::ImageMap( const ImageMap& rImageMap )
{
DBG_CTOR( ImageMap, NULL );
- sal_uInt16 nCount = rImageMap.GetIMapObjectCount();
+ size_t nCount = rImageMap.GetIMapObjectCount();
- for ( sal_uInt16 i = 0; i < nCount; i++ )
+ for ( size_t i = 0; i < nCount; i++ )
{
IMapObject* pCopyObj = rImageMap.GetIMapObject( i );
switch( pCopyObj->GetType() )
{
case( IMAP_OBJ_RECTANGLE ):
- maList.Insert( new IMapRectangleObject( *(IMapRectangleObject*) pCopyObj ), LIST_APPEND );
+ maList.push_back( new IMapRectangleObject( *(IMapRectangleObject*) pCopyObj ) );
break;
case( IMAP_OBJ_CIRCLE ):
- maList.Insert( new IMapCircleObject( *(IMapCircleObject*) pCopyObj ), LIST_APPEND );
+ maList.push_back( new IMapCircleObject( *(IMapCircleObject*) pCopyObj ) );
break;
case( IMAP_OBJ_POLYGON ):
- maList.Insert( new IMapPolygonObject( *(IMapPolygonObject*) pCopyObj ), LIST_APPEND );
+ maList.push_back( new IMapPolygonObject( *(IMapPolygonObject*) pCopyObj ) );
break;
default:
@@ -810,15 +786,9 @@ ImageMap::~ImageMap()
void ImageMap::ClearImageMap()
{
- IMapObject* pObj = (IMapObject*) maList.First();
-
- while ( pObj )
- {
- delete pObj;
- pObj = (IMapObject*) maList.Next();
- }
-
- maList.Clear();
+ for( size_t i = 0, n = maList.size(); i < n; ++i )
+ delete maList[ i ];
+ maList.clear();
aName = String();
}
@@ -832,26 +802,26 @@ void ImageMap::ClearImageMap()
ImageMap& ImageMap::operator=( const ImageMap& rImageMap )
{
- sal_uInt16 nCount = rImageMap.GetIMapObjectCount();
+ size_t nCount = rImageMap.GetIMapObjectCount();
ClearImageMap();
- for ( sal_uInt16 i = 0; i < nCount; i++ )
+ for ( size_t i = 0; i < nCount; i++ )
{
IMapObject* pCopyObj = rImageMap.GetIMapObject( i );
switch( pCopyObj->GetType() )
{
case( IMAP_OBJ_RECTANGLE ):
- maList.Insert( new IMapRectangleObject( *(IMapRectangleObject*) pCopyObj ), LIST_APPEND );
+ maList.push_back( new IMapRectangleObject( *(IMapRectangleObject*) pCopyObj ) );
break;
case( IMAP_OBJ_CIRCLE ):
- maList.Insert( new IMapCircleObject( *(IMapCircleObject*) pCopyObj ), LIST_APPEND );
+ maList.push_back( new IMapCircleObject( *(IMapCircleObject*) pCopyObj ) );
break;
case( IMAP_OBJ_POLYGON ):
- maList.Insert( new IMapPolygonObject( *(IMapPolygonObject*) pCopyObj ), LIST_APPEND );
+ maList.push_back( new IMapPolygonObject( *(IMapPolygonObject*) pCopyObj ) );
break;
default:
@@ -873,17 +843,17 @@ ImageMap& ImageMap::operator=( const ImageMap& rImageMap )
sal_Bool ImageMap::operator==( const ImageMap& rImageMap )
{
- const sal_uInt16 nCount = (sal_uInt16) maList.Count();
- const sal_uInt16 nEqCount = rImageMap.GetIMapObjectCount();
- sal_Bool bRet = sal_False;
+ const size_t nCount = maList.size();
+ const size_t nEqCount = rImageMap.GetIMapObjectCount();
+ sal_Bool bRet = sal_False;
if ( nCount == nEqCount )
{
sal_Bool bDifferent = ( aName != rImageMap.aName );
- for ( sal_uInt16 i = 0; ( i < nCount ) && !bDifferent; i++ )
+ for ( size_t i = 0; ( i < nCount ) && !bDifferent; i++ )
{
- IMapObject* pObj = (IMapObject*) maList.GetObject( i );
+ IMapObject* pObj = maList[ i ];
IMapObject* pEqObj = rImageMap.GetIMapObject( i );
if ( pObj->GetType() == pEqObj->GetType() )
@@ -962,15 +932,15 @@ void ImageMap::InsertIMapObject( const IMapObject& rIMapObject )
switch( rIMapObject.GetType() )
{
case( IMAP_OBJ_RECTANGLE ):
- maList.Insert( new IMapRectangleObject( (IMapRectangleObject&) rIMapObject ), LIST_APPEND );
+ maList.push_back( new IMapRectangleObject( (IMapRectangleObject&) rIMapObject ) );
break;
case( IMAP_OBJ_CIRCLE ):
- maList.Insert( new IMapCircleObject( (IMapCircleObject&) rIMapObject ), LIST_APPEND );
+ maList.push_back( new IMapCircleObject( (IMapCircleObject&) rIMapObject ) );
break;
case( IMAP_OBJ_POLYGON ):
- maList.Insert( new IMapPolygonObject( (IMapPolygonObject&) rIMapObject ), LIST_APPEND );
+ maList.push_back( new IMapPolygonObject( (IMapPolygonObject&) rIMapObject ) );
break;
default:
@@ -1005,13 +975,12 @@ IMapObject* ImageMap::GetHitIMapObject( const Size& rTotalSize,
}
// Alle Objekte durchlaufen und HitTest ausfuehren
- IMapObject* pObj = (IMapObject*) maList.First();
- while ( pObj )
- {
- if ( pObj->IsHit( aRelPoint ) )
+ IMapObject* pObj = NULL;
+ for( size_t i = 0, n = maList.size(); i < n; ++i ) {
+ if ( maList[ i ]->IsHit( aRelPoint ) ) {
+ pObj = maList[ i ];
break;
-
- pObj = (IMapObject*) maList.Next();
+ }
}
return( pObj ? ( pObj->IsActive() ? pObj : NULL ) : NULL );
@@ -1027,10 +996,10 @@ IMapObject* ImageMap::GetHitIMapObject( const Size& rTotalSize,
Rectangle ImageMap::GetBoundRect() const
{
Rectangle aBoundRect;
- sal_uLong nCount = maList.Count();
+ size_t nCount = maList.size();
- for ( sal_uLong i = 0; i < nCount; i++ )
- aBoundRect.Union( ( (IMapObject*) maList.GetObject( i ) )->GetBoundRect() );
+ for ( size_t i = 0; i < nCount; i++ )
+ aBoundRect.Union( maList[ i ]->GetBoundRect() );
return aBoundRect;
}
@@ -1044,11 +1013,11 @@ Rectangle ImageMap::GetBoundRect() const
void ImageMap::Scale( const Fraction& rFracX, const Fraction& rFracY )
{
- sal_uInt16 nCount = (sal_uInt16) maList.Count();
+ size_t nCount = maList.size();
- for ( sal_uInt16 i = 0; i < nCount; i++ )
+ for ( size_t i = 0; i < nCount; i++ )
{
- IMapObject* pObj = GetIMapObject( i );
+ IMapObject* pObj = maList[ i ];
switch( pObj->GetType() )
{
@@ -1080,11 +1049,11 @@ void ImageMap::Scale( const Fraction& rFracX, const Fraction& rFracY )
void ImageMap::ImpWriteImageMap( SvStream& rOStm, const String& rBaseURL ) const
{
IMapObject* pObj;
- sal_uInt16 nCount = (sal_uInt16) maList.Count();
+ size_t nCount = maList.size();
- for ( sal_uInt16 i = 0; i < nCount; i++ )
+ for ( size_t i = 0; i < nCount; i++ )
{
- pObj = (IMapObject*) maList.GetObject( i );
+ pObj = maList[ i ];
pObj->Write( rOStm, rBaseURL );
}
}
@@ -1096,10 +1065,10 @@ void ImageMap::ImpWriteImageMap( SvStream& rOStm, const String& rBaseURL ) const
|*
\******************************************************************************/
-void ImageMap::ImpReadImageMap( SvStream& rIStm, sal_uInt16 nCount, const String& rBaseURL )
+void ImageMap::ImpReadImageMap( SvStream& rIStm, size_t nCount, const String& rBaseURL )
{
// neue Objekte einlesen
- for ( sal_uInt16 i = 0; i < nCount; i++ )
+ for ( size_t i = 0; i < nCount; i++ )
{
sal_uInt16 nType;
@@ -1112,7 +1081,7 @@ void ImageMap::ImpReadImageMap( SvStream& rIStm, sal_uInt16 nCount, const String
{
IMapRectangleObject* pObj = new IMapRectangleObject;
pObj->Read( rIStm, rBaseURL );
- maList.Insert( pObj, LIST_APPEND );
+ maList.push_back( pObj );
}
break;
@@ -1120,7 +1089,7 @@ void ImageMap::ImpReadImageMap( SvStream& rIStm, sal_uInt16 nCount, const String
{
IMapCircleObject* pObj = new IMapCircleObject;
pObj->Read( rIStm, rBaseURL );
- maList.Insert( pObj, LIST_APPEND );
+ maList.push_back( pObj );
}
break;
@@ -1128,7 +1097,7 @@ void ImageMap::ImpReadImageMap( SvStream& rIStm, sal_uInt16 nCount, const String
{
IMapPolygonObject* pObj = new IMapPolygonObject;
pObj->Read( rIStm, rBaseURL );
- maList.Insert( pObj, LIST_APPEND );
+ maList.push_back( pObj );
}
break;