alien-glow-bar.scm 3.68 KB
Newer Older
1
; GIMP - The GNU Image Manipulation Program
Kevin Cozens's avatar
Kevin Cozens committed
2
; Copyright (C) 1995 Spencer Kimball and Peter Mattis
3
;
Kevin Cozens's avatar
Kevin Cozens committed
4 5 6 7
; Alien Glow themed hrule for web pages
; Copyright (c) 1997 Adrian Likins
; aklikins@eos.ncsu.edu
;
8
;
Kevin Cozens's avatar
Kevin Cozens committed
9 10 11 12
; 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.
13
;
Kevin Cozens's avatar
Kevin Cozens committed
14 15 16 17
; 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.
18
;
Kevin Cozens's avatar
Kevin Cozens committed
19 20 21 22
; 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.

23
(define (script-fu-alien-glow-horizontal-ruler length
Kevin Cozens's avatar
Kevin Cozens committed
24 25 26 27 28 29 30 31 32 33 34 35
                                               height
                                               glow-color
                                               bg-color
                                               flatten)
  (let* (
        (img (car (gimp-image-new height length RGB)))
        (border (/ height 4))
        (ruler-layer (car (gimp-layer-new img
                                          (+ length height) (+ height height)
                                          RGBA-IMAGE "Ruler" 100 NORMAL-MODE)))
        (glow-layer (car (gimp-layer-new img
                                         (+ length height) (+ height height)
36
                                         RGBA-IMAGE "Alien Glow" 100 NORMAL-MODE)))
Kevin Cozens's avatar
Kevin Cozens committed
37 38
        (bg-layer (car (gimp-layer-new img
                                       (+ length height) (+ height height)
39
                                       RGB-IMAGE "Background" 100 NORMAL-MODE)))
Kevin Cozens's avatar
Kevin Cozens committed
40 41 42
        )

    (gimp-context-push)
43

Kevin Cozens's avatar
Kevin Cozens committed
44 45 46 47 48
    (gimp-image-undo-disable img)
    (gimp-image-resize img (+ length height) (+ height height) 0 0)
    (gimp-image-add-layer img bg-layer 1)
    (gimp-image-add-layer img glow-layer -1)
    (gimp-image-add-layer img ruler-layer -1)
49

50
   ; (gimp-layer-set-lock-alpha ruler-layer TRUE)
Kevin Cozens's avatar
Kevin Cozens committed
51 52 53 54
    (gimp-context-set-background bg-color)
    (gimp-edit-fill bg-layer BACKGROUND-FILL)
    (gimp-edit-clear glow-layer)
    (gimp-edit-clear ruler-layer)
55

56 57 58
    (gimp-rect-select img
                      (/ height 2) (/ height 2)
                      length height CHANNEL-OP-REPLACE FALSE 0)
Kevin Cozens's avatar
Kevin Cozens committed
59 60 61 62 63 64 65 66 67 68 69 70
    (gimp-context-set-foreground '(79 79 79))
    (gimp-context-set-background '(0 0 0))

    (gimp-edit-blend ruler-layer FG-BG-RGB-MODE NORMAL-MODE
                     GRADIENT-SHAPEBURST-ANGULAR 100 0 REPEAT-NONE FALSE
                     FALSE 0 0 TRUE
                     0 0 height height)

    (gimp-context-set-foreground glow-color)
    (gimp-selection-grow img border)
    (gimp-edit-fill glow-layer FOREGROUND-FILL)
    (gimp-selection-none img)
71
    (plug-in-gauss-rle RUN-NONINTERACTIVE img glow-layer 25 TRUE TRUE)
Kevin Cozens's avatar
Kevin Cozens committed
72 73 74 75 76 77 78

    (gimp-image-undo-enable img)

    (if (= flatten TRUE)
        (gimp-image-flatten img))

    (gimp-display-new img)
79 80

    (gimp-context-pop)
Kevin Cozens's avatar
Kevin Cozens committed
81 82 83 84
  )
)


85
(script-fu-register "script-fu-alien-glow-horizontal-ruler"
86
    _"_Hrule..."
87
    _"Create an Hrule graphic with an eerie glow for web pages"
Kevin Cozens's avatar
Kevin Cozens committed
88 89 90 91 92 93 94
    "Adrian Likins"
    "Adrian Likins"
    "1997"
    ""
    SF-ADJUSTMENT _"Bar length"       '(480 5 1500 1 10 0 1)
    SF-ADJUSTMENT _"Bar height"       '(16 1 100 1 10 0 1)
    SF-COLOR      _"Glow color"       '(63 252 0)
95
    SF-COLOR      _"Background color" "black"
Kevin Cozens's avatar
Kevin Cozens committed
96 97
    SF-TOGGLE     _"Flatten image"    TRUE
)
98

99
(script-fu-menu-register "script-fu-alien-glow-horizontal-ruler"
Kevin Cozens's avatar
Kevin Cozens committed
100
                         "<Toolbox>/Xtns/Web Page Themes/Alien Glow")