16 BEGIN_IGRAPHICS_NAMESPACE
18 extern void GetScreenDimensions(
int& width,
int& height);
20 extern float GetScaleForScreen(
int width,
int height);
30 void SetBundleID(
const char* bundleID) { mBundleID.Set(bundleID); }
32 void* OpenWindow(
void* pWindow)
override;
33 void CloseWindow()
override;
34 bool WindowIsOpen()
override;
35 void PlatformResize(
bool parentHasResized)
override;
36 void AttachPlatformView(
const IRECT& r,
void* pView)
override;
37 void RemovePlatformView(
void* pView)
override;
39 void GetMouseLocation(
float& x,
float&y)
const override;
41 EMsgBoxResult ShowMessageBox(
const char* str,
const char* caption, EMsgBoxType type, IMsgBoxCompletionHanderFunc completionHandler)
override;
42 void ForceEndUserEdit()
override;
44 const char* GetPlatformAPIStr()
override;
46 void UpdateTooltips()
override {};
48 void PromptForFile(WDL_String& fileName, WDL_String& path, EFileAction action,
const char* ext)
override;
49 void PromptForDirectory(WDL_String& dir)
override;
50 bool PromptForColor(
IColor& color,
const char* str, IColorPickerHandlerFunc func)
override;
52 void HideMouseCursor(
bool hide,
bool lock)
override {};
53 void MoveMouseCursor(
float x,
float y)
override {};
55 bool OpenURL(
const char* url,
const char* msgWindowTitle,
const char* confirmMsg,
const char* errMsgOnFailure)
override;
57 void* GetWindow()
override;
59 const char* GetBundleID()
override {
return mBundleID.Get(); }
60 static int GetUserOSVersion();
62 bool GetTextFromClipboard(WDL_String& str)
override;
63 bool SetTextInClipboard(
const char* str)
override;
65 void CreatePlatformImGui()
override;
67 void LaunchBluetoothMidiDialog(
float x,
float y);
69 void AttachGestureRecognizer(EGestureType type)
override;
71 bool PlatformSupportsMultiTouch()
const override {
return true; }
74 PlatformFontPtr LoadPlatformFont(
const char* fontID,
const char* fileNameOrResID)
override;
75 PlatformFontPtr LoadPlatformFont(
const char* fontID,
const char* fontName, ETextStyle style)
override;
76 PlatformFontPtr LoadPlatformFont(
const char* fontID,
void* pData,
int dataSize)
override;
77 void CachePlatformFont(
const char* fontID,
const PlatformFontPtr& font)
override;
80 void CreatePlatformTextEntry(
int paramIdx,
const IText& text,
const IRECT& bounds,
int length,
const char* str)
override;
83 void* mView =
nullptr;
84 void* mImGuiView =
nullptr;
89 END_IGRAPHICS_NAMESPACE
Used to manage a rectangular area, independent of draw class/platform.
Used for choosing a drawing backend.
Used to manage color data, independent of draw class/platform.
An editor delegate base class for a SOMETHING that uses IGraphics for it's UI.
IText is used to manage font and text/text entry style for a piece of text on the UI...
IGraphics platform class for IOS.