GIMP Script-fu

Hex Artifact Content
Login

Artifact 658fe637123682e484022491bff41bd605b03098:


0000: 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20  ;; This program 
0010: 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65  is free software
0020: 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74  ; you can redist
0030: 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72  ribute it and/or
0040: 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e   modify.;; it un
0050: 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66  der the terms of
0060: 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c   the GNU General
0070: 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20   Public License 
0080: 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a  as published by.
0090: 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74  ;; the Free Soft
00a0: 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b  ware Foundation;
00b0: 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20   either version 
00c0: 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65  2 of the License
00d0: 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72  , or.;; (at your
00e0: 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74   option) any lat
00f0: 65 72 20 76 65 72 73 69 6f 6e 2e 0a 3b 3b 0a 3b  er version..;;.;
0100: 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69  ; This program i
0110: 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e  s distributed in
0120: 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69   the hope that i
0130: 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c  t will be useful
0140: 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54  ,.;; but WITHOUT
0150: 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77   ANY WARRANTY; w
0160: 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20  ithout even the 
0170: 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79  implied warranty
0180: 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41   of.;; MERCHANTA
0190: 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53  BILITY or FITNES
01a0: 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c  S FOR A PARTICUL
01b0: 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65  AR PURPOSE.  See
01c0: 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65   the.;; GNU Gene
01d0: 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e  ral Public Licen
01e0: 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61  se for more deta
01f0: 69 6c 73 2e 0a 3b 3b 0a 3b 3b 20 59 6f 75 20 73  ils..;;.;; You s
0200: 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69  hould have recei
0210: 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68  ved a copy of th
0220: 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75  e GNU General Pu
0230: 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20  blic License.;; 
0240: 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20  along with this 
0250: 70 72 6f 67 72 61 6d 3b 20 69 66 20 6e 6f 74 2c  program; if not,
0260: 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 46 72   write to the Fr
0270: 65 65 20 53 6f 66 74 77 61 72 65 0a 3b 3b 20 46  ee Software.;; F
0280: 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 2c  oundation, Inc.,
0290: 20 36 37 35 20 4d 61 73 73 20 41 76 65 2c 20 43   675 Mass Ave, C
02a0: 61 6d 62 72 69 64 67 65 2c 20 4d 41 20 30 32 31  ambridge, MA 021
02b0: 33 39 2c 20 55 53 41 2e 0a 0a 3b 20 52 65 76 69  39, USA...; Revi
02c0: 73 65 64 20 53 65 70 74 65 6d 62 65 72 20 32 30  sed September 20
02d0: 31 30 20 74 6f 20 77 6f 72 6b 20 77 69 74 68 20  10 to work with 
02e0: 47 49 4d 50 20 32 2e 34 20 61 6e 64 20 6c 61 74  GIMP 2.4 and lat
02f0: 65 72 0a 0a 28 64 65 66 69 6e 65 20 28 73 63 72  er..(define (scr
0300: 69 70 74 2d 66 75 2d 73 67 2d 6d 69 72 72 6f 72  ipt-fu-sg-mirror
0310: 2d 64 75 70 20 69 6d 61 67 65 20 6c 61 79 65 72  -dup image layer
0320: 20 69 74 65 72 61 74 69 6f 6e 73 20 68 6f 72 69   iterations hori
0330: 7a 6f 6e 74 61 6c 20 76 65 72 74 69 63 61 6c 20  zontal vertical 
0340: 77 6f 72 6b 63 6f 70 79 29 0a 20 20 28 6c 65 74  workcopy).  (let
0350: 2a 20 28 28 77 6f 72 6b 2d 69 6d 61 67 65 20 30  * ((work-image 0
0360: 29 0a 20 20 20 20 20 20 20 20 20 28 6e 65 77 2d  ).         (new-
0370: 6c 61 79 65 72 20 30 29 0a 20 20 20 20 20 20 20  layer 0).       
0380: 20 20 28 6f 72 69 67 2d 77 69 64 74 68 20 30 29    (orig-width 0)
0390: 0a 20 20 20 20 20 20 20 20 20 28 6f 72 69 67 2d  .         (orig-
03a0: 68 65 69 67 68 74 20 30 29 0a 20 20 20 20 20 20  height 0).      
03b0: 20 20 20 29 0a 20 20 20 20 28 69 66 20 28 3d 20     ).    (if (= 
03c0: 77 6f 72 6b 63 6f 70 79 20 54 52 55 45 29 0a 20  workcopy TRUE). 
03d0: 20 20 20 20 20 28 62 65 67 69 6e 0a 20 20 20 20       (begin.    
03e0: 20 20 20 20 28 73 65 74 21 20 77 6f 72 6b 2d 69      (set! work-i
03f0: 6d 61 67 65 20 28 63 61 72 20 28 67 69 6d 70 2d  mage (car (gimp-
0400: 69 6d 61 67 65 2d 64 75 70 6c 69 63 61 74 65 20  image-duplicate 
0410: 69 6d 61 67 65 29 29 29 0a 20 20 20 20 20 20 20  image))).       
0420: 20 28 67 69 6d 70 2d 69 6d 61 67 65 2d 75 6e 64   (gimp-image-und
0430: 6f 2d 64 69 73 61 62 6c 65 20 77 6f 72 6b 2d 69  o-disable work-i
0440: 6d 61 67 65 29 0a 20 20 20 20 20 20 20 20 28 67  mage).        (g
0450: 69 6d 70 2d 64 69 73 70 6c 61 79 2d 6e 65 77 20  imp-display-new 
0460: 77 6f 72 6b 2d 69 6d 61 67 65 29 0a 20 20 20 20  work-image).    
0470: 20 20 20 20 29 0a 20 20 20 20 20 20 28 62 65 67      ).      (beg
0480: 69 6e 0a 20 20 20 20 20 20 20 20 28 73 65 74 21  in.        (set!
0490: 20 77 6f 72 6b 2d 69 6d 61 67 65 20 69 6d 61 67   work-image imag
04a0: 65 29 0a 20 20 20 20 20 20 20 20 28 67 69 6d 70  e).        (gimp
04b0: 2d 69 6d 61 67 65 2d 75 6e 64 6f 2d 67 72 6f 75  -image-undo-grou
04c0: 70 2d 73 74 61 72 74 20 77 6f 72 6b 2d 69 6d 61  p-start work-ima
04d0: 67 65 29 0a 20 20 20 20 20 20 20 20 29 0a 20 20  ge).        ).  
04e0: 20 20 20 20 29 0a 20 20 20 20 28 67 69 6d 70 2d      ).    (gimp-
04f0: 73 65 6c 65 63 74 69 6f 6e 2d 6e 6f 6e 65 20 77  selection-none w
0500: 6f 72 6b 2d 69 6d 61 67 65 29 0a 20 20 20 20 28  ork-image).    (
0510: 77 68 69 6c 65 20 28 3e 20 69 74 65 72 61 74 69  while (> iterati
0520: 6f 6e 73 20 30 29 0a 20 20 20 20 20 20 28 73 65  ons 0).      (se
0530: 74 21 20 6c 61 79 65 72 20 28 63 61 72 20 28 67  t! layer (car (g
0540: 69 6d 70 2d 69 6d 61 67 65 2d 67 65 74 2d 61 63  imp-image-get-ac
0550: 74 69 76 65 2d 6c 61 79 65 72 20 77 6f 72 6b 2d  tive-layer work-
0560: 69 6d 61 67 65 29 29 29 0a 20 20 20 20 20 20 28  image))).      (
0570: 69 66 20 28 3e 20 28 63 61 72 20 28 67 69 6d 70  if (> (car (gimp
0580: 2d 69 6d 61 67 65 2d 67 65 74 2d 6c 61 79 65 72  -image-get-layer
0590: 73 20 77 6f 72 6b 2d 69 6d 61 67 65 29 29 20 31  s work-image)) 1
05a0: 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 21 20  ).        (set! 
05b0: 6c 61 79 65 72 20 28 63 61 72 20 28 67 69 6d 70  layer (car (gimp
05c0: 2d 69 6d 61 67 65 2d 6d 65 72 67 65 2d 76 69 73  -image-merge-vis
05d0: 69 62 6c 65 2d 6c 61 79 65 72 73 20 77 6f 72 6b  ible-layers work
05e0: 2d 69 6d 61 67 65 20 45 58 50 41 4e 44 2d 41 53  -image EXPAND-AS
05f0: 2d 4e 45 43 45 53 53 41 52 59 29 29 29 0a 20 20  -NECESSARY))).  
0600: 20 20 20 20 20 20 29 0a 20 20 20 20 20 20 28 69        ).      (i
0610: 66 20 28 3d 20 68 6f 72 69 7a 6f 6e 74 61 6c 20  f (= horizontal 
0620: 54 52 55 45 29 0a 20 20 20 20 20 20 20 20 28 62  TRUE).        (b
0630: 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 20 28  egin.          (
0640: 73 65 74 21 20 6e 65 77 2d 6c 61 79 65 72 20 28  set! new-layer (
0650: 63 61 72 20 28 67 69 6d 70 2d 6c 61 79 65 72 2d  car (gimp-layer-
0660: 63 6f 70 79 20 6c 61 79 65 72 20 31 29 29 29 0a  copy layer 1))).
0670: 20 20 20 20 20 20 20 20 20 20 28 67 69 6d 70 2d            (gimp-
0680: 69 6d 61 67 65 2d 61 64 64 2d 6c 61 79 65 72 20  image-add-layer 
0690: 77 6f 72 6b 2d 69 6d 61 67 65 20 6e 65 77 2d 6c  work-image new-l
06a0: 61 79 65 72 20 2d 31 29 0a 20 20 20 20 20 20 20  ayer -1).       
06b0: 20 20 20 28 73 65 74 21 20 6f 72 69 67 2d 77 69     (set! orig-wi
06c0: 64 74 68 20 28 63 61 72 20 28 67 69 6d 70 2d 64  dth (car (gimp-d
06d0: 72 61 77 61 62 6c 65 2d 77 69 64 74 68 20 6e 65  rawable-width ne
06e0: 77 2d 6c 61 79 65 72 29 29 29 0a 20 20 20 20 20  w-layer))).     
06f0: 20 20 20 20 20 28 73 65 74 21 20 6f 72 69 67 2d       (set! orig-
0700: 68 65 69 67 68 74 20 28 63 61 72 20 28 67 69 6d  height (car (gim
0710: 70 2d 64 72 61 77 61 62 6c 65 2d 68 65 69 67 68  p-drawable-heigh
0720: 74 20 6e 65 77 2d 6c 61 79 65 72 29 29 29 0a 20  t new-layer))). 
0730: 20 20 20 20 20 20 20 20 20 28 67 69 6d 70 2d 6c           (gimp-l
0740: 61 79 65 72 2d 72 65 73 69 7a 65 0a 20 20 20 20  ayer-resize.    
0750: 20 20 20 20 20 20 20 20 20 20 6e 65 77 2d 6c 61            new-la
0760: 79 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20  yer.            
0770: 20 20 28 2a 20 32 20 6f 72 69 67 2d 77 69 64 74    (* 2 orig-widt
0780: 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  h).             
0790: 20 20 20 20 20 6f 72 69 67 2d 68 65 69 67 68 74       orig-height
07a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
07b0: 20 20 20 30 0a 20 20 20 20 20 20 20 20 20 20 20     0.           
07c0: 20 20 20 20 20 20 20 30 0a 20 20 20 20 20 20 20         0.       
07d0: 20 20 20 20 20 20 20 20 20 20 20 29 0a 20 20 20             ).   
07e0: 20 20 20 20 20 20 20 28 73 65 74 21 20 6e 65 77         (set! new
07f0: 2d 6c 61 79 65 72 20 28 63 61 72 20 28 67 69 6d  -layer (car (gim
0800: 70 2d 64 72 61 77 61 62 6c 65 2d 74 72 61 6e 73  p-drawable-trans
0810: 66 6f 72 6d 2d 66 6c 69 70 2d 73 69 6d 70 6c 65  form-flip-simple
0820: 20 6e 65 77 2d 6c 61 79 65 72 0a 20 20 20 20 20   new-layer.     
0830: 20 20 20 20 20 20 20 20 20 4f 52 49 45 4e 54 41           ORIENTA
0840: 54 49 4f 4e 2d 48 4f 52 49 5a 4f 4e 54 41 4c 0a  TION-HORIZONTAL.
0850: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 52                TR
0860: 55 45 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  UE.             
0870: 20 6f 72 69 67 2d 77 69 64 74 68 0a 20 20 20 20   orig-width.    
0880: 20 20 20 20 20 20 20 20 20 20 30 29 29 0a 20 20            0)).  
0890: 20 20 20 20 20 20 20 20 20 20 29 0a 20 20 20 20            ).    
08a0: 20 20 20 20 20 20 28 67 69 6d 70 2d 69 6d 61 67        (gimp-imag
08b0: 65 2d 72 65 73 69 7a 65 2d 74 6f 2d 6c 61 79 65  e-resize-to-laye
08c0: 72 73 20 77 6f 72 6b 2d 69 6d 61 67 65 29 0a 20  rs work-image). 
08d0: 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3e 20           (if (> 
08e0: 28 63 61 72 20 28 67 69 6d 70 2d 69 6d 61 67 65  (car (gimp-image
08f0: 2d 67 65 74 2d 6c 61 79 65 72 73 20 77 6f 72 6b  -get-layers work
0900: 2d 69 6d 61 67 65 29 29 20 31 29 0a 20 20 20 20  -image)) 1).    
0910: 20 20 20 20 20 20 20 20 28 73 65 74 21 20 6c 61          (set! la
0920: 79 65 72 20 28 63 61 72 20 28 67 69 6d 70 2d 69  yer (car (gimp-i
0930: 6d 61 67 65 2d 6d 65 72 67 65 2d 76 69 73 69 62  mage-merge-visib
0940: 6c 65 2d 6c 61 79 65 72 73 20 77 6f 72 6b 2d 69  le-layers work-i
0950: 6d 61 67 65 20 45 58 50 41 4e 44 2d 41 53 2d 4e  mage EXPAND-AS-N
0960: 45 43 45 53 53 41 52 59 29 29 29 0a 20 20 20 20  ECESSARY))).    
0970: 20 20 20 20 20 20 20 20 29 0a 20 20 20 20 20 20          ).      
0980: 20 20 20 20 29 0a 20 20 20 20 20 20 20 20 29 0a      ).        ).
0990: 20 20 20 20 20 20 28 69 66 20 28 3d 20 76 65 72        (if (= ver
09a0: 74 69 63 61 6c 20 54 52 55 45 29 0a 20 20 20 20  tical TRUE).    
09b0: 20 20 20 20 28 62 65 67 69 6e 0a 20 20 20 20 20      (begin.     
09c0: 20 20 20 20 20 28 73 65 74 21 20 6e 65 77 2d 6c       (set! new-l
09d0: 61 79 65 72 20 28 63 61 72 20 28 67 69 6d 70 2d  ayer (car (gimp-
09e0: 6c 61 79 65 72 2d 63 6f 70 79 20 6c 61 79 65 72  layer-copy layer
09f0: 20 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20   1))).          
0a00: 28 67 69 6d 70 2d 69 6d 61 67 65 2d 61 64 64 2d  (gimp-image-add-
0a10: 6c 61 79 65 72 20 77 6f 72 6b 2d 69 6d 61 67 65  layer work-image
0a20: 20 6e 65 77 2d 6c 61 79 65 72 20 2d 31 29 0a 20   new-layer -1). 
0a30: 20 20 20 20 20 20 20 20 20 28 73 65 74 21 20 6f           (set! o
0a40: 72 69 67 2d 77 69 64 74 68 20 28 63 61 72 20 28  rig-width (car (
0a50: 67 69 6d 70 2d 64 72 61 77 61 62 6c 65 2d 77 69  gimp-drawable-wi
0a60: 64 74 68 20 6e 65 77 2d 6c 61 79 65 72 29 29 29  dth new-layer)))
0a70: 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 21  .          (set!
0a80: 20 6f 72 69 67 2d 68 65 69 67 68 74 20 28 63 61   orig-height (ca
0a90: 72 20 28 67 69 6d 70 2d 64 72 61 77 61 62 6c 65  r (gimp-drawable
0aa0: 2d 68 65 69 67 68 74 20 6e 65 77 2d 6c 61 79 65  -height new-laye
0ab0: 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28  r))).          (
0ac0: 67 69 6d 70 2d 6c 61 79 65 72 2d 72 65 73 69 7a  gimp-layer-resiz
0ad0: 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  e.              
0ae0: 6e 65 77 2d 6c 61 79 65 72 0a 20 20 20 20 20 20  new-layer.      
0af0: 20 20 20 20 20 20 20 20 6f 72 69 67 2d 77 69 64          orig-wid
0b00: 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  th.             
0b10: 20 28 2a 20 32 20 6f 72 69 67 2d 68 65 69 67 68   (* 2 orig-heigh
0b20: 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  t).             
0b30: 20 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   0.             
0b40: 20 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   0.             
0b50: 20 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65   ).          (se
0b60: 74 21 20 6e 65 77 2d 6c 61 79 65 72 20 28 63 61  t! new-layer (ca
0b70: 72 20 28 67 69 6d 70 2d 64 72 61 77 61 62 6c 65  r (gimp-drawable
0b80: 2d 74 72 61 6e 73 66 6f 72 6d 2d 66 6c 69 70 2d  -transform-flip-
0b90: 73 69 6d 70 6c 65 20 6e 65 77 2d 6c 61 79 65 72  simple new-layer
0ba0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f  .              O
0bb0: 52 49 45 4e 54 41 54 49 4f 4e 2d 56 45 52 54 49  RIENTATION-VERTI
0bc0: 43 41 4c 0a 20 20 20 20 20 20 20 20 20 20 20 20  CAL.            
0bd0: 20 20 54 52 55 45 0a 20 20 20 20 20 20 20 20 20    TRUE.         
0be0: 20 20 20 20 20 6f 72 69 67 2d 68 65 69 67 68 74       orig-height
0bf0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30  .              0
0c00: 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 29  )).            )
0c10: 0a 20 20 20 20 20 20 20 20 20 20 28 67 69 6d 70  .          (gimp
0c20: 2d 69 6d 61 67 65 2d 72 65 73 69 7a 65 2d 74 6f  -image-resize-to
0c30: 2d 6c 61 79 65 72 73 20 77 6f 72 6b 2d 69 6d 61  -layers work-ima
0c40: 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 29 0a  ge).          ).
0c50: 20 20 20 20 20 20 20 20 29 0a 20 20 20 20 20 20          ).      
0c60: 28 73 65 74 21 20 69 74 65 72 61 74 69 6f 6e 73  (set! iterations
0c70: 20 28 2d 20 69 74 65 72 61 74 69 6f 6e 73 20 31   (- iterations 1
0c80: 29 29 0a 20 20 20 20 20 20 29 0a 20 20 20 20 28  )).      ).    (
0c90: 67 69 6d 70 2d 73 65 6c 65 63 74 69 6f 6e 2d 6e  gimp-selection-n
0ca0: 6f 6e 65 20 77 6f 72 6b 2d 69 6d 61 67 65 29 0a  one work-image).
0cb0: 20 20 20 20 28 69 66 20 28 3e 20 28 63 61 72 20      (if (> (car 
0cc0: 28 67 69 6d 70 2d 69 6d 61 67 65 2d 67 65 74 2d  (gimp-image-get-
0cd0: 6c 61 79 65 72 73 20 77 6f 72 6b 2d 69 6d 61 67  layers work-imag
0ce0: 65 29 29 20 31 29 0a 20 20 20 20 20 20 28 73 65  e)) 1).      (se
0cf0: 74 21 20 6c 61 79 65 72 20 28 63 61 72 20 28 67  t! layer (car (g
0d00: 69 6d 70 2d 69 6d 61 67 65 2d 6d 65 72 67 65 2d  imp-image-merge-
0d10: 76 69 73 69 62 6c 65 2d 6c 61 79 65 72 73 20 77  visible-layers w
0d20: 6f 72 6b 2d 69 6d 61 67 65 20 45 58 50 41 4e 44  ork-image EXPAND
0d30: 2d 41 53 2d 4e 45 43 45 53 53 41 52 59 29 29 29  -AS-NECESSARY)))
0d40: 0a 20 20 20 20 20 20 29 0a 20 20 20 20 28 67 69  .      ).    (gi
0d50: 6d 70 2d 64 69 73 70 6c 61 79 73 2d 66 6c 75 73  mp-displays-flus
0d60: 68 29 0a 20 20 20 20 28 69 66 20 28 3d 20 77 6f  h).    (if (= wo
0d70: 72 6b 63 6f 70 79 20 54 52 55 45 29 0a 20 20 20  rkcopy TRUE).   
0d80: 20 20 20 28 62 65 67 69 6e 0a 20 20 20 20 20 20     (begin.      
0d90: 20 20 28 67 69 6d 70 2d 69 6d 61 67 65 2d 75 6e    (gimp-image-un
0da0: 64 6f 2d 65 6e 61 62 6c 65 20 77 6f 72 6b 2d 69  do-enable work-i
0db0: 6d 61 67 65 29 0a 20 20 20 20 20 20 20 20 28 67  mage).        (g
0dc0: 69 6d 70 2d 69 6d 61 67 65 2d 63 6c 65 61 6e 2d  imp-image-clean-
0dd0: 61 6c 6c 20 77 6f 72 6b 2d 69 6d 61 67 65 29 0a  all work-image).
0de0: 20 20 20 20 20 20 20 20 29 0a 20 20 20 20 20 20          ).      
0df0: 28 67 69 6d 70 2d 69 6d 61 67 65 2d 75 6e 64 6f  (gimp-image-undo
0e00: 2d 67 72 6f 75 70 2d 65 6e 64 20 69 6d 61 67 65  -group-end image
0e10: 29 0a 20 20 20 20 20 20 29 0a 20 20 20 20 29 0a  ).      ).    ).
0e20: 20 20 29 0a 0a 28 73 63 72 69 70 74 2d 66 75 2d    )..(script-fu-
0e30: 72 65 67 69 73 74 65 72 20 22 73 63 72 69 70 74  register "script
0e40: 2d 66 75 2d 73 67 2d 6d 69 72 72 6f 72 2d 64 75  -fu-sg-mirror-du
0e50: 70 22 0a 20 22 4d 69 72 72 6f 72 2e 2e 2e 22 0a  p". "Mirror...".
0e60: 20 22 44 75 70 6c 69 63 61 74 65 73 20 74 68 65   "Duplicates the
0e70: 20 69 6d 61 67 65 20 77 69 74 68 20 6d 69 72 72   image with mirr
0e80: 6f 72 20 69 6d 61 67 65 73 22 0a 20 22 53 61 75  or images". "Sau
0e90: 6c 20 47 6f 6f 64 65 22 0a 20 22 53 61 75 6c 20  l Goode". "Saul 
0ea0: 47 6f 6f 64 65 22 0a 20 22 34 2f 31 37 2f 32 30  Goode". "4/17/20
0eb0: 30 36 22 0a 20 22 2a 22 0a 20 53 46 2d 49 4d 41  06". "*". SF-IMA
0ec0: 47 45 20 20 20 20 22 49 6d 61 67 65 22 20 20 20  GE    "Image"   
0ed0: 20 30 0a 20 53 46 2d 44 52 41 57 41 42 4c 45 20   0. SF-DRAWABLE 
0ee0: 22 44 72 61 77 61 62 6c 65 22 20 30 0a 20 53 46  "Drawable" 0. SF
0ef0: 2d 41 44 4a 55 53 54 4d 45 4e 54 20 22 49 74 65  -ADJUSTMENT "Ite
0f00: 72 61 74 69 6f 6e 73 20 28 49 6d 61 67 65 20 64  rations (Image d
0f10: 6f 75 62 6c 65 73 20 65 61 63 68 20 74 69 6d 65  oubles each time
0f20: 29 22 20 27 28 20 31 20 30 20 31 30 20 31 20 31  )" '( 1 0 10 1 1
0f30: 20 30 20 31 20 29 0a 20 53 46 2d 54 4f 47 47 4c   0 1 ). SF-TOGGL
0f40: 45 20 22 48 6f 72 69 7a 6f 6e 74 61 6c 20 64 69  E "Horizontal di
0f50: 72 65 63 74 69 6f 6e 22 20 54 52 55 45 0a 20 53  rection" TRUE. S
0f60: 46 2d 54 4f 47 47 4c 45 20 22 56 65 72 74 69 63  F-TOGGLE "Vertic
0f70: 61 6c 20 64 69 72 65 63 74 69 6f 6e 22 20 46 41  al direction" FA
0f80: 4c 53 45 0a 20 53 46 2d 54 4f 47 47 4c 45 20 22  LSE. SF-TOGGLE "
0f90: 57 6f 72 6b 20 6f 6e 20 63 6f 70 79 22 20 54 52  Work on copy" TR
0fa0: 55 45 0a 20 29 0a 28 73 63 72 69 70 74 2d 66 75  UE. ).(script-fu
0fb0: 2d 6d 65 6e 75 2d 72 65 67 69 73 74 65 72 20 22  -menu-register "
0fc0: 73 63 72 69 70 74 2d 66 75 2d 73 67 2d 6d 69 72  script-fu-sg-mir
0fd0: 72 6f 72 2d 64 75 70 22 0a 20 20 22 3c 49 6d 61  ror-dup".  "<Ima
0fe0: 67 65 3e 2f 46 69 6c 74 65 72 73 2f 4d 61 70 2f  ge>/Filters/Map/
0ff0: 22 0a 20 20 29 0a                                ".  ).