1*3334a7e6SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*3334a7e6SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*3334a7e6SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*3334a7e6SAndrew Rist * distributed with this work for additional information 6*3334a7e6SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*3334a7e6SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*3334a7e6SAndrew Rist * "License"); you may not use this file except in compliance 9*3334a7e6SAndrew Rist * with the License. You may obtain a copy of the License at 10*3334a7e6SAndrew Rist * 11*3334a7e6SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*3334a7e6SAndrew Rist * 13*3334a7e6SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*3334a7e6SAndrew Rist * software distributed under the License is distributed on an 15*3334a7e6SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*3334a7e6SAndrew Rist * KIND, either express or implied. See the License for the 17*3334a7e6SAndrew Rist * specific language governing permissions and limitations 18*3334a7e6SAndrew Rist * under the License. 19*3334a7e6SAndrew Rist * 20*3334a7e6SAndrew Rist *************************************************************/ 21*3334a7e6SAndrew Rist 22*3334a7e6SAndrew Rist 23cdf0e10cSrcweir #ifndef SDTAKITM_HXX 24cdf0e10cSrcweir #define SDTAKITM_HXX 25cdf0e10cSrcweir 26cdf0e10cSrcweir #include <svl/eitem.hxx> 27cdf0e10cSrcweir #include <svx/svddef.hxx> 28cdf0e10cSrcweir #include "svx/svxdllapi.h" 29cdf0e10cSrcweir 30cdf0e10cSrcweir //------------------------------ 31cdf0e10cSrcweir // class SdrTextAniKindItem 32cdf0e10cSrcweir //------------------------------ 33cdf0e10cSrcweir 34cdf0e10cSrcweir enum SdrTextAniKind {SDRTEXTANI_NONE, 35cdf0e10cSrcweir SDRTEXTANI_BLINK, 36cdf0e10cSrcweir SDRTEXTANI_SCROLL, 37cdf0e10cSrcweir SDRTEXTANI_ALTERNATE, 38cdf0e10cSrcweir SDRTEXTANI_SLIDE}; 39cdf0e10cSrcweir 40cdf0e10cSrcweir // - SDRTEXTANI_BLINK: 41cdf0e10cSrcweir // Einfach nur Blinken. Direction und Amount ohne Wirkung. 42cdf0e10cSrcweir // Frequenz siehe Delay, 0=0.5Hz (Delay=250). 43cdf0e10cSrcweir // Count=Anzahl der blinker. 0=Endlos. 44cdf0e10cSrcweir // StartInside: sal_False=beginnend mit Pause, sal_True=Beginnend mit Puls 45cdf0e10cSrcweir // StopInside: sal_False=Nach Count blinkern nicht sichtbar, sal_True=sichtbar 46cdf0e10cSrcweir // (nur wenn Count!=0) 47cdf0e10cSrcweir // - SDRTEXTANI_SCROLL: 48cdf0e10cSrcweir // Schrift laeuft rein, laeuft vollstaendig durch. Wenn ganz verschwunden 49cdf0e10cSrcweir // geht's wieder von vorne los. 50cdf0e10cSrcweir // Delay in ms, Sonderfall Delay=0 wird auf 50ms defaulted (20Hz) 51cdf0e10cSrcweir // Count=Durchlaufanzahl (0=Endlos) 52cdf0e10cSrcweir // Direction: ist eben die Richtung in die gescrollt wird. 53cdf0e10cSrcweir // StartInside: sal_False=Schrift wird auch beim ersten Durchlauf reingescrollt 54cdf0e10cSrcweir // sal_True=Der linke Teil der Schrift steht beim ersten Durchlauf 55cdf0e10cSrcweir // bereits da (im sichtbaren "Scrollbereich") 56cdf0e10cSrcweir // StopInside: sal_False=Schrift wird auch beim letzten Durchlauf vollstaendig 57cdf0e10cSrcweir // rausgescrollt 58cdf0e10cSrcweir // sal_True=Schrift wird beim letzten Durchlauf nicht rausgescrollt 59cdf0e10cSrcweir // (nur wenn Count!=0) 60cdf0e10cSrcweir // Amount: Schrittweite in logischen Einheiten. Negative Werte bedeuten 61cdf0e10cSrcweir // Pixel statt log. Einheiten. Wenn Amount=0, dann wird auf 62cdf0e10cSrcweir // 1 Pixel defaulted. 63cdf0e10cSrcweir // - SDRTEXTANI_ALTERNATE: 64cdf0e10cSrcweir // Wie SDRTEXTANI_SCROLL, nur wird nicht gescrollt bis Schrift ganz 65cdf0e10cSrcweir // verschwunden, sondern bis der letzte Teil vollstaendig sichtbar ist. Dann 66cdf0e10cSrcweir // wird die Richtung umgekehrt und zuruekgescrollt. 67cdf0e10cSrcweir // Count=Anzahl der Durchlaeufe=Anzahl der Richtungswechsel-1 68cdf0e10cSrcweir // Bei Count=1 ist SDRTEXTANI_ALTERNATE also identisch mit SDRTEXTANI_SCROLL 69cdf0e10cSrcweir // Direction ist die Startrichtung 70cdf0e10cSrcweir // Alle andern Parameter wie SDRTEXTANI_SCROLL 71cdf0e10cSrcweir // - SDRTEXTANI_SLIDE: 72cdf0e10cSrcweir // Schrift wird nur reingeschoben bis zur Originalposition. 73cdf0e10cSrcweir // -> also wie SCROLL mit StartInside=sal_False, StopInside=TRUE 74cdf0e10cSrcweir // und Count=1. Count=0 wird als Count=1 interpretiert. 75cdf0e10cSrcweir // Fuer jeden Count>1 wird der Text jedoch ruekwaerts wieder vollstaendig 76cdf0e10cSrcweir // rausgeschoben (aehnlich wie ALTERNATE) und dann wieder reingeschoben. 77cdf0e10cSrcweir // StopInside wird nicht ausgewertet, weil immer Inside gestoppt wird. 78cdf0e10cSrcweir // StartInside wird nicht ausgewertet, weil immer Outside gestartet wird. 79cdf0e10cSrcweir // Alle andern Parameter wie SDRTEXTANI_SCROLL 80cdf0e10cSrcweir // StartInside,StopInside: Bei sal_True ist die anfaengliche/entgueltige 81cdf0e10cSrcweir // Textposition abhaengig von der Textverankerung am Zeichenobjekt. Sie 82cdf0e10cSrcweir // entspricht der Textposition bei normalem Paint (ohne Laufschrift). 83cdf0e10cSrcweir 84cdf0e10cSrcweir class SVX_DLLPUBLIC SdrTextAniKindItem: public SfxEnumItem { 85cdf0e10cSrcweir public: 86cdf0e10cSrcweir TYPEINFO(); SdrTextAniKindItem(SdrTextAniKind eKind=SDRTEXTANI_NONE)87cdf0e10cSrcweir SdrTextAniKindItem(SdrTextAniKind eKind=SDRTEXTANI_NONE): SfxEnumItem(SDRATTR_TEXT_ANIKIND,(sal_uInt16)eKind) {} SdrTextAniKindItem(SvStream & rIn)88cdf0e10cSrcweir SdrTextAniKindItem(SvStream& rIn) : SfxEnumItem(SDRATTR_TEXT_ANIKIND,rIn) {} 89cdf0e10cSrcweir virtual SfxPoolItem* Clone(SfxItemPool* pPool=NULL) const; 90cdf0e10cSrcweir virtual SfxPoolItem* Create(SvStream& rIn, sal_uInt16 nVer) const; 91cdf0e10cSrcweir virtual sal_uInt16 GetValueCount() const; // { return 5; } GetValue() const92cdf0e10cSrcweir SdrTextAniKind GetValue() const { return (SdrTextAniKind)SfxEnumItem::GetValue(); } 93cdf0e10cSrcweir 94cdf0e10cSrcweir virtual sal_Bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const; 95cdf0e10cSrcweir virtual sal_Bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ); 96cdf0e10cSrcweir 97cdf0e10cSrcweir virtual String GetValueTextByPos(sal_uInt16 nPos) const; 98cdf0e10cSrcweir virtual SfxItemPresentation GetPresentation(SfxItemPresentation ePres, SfxMapUnit eCoreMetric, SfxMapUnit ePresMetric, String& rText, const IntlWrapper * = 0) const; 99cdf0e10cSrcweir }; 100cdf0e10cSrcweir 101cdf0e10cSrcweir #endif 102