diff options
Diffstat (limited to 'plug-ins/script-fu/scripts/guides-from-selection.scm')
-rw-r--r-- | plug-ins/script-fu/scripts/guides-from-selection.scm | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/plug-ins/script-fu/scripts/guides-from-selection.scm b/plug-ins/script-fu/scripts/guides-from-selection.scm new file mode 100644 index 0000000..b790c86 --- /dev/null +++ b/plug-ins/script-fu/scripts/guides-from-selection.scm @@ -0,0 +1,43 @@ +;; -*-scheme-*- + +(define (script-fu-guides-from-selection image drawable) + (let* ( + (boundaries (gimp-selection-bounds image)) + ;; non-empty INT32 TRUE if there is a selection + (selection (car boundaries)) + (x1 (cadr boundaries)) + (y1 (caddr boundaries)) + (x2 (cadr (cddr boundaries))) + (y2 (caddr (cddr boundaries))) + ) + + ;; need to check for a selection or we get guides right at edges of the image + (if (= selection TRUE) + (begin + (gimp-image-undo-group-start image) + + (gimp-image-add-vguide image x1) + (gimp-image-add-hguide image y1) + (gimp-image-add-vguide image x2) + (gimp-image-add-hguide image y2) + + (gimp-image-undo-group-end image) + (gimp-displays-flush) + ) + ) + ) +) + +(script-fu-register "script-fu-guides-from-selection" + _"New Guides from _Selection" + _"Create four guides around the bounding box of the current selection" + "Alan Horkan" + "Alan Horkan, 2004. Public Domain." + "2004-08-13" + "*" + SF-IMAGE "Image" 0 + SF-DRAWABLE "Drawable" 0 +) + +(script-fu-menu-register "script-fu-guides-from-selection" + "<Image>/Image/Guides") |