diff options
author | Marek Sokolowski <mnbvmar@gmail.com> | 2017-08-29 16:49:59 +0000 |
---|---|---|
committer | Marek Sokolowski <mnbvmar@gmail.com> | 2017-08-29 16:49:59 +0000 |
commit | 4ac54d930280b0d4c774ea51fb52beb81af78190 (patch) | |
tree | 59ff2e11b8c6a7e4a9d6539c2494624c11d8cab7 /llvm/tools/llvm-rc/ResourceScriptStmt.cpp | |
parent | c6f6aa441b1fb0ed47b3275cd02e158a61e252ac (diff) | |
download | bcm5719-llvm-4ac54d930280b0d4c774ea51fb52beb81af78190.tar.gz bcm5719-llvm-4ac54d930280b0d4c774ea51fb52beb81af78190.zip |
[llvm-rc] Add DIALOG(EX) parsing ability (parser, pt 5/8).
This extends the set of resources parsed by llvm-rc by DIALOG and
DIALOGEX.
Additionally, three optional resource statements specific to these two
resources are added: CAPTION, FONT, and STYLE.
Thanks for Nico Weber for his original work in this area.
Differential Revision: https://reviews.llvm.org/D36905
llvm-svn: 312009
Diffstat (limited to 'llvm/tools/llvm-rc/ResourceScriptStmt.cpp')
-rw-r--r-- | llvm/tools/llvm-rc/ResourceScriptStmt.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/llvm/tools/llvm-rc/ResourceScriptStmt.cpp b/llvm/tools/llvm-rc/ResourceScriptStmt.cpp index 9f61ce451de..cfbd2f8f7a3 100644 --- a/llvm/tools/llvm-rc/ResourceScriptStmt.cpp +++ b/llvm/tools/llvm-rc/ResourceScriptStmt.cpp @@ -113,6 +113,35 @@ raw_ostream &StringTableResource::log(raw_ostream &OS) const { return OS; } +const StringSet<> Control::SupportedCtls = { + "LTEXT", "RTEXT", "CTEXT", "PUSHBUTTON", "DEFPUSHBUTTON", "EDITTEXT"}; + +const StringSet<> Control::CtlsWithTitle = {"LTEXT", "RTEXT", "CTEXT", + "PUSHBUTTON", "DEFPUSHBUTTON"}; + +raw_ostream &Control::log(raw_ostream &OS) const { + OS << " Control (" << ID << "): " << Type << ", title: " << Title + << ", loc: (" << X << ", " << Y << "), size: [" << Width << ", " << Height + << "]"; + if (Style) + OS << ", style: " << *Style; + if (ExtStyle) + OS << ", ext. style: " << *ExtStyle; + if (HelpID) + OS << ", help ID: " << *HelpID; + return OS << "\n"; +} + +raw_ostream &DialogResource::log(raw_ostream &OS) const { + OS << "Dialog" << (IsExtended ? "Ex" : "") << " (" << ResName << "): loc: (" + << X << ", " << Y << "), size: [" << Width << ", " << Height + << "], help ID: " << HelpID << "\n"; + OptStatements.log(OS); + for (auto &Ctl : Controls) + Ctl.log(OS); + return OS; +} + raw_ostream &CharacteristicsStmt::log(raw_ostream &OS) const { return OS << "Characteristics: " << Value << "\n"; } @@ -121,5 +150,17 @@ raw_ostream &VersionStmt::log(raw_ostream &OS) const { return OS << "Version: " << Value << "\n"; } +raw_ostream &CaptionStmt::log(raw_ostream &OS) const { + return OS << "Caption: " << Value << "\n"; +} + +raw_ostream &FontStmt::log(raw_ostream &OS) const { + return OS << "Font: size = " << Size << ", face = " << Typeface << "\n"; +} + +raw_ostream &StyleStmt::log(raw_ostream &OS) const { + return OS << "Style: " << Value << "\n"; +} + } // namespace rc } // namespace llvm |