; following steps in paisley text tutorial by conbagui
; found at link: http://gimpchat.com/viewtopic.php?f=23&t=10717
; author: Tin Tran
; date: 2014
; below function script-fu-gradient-stroke-internal is a cut and paste from Tux's gradient stroke 
; with one difference position to specify inside or outside
(define (script-fu-wood-carved image layer
                        overlay-color
						pattern-name
						
         )
	(let* 
		(
		(dummy-variable-to-make-let-happy 0)
		(image-height (car (gimp-image-height image)))
		(copied-layer)
		(pattern-layer)
		
		)
	(gimp-image-undo-group-start image)                   ;undo-group in one step
	(gimp-layer-resize-to-image-size layer)
	;step 5
	(set! copied-layer (car (gimp-layer-copy layer TRUE)))
	(gimp-image-insert-layer image copied-layer (car (gimp-item-get-parent layer)) 0) ; Add it
	(gimp-item-set-visible layer FALSE)
	(gimp-item-set-visible copied-layer FALSE)
	(python-layer-fx-bevel-emboss 1
	                              image
								  layer
								  0 ;style 2 = emboss 1=inner bevel 3=pillow emboss 0=outer bevel
								  65 ;depth
								  1  ;direction 0 up 1 down
								  7 ;size
								  0  ;soften
								  140 ;angle
								  30 ;altitude
									0  ;gloss-contour 0 for linear 8-ringdouble
								 '(255 255 255) ;highlight color
								 5 ;highlight mode 5-OVERLAY 4-screen
								 70.0  ;highlight opacity
	                             '(0 0 0)   ;shadow color
								    3        ;shadow mode 3=multiply 19=softlight 5=overlay
	                              47.0      ;shadow opacity
								     0       ;surface 0=linear 6=halfround 5=overlay
									FALSE     ; use texture
                                   pattern-name ;pattern	use clipboard from the copied step above
								   100     ;scale
								   100     ;depth
								   FALSE   ;invert
								   FALSE   ;merge with layer
     )
	;step 6
	(python-layer-fx-outer-glow 1 image copied-layer
									'(0 0 0)
									100   ;opacity
									0   ;contour 0-linear
									0  ;noise
									5   ;mode 5-overlay
									0   ;spread
									4  ;size
									TRUE   ;knock out
									FALSE   ;merge
	)
	;step 7
	(python-layer-fx-bevel-emboss 1
	                              image
								  copied-layer
								  1 ;style 2 = emboss 1=inner bevel 3=pillow emboss 0=outer bevel
								  65 ;depth
								  0  ;direction 0 up 1 down
								  10 ;size
								  0  ;soften
								  140 ;angle
								  58 ;altitude
									0  ;gloss-contour 0 for linear 8-ringdouble
								 '(255 255 255) ;highlight color
								 6 ;highlight mode 5-OVERLAY 4-screen 6-dodge
								 100.0  ;highlight opacity
	                             '(0 0 0)   ;shadow color
								    3        ;shadow mode 3=multiply 19=softlight 5=overlay
	                              30.0      ;shadow opacity
								     0       ;surface 0=linear 6=halfround 5=overlay
									TRUE     ; use texture
                                   pattern-name ;pattern	use clipboard from the copied step above
								   100     ;scale
								   100     ;depth
								   FALSE   ;invert
								   FALSE   ;merge with layer
     )
	;step 8
	(python-layer-fx-satin 1 image copied-layer
								'(0 0 0)	;color
								20	;opacity
								17	;mode 17-burnmode
								90	;offset-angle
								26	;offset-distance
								47	;size
								5	;contour 5-guassian
								TRUE	;invert
								FALSE	;merge
	)
	;step 9
	(python-layer-fx-color-overlay 1 image layer overlay-color
									100 ;opacity
									13 ;mode 13-colormode
									FALSE ;merge with layer
	)
	;step 10
	(python-layer-fx-pattern-overlay 1
	                                 image
									 copied-layer
									 pattern-name ;pattern
									 50 ;opacity
									 4 ; mode 0 normal 18=hardlight 4-screen
									 100.0 ;scale
									 0 ;interpolation 0 none
									 FALSE ;merge with layer
    )
	
	;step 11
	(python-layer-fx-pattern-overlay 1
	                                 image
									 copied-layer
									 pattern-name ;pattern
									 100 ;opacity
									 18 ; mode 0 normal 18=hardlight
									 100.0 ;scale
									 0 ;interpolation 0 none
									 FALSE ;merge with layer
    )
	(set! pattern-layer (car (gimp-image-get-layer-by-name image (string-append (car (gimp-item-get-name copied-layer)) "-pattern #1"))))
	(gimp-image-select-item image CHANNEL-OP-REPLACE pattern-layer)
	(gimp-selection-shrink image 10)               ; Shrink selection by offset
	(gimp-edit-clear pattern-layer)              ; clears selection
	(gimp-selection-none image)
	(gimp-item-set-name pattern-layer "Hard Light")
	(gimp-image-undo-group-end image)                     ;undo group in one step
	(gimp-displays-flush)
	) ;end of let
)     ;end of define
	  
(script-fu-register
  "script-fu-wood-carved"         ;function name
  "<Image>/Script-Fu/Alpha-to-Logo/Wood Carved..."    ;menu register
  "Creates wood carved effect."       ;description
  "Tin Tran"                          ;author name
  "copyright info and description"         ;copyright info or description
  "2014"                          ;date
  "RGB*, GRAY*"                        ;mode
  SF-IMAGE      "Image" 0                   
  SF-DRAWABLE   "Layer" 0
  SF-COLOR       "Overlay Color"       '(203 172 132)
  SF-PATTERN     "Overlay Pattern"       "Wood1.jpg"
  ;SF-COLOR       "Color overlay color"    '(9 57 23)
  ;SF-GRADIENT    "Stroke gradient"       "2Gold"
  ;SF-PATTERN     "Overlay pattern"       "Paisley Pattern"
)