#pragma once #include "SharedTypes.h" #include "PascalStr.h" class PLPasStr; namespace PortabilityLayer { class IOStream; namespace WindowStyleFlags { enum WindowStyleFlag { kTitleBar = 1, kBorderless = 2, kResizable = 4, kMiniBar = 8, kAlert = 16, }; } struct WindowDef { Rect m_initialRect; uint16_t m_styleFlags; uint16_t m_visibilityStatus; uint16_t m_hasCloseBox; uint32_t m_referenceConstant; uint16_t m_positionSpec; uint8_t m_title[256]; bool Deserialize(IOStream *stream); static WindowDef Create(const Rect &initialRect, uint16_t styleFlags, bool isVisible, bool hasCloseBox, uint32_t refConstant, uint16_t positionSpec, const PLPasStr &title); }; }