uiacceltk/hitchcock/AlfRenderStage/inc/alfrssendbuffer.h
branchRCL_3
changeset 8 10534483575f
parent 3 d8a3531bc6b8
child 17 3ac8bf5c5014
child 21 6ce30188c5bf
equal deleted inserted replaced
7:433cbbb6a04b 8:10534483575f
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 #ifndef CALFSENDBUFFER_H_
    18 #ifndef CALFSENDBUFFER_H_
    19 #define CALFSENDBUFFER_H_
    19 #define CALFSENDBUFFER_H_
       
    20 
       
    21 //#define RD_SUBWINDOW_EFFECTS 
    20 
    22 
    21 #include <e32cmn.h>
    23 #include <e32cmn.h>
    22 #include <e32std.h> 
    24 #include <e32std.h> 
    23 #include <s32mem.h>
    25 #include <s32mem.h>
    24 #include <gdi.h>
    26 #include <gdi.h>
   117          * @param aRegion    Region
   119          * @param aRegion    Region
   118          */
   120          */
   119 	    void WriteRegionL( const TUint8& aCommand, const TRegion& aRegion );
   121 	    void WriteRegionL( const TUint8& aCommand, const TRegion& aRegion );
   120 	    
   122 	    
   121 	    /**
   123 	    /**
       
   124 	     * Writes ints followed by region.
       
   125          * 
       
   126          * Convenience function for writing region to the stream 
       
   127          *
       
   128          * @param aCommand   CommandId
       
   129          * @param aRegion    Region
       
   130          * @param aCount    Amount of TInt values to be streamed
       
   131          * @param aFirst    The first value
       
   132          * @param ...       variable aCount-1 amount of TInt values
       
   133 	     */
       
   134 	    void WriteRegionIntsL( const TUint8& aCommand, const TRegion& aRegion, TInt aCount, TRefByValue<const TInt> aFirst, ...);
       
   135 	    
       
   136 	    /**
   122          * WriteDescriptorAndIntsL
   137          * WriteDescriptorAndIntsL
   123          * 
   138          * 
   124          * Convenience function for writing TDesC reference and TInt values to the stream.
   139          * Convenience function for writing TDesC reference and TInt values to the stream.
   125          * Inserts padding to ensure that text starts on divisible by 4 offset.
   140          * Inserts padding to ensure that text starts on divisible by 4 offset.
   126          *
   141          *
   185          *
   200          *
   186          * @param aCommand  CommandId
   201          * @param aCommand  CommandId
   187          * @param aPoWriteIntList  Point array to be streamed
   202          * @param aPoWriteIntList  Point array to be streamed
   188          */
   203          */
   189         void WritePointArrayL( const TUint8& aCommand, const TArray<TPoint>* aPoWriteIntList );
   204         void WritePointArrayL( const TUint8& aCommand, const TArray<TPoint>* aPoWriteIntList );
   190         
   205 
   191         /**
   206         /**
   192          * WriteFlagsL
   207          * SetOrientation
   193          * 
   208          * 
   194          * Write flags to the stream
   209          * Set orientation. All drawing buffers will be tagged with the current orientation.
   195          */
   210          *
   196         void WriteFlagsL();
   211          * @param aOrientatation 	New orientation
       
   212          */        
       
   213         void SetOrientation(TInt aOrientation);
   197         
   214         
   198 	//
   215 	//
   199 	// ARRAY IMPLEMENTATION
   216 	// ARRAY IMPLEMENTATION
   200 	//	
   217 	//	
   201 	struct TOffsetElem
   218 	struct TOffsetElem
   204 	TInt32 iSize;   // size of the data.
   221 	TInt32 iSize;   // size of the data.
   205 	TInt32 iLayerId;
   222 	TInt32 iLayerId;
   206     TRect iBoundingRectangle;
   223     TRect iBoundingRectangle;
   207     };
   224     };
   208 
   225 
   209 
   226 #ifdef RD_SUBWINDOW_EFFECTS
   210 	void WriteArrayHeaderTemplateL();
   227 	void WriteArrayHeaderTemplateL();
   211 	void InitTOffsetElemArray(RArray<TOffsetElem> &aOffset);
   228 	void InitTOffsetElemArray(RArray<TOffsetElem> &aOffset);
   212 	void WriteArrayHeaderL(const TOffsetElem &aIndexArrayOffset);
   229 	void WriteArrayHeaderL(const TOffsetElem &aIndexArrayOffset);
   213 	TOffsetElem WriteIndexArrayL(const RArray<TOffsetElem> &aOffset);
   230 	TOffsetElem WriteIndexArrayL(const RArray<TOffsetElem> &aOffset);
   214 	void InitMarker(TInt &aMarker);
   231 	void InitMarker(TInt &aMarker);
   215 	void StartMarkerL(TInt &aMarker, TRect &aRectangle, TInt &aLayer, TRect aBoundingRectangle, TInt aLayerId);
   232 	void StartMarkerL(TInt &aMarker, TRect &aRectangle, TInt &aLayer, TRect aBoundingRectangle, TInt aLayerId);
   216 	void EndMarkerL(RArray<TOffsetElem> &aOffset, TInt &aMarker, const TRect &aRectangle, TInt aLayerId);
   233 	void EndMarkerL(RArray<TOffsetElem> &aOffset, TInt &aMarker, const TRect &aRectangle, TInt aLayerId);
   217     void StartMarkerL(TRect aBoundingRectangle, TInt aLayerId);
   234     void StartMarkerL(TRect aBoundingRectangle, TInt aLayerId);
   218     void EndMarkerL();
   235     void EndMarkerL();
       
   236 #endif // RD_SUBWINDOW_EFFECTS
   219 	
   237 	
   220        /**
   238        /**
   221         * SendL
   239         * SendL
   222         *
   240         *
   223         * Sends commands to via AlfBridger to AlfStreamerServer. Flushes the buffer.
   241         * Sends commands to via AlfBridger to AlfStreamerServer. Flushes the buffer.
   787         // caches text. If same text is used 2nd time inside buffer
   805         // caches text. If same text is used 2nd time inside buffer
   788         HBufC16* iCachedText;
   806         HBufC16* iCachedText;
   789         CAlfCompositionCntrlClient* iAlfCompositionCntrlClient;
   807         CAlfCompositionCntrlClient* iAlfCompositionCntrlClient;
   790         
   808         
   791         // array implementation
   809         // array implementation
       
   810 #ifdef RD_SUBWINDOW_EFFECTS		
   792         RArray<TOffsetElem> iOffsetArray;
   811         RArray<TOffsetElem> iOffsetArray;
   793         TInt iMarker;
   812         TInt iMarker;
   794         TRect iBoundingRectangle;
   813         TRect iBoundingRectangle;
   795         TInt iLayerId;
   814         TInt iLayerId;
   796         TInt iArrayImplOffset;
   815         TInt iArrayImplOffset;
   797         TInt iPreviousBlockOffset;
   816         TInt iPreviousBlockOffset;
   798         TInt iExtraLayerId;
   817         TInt iExtraLayerId;
   799         TBool iLayersEnabled;
   818         TBool iLayersEnabled;
       
   819 #endif        
       
   820         TInt iOrientation;
   800 	};
   821 	};
   801 #endif /*CALFSENDBUFFER_H_*/
   822 #endif /*CALFSENDBUFFER_H_*/