Issues updating to vstgui 4.7 (IDropTarget redefinition)

After doing some additional hacking in malloc.h, I’ve managed to compile and run my application in VSTGUI 4.9 on Windows. Let’s see how things fair on macOS…

As a note, to get my custom classes to compile, I had to create a header file full of typedefs and macros for all the classes and enums I use from the VSTGUI namespace.

#ifndef __AF_VSTGUI_DEFS__
#define __AF_VSTGUI_DEFS__

#ifndef __APPLE__
#include "lib\platform\win32\win32support.h" // for UTF8StringHelper
#endif

typedef VSTGUI::CView CView;
typedef VSTGUI::CDrawContext CDrawContext;
typedef VSTGUI::CRect CRect;
typedef VSTGUI::CPoint CPoint;
typedef VSTGUI::CBitmap CBitmap;
typedef VSTGUI::CVSTGUITimer CVSTGUITimer;
typedef VSTGUI::CColor CColor;
typedef VSTGUI::CMouseEventResult CMouseEventResult;
typedef VSTGUI::CMessageResult CMessageResult;
typedef VSTGUI::CButtonState CButtonState;
typedef VSTGUI::CBaseObject CBaseObject;
typedef VSTGUI::IControlListener IControlListener;
typedef VSTGUI::CGraphicsPath CGraphicsPath;
typedef VSTGUI::CCoord CCoord;
typedef VSTGUI::CFrame CFrame;
typedef VSTGUI::CFontRef CFontRef;
typedef VSTGUI::CFontDesc CFontDesc;
typedef VSTGUI::CGraphicsTransform CGraphicsTransform;
typedef VSTGUI::CLineStyle CLineStyle;
typedef VSTGUI::UTF8String UTF8String;
typedef VSTGUI::UTF8StringPtr UTF8StringPtr;
typedef VSTGUI::UTF8StringHelper UTF8StringHelper;
typedef VSTGUI::COpenGLView COpenGLView;
typedef VSTGUI::COffscreenContext COffscreenContext;
typedef VSTGUI::CTextLabel CTextLabel;
typedef VSTGUI::CGradient CGradient;
typedef VSTGUI::CControl CControl;
typedef VSTGUI::CViewContainer CViewContainer;
typedef VSTGUI::CTextEdit CTextEdit;
typedef VSTGUI::COnOffButton COnOffButton;
typedef VSTGUI::COptionMenu COptionMenu;
typedef VSTGUI::CScrollView CScrollView;
typedef VSTGUI::CMouseWheelAxis CMouseWheelAxis;
typedef VSTGUI::CMenuItem CMenuItem;
typedef VSTGUI::CLayeredViewContainer CLayeredViewContainer;
typedef VSTGUI::CScrollContainer CScrollContainer;
typedef VSTGUI::PixelFormat PixelFormat;




constexpr const CColor kTransparentCColor = CColor(255, 255, 255, 0);
constexpr const CColor kBlackCColor = CColor(0, 0, 0, 255);
constexpr const CColor kWhiteCColor = CColor(255, 255, 255, 255);
constexpr const CColor kGreyCColor = CColor(127, 127, 127, 255);
constexpr const CColor kRedCColor = CColor(255, 0, 0, 255);
constexpr const CColor kGreenCColor = CColor(0, 255, 0, 255);
constexpr const CColor kBlueCColor = CColor(0, 0, 255, 255);
constexpr const CColor kYellowCColor = CColor(255, 255, 0, 255);
constexpr const CColor kMagentaCColor = CColor(255, 0, 255, 255);
constexpr const CColor kCyanCColor = CColor(0, 255, 255, 255);



#define kAntiAliasing VSTGUI::kAntiAliasing
#define kNonIntegralMode VSTGUI::kNonIntegralMode
#define kMessageNotified VSTGUI::kMessageNotified

#define kDrawStroked VSTGUI::kDrawStroked
#define kDrawFilled VSTGUI::kDrawFilled
#define kDrawFilledAndStroked VSTGUI::kDrawFilledAndStroked

#define kLeftText VSTGUI::kLeftText
#define kCenterText VSTGUI::kCenterText
#define kRightText VSTGUI::kRightText

#define kNormalFont VSTGUI::kNormalFont
#define kNormalFontBig VSTGUI::kNormalFontBig
#define kNormalFontVeryBig VSTGUI::kNormalFontVeryBig
#define kNormalFontSmall VSTGUI::kNormalFontSmall
#define kNormalFontSmaller VSTGUI::kNormalFontSmaller
#define kNormalFontVerySmall VSTGUI::kNormalFontVerySmall

#define kMouseEventNotImplemented VSTGUI::kMouseEventNotImplemented
#define kMouseEventHandled VSTGUI::kMouseEventHandled
#define kMouseEventNotHandled VSTGUI::kMouseEventNotHandled
#define kMouseDownEventHandledButDontNeedMovedOrUpEvents VSTGUI::kMouseDownEventHandledButDontNeedMovedOrUpEvents
#define kMouseMoveEventHandledButDontNeedMoreEvents VSTGUI::kMouseMoveEventHandledButDontNeedMoreEvents

#define kCursorDefault VSTGUI::kCursorDefault
#define kCursorWait VSTGUI::kCursorWait
#define kCursorHSize VSTGUI::kCursorHSize
#define kCursorVSize VSTGUI::kCursorVSize
#define kCursorSizeAll VSTGUI::kCursorSizeAll
#define kCursorNESWSize VSTGUI::kCursorNESWSize
#define kCursorNWSESize VSTGUI::kCursorNWSESize
#define kCursorCopy VSTGUI::kCursorCopy
#define kCursorNotAllowed VSTGUI::kCursorNotAllowed
#define kCursorHand VSTGUI::kCursorHand
#define kCursorIBeam VSTGUI::kCursorIBeam

#define kNormalFace VSTGUI::kNormalFace
#define kBoldFace VSTGUI::kBoldFace
#define kItalicFace VSTGUI::kItalicFace
#define kUnderlineFace VSTGUI::kUnderlineFace
#define kStrikethroughFace VSTGUI::kStrikethroughFace

#define kLButton VSTGUI::kLButton
#define kMButton VSTGUI::kMButton
#define kRButton VSTGUI::kRButton
#define kShift VSTGUI::kShift
#define kControl VSTGUI::kControl
#define kAlt VSTGUI::kAlt
#define kApple VSTGUI::kApple
#define kButton4 VSTGUI::kButton4
#define kButton5 VSTGUI::kButton5
#define kDoubleClick VSTGUI::kDoubleClick
#define kMouseWheelInverted VSTGUI::kMouseWheelInverted

#endif