Remove some panic crap.
[SDL.s60v3.git] / symbian / include / internal / epoc_sdl.h
blob872f25ddc5c8c30296560c55c669f877f58a797e
1 #ifndef EPOCSDL_H
2 #define EPOCSDL_H
4 #include <e32def.h>
5 #include <e32std.h>
6 #include <gdi.h>
7 #include <w32std.h>
8 #include <aknappui.h>
9 #include <queue>
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);
19 class CEventQueue
21 public:
22 void Append(const TWsEvent& aEvent) { m_queue.push(aEvent); }
23 const TWsEvent Shift();
24 bool HasData();
26 private:
27 std::queue<TWsEvent> m_queue;
30 class TSdlCleanupItem
32 public:
33 TSdlCleanupItem(TSdlCleanupOperation aOperation, void* aItem);
34 TSdlCleanupOperation iOperation;
35 void* iItem;
36 TThreadId iThread;
39 class EpocSdlEnv
41 public:
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();
48 static TInt Argc();
49 static char** Argv();
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);
71 #endif