beveled-pattern-hrule.scm 2.71 KB
Newer Older
Elliot Lee's avatar
Elliot Lee committed
1 2
; The GIMP -- an image manipulation program
; Copyright (C) 1995 Spencer Kimball and Peter Mattis
3
;
Elliot Lee's avatar
Elliot Lee committed
4 5 6
; Beveled pattern hrule for web pages
; Copyright (C) 1997 Federico Mena Quintero
; federico@nuclecu.unam.mx
7
;
Elliot Lee's avatar
Elliot Lee committed
8 9 10 11
; 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.
12
;
Elliot Lee's avatar
Elliot Lee committed
13 14 15 16
; 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.
17
;
Elliot Lee's avatar
Elliot Lee committed
18 19 20 21 22 23
; 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.


(define (script-fu-beveled-pattern-hrule width height pattern)
24 25 26 27 28 29 30 31 32 33
  (let* ((img (car (gimp-image-new width height RGB)))
	 (background (car (gimp-layer-new img
					  width height RGB-IMAGE
					  "Hrule" 100 NORMAL-MODE)))
	 (bumpmap (car (gimp-layer-new img
				       width height RGBA-IMAGE
				       "Bumpmap" 100 NORMAL-MODE))))

    (gimp-context-push)

Marc Lehmann's avatar
Marc Lehmann committed
34
    (gimp-image-undo-disable img)
Elliot Lee's avatar
Elliot Lee committed
35 36 37 38 39
    (gimp-image-add-layer img background -1)
    (gimp-image-add-layer img bumpmap -1)

    ; Create pattern layer

40
    (gimp-context-set-background '(0 0 0))
41
    (gimp-edit-fill background BACKGROUND-FILL)
42
    (gimp-context-set-pattern pattern)
43
    (gimp-edit-bucket-fill background PATTERN-BUCKET-FILL NORMAL-MODE 100 0 FALSE 0 0)
Elliot Lee's avatar
Elliot Lee committed
44 45 46

    ; Create bumpmap layer

47
    (gimp-edit-fill bumpmap BACKGROUND-FILL)
Elliot Lee's avatar
Elliot Lee committed
48

49
    (gimp-context-set-background '(127 127 127))
50
    (gimp-rect-select img 1 1 (- width 2) (- height 2) CHANNEL-OP-REPLACE FALSE 0)
51
    (gimp-edit-fill bumpmap BACKGROUND-FILL)
Elliot Lee's avatar
Elliot Lee committed
52

53
    (gimp-context-set-background '(255 255 255))
54
    (gimp-rect-select img 2 2 (- width 4) (- height 4) CHANNEL-OP-REPLACE FALSE 0)
55
    (gimp-edit-fill bumpmap BACKGROUND-FILL)
Elliot Lee's avatar
Elliot Lee committed
56 57 58 59 60 61 62 63 64 65

    (gimp-selection-none img)

    ; Bumpmap

    (plug-in-bump-map 1 img background bumpmap 135 45 2 0 0 0 0 TRUE FALSE 0)

    (gimp-image-set-active-layer img background)
    (gimp-image-remove-layer img bumpmap)

Marc Lehmann's avatar
Marc Lehmann committed
66
    (gimp-image-undo-enable img)
67 68 69
    (gimp-display-new img)

    (gimp-context-pop)))
Elliot Lee's avatar
Elliot Lee committed
70 71 72


(script-fu-register "script-fu-beveled-pattern-hrule"
73
		    _"<Toolbox>/Xtns/Script-Fu/Web Page Themes/Beveled Pattern/_Hrule..."
Elliot Lee's avatar
Elliot Lee committed
74 75 76 77 78
		    "Beveled pattern hrule"
		    "Federico Mena Quintero"
		    "Federico Mena Quintero"
		    "July 1997"
		    ""
Manish Singh's avatar
Manish Singh committed
79 80 81
                    SF-ADJUSTMENT _"Width" '(480 5 1500 1 10 0 1)
                    SF-ADJUSTMENT _"Height" '(16 1 100 1 10 0 1)
		    SF-PATTERN    _"Pattern" "Wood")