2008/04/01 15:57:09 thb 1.5.242.2: #i85898# Stripping all external header guards 2008/03/31 16:54:12 rt 1.5.242.1: #i87441# Change license header to LPGL v3.
93 lines
3.0 KiB
C++
93 lines
3.0 KiB
C++
/*************************************************************************
|
|
*
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
*
|
|
* Copyright 2008 by Sun Microsystems, Inc.
|
|
*
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
|
*
|
|
* $RCSfile: blink.hxx,v $
|
|
* $Revision: 1.6 $
|
|
*
|
|
* This file is part of OpenOffice.org.
|
|
*
|
|
* OpenOffice.org is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Lesser General Public License version 3
|
|
* only, as published by the Free Software Foundation.
|
|
*
|
|
* OpenOffice.org 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 version 3 for more details
|
|
* (a copy is included in the LICENSE file that accompanied this code).
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
* version 3 along with OpenOffice.org. If not, see
|
|
* <http://www.openoffice.org/license.html>
|
|
* for a copy of the LGPLv3 License.
|
|
*
|
|
************************************************************************/
|
|
#ifndef _BLINK_HXX
|
|
#define _BLINK_HXX
|
|
|
|
class SwLinePortion;
|
|
class SwRootFrm;
|
|
class SwTxtFrm;
|
|
|
|
#include <vcl/timer.hxx>
|
|
#include <tools/gen.hxx>
|
|
|
|
#include <svtools/svarray.hxx>
|
|
|
|
class SwBlinkPortion
|
|
{
|
|
Point aPos;
|
|
const SwLinePortion *pPor;
|
|
const SwRootFrm *pFrm;
|
|
USHORT nDir;
|
|
public:
|
|
SwBlinkPortion( const SwLinePortion* pPortion, USHORT nDirection )
|
|
{ pPor = pPortion; nDir = nDirection; }
|
|
SwBlinkPortion( const SwBlinkPortion* pBlink, const SwLinePortion* pPort )
|
|
{ pPor = pPort; pFrm = pBlink->pFrm; aPos = pBlink->aPos; nDir = pBlink->nDir; }
|
|
void SetPos( const Point& aNew ){ aPos = aNew; }
|
|
const Point& GetPos() const{ return aPos; }
|
|
void SetRootFrm( const SwRootFrm* pNew ){ pFrm = pNew; }
|
|
const SwRootFrm* GetRootFrm() const{ return pFrm; }
|
|
const SwLinePortion *GetPortion() const{ return pPor; }
|
|
USHORT GetDirection() const { return nDir; }
|
|
BOOL operator<( const SwBlinkPortion& rBlinkPortion ) const
|
|
{ return (long)pPor < (long)rBlinkPortion.pPor; }
|
|
BOOL operator==( const SwBlinkPortion& rBlinkPortion ) const
|
|
{ return (long)pPor == (long)rBlinkPortion.pPor; }
|
|
};
|
|
|
|
typedef SwBlinkPortion* SwBlinkPortionPtr;
|
|
SV_DECL_PTRARR_SORT_DEL(SwBlinkList, SwBlinkPortionPtr, 0, 10)
|
|
|
|
class SwBlink
|
|
{
|
|
SwBlinkList aList;
|
|
AutoTimer aTimer;
|
|
BOOL bVisible;
|
|
public:
|
|
SwBlink();
|
|
~SwBlink();
|
|
|
|
DECL_LINK( Blinker, Timer * );
|
|
|
|
void Insert( const Point& rPoint, const SwLinePortion* pPor,
|
|
const SwTxtFrm *pTxtFrm, USHORT nDir );
|
|
void Replace( const SwLinePortion* pOld, const SwLinePortion* pNew );
|
|
void Delete( const SwLinePortion* pPor );
|
|
void FrmDelete( const SwRootFrm* pRoot );
|
|
inline BOOL IsVisible() const { return bVisible ; }
|
|
};
|
|
|
|
// Blink-Manager, globale Variable, in Blink.Cxx angelegt
|
|
extern SwBlink *pBlink;
|
|
|
|
|
|
#endif
|
|
|