Starting resize support.
This commit is contained in:
parent
cea3d2c39f
commit
9ade0e2d4b
26 changed files with 197 additions and 44 deletions
|
@ -12,6 +12,8 @@ list(APPEND ui_elements_LIB_INCLUDES
|
|||
ui_events/MouseEvent.h
|
||||
ui_events/UiEvent.h
|
||||
ui_events/PaintEvent.h
|
||||
ui_events/ResizeEvent.h
|
||||
ui_events/ResizeEvent.cpp
|
||||
widgets/Widget.cpp
|
||||
widgets/Button.cpp
|
||||
widgets/Label.cpp
|
||||
|
|
|
@ -37,6 +37,12 @@ std::unique_ptr<Window> Window::Create()
|
|||
return std::make_unique<Window>();
|
||||
}
|
||||
|
||||
void Window::setSize(unsigned width, unsigned height)
|
||||
{
|
||||
DrawingSurface::setSize(width, height);
|
||||
mWidget->setBounds(width, height);
|
||||
}
|
||||
|
||||
void Window::clearPlatformWindow()
|
||||
{
|
||||
mPlatformWindow.reset();
|
||||
|
|
|
@ -55,6 +55,8 @@ public:
|
|||
|
||||
void clearPlatformWindow();
|
||||
|
||||
void setSize(unsigned width, unsigned height) override;
|
||||
|
||||
private:
|
||||
WidgetPtr mWidget {nullptr};
|
||||
IPlatformWindowPtr mPlatformWindow {nullptr};
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
class PaintEvent : public UiEvent
|
||||
{
|
||||
public:
|
||||
|
||||
PaintEvent();
|
||||
|
||||
~PaintEvent();
|
||||
|
|
20
src/ui_elements/ui_events/ResizeEvent.cpp
Normal file
20
src/ui_elements/ui_events/ResizeEvent.cpp
Normal file
|
@ -0,0 +1,20 @@
|
|||
#include "ResizeEvent.h"
|
||||
|
||||
ResizeEvent::ResizeEvent(unsigned width, unsigned height)
|
||||
: UiEvent(),
|
||||
mWidth(),
|
||||
mHeight()
|
||||
{
|
||||
mType = UiEvent::Type::Resize;
|
||||
}
|
||||
|
||||
ResizeEvent::~ResizeEvent()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
std::unique_ptr<ResizeEvent> ResizeEvent::Create(unsigned width, unsigned height)
|
||||
{
|
||||
return std::make_unique<ResizeEvent>(width, height);
|
||||
}
|
||||
|
30
src/ui_elements/ui_events/ResizeEvent.h
Normal file
30
src/ui_elements/ui_events/ResizeEvent.h
Normal file
|
@ -0,0 +1,30 @@
|
|||
#pragma once
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "UiEvent.h"
|
||||
|
||||
class ResizeEvent : public UiEvent
|
||||
{
|
||||
public:
|
||||
ResizeEvent(unsigned width, unsigned height);
|
||||
|
||||
~ResizeEvent();
|
||||
|
||||
static std::unique_ptr<ResizeEvent> Create(unsigned width, unsigned height);
|
||||
|
||||
unsigned getWidth() const
|
||||
{
|
||||
return mWidth;
|
||||
}
|
||||
|
||||
unsigned getHeight() const
|
||||
{
|
||||
return mHeight;
|
||||
}
|
||||
|
||||
private:
|
||||
unsigned mWidth{0};
|
||||
unsigned mHeight{0};
|
||||
};
|
||||
using ResizeEventPtr = std::unique_ptr<ResizeEvent>;
|
|
@ -10,7 +10,8 @@ public:
|
|||
Unknown,
|
||||
Paint,
|
||||
Mouse,
|
||||
Keyboard
|
||||
Keyboard,
|
||||
Resize
|
||||
};
|
||||
|
||||
protected:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue