Files
Aerofoil/PortabilityLayer/PLPopupMenuWidget.h

34 lines
833 B
C
Raw Normal View History

2020-01-05 02:33:03 -05:00
#pragma once
#include "PascalStr.h"
#include "PLWidgets.h"
2020-02-23 20:21:04 -05:00
struct Menu;
2020-01-05 02:33:03 -05:00
namespace PortabilityLayer
{
2021-03-29 21:41:11 -04:00
class PopupMenuWidget final : public WidgetSpec<PopupMenuWidget, WidgetTypes::kPopupMenu>
2020-01-05 02:33:03 -05:00
{
public:
explicit PopupMenuWidget(const WidgetBasicState &state);
2020-05-18 02:03:17 -04:00
bool Init(const WidgetBasicState &state, const void *additionalData) override;
2020-02-23 20:21:04 -05:00
2021-03-29 21:41:11 -04:00
WidgetHandleState_t ProcessEvent(void *captureContext, const TimeTaggedVOSEvent &evt) GP_ASYNCIFY_PARANOID_OVERRIDE;
int16_t Capture(void *captureContext, const Point &pos, WidgetUpdateCallback_t callback) GP_ASYNCIFY_PARANOID_OVERRIDE;
2020-02-23 20:21:04 -05:00
void DrawControl(DrawSurface *surface) override;
2020-03-01 17:01:35 -05:00
void OnStateChanged() override;
2020-02-23 20:21:04 -05:00
PLPasStr GetString() const override;
2020-03-01 17:01:35 -05:00
const THandle<Menu> &GetMenu() const;
protected:
~PopupMenuWidget();
2020-02-23 20:21:04 -05:00
private:
THandle<Menu> m_menu;
2020-01-05 02:33:03 -05:00
};
}