diff --git a/build/windows/gitlab-ci/4_dist-gimp-winsdk.ps1 b/build/windows/gitlab-ci/4_dist-gimp-winsdk.ps1 index 58c3f6f51c..611bea619c 100644 --- a/build/windows/gitlab-ci/4_dist-gimp-winsdk.ps1 +++ b/build/windows/gitlab-ci/4_dist-gimp-winsdk.ps1 @@ -82,6 +82,7 @@ if (Test-Path -Path "$icons_path") { New-Item -ItemType Directory -Path "$arch\Assets\" Copy-Item -Path "$icons_path\*.png" -Destination "$arch\Assets\" -Recurse + Copy-Item -Path "$icons_path\*.xcf" -Destination "$arch\Assets\" -Recurse } } else diff --git a/build/windows/store/AppxManifest.xml b/build/windows/store/AppxManifest.xml index 86dfa9187c..85e00893a2 100644 --- a/build/windows/store/AppxManifest.xml +++ b/build/windows/store/AppxManifest.xml @@ -45,7 +45,7 @@ eXperimental Computing Facility file Assets\fileicon.png - .xcf + .xcf diff --git a/build/windows/store/Assets/gen-new-xcf.py.in b/build/windows/store/Assets/gen-new-xcf.py.in new file mode 100644 index 0000000000..4793ad5ac3 --- /dev/null +++ b/build/windows/store/Assets/gen-new-xcf.py.in @@ -0,0 +1,25 @@ +import os +import sys + +output_path = '@BUILDDIR@/New_GIMP_Project.xcf' +default_width = 1920 +default_height = 1080 +image = Gimp.Image.new(default_width, default_height, Gimp.ImageBaseType.RGB) +layer = Gimp.Layer.new(image, None, default_width, default_height, + Gimp.ImageType.RGB_IMAGE, 100.0, Gimp.LayerMode.NORMAL) +layer.fill(Gimp.FillType.WHITE) +image.insert_layer(layer, None, 0) + +procedure = Gimp.get_pdb().lookup_procedure("gimp-xcf-save") +config = procedure.create_config() +drawables = image.list_selected_drawables() +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) + +v = Gimp.Procedure.run(procedure, config) + +if v.index(0) != Gimp.PDBStatusType.SUCCESS: + sys.exit(os.EX_SOFTWARE) diff --git a/build/windows/store/Assets/meson.build b/build/windows/store/Assets/meson.build index ed8f084693..8ad01c7397 100644 --- a/build/windows/store/Assets/meson.build +++ b/build/windows/store/Assets/meson.build @@ -248,3 +248,27 @@ foreach scale : scales build_by_default: true, env: gimp_run_env) endforeach + + +# OTHER ASSETS + +## Generate default XCF file (uap4:ShellNewFileName) +gen_new_xcf_conf = configuration_data() +gen_new_xcf_conf.set('BUILDDIR', meson.current_build_dir()) +gen_new_xcf_py = configure_file( + input : 'gen-new-xcf.py.in', + output : 'gen-new-xcf.py', + configuration : gen_new_xcf_conf +) + +xcf_file = custom_target('New_GIMP_Project.xcf', + input : [ gen_new_xcf_py ], + depend_files: [ wilber_path ], + output: [ 'New_GIMP_Project.xcf', ], + command: [ gimp_exe, '-nidfs', + '--batch-interpreter', 'python-fu-eval', + '-b', '-', '--quit'], + feed: true, + build_by_default: true, + env: gimp_run_env +)