Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(194)

Unified Diff: ui/gfx/vector_icons/aggregate_vector_icons.py

Issue 1231843002: Revert of Revert vector icon CLs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@merge_aide_oobe_completion
Patch Set: Rebase. Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/gfx/vector_icons.h ('k') | ui/gfx/vector_icons/check_circle.icon » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/gfx/vector_icons/aggregate_vector_icons.py
diff --git a/ui/gfx/vector_icons/aggregate_vector_icons.py b/ui/gfx/vector_icons/aggregate_vector_icons.py
new file mode 100644
index 0000000000000000000000000000000000000000..43a63bb5d6f04be8a39b485e59bb3ac637ceb174
--- /dev/null
+++ b/ui/gfx/vector_icons/aggregate_vector_icons.py
@@ -0,0 +1,75 @@
+# Copyright 2015 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import fileinput
+import glob
+import optparse
+import os
+import textwrap
+
+
+def AggregateVectorIcons(working_directory, output_cc, output_h):
+ """Compiles all .icon files in a directory into two C++ files.
+
+ Args:
+ working_directory: The path to the directory that holds the .icon files
+ and C++ templates.
+ output_cc: The path that should be used to write the .cc file.
+ output_h: The path that should be used to write the .h file.
+ """
+
+ icon_list = glob.glob(working_directory + "*.icon")
+
+ input_header_template = open(os.path.join(working_directory,
+ "vector_icons_public.h.template"))
+ header_template_contents = input_header_template.readlines()
+ input_header_template.close()
+ output_header = open(output_h, "w")
+ for line in header_template_contents:
+ if not "TEMPLATE_PLACEHOLDER" in line:
+ output_header.write(line)
+ else:
+ for icon_path in icon_list:
+ (icon_name, extension) = os.path.splitext(os.path.basename(icon_path))
+ output_header.write(" {},\n".format(icon_name.upper()))
+ output_header.close()
+
+ input_cc_template = open(
+ os.path.join(working_directory, "vector_icons.cc.template"))
+ cc_template_contents = input_cc_template.readlines()
+ input_cc_template.close()
+ output_cc = open(output_cc, "w")
+ for line in cc_template_contents:
+ if not "TEMPLATE_PLACEHOLDER" in line:
+ output_cc.write(line)
+ else:
+ for icon_path in icon_list:
+ (icon_name, extension) = os.path.splitext(os.path.basename(icon_path))
+ icon_file = open(icon_path)
+ vector_commands = "".join(icon_file.readlines())
+ icon_file.close()
+ output_cc.write("ICON_TEMPLATE({}, {})\n".format(icon_name.upper(),
+ vector_commands))
+ output_cc.close()
+
+
+def main():
+ parser = optparse.OptionParser()
+ parser.add_option("--working_directory",
+ help="The directory to look for template C++ as well as "
+ "icon files.")
+ parser.add_option("--output_cc",
+ help="The path to output the CC file to.")
+ parser.add_option("--output_h",
+ help="The path to output the header file to.")
+
+ (options, args) = parser.parse_args()
+
+ AggregateVectorIcons(options.working_directory,
+ options.output_cc,
+ options.output_h)
+
+
+if __name__ == "__main__":
+ main()
« no previous file with comments | « ui/gfx/vector_icons.h ('k') | ui/gfx/vector_icons/check_circle.icon » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698