@interface CocoaHorizontalSlider : NSSlider { @public phoenix::HorizontalSlider* horizontalSlider; } -(id) initWith:(phoenix::HorizontalSlider&)horizontalSlider; -(IBAction) activate:(id)sender; @end namespace phoenix { struct pHorizontalSlider : public pWidget { HorizontalSlider& horizontalSlider; CocoaHorizontalSlider* cocoaHorizontalSlider = nullptr; Size minimumSize(); void setGeometry(Geometry geometry); void setLength(unsigned length); void setPosition(unsigned position); pHorizontalSlider(HorizontalSlider& horizontalSlider) : pWidget(horizontalSlider), horizontalSlider(horizontalSlider) {} void constructor(); void destructor(); }; }