/*************************************************************************
 *
 *  OpenOffice.org - a multi-platform office productivity suite
 *
 *  $RCSfile: svdscrol.hxx,v $
 *
 *  $Revision: 1.6 $
 *
 *  last change: $Author: rt $ $Date: 2006/10/27 21:35:16 $
 *
 *  The Contents of this file are made available subject to
 *  the terms of GNU Lesser General Public License Version 2.1.
 *
 *
 *    GNU Lesser General Public License Version 2.1
 *    =============================================
 *    Copyright 2005 by Sun Microsystems, Inc.
 *    901 San Antonio Road, Palo Alto, CA 94303, USA
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License version 2.1, as published by the Free Software Foundation.
 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 *
 *    You should have received a copy of the GNU Lesser General Public
 *    License along with this library; if not, write to the Free Software
 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *    MA  02111-1307  USA
 *
 ************************************************************************/

#ifndef _SVDSCROL_HXX
#define _SVDSCROL_HXX

#ifndef _VIRDEV_HXX //autogen
#include <vcl/virdev.hxx>
#endif

#ifndef _TIMER_HXX //autogen
#include <vcl/timer.hxx>
#endif

class SfxItemSet;
namespace binfilter {

//************************************************************
//   Vorausdeklarationen
//************************************************************

//class ImpSdrMtfAnimator;
class SdrPageView;

//************************************************************
//   ImpMtfAnimationInfo
//************************************************************

//class ImpMtfAnimationInfo
//{
//public:
//	VirtualDevice				aBackground; // Der gesicherte Hintergrund
//	VirtualDevice				aVirDev;     // VDev, um Flackern bei der Ausgabe zu vermeiden
//	Point						aOffset;     // Der PageView-Offset
//	OutputDevice*				pOutDev;     // Das OutDev in dem letztenendes ausgegeben wird
//	const SdrPageView*			pPageView; // fuer ShownXor
//	long						nExtraData;  // Userdata fuer den Aufrufer
//	long						nLoopNum;    // Nummer des Durchlaufs
//	long						nLoopStep;   // Schrittnummer
//	FASTBOOL					bPause;      // Pause, weil Obj. z.B. selektiert ist
//	FASTBOOL					bBackSaved;  // FALSE=Neuer Entry, Hintergrund ist noch zu sichern,...
//	FASTBOOL					bShown;      // Schon hingemalt?
//	FASTBOOL					bReady;      // Fertig animiert?
//	FASTBOOL					bBackTrack;  // Ruekweg bei Alternate
//	FASTBOOL					bNeu;        // Neuer Scrollbeginn?
//
//	ImpMtfAnimationInfo()
//	:	pOutDev(NULL),
//		pPageView(NULL),
//		nExtraData(0),
//		nLoopNum(0),
//		nLoopStep(0),
//		bPause(FALSE),
//		bBackSaved(FALSE),
//		bShown(FALSE),
//		bReady(FALSE),
//		bBackTrack(FALSE),
//		bNeu(FALSE)
//	{}
//
////STRIP001 	void Restart();
////STRIP001 	void SaveBackground(const ImpSdrMtfAnimator& rAnimator, const Region* pClip=NULL);
////STRIP001 	void Paint(const ImpSdrMtfAnimator& rAnimator, OutputDevice& rOut) const;
////STRIP001 	void AnimateOneStep(ImpSdrMtfAnimator& rAnimator);
//};

//************************************************************
//   ImpSdrMtfAnimator
//************************************************************

//class ImpSdrMtfAnimator
//{
//	friend class				ImpMtfAnimationInfo;
//
//	Brush						aBackBrush;
//	AutoTimer					aTimer;
//	Container					aInfoList;
//	GDIMetaFile*				pMtf;
//	Link						aNotifyLink;
//	Rectangle					aScrollFrameRect;
//	Rectangle					aMtfBoundRect;
//	Rectangle					aOutputRect;
//	Point						a__RotateRef;
//	Region						aClipRegion;
//	long						nRotateAngle;
//	double						nSin;
//	double						nCos;
//	FASTBOOL					bClipRegion;
//
//	// Attribute
//	SdrTextAniKind				eAniKind;
//	SdrTextAniDirection			eDirection;
//	FASTBOOL					bStartInside;
//	FASTBOOL					bStopInside;
//	USHORT						nMaxCount;
//	USHORT						nDelay;
//	short						nAmount;
//
//private:
////STRIP001 	void ImpInsertInfo(ImpMtfAnimationInfo* pE) { aInfoList.Insert(pE,CONTAINER_APPEND); }
//	void ImpClearInfoList();
//	DECL_LINK(ImpTimerHdl,AutoTimer*);
////STRIP001 
//public:
//	ULONG GetInfoCount() const { return aInfoList.Count(); }
//	const ImpMtfAnimationInfo* GetInfo(ULONG nPos) const { return (ImpMtfAnimationInfo*)aInfoList.GetObject(nPos); }
//	ImpMtfAnimationInfo* GetInfo(ULONG nPos) { return (ImpMtfAnimationInfo*)aInfoList.GetObject(nPos); }
////STRIP001 	ULONG FindInfo(const OutputDevice& rOut, const Point& rOffset, long nExtraData) const;
//	void  RemoveInfo(ULONG nNum) { delete (ImpMtfAnimationInfo*)aInfoList.Remove(nNum); }
//
//	ImpSdrMtfAnimator();
//	~ImpSdrMtfAnimator();
////STRIP001 	void SetAnimationNotifyHdl(const Link& rLink) { aNotifyLink=rLink; }
////STRIP001 	const Link& GetAnimationNotifyHdl() const { return aNotifyLink; }
////STRIP001 	void SetGDIMetaFile(GDIMetaFile* pMetaFile);
////STRIP001 	const GDIMetaFile* GetGDIMetaFile() const { return pMtf; }
////STRIP001 	ImpMtfAnimationInfo* Start(OutputDevice& rOutDev, const Point& rOffset, long nExtraData=0);
////STRIP001 	void Stop();
////STRIP001 	void Stop(OutputDevice& rOutDev);
////STRIP001 	void Stop(OutputDevice& rOutDev, const Point& rOffset);
////STRIP001 	void SetAttributes(const SfxItemSet& rSet);
////STRIP001 	void SetOutputRect(const Rectangle& rRect) { aOutputRect=rRect; }
////STRIP001 	void SetScrollFrameRect(const Rectangle& rRect) { aScrollFrameRect=rRect; }
////STRIP001 	void SetMtfFrameRect(const Rectangle& rRect) { aMtfBoundRect=rRect; }
////STRIP001 	void SetRotateRef(const Point& rPt) { a__RotateRef=rPt; }
////STRIP001 	void SetRotateAngle(long nWink);
////STRIP001 	void SetClipRegion() { bClipRegion=FALSE; }
////STRIP001 	void SetClipRegion(const Region& rReg) { aClipRegion=rReg; bClipRegion=TRUE; }
//};

////////////////////////////////////////////////////////////////////////////////////////////////////

}//end of namespace binfilter
#endif //_SVDSCROL_HXX

