Remove support for argv and argc.
[SDL.s60v3.git] / symbian / include / internal / epoc_sdl.h
blob19371e5b395c71e27fb23f7d94c035f49a749589
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 static void Request(TInt aService);
43 static CEventQueue& EventQueue();
44 static TDisplayMode DisplayMode();
45 static TBool IsDsaAvailable();
46 static TInt AllocSurface(const TSize& aSize, TDisplayMode aMode);
47 static void UnlockHwSurface();
48 static TUint8* LockHwSurface();
49 static void UpdateSwSurface();
50 static TBool AddUpdateRect(TUint8* aAddress, const TRect& aUpdateRect, const TRect& aTargetRect);
51 static TInt SetPalette(TInt aFirstcolor, TInt aColorCount, TUint32* aPalette);
52 static void WaitDsaAvailable();
53 static TInt AppendCleanupItem(const TSdlCleanupItem& aItem);
54 static void RemoveCleanupItem(void* aItem);
55 static void CleanupItems();
56 static void FreeSurface();
57 static TInt ApplyGlesDsa();
58 static RWindow* Window();
59 static void UpdateWholeScreen(bool val);
60 static bool GetUpdateWholeScreen();
61 static void SetOrientation(CAknAppUi::TAppUiOrientation orientation, const TSize& aSize, TDisplayMode aMode);
64 #endif