diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2007-04-11 16:47:40 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2007-04-11 16:47:40 +0000 |
commit | e9e1c61c32a6210e9030c359bd8f7e1d17650607 (patch) | |
tree | 87392ac1da69f86f98bc1169c150d4525af992b3 /vcl/inc | |
parent | 95da10e7cadea67198d36554acd2424b90353b77 (diff) |
INTEGRATION: CWS hedaburemove01 (1.1.2); FILE ADDED
2007/02/09 16:10:41 vg 1.1.2.1: #72503# get rid of hedabu procedure: Moving headers to vcl/inc/vcl and correspondent necessary changes
Diffstat (limited to 'vcl/inc')
-rw-r--r-- | vcl/inc/vcl/animate.hxx | 269 | ||||
-rw-r--r-- | vcl/inc/vcl/apptypes.hxx | 94 |
2 files changed, 363 insertions, 0 deletions
diff --git a/vcl/inc/vcl/animate.hxx b/vcl/inc/vcl/animate.hxx new file mode 100644 index 000000000000..7c72d4fb49bf --- /dev/null +++ b/vcl/inc/vcl/animate.hxx @@ -0,0 +1,269 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: animate.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: vg $ $Date: 2007-04-11 17:47:30 $ + * + * 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 _SV_ANIMATE_HXX +#define _SV_ANIMATE_HXX + +#ifndef _VCL_DLLAPI_H +#include <vcl/dllapi.h> +#endif + +#ifndef _SV_TIMER_HXX +#include <vcl/timer.hxx> +#endif +#ifndef _SV_BITMAPEX_HXX +#include <vcl/bitmapex.hxx> +#endif + +// ----------- +// - Defines - +// ----------- + +#define ANIMATION_TIMEOUT_ON_CLICK 2147483647L + +// --------- +// - Enums - +// --------- + +enum Disposal +{ + DISPOSE_NOT, + DISPOSE_BACK, + DISPOSE_FULL, + DISPOSE_PREVIOUS +}; + +enum CycleMode +{ + CYCLE_NOT, + CYCLE_NORMAL, + CYCLE_FALLBACK, + CYCLE_REVERS, + CYCLE_REVERS_FALLBACK +}; + +// ------------------- +// - AnimationBitmap - +// ------------------- + +struct VCL_DLLPUBLIC AnimationBitmap +{ + BitmapEx aBmpEx; + Point aPosPix; + Size aSizePix; + long nWait; + Disposal eDisposal; + BOOL bUserInput; + + AnimationBitmap() {} + AnimationBitmap( const BitmapEx& rBmpEx, const Point& rPosPix, + const Size& rSizePix, long _nWait = 0L, + Disposal _eDisposal = DISPOSE_NOT ) : + aBmpEx ( rBmpEx ), + aPosPix ( rPosPix ), + aSizePix ( rSizePix ), + nWait ( _nWait ), + eDisposal ( _eDisposal ), + bUserInput ( FALSE ) {} + + BOOL operator==( const AnimationBitmap& rAnimBmp ) const + { + return( rAnimBmp.aBmpEx == aBmpEx && + rAnimBmp.aPosPix == aPosPix && + rAnimBmp.aSizePix == aSizePix && + rAnimBmp.nWait == nWait && + rAnimBmp.eDisposal == eDisposal && + rAnimBmp.bUserInput == bUserInput ); + } + + BOOL operator!=( const AnimationBitmap& rAnimBmp ) const { return !( *this == rAnimBmp ); } + + BOOL IsEqual( const AnimationBitmap& rAnimBmp ) const + { + return( rAnimBmp.aPosPix == aPosPix && + rAnimBmp.aSizePix == aSizePix && + rAnimBmp.nWait == nWait && + rAnimBmp.eDisposal == eDisposal && + rAnimBmp.bUserInput == bUserInput && + rAnimBmp.aBmpEx.IsEqual( aBmpEx ) ); + } + + ULONG GetChecksum() const; +}; + +// ------------------- +// - AnimationBitmap - +// ------------------- + +struct AInfo +{ + Bitmap aLastSaveBitmap; + Bitmap aBackBitmap; + Rectangle aClipRect; + Size aLastSaveSize; + Point aLastSavePoint; + Point aStartOrg; + Size aStartSize; + OutputDevice* pOutDev; + void* pViewData; + long nExtraData; + BOOL bWithSize; + BOOL bPause; + + AInfo() : pOutDev( NULL ), + pViewData( NULL ), + nExtraData( 0L ), + bWithSize( FALSE ), + bPause( FALSE ) {} +}; + +// ------------------- +// - AnimationBitmap - +// ------------------- + +class VCL_DLLPUBLIC Animation +{ + SAL_DLLPRIVATE static ULONG mnAnimCount; + + List maList; + List maAInfoList; + Link maNotifyLink; + BitmapEx maBitmapEx; + Timer maTimer; + Size maGlobalSize; + List* mpViewList; + void* mpExtraData; + long mnLoopCount; + long mnLoops; + long mnPos; + Disposal meLastDisposal; + CycleMode meCycleMode; + BOOL mbFirst; + BOOL mbIsInAnimation; + BOOL mbWithSize; + BOOL mbLoopTerminated; + BOOL mbIsWaiting; + +//#if 0 // _SOLAR__PRIVATE + + SAL_DLLPRIVATE void ImplRestartTimer( ULONG nTimeout ); + DECL_DLLPRIVATE_LINK( ImplTimeoutHdl, Timer* ); + +public: + + SAL_DLLPRIVATE static void ImplIncAnimCount() { mnAnimCount++; } + SAL_DLLPRIVATE static void ImplDecAnimCount() { mnAnimCount--; } + SAL_DLLPRIVATE ULONG ImplGetCurPos() const { return mnPos; } + +//#endif + +public: + Animation(); + Animation( const Animation& rAnimation ); + ~Animation(); + + Animation& operator=( const Animation& rAnimation ); + BOOL operator==( const Animation& rAnimation ) const; + BOOL operator!=( const Animation& rAnimation ) const { return !(*this==rAnimation); } + + BOOL IsEqual( const Animation& rAnimation ) const; + + BOOL IsEmpty() const; + void SetEmpty(); + + void Clear(); + + BOOL Start( OutputDevice* pOutDev, const Point& rDestPt, long nExtraData = 0, + OutputDevice* pFirstFrameOutDev = NULL ); + BOOL Start( OutputDevice* pOutDev, const Point& rDestPt, const Size& rDestSz, long nExtraData = 0, + OutputDevice* pFirstFrameOutDev = NULL ); + void Stop( OutputDevice* pOutDev = NULL, long nExtraData = 0 ); + + void Draw( OutputDevice* pOutDev, const Point& rDestPt ) const; + void Draw( OutputDevice* pOutDev, const Point& rDestPt, const Size& rDestSz ) const; + + BOOL IsInAnimation() const { return mbIsInAnimation; } + BOOL IsTransparent() const; + BOOL IsTerminated() const { return mbLoopTerminated; } + + const Size& GetDisplaySizePixel() const { return maGlobalSize; } + void SetDisplaySizePixel( const Size& rSize ) { maGlobalSize = rSize; } + + const BitmapEx& GetBitmapEx() const { return maBitmapEx; } + void SetBitmapEx( const BitmapEx& rBmpEx ) { maBitmapEx = rBmpEx; } + + ULONG GetLoopCount() const { return mnLoopCount; } + void SetLoopCount( const ULONG nLoopCount ); + void ResetLoopCount(); + + void SetCycleMode( CycleMode eMode ); + CycleMode GetCycleMode() const { return meCycleMode; } + + void SetNotifyHdl( const Link& rLink ) { maNotifyLink = rLink; } + const Link& GetNotifyHdl() const { return maNotifyLink; } + + USHORT Count() const { return (USHORT) maList.Count(); } + BOOL Insert( const AnimationBitmap& rAnimationBitmap ); + const AnimationBitmap& Get( USHORT nAnimation ) const; + void Replace( const AnimationBitmap& rNewAnimationBmp, USHORT nAnimation ); + + List* GetAInfoList() { return &maAInfoList; } + ULONG GetSizeBytes() const; + ULONG GetChecksum() const; + +public: + + BOOL Convert( BmpConversion eConversion ); + BOOL ReduceColors( USHORT nNewColorCount, + BmpReduce eReduce = BMP_REDUCE_SIMPLE ); + BOOL Invert(); + BOOL Mirror( ULONG nMirrorFlags ); + BOOL Dither( ULONG nDitherFlags = BMP_DITHER_MATRIX ); + BOOL Adjust( short nLuminancePercent = 0, + short nContrastPercent = 0, + short nChannelRPercent = 0, + short nChannelGPercent = 0, + short nChannelBPercent = 0, + double fGamma = 1.0, + BOOL bInvert = FALSE ); + BOOL Filter( BmpFilter eFilter, + const BmpFilterParam* pFilterParam = NULL, + const Link* pProgress = NULL ); + + friend VCL_DLLPUBLIC SvStream& operator>>( SvStream& rIStream, Animation& rAnimation ); + friend VCL_DLLPUBLIC SvStream& operator<<( SvStream& rOStream, const Animation& rAnimation ); +}; + +#endif // _SV_ANIMATE_HXX diff --git a/vcl/inc/vcl/apptypes.hxx b/vcl/inc/vcl/apptypes.hxx new file mode 100644 index 000000000000..f293336c975c --- /dev/null +++ b/vcl/inc/vcl/apptypes.hxx @@ -0,0 +1,94 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: apptypes.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: vg $ $Date: 2007-04-11 17:47:40 $ + * + * 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 _VCL_APPTYPES_HXX +#define _VCL_APPTYPES_HXX + +#ifndef _SV_SV_H +#include <vcl/sv.h> +#endif + +#ifndef _VCL_DLLAPI_H +#include <vcl/dllapi.h> +#endif + +#ifndef _RTTI_HXX +#include <tools/rtti.hxx> +#endif + +// --------------------- +// - Application-Types - +// --------------------- + +#define EXC_RSCNOTLOADED ((USHORT)0x0100) +#define EXC_SYSOBJNOTCREATED ((USHORT)0x0200) +#define EXC_SYSTEM ((USHORT)0x0300) +#define EXC_DISPLAY ((USHORT)0x0400) +#define EXC_REMOTE ((USHORT)0x0500) +#define EXC_USER ((USHORT)0x1000) +#define EXC_MAJORTYPE ((USHORT)0xFF00) +#define EXC_MINORTYPE ((USHORT)0x00FF) + +#define UNIQUEID_SV_BEGIN 64000 + +class VCL_DLLPUBLIC ApplicationProperty +{ +public: + + TYPEINFO(); +}; + +#define INPUT_MOUSE 0x0001 +#define INPUT_KEYBOARD 0x0002 +#define INPUT_PAINT 0x0004 +#define INPUT_TIMER 0x0008 +#define INPUT_OTHER 0x0010 +#define INPUT_MOUSEANDKEYBOARD (INPUT_MOUSE | INPUT_KEYBOARD) +#define INPUT_ANY (INPUT_MOUSEANDKEYBOARD | INPUT_PAINT | INPUT_TIMER | INPUT_OTHER) + +#define DISPATCH_OPEN 0x0001 +#define DISPATCH_PRINT 0x0002 +#define DISPATCH_SERVER 0x0004 + +// -------------- +// - UserActive - +// -------------- + +#define USERACTIVE_MOUSEDRAG ((USHORT)0x0001) +#define USERACTIVE_INPUT ((USHORT)0x0002) +#define USERACTIVE_MODALDIALOG ((USHORT)0x0004) +#define USERACTIVE_ALL ((USHORT)0xFFFF) + +#endif // _VCL_APPTYPES_HXX |