mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-09-23 06:53:43 +00:00
44 lines
1.1 KiB
C++
44 lines
1.1 KiB
C++
#include "PLImageWidget.h"
|
|
#include "PLQDraw.h"
|
|
#include "ResourceManager.h"
|
|
|
|
namespace PortabilityLayer
|
|
{
|
|
ImageWidget::ImageWidget(const WidgetBasicState &state)
|
|
: WidgetSpec<ImageWidget, WidgetTypes::kImage>(state)
|
|
{
|
|
}
|
|
|
|
ImageWidget::~ImageWidget()
|
|
{
|
|
}
|
|
|
|
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);
|
|
}
|
|
|
|
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);
|
|
}
|
|
}
|
|
|
|
PL_IMPLEMENT_WIDGET_TYPE(PortabilityLayer::WidgetTypes::kImage, PortabilityLayer::ImageWidget)
|