Files
gimp/plug-ins/script-fu/scripts/paste-as-pattern.scm
lloyd konneker 96e02122b8 ScriptFu: plugins: port to script-fu-register-regular
Ported all supported/shipped Scheme plugins in the repo
that formerly called script-fu-register.
No test plugins were ported.

The plugins now use the new dialog, GimpProcedureDialog.

These are the plugins that are not filters i.e. not GimpImageProcedure,
which were ported earlier to script-fu-register-filter.

The test plugin Demo>Sphere demonstrates that while script-fu-register
is now deprecated, it still works, showing the old dialog.

Misc bug fix to prior commits.

Misc porting of same plugins to v3 binding of PDB return values.

Misc fixes: invalid default font names, and deprecated PDB calls.
2024-09-27 14:35:50 +00:00

61 lines
2.0 KiB
Scheme

; GIMP - The GNU Image Manipulation Program
; Copyright (C) 1995 Spencer Kimball and Peter Mattis
;
; script-fu-paste-as-pattern
; Based on select-to-pattern by Cameron Gregory, http://www.flamingtext.com/
;
; This program is free software: you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 3 of the License, or
; (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with this program. If not, see <https://www.gnu.org/licenses/>.
(define (script-fu-paste-as-pattern name filename)
(script-fu-use-v3)
(let* ((pattern-image (gimp-edit-paste-as-new-image))
(path 0))
(if (gimp-image-id-is-valid pattern-image)
(begin
(set! path (string-append gimp-directory
"/patterns/"
filename
(number->string pattern-image)
".pat"))
(file-pat-export RUN-NONINTERACTIVE
pattern-image
path
-1 ; NULL ExportOptions
name)
(gimp-image-delete pattern-image)
(gimp-patterns-refresh)
(gimp-context-set-pattern (gimp-pattern-get-by-name name))
)
(gimp-message _"There is no image data in the clipboard to paste.")
)
)
)
(script-fu-register-regular "script-fu-paste-as-pattern"
_"Paste as New _Pattern..."
_"Paste the clipboard contents into a new pattern"
"Michael Natterer <mitch@gimp.org>"
"2005-09-25"
SF-STRING _"_Pattern name" _"My Pattern"
SF-STRING _"_File name" _"mypattern"
)
(script-fu-menu-register "script-fu-paste-as-pattern"
"<Image>/Edit/Paste as")