5 #ifndef __iplatformframe__ 6 #define __iplatformframe__ 10 #include "../vstguifwd.h" 11 #include "iplatformframecallback.h" 16 class IPlatformFrame :
public AtomicReferenceCounted
19 static IPlatformFrame* createPlatformFrame (IPlatformFrameCallback* frame,
const CRect& size,
void* parent, PlatformType parentType, IPlatformFrameConfig* config =
nullptr);
20 static uint32_t getTicks ();
22 virtual bool getGlobalPosition (CPoint& pos)
const = 0;
23 virtual bool setSize (
const CRect& newSize) = 0;
24 virtual bool getSize (CRect& size)
const = 0;
26 virtual bool getCurrentMousePosition (CPoint& mousePosition)
const = 0;
27 virtual bool getCurrentMouseButtons (CButtonState& buttons)
const = 0;
28 virtual bool setMouseCursor (CCursorType type) = 0;
30 virtual bool invalidRect (
const CRect& rect) = 0;
31 virtual bool scrollRect (
const CRect& src,
const CPoint& distance) = 0;
33 virtual bool showTooltip (
const CRect& rect,
const char* utf8Text) = 0;
34 virtual bool hideTooltip () = 0;
36 virtual void* getPlatformRepresentation ()
const = 0;
38 virtual SharedPointer<IPlatformTextEdit> createPlatformTextEdit (IPlatformTextEditCallback* textEdit) = 0;
39 virtual SharedPointer<IPlatformOptionMenu> createPlatformOptionMenu () = 0;
40 #if VSTGUI_OPENGL_SUPPORT 41 virtual SharedPointer<IPlatformOpenGLView> createPlatformOpenGLView () = 0;
42 #endif // VSTGUI_OPENGL_SUPPORT 44 virtual SharedPointer<IPlatformViewLayer> createPlatformViewLayer (IPlatformViewLayerDelegate* drawDelegate, IPlatformViewLayer* parentLayer =
nullptr) = 0;
46 virtual SharedPointer<COffscreenContext> createOffscreenContext (CCoord width, CCoord height,
double scaleFactor = 1.) = 0;
48 virtual DragResult doDrag (IDataPackage* source,
const CPoint& offset, CBitmap* dragBitmap) = 0;
50 virtual void setClipboard (
const SharedPointer<IDataPackage>& data) = 0;
51 virtual SharedPointer<IDataPackage> getClipboard () = 0;
53 virtual PlatformType getPlatformType ()
const = 0;
56 explicit IPlatformFrame (IPlatformFrameCallback* frame) : frame (frame) {}
57 IPlatformFrameCallback* frame;
63 class ITouchBarCreator :
public AtomicReferenceCounted
67 virtual void* createTouchBar () = 0;
71 class IPlatformFrameTouchBarExtension
74 virtual ~IPlatformFrameTouchBarExtension () noexcept = default;
77 virtual
void setTouchBarCreator (const SharedPointer<ITouchBarCreator>& creator) = 0;
79 virtual
void recreateTouchBar () = 0;
86 #endif // __iplatformframe__ Definition: customcontrols.cpp:8