mirror of https://github.com/GNOME/gimp.git
build/windows: generate fileicon .png's for MS Store and drop .ico
Also update the gimp.rc and delete the committed fileicon.ico now that gimp-data generates this file the same way as these PNG fileicon-s.
This commit is contained in:
parent
085d8a02b5
commit
b41fe61698
Binary file not shown.
Before Width: | Height: | Size: 157 KiB |
|
@ -65,5 +65,5 @@ END
|
|||
|
||||
#include "winuser.h"
|
||||
1 ICON QUOTE(TOP_SRCDIR) "/gimp-data/images/logo/gimp.ico"
|
||||
2 ICON QUOTE(TOP_SRCDIR) "/build/windows/fileicon.ico"
|
||||
2 ICON QUOTE(TOP_SRCDIR) "/gimp-data/images/logo/fileicon.ico"
|
||||
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST QUOTE(TOP_SRCDIR) "/build/windows/gimp.manifest"
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
import os
|
||||
import sys
|
||||
|
||||
input1_path = '@TOP_SRCDIR@/gimp-data/images/logo/fileicon-base.svg'
|
||||
input2_path = '@TOP_SRCDIR@/gimp-data/images/logo/gimp-logo-shadow.svg'
|
||||
output_path = '@OUTPUT@'
|
||||
procedure = Gimp.get_pdb().lookup_procedure("file-svg-load")
|
||||
config = procedure.create_config()
|
||||
size = @LOGO_DIM@
|
||||
config.set_property("file", Gio.file_new_for_path(input1_path))
|
||||
config.set_property("width", size)
|
||||
config.set_property("height", size)
|
||||
Gimp.Procedure.run(procedure, config)
|
||||
v = Gimp.Procedure.run(procedure, config)
|
||||
|
||||
if v.index(0) != Gimp.PDBStatusType.SUCCESS:
|
||||
sys.exit(os.EX_SOFTWARE)
|
||||
|
||||
image = v.index(1)
|
||||
|
||||
config.set_property("file", Gio.file_new_for_path(input2_path))
|
||||
wilber_size = size * 7 / 8
|
||||
config.set_property("width", wilber_size)
|
||||
config.set_property("height", wilber_size)
|
||||
Gimp.Procedure.run(procedure, config)
|
||||
v = Gimp.Procedure.run(procedure, config)
|
||||
|
||||
if v.index(0) != Gimp.PDBStatusType.SUCCESS:
|
||||
sys.exit(os.EX_SOFTWARE)
|
||||
|
||||
tmp_image = v.index(1)
|
||||
drawables = tmp_image.list_selected_drawables()
|
||||
layer2 = Gimp.Layer.new_from_drawable (drawables[0], image)
|
||||
image.insert_layer(layer2, None, 0)
|
||||
layer2.set_offsets(0, (size - wilber_size) * 5 / 6)
|
||||
tmp_image.delete()
|
||||
|
||||
image.merge_down(layer2, Gimp.MergeType.CLIP_TO_IMAGE)
|
||||
|
||||
procedure = Gimp.get_pdb().lookup_procedure("file-png-save")
|
||||
config = procedure.create_config()
|
||||
drawables = image.list_selected_drawables()
|
||||
# Needed otherwise it doesn't save the proper size because of bug #8855.
|
||||
drawables[0].resize_to_image_size()
|
||||
config.set_property("image", image)
|
||||
config.set_property("num-drawables", len(drawables))
|
||||
config.set_property("drawables", Gimp.ObjectArray.new(Gimp.Drawable, drawables, False))
|
||||
config.set_property("file", Gio.file_new_for_path(output_path))
|
||||
Gimp.Procedure.run(procedure, config)
|
||||
|
|
@ -252,6 +252,58 @@ endforeach
|
|||
|
||||
# OTHER ASSETS
|
||||
|
||||
## fileicon icon (for XCF and other filetypes)
|
||||
fileicon_path = meson.project_source_root() / 'gimp-data/images/logo/' / 'fileicon-base' + '.svg'
|
||||
foreach scale : scales
|
||||
if scale == '100'
|
||||
icon_name = 'fileicon.png'
|
||||
else
|
||||
icon_name = 'fileicon.scale-' + scale + '.png'
|
||||
endif
|
||||
scale_int = scale.to_int()
|
||||
size = 44 * scale_int / 100
|
||||
size_str = size.to_string()
|
||||
conf = configuration_data()
|
||||
conf.set('TOP_SRCDIR', meson.project_source_root())
|
||||
conf.set('OUTPUT', meson.current_build_dir() / icon_name)
|
||||
conf.set('LOGO_DIM', size_str)
|
||||
gen_fileicon_py = configure_file(input : 'gen-fileicon-png.py.in',
|
||||
output : 'gen-fileicon-png-' + size_str + '.py',
|
||||
configuration : conf)
|
||||
custom_target(icon_name,
|
||||
input : [ gen_fileicon_py ],
|
||||
depend_files: [ wilber_path, fileicon_path ],
|
||||
output: [ icon_name ],
|
||||
command: [ gimp_exe, '-nidfs',
|
||||
'--batch-interpreter', 'python-fu-eval',
|
||||
'-b', '-', '--quit'],
|
||||
feed: true,
|
||||
build_by_default: true,
|
||||
env: gimp_run_env)
|
||||
endforeach
|
||||
|
||||
foreach size : sizes
|
||||
icon_name = 'fileicon.targetsize-' + size + '.png'
|
||||
conf = configuration_data()
|
||||
conf.set('TOP_SRCDIR', meson.project_source_root())
|
||||
conf.set('OUTPUT', meson.current_build_dir() / icon_name)
|
||||
conf.set('LOGO_DIM', size)
|
||||
gen_fileicon_py = configure_file(input : 'gen-fileicon-png.py.in',
|
||||
output : 'gen-fileicon-png-' + size + '.py',
|
||||
configuration : conf)
|
||||
custom_target(icon_name,
|
||||
input : [ gen_fileicon_py ],
|
||||
depend_files: [ wilber_path, fileicon_path ],
|
||||
output: [ icon_name ],
|
||||
command: [ gimp_exe, '-nidfs',
|
||||
'--batch-interpreter', 'python-fu-eval',
|
||||
'-b', '-', '--quit'],
|
||||
feed: true,
|
||||
build_by_default: true,
|
||||
env: gimp_run_env)
|
||||
endforeach
|
||||
|
||||
|
||||
## Generate default XCF file (uap4:ShellNewFileName)
|
||||
gen_new_xcf_conf = configuration_data()
|
||||
gen_new_xcf_conf.set('BUILDDIR', meson.current_build_dir())
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit f1284be416e3561b8bef2fb28707d69978d56f7a
|
||||
Subproject commit d6a3d74aa4de49cc75387dc16d41fbe3a43f89bd
|
Loading…
Reference in New Issue