2006年11月13日

 戻り値を持つ関数




キャンバス作成で使用している gimp-layer-new 関数をユーザ関数で置き換えます。

※ 呼び出し元で car を使用していない事に注意して下さい( car を使うとエラーになります )

; 【キャンバス作成】
; この時点では黒いキャンバスが作成されます

; **********************************************************
; レイヤー作成関数
; **********************************************************
(define
	(script-fu-lightbox-global-create-layer
		img
		imgWidth
		imgHeight
		imgName
	)
	(let*
		(
			(layer (car (gimp-layer-new
				img
				imgWidth
				imgHeight
				RGB-IMAGE
				imgName
				100
				NORMAL-MODE
			)))
		)
		; 戻り値
		layer
	)
)

; **********************************************************
; 画面に対応した、基本キャンバス作成関数
; **********************************************************
(define
	(script-fu-lightbox-canvas
		imgWidth
	)
	(let*
		(
			(img (car (gimp-image-new
				imgWidth
				imgWidth
				RGB
			)))
			(layer (script-fu-lightbox-global-create-layer
				img
				imgWidth
				imgWidth
				"base"
			))
		)
		; 背景色で塗りつぶし
		(gimp-drawable-fill layer BG-IMAGE-FILL)
		; 画像にレイヤーを追加( 位置先頭 )
		(gimp-image-add-layer img layer 0)
		; 表示
		(gimp-display-new img)
	)
)

; 実行パラメータの入力画面登録
; 1) 呼び出される関数名
; 2) 登録されるパス
; 3) コメント
; 4) 名前
; 5) 著作権情報
; 6) 日付
; 7) 画像モード( 通常 "" )
(script-fu-register
	"script-fu-lightbox-canvas"
	"<Toolbox>/Xtns/Script-Fu/lightbox-Script/Create Simple Canvas"
	"Create Simple Canvas : basic script and global functions"
	"lightbox"
	"lightbox"
	"2006/11/06"
	""
	SF-ADJUSTMENT "Width" '(256 20 2000 1 10 0 1)
)