Files
Aerofoil/PortabilityLayer/PLImageWidget.cpp

44 lines
1.1 KiB
C++
Raw Permalink Normal View History

#include "PLImageWidget.h"
#include "PLQDraw.h"
#include "ResourceManager.h"
namespace PortabilityLayer
{
ImageWidget::ImageWidget(const WidgetBasicState &state)
2021-03-29 21:41:11 -04:00
: WidgetSpec<ImageWidget, WidgetTypes::kImage>(state)
{
}
ImageWidget::~ImageWidget()
{
}
2020-05-18 02:03:17 -04:00
bool ImageWidget::Init(const WidgetBasicState &state, const void *additionalData)
{
m_pict = PortabilityLayer::ResourceManager::GetInstance()->GetAppResource('PICT', state.m_resID).StaticCast<BitmapImage>();
if (!m_pict)
return false;
return true;
}
void ImageWidget::DrawControl(DrawSurface *surface)
{
if (m_pict && m_rect.IsValid())
surface->DrawPicture(m_pict, m_rect);
}
2021-03-29 21:41:11 -04:00
WidgetHandleState_t ImageWidget::ProcessEvent(void *captureContext, const TimeTaggedVOSEvent &evt)
{
return DefaultProcessEvent(captureContext, evt);
}
int16_t ImageWidget::Capture(void *captureContext, const Point &pos, WidgetUpdateCallback_t callback)
{
return DefaultCapture(captureContext, pos, callback);
}
}
2021-03-29 21:41:11 -04:00
PL_IMPLEMENT_WIDGET_TYPE(PortabilityLayer::WidgetTypes::kImage, PortabilityLayer::ImageWidget)