Major draw code refactor

This commit is contained in:
elasota
2019-12-30 20:53:11 -05:00
parent 918578469e
commit 04a955213c
83 changed files with 2451 additions and 2517 deletions

View File

@@ -57,6 +57,7 @@ namespace PortabilityLayer
void ShowWindow(Window *window) override;
void HideWindow(Window *window) override;
void FindWindow(const Point &point, Window **outWindow, short *outRegion) const override;
void DestroyWindow(Window *window) override;
void RenderFrame(IGpDisplayDriver *displayDriver) override;
@@ -236,7 +237,6 @@ namespace PortabilityLayer
// outRegion = One of:
/*
inMenuBar,
inSysWindow,
inContent,
inDrag,
inGrow,
@@ -285,6 +285,16 @@ namespace PortabilityLayer
*outRegion = 0;
}
void WindowManagerImpl::DestroyWindow(Window *window)
{
WindowImpl *windowImpl = static_cast<WindowImpl*>(window);
DetachWindow(window);
windowImpl->~WindowImpl();
PortabilityLayer::MemoryManager::GetInstance()->Release(windowImpl);
}
void WindowManagerImpl::RenderFrame(IGpDisplayDriver *displayDriver)
{
PortabilityLayer::DisplayDeviceManager *dd = PortabilityLayer::DisplayDeviceManager::GetInstance();
@@ -342,7 +352,7 @@ namespace PortabilityLayer
void WindowManagerImpl::RenderWindow(WindowImpl *window, IGpDisplayDriver *displayDriver)
{
CGraf &graf = window->m_graf;
DrawSurface &graf = window->m_graf;
graf.PushToDDSurface(displayDriver);