#include #ifdef GUI_COCO NAMESPACE_UPP #define LLOG(x) // LOG(x) #define LOGTIMING 0 #ifdef _DEBUG #define LOGMESSAGES 0 #endif #define ELOGW(x) // RLOG(GetSysTime() << ": " << x) // Only activate in MT! #define ELOG(x) // RLOG(GetSysTime() << ": " << x) bool Ctrl::IsAlphaSupported() { return false; } bool Ctrl::IsCompositedGui() { return false; } Vector Ctrl::GetTopCtrls() { Vector h; return h; } void Ctrl::SetMouseCursor(const Image& image) { GuiLock __; } Ctrl *Ctrl::GetOwner() { GuiLock __; return NULL; } Ctrl *Ctrl::GetActiveCtrl() { GuiLock __; return NULL; } // Vector Ctrl::hotkey; int Ctrl::RegisterSystemHotKey(dword key, Function cb) { /* ASSERT(key >= K_DELTA); int q = hotkey.GetCount(); for(int i = 0; i < hotkey.GetCount(); i++) if(!hotkey[i]) { q = i; break; } hotkey.At(q) = cb; dword mod = 0; if(key & K_ALT) mod |= MOD_ALT; if(key & K_SHIFT) mod |= MOD_SHIFT; if(key & K_CTRL) mod |= MOD_CONTROL; return RegisterHotKey(NULL, q, mod, key & 0xffff) ? q : -1;*/ return -1; } void Ctrl::UnregisterSystemHotKey(int id) { /* if(id >= 0 && id < hotkey.GetCount()) { UnregisterHotKey(NULL, id); hotkey[id].Clear(); }*/ } Rect Ctrl::GetWndScreenRect() const { GuiLock __; Rect r; return r; } void Ctrl::WndShow(bool b) { GuiLock __; } void Ctrl::WndUpdate() { GuiLock __; } void Ctrl::SetAlpha(byte alpha) { GuiLock __; } Rect Ctrl::GetWorkArea() const { GuiLock __; return Rect(); } void Ctrl::GetWorkArea(Array& rc) { GuiLock __; } Rect Ctrl::GetVirtualWorkArea() { Rect out = GetPrimaryWorkArea(); Array rc; GetWorkArea(rc); for(int i = 0; i < rc.GetCount(); i++) out |= rc[i]; return out; } Rect Ctrl::GetVirtualScreenArea() { GuiLock __; return Rect(); } Rect Ctrl::GetPrimaryWorkArea() { Rect r; return r; } Rect Ctrl::GetPrimaryScreenArea() { return Size(); } int Ctrl::GetKbdDelay() { GuiLock __; return 500; } int Ctrl::GetKbdSpeed() { GuiLock __; return 1000 / 32; } void Ctrl::SetWndForeground() { GuiLock __; } bool Ctrl::IsWndForeground() const { GuiLock __; return true; } void Ctrl::WndEnable(bool) { GuiLock __; } bool Ctrl::SetWndFocus() { GuiLock __; return true; } bool Ctrl::HasWndFocus() const { GuiLock __; return false; } bool Ctrl::SetWndCapture() { GuiLock __; ASSERT(IsMainThread()); return false; } bool Ctrl::ReleaseWndCapture() { GuiLock __; ASSERT(IsMainThread()); return false; } bool Ctrl::HasWndCapture() const { GuiLock __; return false; } void Ctrl::WndSetPos(const Rect& rect) { GuiLock __; } void Ctrl::WndUpdate(const Rect& r) { GuiLock __; } void Ctrl::WndScrollView(const Rect& r, int dx, int dy) { GuiLock __; } void Ctrl::PopUp(Ctrl *owner, bool savebits, bool activate, bool dropshadow, bool topmost) { } Rect Ctrl::GetDefaultWindowRect() { return Rect(0, 0, 100, 100); } ViewDraw::ViewDraw(Ctrl *ctrl) { EnterGuiMutex(); } ViewDraw::~ViewDraw() { LeaveGuiMutex(); } Vector SplitCmdLine__(const char *cmd) { Vector out; while(*cmd) if((byte)*cmd <= ' ') cmd++; else if(*cmd == '\"') { WString quoted; while(*++cmd && (*cmd != '\"' || *++cmd == '\"')) quoted.Cat(FromSystemCharset(String(cmd, 1)).ToWString()); out.Add(quoted); } else { const char *begin = cmd; while((byte)*cmd > ' ') cmd++; out.Add(String(begin, cmd).ToWString()); } return out; } void Ctrl::SysEndLoop() { } void FinishDragRect(Ctrl& q) { } END_UPP_NAMESPACE #endif