#! /usr/bin/env bash

###################################################
#
#  Copyright (C) 2008, 2009, 2010 Mario Kemper <mario.kemper@googlemail.com> and Shutter Team
#
#  This file is part of Shutter.
#
#  Shutter 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 3 of the License, or
#  (at your option) any later version.
#
#  Shutter 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.
#
#  You should have received a copy of the GNU General Public License
#  along with Shutter; if not, write to the Free Software
#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
###################################################

TEXTDOMAIN=shutter-plugins
TEXTDOMAINDIR=$SHUTTER_INTL
PLUGIN_NAME=$"Jigsaw Piece 1"
PLUGIN_SORT=$"Effect"
PLUGIN_TIP=$"Cut out a jigsaw piece at the bottom right corner"
PLUGIN_EXT="image/png"

if [[ "${1}" = "name" ]];then
   	echo "${PLUGIN_NAME}"
    exit 0
elif [[ "${1}" = "sort" ]];then
    echo "${PLUGIN_SORT}"
    exit 0
elif [[ "${1}" = "tip" ]];then
    echo "${PLUGIN_TIP}"
    exit 0
elif [[ "${1}" = "ext" ]];then
    echo "${PLUGIN_EXT}"
    exit 0
fi

FILE="${1}"
WIDTH="${2}"
HEIGHT="${3}"
FILEYTPE="${4}"
GEO="${2}x${3}"
NAME=$(basename ${FILE})
PIECE="$SHUTTER_ROOT/share/shutter/resources/system/plugins/shell/spjigsaw1/spjigsaw_1.png"
JIGSAW="$SHUTTER_ROOT/share/shutter/resources/system/plugins/shell/spjigsaw1/jigsaw"

convert "${PIECE}" -resize 50% -flip -flop -repage ${GEO} \
-background black -flatten -flip -flop /tmp/jigsaw_1_tmpl.png

${JIGSAW} -t 3 -s  -r 15  -d +15+7 \
"${FILE}" /tmp/jigsaw_1_tmpl.png /tmp/"${NAME}"_piece_tn.png

convert /tmp/jigsaw_1_tmpl.png -negate png:- |\
${JIGSAW} -t 3 -s "${FILE}" png:- /tmp/"${NAME}"_tn.png

convert /tmp/"${NAME}"_tn.png  /tmp/"${NAME}"_piece_tn.png \
-background none -mosaic "${FILE}"

NEW_GEO=$(identify -format %wx%h "${FILE}")

convert "${FILE}" -gravity center -crop ${NEW_GEO} +repage \
"${FILE}"

rm -f /tmp/"${NAME}"*
rm -f /tmp/jigsaw_1_tmpl.png

exit 0
