diff options
author | Martin Storsjo <martin@martin.st> | 2018-11-29 12:17:39 +0000 |
---|---|---|
committer | Martin Storsjo <martin@martin.st> | 2018-11-29 12:17:39 +0000 |
commit | a876b5c0f5d6a522ad3020149599a4e4d5330fb9 (patch) | |
tree | 57ea7bc681d6dc04ba4bdcb53c4e4ee169ba02cf /llvm/tools/llvm-rc/ResourceFileWriter.cpp | |
parent | 373a4ccf6cdd69993fbcef7384b741373374269b (diff) | |
download | llvm-a876b5c0f5d6a522ad3020149599a4e4d5330fb9.zip llvm-a876b5c0f5d6a522ad3020149599a4e4d5330fb9.tar.gz llvm-a876b5c0f5d6a522ad3020149599a4e4d5330fb9.tar.bz2 |
[llvm-rc] Support EXSTYLE statement.
Patch by Jacek Caban!
Differential Revision: https://reviews.llvm.org/D55020
llvm-svn: 347858
Diffstat (limited to 'llvm/tools/llvm-rc/ResourceFileWriter.cpp')
-rw-r--r-- | llvm/tools/llvm-rc/ResourceFileWriter.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/llvm/tools/llvm-rc/ResourceFileWriter.cpp b/llvm/tools/llvm-rc/ResourceFileWriter.cpp index 95d92a9..e69d479 100644 --- a/llvm/tools/llvm-rc/ResourceFileWriter.cpp +++ b/llvm/tools/llvm-rc/ResourceFileWriter.cpp @@ -514,6 +514,11 @@ Error ResourceFileWriter::visitCharacteristicsStmt( return Error::success(); } +Error ResourceFileWriter::visitExStyleStmt(const ExStyleStmt *Stmt) { + ObjectData.ExStyle = Stmt->Value; + return Error::success(); +} + Error ResourceFileWriter::visitFontStmt(const FontStmt *Stmt) { RETURN_IF_ERROR(checkNumberFits<uint16_t>(Stmt->Size, "Font size")); RETURN_IF_ERROR(checkNumberFits<uint16_t>(Stmt->Weight, "Font weight")); @@ -1065,6 +1070,7 @@ Error ResourceFileWriter::writeDialogBody(const RCResource *Base) { UsedStyle |= StyleCaptionFlag; const uint16_t DialogExMagic = 0xFFFF; + uint32_t ExStyle = ObjectData.ExStyle.getValueOr(0); // Write DIALOG(EX) header prefix. These are pretty different. if (!Res->IsExtended) { @@ -1083,7 +1089,7 @@ Error ResourceFileWriter::writeDialogBody(const RCResource *Base) { ulittle32_t Style; ulittle32_t ExtStyle; } Prefix{ulittle32_t(UsedStyle), - ulittle32_t(0)}; // As of now, we don't keep EXSTYLE. + ulittle32_t(ExStyle)}; writeObject(Prefix); } else { @@ -1094,7 +1100,7 @@ Error ResourceFileWriter::writeDialogBody(const RCResource *Base) { ulittle32_t ExtStyle; ulittle32_t Style; } Prefix{ulittle16_t(1), ulittle16_t(DialogExMagic), - ulittle32_t(Res->HelpID), ulittle32_t(0), ulittle32_t(UsedStyle)}; + ulittle32_t(Res->HelpID), ulittle32_t(ExStyle), ulittle32_t(UsedStyle)}; writeObject(Prefix); } |