Most remaining level editor work

This commit is contained in:
elasota
2020-03-01 17:01:35 -05:00
parent abd4f1a978
commit 7b27d6c6b5
48 changed files with 1211 additions and 945 deletions

View File

@@ -97,6 +97,8 @@ namespace PortabilityLayer
bool IsBorderless() const;
uint16_t GetStyleFlags() const;
void SetTitle(const PLPasStr &str);
const PascalStr<255> &GetTitle() const;
private:
@@ -124,6 +126,7 @@ namespace PortabilityLayer
void FindWindow(const Point &point, Window **outWindow, short *outRegion) const override;
void DestroyWindow(Window *window) override;
void DragWindow(Window *window, const Point &startPoint, const Rect &constraintRect) override;
void SetWindowTitle(Window *window, const PLPasStr &title) override;
void RenderFrame(IGpDisplayDriver *displayDriver) override;
@@ -582,6 +585,12 @@ namespace PortabilityLayer
return m_styleFlags;
}
void WindowImpl::SetTitle(const PLPasStr &str)
{
m_title.Set(str.Length(), str.Chars());
m_chromeTheme->RenderChrome(this, m_chromeSurfaces + WindowChromeSides::kTop, WindowChromeSides::kTop);
}
const PascalStr<255> &WindowImpl::GetTitle() const
{
return m_title;
@@ -770,6 +779,11 @@ namespace PortabilityLayer
}
}
void WindowManagerImpl::SetWindowTitle(Window *window, const PLPasStr &title)
{
static_cast<WindowImpl*>(window)->SetTitle(title);
}
void WindowManagerImpl::RenderFrame(IGpDisplayDriver *displayDriver)
{
PortabilityLayer::DisplayDeviceManager *dd = PortabilityLayer::DisplayDeviceManager::GetInstance();