equal
deleted
inserted
replaced
96 iHelper.Update(); |
96 iHelper.Update(); |
97 } |
97 } |
98 |
98 |
99 template <class T> void CGenericScreenDevice<T>::Update(const TRegion& aRegion) |
99 template <class T> void CGenericScreenDevice<T>::Update(const TRegion& aRegion) |
100 { |
100 { |
101 iHelper.Update(aRegion); |
101 if(!aRegion.IsEmpty() && !aRegion.CheckError()) |
|
102 { |
|
103 if (aRegion.Count()>KMaxUpdateRegionRectangles) |
|
104 { |
|
105 UpdateRegion(aRegion.BoundingRect()); |
|
106 } |
|
107 else |
|
108 { |
|
109 TInt rcCnt = aRegion.Count(); |
|
110 for (TInt ii=0; ii < rcCnt; ++ii) |
|
111 { |
|
112 UpdateRegion(aRegion[ii]); //Applies deorientate (offset, scale, rotate) |
|
113 } |
|
114 } |
|
115 } |
|
116 Update(); |
102 } |
117 } |
103 |
118 |
104 template <class T> void CGenericScreenDevice<T>::UpdateRegion(const TRect& aRect) |
119 template <class T> void CGenericScreenDevice<T>::UpdateRegion(const TRect& aRect) |
105 { |
120 { |
106 iHelper.UpdateRegion(aRect); |
121 const TRect rect = CDrawXxxBppBitmap::DeOrientate(aRect);//rect - physical coordinates |
107 } |
122 |
|
123 iHelper.UpdateRegion(rect); |
|
124 } |
108 |
125 |
109 template <class T> TInt CGenericScreenDevice<T>::GetInterface(TInt aInterfaceId, TAny*& aInterface) |
126 template <class T> TInt CGenericScreenDevice<T>::GetInterface(TInt aInterfaceId, TAny*& aInterface) |
110 { |
127 { |
111 if(aInterfaceId == KSurfaceInterfaceID) |
128 if(aInterfaceId == KSurfaceInterfaceID) |
112 { |
129 { |