diff --git a/ChangeLog b/ChangeLog index b20e1d14fc..c1a707854c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,32 @@ +2003-02-27 Raphael Quinet + + * plug-ins/script-fu/scripts/Makefile.am + * plug-ins/script-fu/scripts/3d-outline.scm + * plug-ins/script-fu/scripts/alien-glow-logo.scm + * plug-ins/script-fu/scripts/alien-neon-logo.scm + * plug-ins/script-fu/scripts/basic1-logo.scm + * plug-ins/script-fu/scripts/basic2-logo.scm + * plug-ins/script-fu/scripts/blended-logo.scm + * plug-ins/script-fu/scripts/bovinated-logo.scm + * plug-ins/script-fu/scripts/chalk.scm + * plug-ins/script-fu/scripts/chip-away.scm + * plug-ins/script-fu/scripts/chrome-logo.scm + * plug-ins/script-fu/scripts/comic-logo.scm + * plug-ins/script-fu/scripts/coolmetal-logo.scm + * plug-ins/script-fu/scripts/frosty-logo.scm + * plug-ins/script-fu/scripts/glossy.scm + * plug-ins/script-fu/scripts/glowing-logo.scm + * plug-ins/script-fu/scripts/gradient-bevel-logo.scm + * plug-ins/script-fu/scripts/neon-logo.scm + * plug-ins/script-fu/scripts/script-fu-util.scm + * plug-ins/script-fu/scripts/starburst-logo.scm + * plug-ins/script-fu/scripts/starscape-logo.scm + * plug-ins/script-fu/scripts/t-o-p-logo.scm + * plug-ins/script-fu/scripts/textured-logo.scm: applied a slightly + modified version of the patch provided by Chauk-Mean PROUM to fix + the behavior of some alpha-to-logo scripts when the layer has a + non-zero offset or if a selection exists. Fixes bug #73891. + 2003-02-27 Michael Natterer * app/core/gimpviewable.[ch]: added virtual function diff --git a/plug-ins/script-fu/scripts/3d-outline.scm b/plug-ins/script-fu/scripts/3d-outline.scm index e8a68aad56..bba0599405 100644 --- a/plug-ins/script-fu/scripts/3d-outline.scm +++ b/plug-ins/script-fu/scripts/3d-outline.scm @@ -36,7 +36,8 @@ (pattern (car (gimp-layer-new img width height RGBA_IMAGE "Pattern" 100 NORMAL))) (old-fg (car (gimp-palette-get-foreground))) (old-bg (car (gimp-palette-get-background)))) - (gimp-image-resize img width height 0 0) + (gimp-selection-none img) + (script-fu-util-image-resize-from-layer img logo-layer) (gimp-image-add-layer img pattern 1) (gimp-image-add-layer img bg-layer 2) (gimp-palette-set-background '(255 255 255)) diff --git a/plug-ins/script-fu/scripts/alien-glow-logo.scm b/plug-ins/script-fu/scripts/alien-glow-logo.scm index 55c8c1e0bf..30cd526051 100644 --- a/plug-ins/script-fu/scripts/alien-glow-logo.scm +++ b/plug-ins/script-fu/scripts/alien-glow-logo.scm @@ -14,7 +14,8 @@ (glow-layer (car (gimp-layer-new img width height RGBA_IMAGE "Alien Glow" 100 NORMAL))) (old-fg (car (gimp-palette-get-foreground))) (old-bg (car (gimp-palette-get-background)))) - (gimp-image-resize img width height 0 0) + (gimp-selection-none img) + (script-fu-util-image-resize-from-layer img logo-layer) (gimp-image-add-layer img bg-layer 1) (gimp-image-add-layer img glow-layer 1) (gimp-layer-set-preserve-trans logo-layer TRUE) diff --git a/plug-ins/script-fu/scripts/alien-neon-logo.scm b/plug-ins/script-fu/scripts/alien-neon-logo.scm index 58b0193e2e..2ffd0bb9ca 100644 --- a/plug-ins/script-fu/scripts/alien-neon-logo.scm +++ b/plug-ins/script-fu/scripts/alien-neon-logo.scm @@ -44,7 +44,7 @@ (bands-layer (car (gimp-layer-new img width height RGBA_IMAGE "Bands" 100 NORMAL))) (old-fg (car (gimp-palette-get-foreground))) (old-bg (car (gimp-palette-get-background)))) - (gimp-image-resize img width height 0 0) + (script-fu-util-image-resize-from-layer img logo-layer) (gimp-image-add-layer img bg-layer 1) (gimp-image-add-layer img bands-layer 1) (gimp-selection-none img) diff --git a/plug-ins/script-fu/scripts/basic1-logo.scm b/plug-ins/script-fu/scripts/basic1-logo.scm index b8a73e8c59..57060e695b 100644 --- a/plug-ins/script-fu/scripts/basic1-logo.scm +++ b/plug-ins/script-fu/scripts/basic1-logo.scm @@ -11,7 +11,8 @@ (shadow-layer (car (gimp-layer-new img width height RGBA_IMAGE "Shadow" 100 MULTIPLY))) (old-fg (car (gimp-palette-get-foreground))) (old-bg (car (gimp-palette-get-background)))) - (gimp-image-resize img width height 0 0) + (gimp-selection-none img) + (script-fu-util-image-resize-from-layer img logo-layer) (gimp-image-add-layer img shadow-layer 1) (gimp-image-add-layer img bg-layer 2) (gimp-palette-set-foreground text-color) diff --git a/plug-ins/script-fu/scripts/basic2-logo.scm b/plug-ins/script-fu/scripts/basic2-logo.scm index 80bbd952f6..d21d44cb38 100644 --- a/plug-ins/script-fu/scripts/basic2-logo.scm +++ b/plug-ins/script-fu/scripts/basic2-logo.scm @@ -16,12 +16,15 @@ text-color) (let* ((width (car (gimp-drawable-width logo-layer))) (height (car (gimp-drawable-height logo-layer))) + (posx (- (car (gimp-drawable-offsets logo-layer)))) + (posy (- (cadr (gimp-drawable-offsets logo-layer)))) (bg-layer (car (gimp-layer-new img width height RGB_IMAGE "Background" 100 NORMAL))) (highlight-layer (car (gimp-layer-copy logo-layer TRUE))) (shadow-layer (car (gimp-layer-new img width height RGBA_IMAGE "Shadow" 100 MULTIPLY))) (old-fg (car (gimp-palette-get-foreground))) (old-bg (car (gimp-palette-get-background)))) - (gimp-image-resize img width height 0 0) + (gimp-selection-none img) + (script-fu-util-image-resize-from-layer img logo-layer) (gimp-image-add-layer img bg-layer 1) (gimp-image-add-layer img shadow-layer 1) (gimp-image-add-layer img highlight-layer 1) @@ -42,7 +45,7 @@ (gimp-palette-set-foreground '(255 255 255)) (gimp-blend logo-layer FG-BG-RGB MULTIPLY RADIAL 100 20 REPEAT-NONE FALSE 0 0 0 0 width height) (gimp-layer-translate shadow-layer 3 3) - (gimp-layer-translate highlight-layer -2 -2) + (gimp-layer-translate highlight-layer (- posx 2) (- posy 2)) (gimp-layer-set-name highlight-layer "Highlight") (gimp-palette-set-background old-bg) (gimp-palette-set-foreground old-fg))) diff --git a/plug-ins/script-fu/scripts/blended-logo.scm b/plug-ins/script-fu/scripts/blended-logo.scm index 31c0c1ba57..103c9c0548 100644 --- a/plug-ins/script-fu/scripts/blended-logo.scm +++ b/plug-ins/script-fu/scripts/blended-logo.scm @@ -30,7 +30,7 @@ (old-fg (car (gimp-palette-get-foreground))) (old-bg (car (gimp-palette-get-background))) (old-grad (car (gimp-gradients-get-gradient)))) - (gimp-image-resize img width height 0 0) + (script-fu-util-image-resize-from-layer img logo-layer) (gimp-image-add-layer img shadow-layer 1) (gimp-image-add-layer img blend-layer 1) (gimp-image-add-layer img drop-shadow-layer 1) diff --git a/plug-ins/script-fu/scripts/bovinated-logo.scm b/plug-ins/script-fu/scripts/bovinated-logo.scm index 0bbf4f0a03..2485f0a015 100644 --- a/plug-ins/script-fu/scripts/bovinated-logo.scm +++ b/plug-ins/script-fu/scripts/bovinated-logo.scm @@ -30,7 +30,7 @@ (blur-layer (car (gimp-layer-new img width height RGBA_IMAGE "Blur" 100 NORMAL))) (old-fg (car (gimp-palette-get-foreground))) (old-bg (car (gimp-palette-get-background)))) - (gimp-image-resize img width height 0 0) + (script-fu-util-image-resize-from-layer img logo-layer) (gimp-image-add-layer img bg-layer 1) (gimp-image-add-layer img blur-layer 1) diff --git a/plug-ins/script-fu/scripts/chalk.scm b/plug-ins/script-fu/scripts/chalk.scm index 19249bd28e..71fc0ae8df 100644 --- a/plug-ins/script-fu/scripts/chalk.scm +++ b/plug-ins/script-fu/scripts/chalk.scm @@ -30,7 +30,8 @@ (old-fg (car (gimp-palette-get-foreground))) (old-bg (car (gimp-palette-get-background)))) - (gimp-image-resize img width height 0 0) + (gimp-selection-none img) + (script-fu-util-image-resize-from-layer img logo-layer) (gimp-image-add-layer img bg-layer 1) (gimp-palette-set-background bg-color) (gimp-edit-fill bg-layer BG-IMAGE-FILL) diff --git a/plug-ins/script-fu/scripts/chip-away.scm b/plug-ins/script-fu/scripts/chip-away.scm index b9985d99fe..ef8f9a93a7 100644 --- a/plug-ins/script-fu/scripts/chip-away.scm +++ b/plug-ins/script-fu/scripts/chip-away.scm @@ -53,7 +53,7 @@ (old-fg (car (gimp-palette-get-foreground))) (old-bg (car (gimp-palette-get-background))) (old-pattern (car (gimp-patterns-get-pattern)))) - (gimp-image-resize img width height 0 0) + (script-fu-util-image-resize-from-layer img logo-layer) (gimp-image-add-layer img bg-layer 1) (gimp-layer-set-preserve-trans logo-layer TRUE) (gimp-patterns-set-pattern pattern) diff --git a/plug-ins/script-fu/scripts/chrome-logo.scm b/plug-ins/script-fu/scripts/chrome-logo.scm index 50f8d6103b..ffc3dcdd59 100644 --- a/plug-ins/script-fu/scripts/chrome-logo.scm +++ b/plug-ins/script-fu/scripts/chrome-logo.scm @@ -19,7 +19,7 @@ (layer-mask (car (gimp-layer-create-mask layer1 BLACK-MASK))) (old-fg (car (gimp-palette-get-foreground))) (old-bg (car (gimp-palette-get-background)))) - (gimp-image-resize img width height 0 0) + (script-fu-util-image-resize-from-layer img logo-layer) (gimp-image-add-layer img background 1) (gimp-image-add-layer img shadow 1) (gimp-image-add-layer img layer3 1) diff --git a/plug-ins/script-fu/scripts/comic-logo.scm b/plug-ins/script-fu/scripts/comic-logo.scm index 25ad3058da..29a87d7b5d 100644 --- a/plug-ins/script-fu/scripts/comic-logo.scm +++ b/plug-ins/script-fu/scripts/comic-logo.scm @@ -27,17 +27,21 @@ bg-color) (let* ((width (car (gimp-drawable-width logo-layer))) (height (car (gimp-drawable-height logo-layer))) + (posx (- (car (gimp-drawable-offsets logo-layer)))) + (posy (- (cadr (gimp-drawable-offsets logo-layer)))) (bg-layer (car (gimp-layer-new img width height RGBA_IMAGE "Background" 100 NORMAL))) (white-layer (car (gimp-layer-copy logo-layer 1))) (black-layer (car (gimp-layer-copy logo-layer 1))) (old-gradient (car (gimp-gradients-get-gradient))) (old-fg (car (gimp-palette-get-foreground))) (old-bg (car (gimp-palette-get-background)))) - (gimp-image-resize img width height 0 0) + (script-fu-util-image-resize-from-layer img logo-layer) (gimp-image-add-layer img bg-layer 1) (gimp-image-add-layer img white-layer 1) + (gimp-layer-translate white-layer posx posy) (gimp-layer-set-name white-layer "White") (gimp-image-add-layer img black-layer 1) + (gimp-layer-translate black-layer posx posy) (gimp-layer-set-name black-layer "Black") (gimp-selection-all img) diff --git a/plug-ins/script-fu/scripts/coolmetal-logo.scm b/plug-ins/script-fu/scripts/coolmetal-logo.scm index 9314ad97e5..4cab10bd01 100644 --- a/plug-ins/script-fu/scripts/coolmetal-logo.scm +++ b/plug-ins/script-fu/scripts/coolmetal-logo.scm @@ -17,6 +17,8 @@ (depth (/ size 20)) (width (car (gimp-drawable-width logo-layer))) (height (car (gimp-drawable-height logo-layer))) + (posx (- (car (gimp-drawable-offsets logo-layer)))) + (posy (- (cadr (gimp-drawable-offsets logo-layer)))) (img-width (+ width (* 0.15 height) 10)) (img-height (+ (* 1.85 height) 10)) (bg-layer (car (gimp-layer-new img img-width img-height RGB_IMAGE "Background" 100 NORMAL))) @@ -28,7 +30,8 @@ (old-gradient (car (gimp-gradients-get-gradient))) (old-fg (car (gimp-palette-get-foreground))) (old-bg (car (gimp-palette-get-background)))) - (gimp-image-resize img img-width img-height 0 0) + (gimp-selection-none img) + (gimp-image-resize img img-width img-height posx posy) (gimp-image-add-layer img bg-layer 1) (gimp-image-add-layer img reflect-layer 1) (gimp-image-add-layer img shadow-layer 1) diff --git a/plug-ins/script-fu/scripts/frosty-logo.scm b/plug-ins/script-fu/scripts/frosty-logo.scm index 73ce97ded4..41cdf85af8 100644 --- a/plug-ins/script-fu/scripts/frosty-logo.scm +++ b/plug-ins/script-fu/scripts/frosty-logo.scm @@ -19,7 +19,8 @@ (old-bg (car (gimp-palette-get-background))) (old-brush (car (gimp-brushes-get-brush))) (old-paint-mode (car (gimp-brushes-get-paint-mode)))) - (gimp-image-resize img width height 0 0) + (gimp-image-add-layer-mask img logo-layer logo-layer-mask) + (script-fu-util-image-resize-from-layer img logo-layer) (gimp-image-add-layer img sparkle-layer 2) (gimp-image-add-layer img matte-layer 3) (gimp-image-add-layer img shadow-layer 4) @@ -50,7 +51,7 @@ (gimp-edit-fill bg-layer BG-IMAGE-FILL) (gimp-palette-set-background '(0 0 0)) (gimp-edit-fill logo-layer BG-IMAGE-FILL) - (gimp-image-add-layer-mask img logo-layer logo-layer-mask) +; (gimp-image-add-layer-mask img logo-layer logo-layer-mask) (gimp-selection-load selection) (gimp-palette-set-background '(255 255 255)) (gimp-edit-fill logo-layer-mask BG-IMAGE-FILL) diff --git a/plug-ins/script-fu/scripts/glossy.scm b/plug-ins/script-fu/scripts/glossy.scm index b6b4098d76..dd9029d22b 100644 --- a/plug-ins/script-fu/scripts/glossy.scm +++ b/plug-ins/script-fu/scripts/glossy.scm @@ -40,6 +40,8 @@ s-offset-y) (let* ((width (car (gimp-drawable-width logo-layer))) (height (car (gimp-drawable-height logo-layer))) + (posx (- (car (gimp-drawable-offsets logo-layer)))) + (posy (- (cadr (gimp-drawable-offsets logo-layer)))) (bg-layer (car (gimp-layer-new img width height RGB_IMAGE "Background" 100 NORMAL))) (grow-me (car (gimp-layer-copy logo-layer TRUE))) @@ -48,9 +50,10 @@ (old-fg (car (gimp-palette-get-foreground))) (old-bg (car (gimp-palette-get-background)))) - (gimp-image-resize img width height 0 0) + (script-fu-util-image-resize-from-layer img logo-layer) (gimp-layer-set-name grow-me "Grow-me") (gimp-image-add-layer img grow-me 1) + (gimp-layer-translate grow-me posx posy) (gimp-image-add-layer img bg-layer 2) (gimp-palette-set-background bg-color) diff --git a/plug-ins/script-fu/scripts/glowing-logo.scm b/plug-ins/script-fu/scripts/glowing-logo.scm index 0ce62b0d96..724df465d5 100644 --- a/plug-ins/script-fu/scripts/glowing-logo.scm +++ b/plug-ins/script-fu/scripts/glowing-logo.scm @@ -11,13 +11,16 @@ (feather3 (/ size 10)) (width (car (gimp-drawable-width logo-layer))) (height (car (gimp-drawable-height logo-layer))) + (posx (- (car (gimp-drawable-offsets logo-layer)))) + (posy (- (cadr (gimp-drawable-offsets logo-layer)))) (glow-layer (car (gimp-layer-copy logo-layer TRUE))) (bg-layer (car (gimp-layer-new img width height RGB_IMAGE "Background" 100 NORMAL))) (old-fg (car (gimp-palette-get-foreground))) (old-bg (car (gimp-palette-get-background)))) - (gimp-image-resize img width height 0 0) + (script-fu-util-image-resize-from-layer img logo-layer) (gimp-image-add-layer img bg-layer 1) (gimp-image-add-layer img glow-layer 1) + (gimp-layer-translate glow-layer posx posy) (gimp-selection-none img) (gimp-palette-set-background bg-color) diff --git a/plug-ins/script-fu/scripts/gradient-bevel-logo.scm b/plug-ins/script-fu/scripts/gradient-bevel-logo.scm index 782b4b475b..56e87b9d2e 100644 --- a/plug-ins/script-fu/scripts/gradient-bevel-logo.scm +++ b/plug-ins/script-fu/scripts/gradient-bevel-logo.scm @@ -33,7 +33,7 @@ (blur-layer (car (gimp-layer-new img width height RGBA_IMAGE "Blur" 100 NORMAL))) (old-fg (car (gimp-palette-get-foreground))) (old-bg (car (gimp-palette-get-background)))) - (gimp-image-resize img width height 0 0) + (script-fu-util-image-resize-from-layer img logo-layer) (gimp-image-add-layer img bg-layer 1) (gimp-image-add-layer img blur-layer 1) diff --git a/plug-ins/script-fu/scripts/neon-logo.scm b/plug-ins/script-fu/scripts/neon-logo.scm index 275466a972..7e695681ed 100644 --- a/plug-ins/script-fu/scripts/neon-logo.scm +++ b/plug-ins/script-fu/scripts/neon-logo.scm @@ -81,7 +81,7 @@ (selection 0) (old-fg (car (gimp-palette-get-foreground))) (old-bg (car (gimp-palette-get-background)))) - (gimp-image-resize img width height 0 0) + (script-fu-util-image-resize-from-layer img tube-layer) (gimp-image-add-layer img bg-layer 1) (if (not (= shadow 0)) (begin diff --git a/plug-ins/script-fu/scripts/script-fu-util.scm b/plug-ins/script-fu/scripts/script-fu-util.scm new file mode 100644 index 0000000000..da2eb426bc --- /dev/null +++ b/plug-ins/script-fu/scripts/script-fu-util.scm @@ -0,0 +1,31 @@ +; The GIMP -- an image manipulation program +; Copyright (C) 1995 Spencer Kimball and Peter Mattis +; +; 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 2 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, write to the Free Software +; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +; Resizes the image so as to include the selected layer. +; The resulting image has the selected layer size. +; Copyright (C) 2002 Chauk-Mean PROUM +; +(define (script-fu-util-image-resize-from-layer image layer) + (let* + ((width (car (gimp-drawable-width layer))) + (height (car (gimp-drawable-height layer))) + (posx (- (car (gimp-drawable-offsets layer)))) + (posy (- (cadr (gimp-drawable-offsets layer))))) + (gimp-image-resize image width height posx posy) + ) +) + diff --git a/plug-ins/script-fu/scripts/starburst-logo.scm b/plug-ins/script-fu/scripts/starburst-logo.scm index a212556d89..58efaf9522 100644 --- a/plug-ins/script-fu/scripts/starburst-logo.scm +++ b/plug-ins/script-fu/scripts/starburst-logo.scm @@ -23,7 +23,8 @@ (old-fg (car (gimp-palette-get-foreground))) (old-bg (car (gimp-palette-get-background)))) - (gimp-image-resize img width height 0 0) + (gimp-selection-none img) + (script-fu-util-image-resize-from-layer img logo-layer) (gimp-image-add-layer img bg-layer 1) (gimp-image-add-layer img shadow-layer 1) (gimp-image-add-layer img burst-layer 0) diff --git a/plug-ins/script-fu/scripts/starscape-logo.scm b/plug-ins/script-fu/scripts/starscape-logo.scm index 6801bd633e..5921b0a464 100644 --- a/plug-ins/script-fu/scripts/starscape-logo.scm +++ b/plug-ins/script-fu/scripts/starscape-logo.scm @@ -59,7 +59,8 @@ (old-pattern (car (gimp-patterns-get-pattern))) (old-fg (car (gimp-palette-get-foreground))) (old-bg (car (gimp-palette-get-background)))) - (gimp-image-resize img width height 0 0) + (gimp-selection-none img) + (script-fu-util-image-resize-from-layer img logo-layer) (gimp-image-add-layer img bg-layer 1) (gimp-image-add-layer img glow-layer 1) (gimp-image-add-layer img shadow-layer 1) diff --git a/plug-ins/script-fu/scripts/t-o-p-logo.scm b/plug-ins/script-fu/scripts/t-o-p-logo.scm index cd2710a026..d8dea88335 100644 --- a/plug-ins/script-fu/scripts/t-o-p-logo.scm +++ b/plug-ins/script-fu/scripts/t-o-p-logo.scm @@ -23,7 +23,7 @@ (old-bg (car (gimp-palette-get-background))) (old-brush (car (gimp-brushes-get-brush))) (old-paint-mode (car (gimp-brushes-get-paint-mode)))) - (gimp-image-resize img width height 0 0) + (script-fu-util-image-resize-from-layer img logo-layer) (gimp-image-add-layer img sparkle-layer 2) (gimp-image-add-layer img shadow-layer 3) (gimp-image-add-layer img bg-layer 4) diff --git a/plug-ins/script-fu/scripts/textured-logo.scm b/plug-ins/script-fu/scripts/textured-logo.scm index 8045857c70..437c7468aa 100644 --- a/plug-ins/script-fu/scripts/textured-logo.scm +++ b/plug-ins/script-fu/scripts/textured-logo.scm @@ -30,7 +30,7 @@ (old-fg (car (gimp-palette-get-foreground))) (old-bg (car (gimp-palette-get-background))) (old-pattern (car (gimp-patterns-get-pattern)))) - (gimp-image-resize img width height 0 0) + (script-fu-util-image-resize-from-layer img logo-layer) (gimp-image-add-layer img shadow-layer 1) (gimp-image-add-layer img blend-layer 1) (gimp-image-add-layer img drop-shadow-layer 1)