Added zoom icons for graph edit, and removed old exporter
This commit is contained in:
parent
131cd1399c
commit
0537709b39
79
tools/editor/icons/source/icon_zoom_less.svg
Normal file
79
tools/editor/icons/source/icon_zoom_less.svg
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
viewBox="0 0 16 16"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_add_track.png"
|
||||||
|
inkscape:export-xdpi="45"
|
||||||
|
inkscape:export-ydpi="45"
|
||||||
|
sodipodi:docname="icon_zoom_less.svg">
|
||||||
|
<defs
|
||||||
|
id="defs4" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="32.000001"
|
||||||
|
inkscape:cx="3.0997291"
|
||||||
|
inkscape:cy="9.8345523"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="true"
|
||||||
|
units="px"
|
||||||
|
inkscape:snap-bbox="true"
|
||||||
|
inkscape:bbox-paths="true"
|
||||||
|
inkscape:bbox-nodes="true"
|
||||||
|
inkscape:snap-bbox-edge-midpoints="true"
|
||||||
|
inkscape:snap-bbox-midpoints="false"
|
||||||
|
inkscape:snap-object-midpoints="true"
|
||||||
|
inkscape:snap-center="true"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1016"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="27"
|
||||||
|
inkscape:window-maximized="1">
|
||||||
|
<inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid3336" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<metadata
|
||||||
|
id="metadata7">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(0,-1036.3622)">
|
||||||
|
<rect
|
||||||
|
style="fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect4137"
|
||||||
|
width="14"
|
||||||
|
height="1.9999478"
|
||||||
|
x="1"
|
||||||
|
y="1043.3622" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.4 KiB |
112
tools/editor/icons/source/icon_zoom_reset.svg
Normal file
112
tools/editor/icons/source/icon_zoom_reset.svg
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
viewBox="0 0 16 16"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_add_track.png"
|
||||||
|
inkscape:export-xdpi="45"
|
||||||
|
inkscape:export-ydpi="45"
|
||||||
|
sodipodi:docname="icon_zoom_reset.svg">
|
||||||
|
<defs
|
||||||
|
id="defs4" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="16.000001"
|
||||||
|
inkscape:cx="-8.8962151"
|
||||||
|
inkscape:cy="11.998138"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="true"
|
||||||
|
units="px"
|
||||||
|
inkscape:snap-bbox="true"
|
||||||
|
inkscape:bbox-paths="true"
|
||||||
|
inkscape:bbox-nodes="true"
|
||||||
|
inkscape:snap-bbox-edge-midpoints="true"
|
||||||
|
inkscape:snap-bbox-midpoints="false"
|
||||||
|
inkscape:snap-object-midpoints="true"
|
||||||
|
inkscape:snap-center="true"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1016"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="27"
|
||||||
|
inkscape:window-maximized="1">
|
||||||
|
<inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid3336" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<metadata
|
||||||
|
id="metadata7">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(0,-1036.3622)">
|
||||||
|
<rect
|
||||||
|
style="fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect4137"
|
||||||
|
width="2"
|
||||||
|
height="14.000017"
|
||||||
|
x="3"
|
||||||
|
y="1037.3622" />
|
||||||
|
<rect
|
||||||
|
y="1037.3622"
|
||||||
|
x="12"
|
||||||
|
height="14.000017"
|
||||||
|
width="2"
|
||||||
|
id="rect4156"
|
||||||
|
style="fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<rect
|
||||||
|
style="fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect4160"
|
||||||
|
width="2"
|
||||||
|
height="1.9999995"
|
||||||
|
x="7"
|
||||||
|
y="1046.3622" />
|
||||||
|
<rect
|
||||||
|
y="1040.3622"
|
||||||
|
x="7"
|
||||||
|
height="1.9999995"
|
||||||
|
width="2"
|
||||||
|
id="rect4162"
|
||||||
|
style="fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||||
|
<path
|
||||||
|
style="fill:#e0e0e0;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 1,1040.3622 2,-3 2,0 0,3 z"
|
||||||
|
id="path4164"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccccc" />
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="ccccc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4166"
|
||||||
|
d="m 10,1040.3622 2,-3 2,0 0,3 z"
|
||||||
|
style="fill:#e0e0e0;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.8 KiB |
@ -1,99 +0,0 @@
|
|||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
||||||
# Basic exporter for svg icons (requires Inkscape)
|
|
||||||
|
|
||||||
import os.path
|
|
||||||
from os import listdir
|
|
||||||
from os.path import isfile, join
|
|
||||||
import subprocess
|
|
||||||
import sys
|
|
||||||
|
|
||||||
import rsvg
|
|
||||||
import cairo
|
|
||||||
|
|
||||||
SVGS_PATH = 'source/'
|
|
||||||
OUT_DIR = './'
|
|
||||||
DPI = 90
|
|
||||||
|
|
||||||
if len(sys.argv) >= 2:
|
|
||||||
try:
|
|
||||||
scale = int(sys.argv[1])
|
|
||||||
if scale > 1:
|
|
||||||
OUT_DIR = '%sx/' % scale
|
|
||||||
DPI *= scale
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
rsvg.set_default_dpi(DPI)
|
|
||||||
|
|
||||||
last_svg_path = None
|
|
||||||
last_svg_data = None
|
|
||||||
|
|
||||||
def svg_to_png(svg_path, png_path, dpi):
|
|
||||||
global last_svg_path, last_svg_data
|
|
||||||
|
|
||||||
zoom = int(dpi / 90)
|
|
||||||
if last_svg_path != svg_path:
|
|
||||||
last_svg_data = open(svg_path, 'r').read()
|
|
||||||
last_svg_path = svg_path
|
|
||||||
svg = rsvg.Handle(data=last_svg_data)
|
|
||||||
img = cairo.ImageSurface(
|
|
||||||
cairo.FORMAT_ARGB32,
|
|
||||||
svg.props.width * zoom,
|
|
||||||
svg.props.height * zoom
|
|
||||||
)
|
|
||||||
ctx = cairo.Context(img)
|
|
||||||
ctx.set_antialias(cairo.ANTIALIAS_DEFAULT)
|
|
||||||
ctx.scale(zoom, zoom)
|
|
||||||
svg.render_cairo(ctx)
|
|
||||||
img.write_to_png('%s.png' % png_path)
|
|
||||||
svg.close()
|
|
||||||
|
|
||||||
|
|
||||||
def export_all(svgs_path=SVGS_PATH, out_dir=OUT_DIR, dpi=DPI):
|
|
||||||
if not os.path.isdir(out_dir):
|
|
||||||
os.makedirs(out_dir)
|
|
||||||
|
|
||||||
file_names = [f for f in listdir(svgs_path) if isfile(join(svgs_path, f))]
|
|
||||||
|
|
||||||
for file_name in file_names:
|
|
||||||
# name without extensions
|
|
||||||
name_only = file_name.replace('.svg', '')
|
|
||||||
|
|
||||||
icon_from_name = name_only
|
|
||||||
out_icon_names = [name_only] # export to a png with the same file name
|
|
||||||
rotations = []
|
|
||||||
transforms = []
|
|
||||||
|
|
||||||
# special cases
|
|
||||||
if special_icons.has_key(name_only):
|
|
||||||
special_icon = special_icons[name_only]
|
|
||||||
if type(special_icon) is dict:
|
|
||||||
if special_icon.has_key('output_names'):
|
|
||||||
out_icon_names += special_icon['output_names']
|
|
||||||
|
|
||||||
svg_file_path = '%s%s.svg' % (svgs_path, icon_from_name)
|
|
||||||
|
|
||||||
for index, out_icon_name in enumerate(out_icon_names):
|
|
||||||
svg_to_png(svg_file_path, out_dir + out_icon_name, dpi)
|
|
||||||
|
|
||||||
|
|
||||||
# special cases for icons that will be exported to multiple target pngs or that require transforms.
|
|
||||||
special_icons = {
|
|
||||||
'icon_add_track': dict( output_names=['icon_add'] ),
|
|
||||||
'icon_new': dict( output_names=['icon_file'] ),
|
|
||||||
'icon_animation_tree_player': dict( output_names=['icon_animation_tree'] ),
|
|
||||||
'icon_tool_rotate': dict( output_names=['icon_reload'] ),
|
|
||||||
'icon_multi_edit': dict( output_names=['icon_multi_node_edit'] ),
|
|
||||||
'icon_folder': dict( output_names=['icon_load', 'icon_open'] ),
|
|
||||||
'icon_file_list': dict( output_names=['icon_enum'] ),
|
|
||||||
'icon_collision_2d': dict( output_names=['icon_collision_polygon_2d', 'icon_polygon_2d'] ),
|
|
||||||
'icon_class_list': dict( output_names=['icon_filesystem'] ),
|
|
||||||
'icon_color_ramp': dict( output_names=['icon_graph_color_ramp'] ),
|
|
||||||
'icon_translation': dict( output_names=['icon_p_hash_translation'] ),
|
|
||||||
'icon_shader': dict( output_names=['icon_shader_material', 'icon_material_shader'] ),
|
|
||||||
'icon_canvas_item_shader_graph': dict( output_names=['icon_material_shader_graph'] ),
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
export_all()
|
|
Loading…
Reference in New Issue
Block a user