script-fu: Port lava.scm to GimpProcedureDialog

Resolves #10822

After improvements by Lloyd Konneker and Jehan,
Script-fu's implementation of GimpProcedureDialog retains
defaults for GimpResources.
This patch ports lava.scm to use the new API, and also switches
the default gradient to Incandescent.
This commit is contained in:
Alx Sa 2024-09-08 01:38:41 +00:00
parent a92388c433
commit 74c272ce69
1 changed files with 11 additions and 11 deletions

View File

@ -23,7 +23,7 @@
(define (script-fu-lava image (define (script-fu-lava image
drawable drawables
seed seed
tile_size tile_size
mask_size mask_size
@ -32,7 +32,8 @@
separate-layer separate-layer
current-grad) current-grad)
(let* ( (let* (
(type (car (gimp-drawable-type-with-alpha drawable))) (first-layer (vector-ref drawables 0))
(type (car (gimp-drawable-type-with-alpha first-layer)))
(image-width (car (gimp-image-get-width image))) (image-width (car (gimp-image-get-width image)))
(image-height (car (gimp-image-get-height image))) (image-height (car (gimp-image-get-height image)))
(active-selection 0) (active-selection 0)
@ -54,16 +55,16 @@
(gimp-context-set-defaults) (gimp-context-set-defaults)
(gimp-image-undo-group-start image) (gimp-image-undo-group-start image)
(if (= (car (gimp-drawable-has-alpha drawable)) FALSE) (if (= (car (gimp-drawable-has-alpha first-layer)) FALSE)
(gimp-layer-add-alpha drawable) (gimp-layer-add-alpha first-layer)
) )
(if (= (car (gimp-selection-is-empty image)) TRUE) (if (= (car (gimp-selection-is-empty image)) TRUE)
(gimp-image-select-item image CHANNEL-OP-REPLACE drawable) (gimp-image-select-item image CHANNEL-OP-REPLACE first-layer)
) )
(set! active-selection (car (gimp-selection-save image))) (set! active-selection (car (gimp-selection-save image)))
(gimp-image-set-selected-layers image 1 (make-vector 1 drawable)) (gimp-image-set-selected-layers image 1 (make-vector 1 first-layer))
(set! selection-bounds (gimp-selection-bounds image)) (set! selection-bounds (gimp-selection-bounds image))
(set! select-offset-x (cadr selection-bounds)) (set! select-offset-x (cadr selection-bounds))
@ -111,7 +112,7 @@
(gimp-selection-none image) (gimp-selection-none image)
) )
(gimp-image-set-selected-layers image 1 (make-vector 1 drawable)) (gimp-image-set-selected-layers image 1 (make-vector 1 first-layer))
(gimp-image-remove-channel image active-selection) (gimp-image-remove-channel image active-selection)
(gimp-image-undo-group-end image) (gimp-image-undo-group-end image)
@ -125,19 +126,18 @@
) )
) )
(script-fu-register "script-fu-lava" (script-fu-register-filter "script-fu-lava"
_"_Lava..." _"_Lava..."
_"Fill the current selection with lava" _"Fill the current selection with lava"
"Adrian Likins <adrian@gimp.org>" "Adrian Likins <adrian@gimp.org>"
"Adrian Likins" "Adrian Likins"
"10/12/97" "10/12/97"
"RGB* GRAY*" "RGB* GRAY*"
SF-IMAGE "Image" 0 SF-ONE-OR-MORE-DRAWABLE
SF-DRAWABLE "Drawable" 0
SF-ADJUSTMENT _"Seed" '(10 1 30000 1 10 0 1) SF-ADJUSTMENT _"Seed" '(10 1 30000 1 10 0 1)
SF-ADJUSTMENT _"Size" '(10 0 100 1 10 0 1) SF-ADJUSTMENT _"Size" '(10 0 100 1 10 0 1)
SF-ADJUSTMENT _"Roughness" '(7 3 50 1 10 0 0) SF-ADJUSTMENT _"Roughness" '(7 3 50 1 10 0 0)
SF-GRADIENT _"Gradient" "German flag smooth" SF-GRADIENT _"Gradient" "Incandescent"
SF-TOGGLE _"Keep selection" TRUE SF-TOGGLE _"Keep selection" TRUE
SF-TOGGLE _"Separate layer" TRUE SF-TOGGLE _"Separate layer" TRUE
SF-TOGGLE _"Use current gradient" FALSE SF-TOGGLE _"Use current gradient" FALSE