equal
deleted
inserted
replaced
25 #include <graphics/wsdisplaymapping.h> |
25 #include <graphics/wsdisplaymapping.h> |
26 #include <graphics/wsdisplaypolicy.h> |
26 #include <graphics/wsdisplaypolicy.h> |
27 #if defined(__WINS__) && defined(_DEBUG) |
27 #if defined(__WINS__) && defined(_DEBUG) |
28 #include "debugbardrawer.h" |
28 #include "debugbardrawer.h" |
29 #endif |
29 #endif |
|
30 #include <bitdev.h> |
30 |
31 |
31 #if defined(__WINS__) && defined(_DEBUG) |
32 #if defined(__WINS__) && defined(_DEBUG) |
32 #define DEBUGOSB iRenderTarget->UpdateDebugWin(); |
33 #define DEBUGOSB iRenderTarget->UpdateDebugWin(); |
33 #else |
34 #else |
34 #define DEBUGOSB |
35 #define DEBUGOSB |
247 else |
248 else |
248 { |
249 { |
249 return NULL; |
250 return NULL; |
250 } |
251 } |
251 } |
252 } |
252 |
|
253 } |
253 } |
254 |
254 |
255 TAny* interface = NULL; |
255 TAny* interface = NULL; |
256 if(!interface) |
256 if(!interface) |
257 interface = iRenderTarget->ResolveObjectInterface(aTypeId); |
257 interface = iRenderTarget->ResolveObjectInterface(aTypeId); |
310 return iScreenNumber; |
310 return iScreenNumber; |
311 } |
311 } |
312 |
312 |
313 TDisplayMode CDisplayRenderStage::DisplayMode() const |
313 TDisplayMode CDisplayRenderStage::DisplayMode() const |
314 { |
314 { |
315 return iRenderTarget->DisplayMode(); |
315 // MWsScreenDevice::DisplayMode is queried by Wserv to reply to CWsScreenDevice::DisplayMode calls from apps or when Wserv creates |
|
316 // CFbsScreenDevice whenever there are DSA clients. |
|
317 // Screendriver default display mode for 32bpp has been changed from 16MAP to 16MA to maintain compatibility with 3rd party apps, |
|
318 // therefore we have to report the supported screen device format instead of UI surface format. |
|
319 // |
|
320 // However, this method is also used by flickerbuffer render stage to determine pixel format for off-screen rendering target, |
|
321 // which must match UI surface format. Since we cannot return two different values in 32bpp case, this method will always return the |
|
322 // value from screendriver. Flickerbuffer render stage need to change to deal with this. |
|
323 // |
|
324 const TInt KThirtyTwoBpp = 32; |
|
325 const TDisplayMode dm = iRenderTarget->DisplayMode(); |
|
326 const TInt bpp = TDisplayModeUtils::NumDisplayModeBitsPerPixel(dm); |
|
327 return bpp == KThirtyTwoBpp ? CFbsDevice::DisplayMode16M() : dm; |
316 } |
328 } |
317 |
329 |
318 TSize CDisplayRenderStage::SizeInPixels() const |
330 TSize CDisplayRenderStage::SizeInPixels() const |
319 { |
331 { |
320 TSize size(0, 0); |
332 TSize size(0, 0); |