Blob Blame History Raw
#!/bin/bash
######################################################################
#
#   tcar - The CentOS Artwork Repository automation tool.
#   Copyright © 2014 The CentOS Artwork SIG
#
#   This program 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 2 of the
#   License, or (at your option) any later version.
#
#   This program 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 this program; if not, write to the Free Software
#   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
#   Alain Reguera Delgado <al@centos.org.cu>
#   39 Street No. 4426 Cienfuegos, Cuba.
#
######################################################################

# Standardize extended production of PNG files from SVG files. The
# extended production consists on producing PNG images in in different
# formats, heights, foreground colors and background colors.
function extended {

    # Retrieve formats you want to produce the image for. This
    # variable contains one or more image format supported by
    # ImageMagick.  For example, `xpm', `jpg', 'tiff', etc.
    local FORMATS=$(tcar_getConfigValue "${CONFIGURATION}" "${SECTION}" "formats")
    if [[ -z ${FORMATS} ]];then
        FORMATS="png"
    fi
        
    # Retrieve heights you want to produce the image for. This
    # variable contains one or more numerical values. For example,
    # `16', `24', `32', etc.
    local HEIGHTS=$(tcar_getConfigValue "${CONFIGURATION}" "${SECTION}" "heights")
    if [[ -z ${HEIGHTS} ]];then
        HEIGHTS="16 20 22 24 26 32 36 38 40 48 52 64 72 78 96 112 124 128 148 164 196 200 512"
    fi

    # Retrieve foreground colors you want to produce the image for.
    # This variable contains one or more color number in hexadecimal
    # format. For example, `000000', `ffffff', etc.
    local FGCOLORS=$(tcar_getConfigValue "${CONFIGURATION}" "${SECTION}" "fgcolors")
    if [[ -z ${FGCOLORS} ]];then
        FGCOLORS="000000"
    fi

    # Retrieve background colors you want to produce the image for.
    # This variable contains one or more color number in hexadecimal
    # format with opacity information included.  Opacity is specified
    # between 0.0 and 1.0 where 0.0 is full transparency and 1.0 full
    # opacity. For example, the following values are accepted:
    # `000000-0', `ffffff-1', etc.
    local BGCOLORS=$(tcar_getConfigValue "${CONFIGURATION}" "${SECTION}" "bgcolors") 
    if [[ -z ${BGCOLORS} ]];then
        BGCOLORS="ffffff-0 ffffff-1"
    fi

    for BGCOLOR in ${BGCOLORS};do

        # Verify value passed as background color.
        tcar_checkFiles -m '^[a-fA-F0-9]{6}-(0|1)$' ${BGCOLOR}

        for FGCOLOR in ${FGCOLORS};do

            # Verify value passed as foreground color.
            tcar_checkFiles -m '^[a-fA-F0-9]{3,6}$' ${FGCOLOR}

            for HEIGHT in ${HEIGHTS};do

                # Verify value passed as height.
                tcar_checkFiles -m '^[[:digit:]]+$' ${HEIGHT}

                # Do base rendition actions.
                extended_setBaseRendition

            done
        done
    done


}