uiacceltk/hitchcock/coretoolkit/src/huicanvaswspainter.cpp
branchRCL_3
changeset 12 f93c875b566e
parent 10 7c5dd702d6d3
child 13 3a60ebea00d0
equal deleted inserted replaced
10:7c5dd702d6d3 12:f93c875b566e
    48 #include <e32cmn.h>
    48 #include <e32cmn.h>
    49 #include <AknLayoutFont.h>
    49 #include <AknLayoutFont.h>
    50 #include <graphics/lookuptable.h>
    50 #include <graphics/lookuptable.h>
    51 
    51 
    52 #include "HuiCmdBufferBrush.h"
    52 #include "HuiCmdBufferBrush.h"
       
    53 
       
    54 #include "alfmoduletestconf.h"
       
    55 #ifdef USE_MODULE_TEST_HOOKS_FOR_ALF
       
    56     // Provides TLS object data for test cases.
       
    57     // This is used only if module test hooks are set on.
       
    58     #include "huistatictlsdata.h"
       
    59 #endif // USE_MODULE_TEST_HOOKS_FOR_ALF
       
    60 // Provides module test hook defines.
       
    61 #include "alfmoduletestdefines.h"
    53 
    62 
    54 /** 
    63 /** 
    55  * Constants to define enabling/disabling render buffer automatically 
    64  * Constants to define enabling/disabling render buffer automatically 
    56  *  incase there are frequently new buffers posted. 
    65  *  incase there are frequently new buffers posted. 
    57  * 
    66  * 
  2385                 {
  2394                 {
  2386                 break;    
  2395                 break;    
  2387                 }
  2396                 }
  2388             
  2397             
  2389             CHuiCanvasCommandBuffer* cmdbuffer = iCommandBuffers[cb];
  2398             CHuiCanvasCommandBuffer* cmdbuffer = iCommandBuffers[cb];
  2390             for (TInt j=0; j < cmdbuffer->iOriginalUpdateRegion.Count();j++)
       
  2391                 {
       
  2392                 iTempRegion.AddRect(cmdbuffer->iOriginalUpdateRegion[j]);        
       
  2393                 }
       
  2394             
       
  2395             // Translate region to be relative to visual top left corner.
  2399             // Translate region to be relative to visual top left corner.
  2396             TPoint offset = -cmdbuffer->iOriginalDisplayRect.Round().iTl;
  2400             TPoint offset = -cmdbuffer->iOriginalDisplayRect.Round().iTl;
  2397             iTempRegion.Offset(offset);
  2401 
  2398             
  2402             for (TInt j=0; j < cmdbuffer->iOriginalUpdateRegion.Count();j++)
       
  2403                 {
       
  2404                 TRect rect = cmdbuffer->iOriginalUpdateRegion[j];
       
  2405                 rect.Move(offset);
       
  2406                 iTempRegion.AddRect(rect);
       
  2407                 }
       
  2408                         
  2399             // Check older buffers for overlapping regions against current buffer
  2409             // Check older buffers for overlapping regions against current buffer
  2400             if (cb > 0)
  2410             if (cb > 0)
  2401                 {                   
  2411                 {                   
  2402                 for (TInt i = cb - 1; i >= 0; i--)
  2412                 for (TInt i = cb - 1; i >= 0; i--)
  2403                     {
  2413                     {
  2743 
  2753 
  2744     #ifdef HUI_DEBUG_TRACK_DRAWING
  2754     #ifdef HUI_DEBUG_TRACK_DRAWING
  2745     CHuiCanvasWsGc* realGc = iCanvasWsGc;
  2755     CHuiCanvasWsGc* realGc = iCanvasWsGc;
  2746     iCanvasWsGc = CHuiCanvasDebugWsGc::NewL( realGc, *iCommandDebugger );
  2756     iCanvasWsGc = CHuiCanvasDebugWsGc::NewL( realGc, *iCommandDebugger );
  2747     #endif
  2757     #endif
       
  2758     
       
  2759     AMT_MAP_CANVAS_WS_PAINTER_SELECT_GC();
  2748     }
  2760     }
  2749 
  2761 
  2750 void CHuiCanvasWsPainter::RenewAllBuffers()
  2762 void CHuiCanvasWsPainter::RenewAllBuffers()
  2751     {
  2763     {
  2752     ClearAllBufferStatusFlags(EHuiCanvasBufferStatusAll);
  2764     ClearAllBufferStatusFlags(EHuiCanvasBufferStatusAll);