10 #include "SDL_config_symbian.h"
12 #define PANIC(x) Panic(x, __LINE__)
13 #define PANIC_IF_ERROR(x) (x == KErrNone || Panic(x, __LINE__))
15 TInt
Panic(TInt aErr
, TInt aLine
);
17 typedef void (*TSdlCleanupOperation
) (void* aThis
);
22 void Append(const TWsEvent
& aEvent
) { m_queue
.push(aEvent
); }
23 const TWsEvent
Shift();
27 std::queue
<TWsEvent
> m_queue
;
33 TSdlCleanupItem(TSdlCleanupOperation aOperation
, void* aItem
);
34 TSdlCleanupOperation iOperation
;
42 enum {ELastService
=100};
43 static void Request(TInt aService
);
44 static CEventQueue
& EventQueue();
45 static TSize
WindowSize(const TSize
& aRequestedSize
);
46 static TSize
WindowSize();
47 static TDisplayMode
DisplayMode();
50 static TBool
IsDsaAvailable();
51 static TInt
AllocSurface(const TSize
& aSize
, TDisplayMode aMode
);
52 static void UnlockHwSurface();
53 static TUint8
* LockHwSurface();
54 static void UpdateSwSurface();
55 static TBool
AddUpdateRect(TUint8
* aAddress
, const TRect
& aUpdateRect
, const TRect
& aTargetRect
);
56 static void WaitDeviceChange();
57 static TInt
SetPalette(TInt aFirstcolor
, TInt aColorCount
, TUint32
* aPalette
);
58 static void ObserverEvent(TInt aService
, TInt aParam
= 0);
59 static void WaitDsaAvailable();
60 static TInt
AppendCleanupItem(const TSdlCleanupItem
& aItem
);
61 static void RemoveCleanupItem(void* aItem
);
62 static void CleanupItems();
63 static void FreeSurface();
64 static TInt
ApplyGlesDsa();
65 static RWindow
* Window();
66 static void UpdateWholeScreen(bool val
);
67 static bool GetUpdateWholeScreen();
68 static void SetOrientation(CAknAppUi::TAppUiOrientation orientation
, const TSize
& aSize
, TDisplayMode aMode
);