from PSPApp import *
import PSPUtils

def ScriptProperties():
    return {
        'Author': 'Angela M. Cable',
        'Copyright': '2002, for freeware distribution only',
        'Description': "A B&W pencil effect",
        'Host': 'Paint Shop Pro',
        'Host Version': '8.00'
        }

def Do(Environment):
    if not PSPUtils.IsTrueColor(Environment, App.TargetDocument):
        # IncreaseColorsTo16Million
        App.Do( Environment, 'IncreaseColorsTo16Million', {
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent, 
                'AutoActionMode': App.Constants.AutoActionMode.Match
                }
            })

    App.Do( Environment, 'LayerDuplicate', {
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default
                }
            })

    App.Do( Environment, 'NegativeImage', {
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default
                }
            })

    App.Do( Environment, 'LayerProperties', {
            'General': {
                'Opacity': None, 
                'Name': None, 
                'IsVisible': None, 
                'IsTransparencyLocked': None, 
                'LinkSet': None, 
                'UseHighlight': None, 
                'PaletteHighlightColor': None, 
                'GroupLink': None, 
                'BlendMode': App.Constants.BlendMode.Dodge
                }, 
            'BlendRanges': None, 
            'Path': (0,0,[],App.Constants.Boolean.false), 
            'BrightnessContrast': None, 
            'ChannelMixer': None, 
            'ColorBalance': None, 
            'CurveParams': None, 
            'HSL': None, 
            'Threshold': None, 
            'Levels': None, 
            'Posterize': None, 
            'Mask': None, 
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent, 
                'PreviewVisible': App.Constants.Boolean.true, 
                'AutoProof': App.Constants.Boolean.false
                }
            })

    App.Do( Environment, 'GaussianBlur', {
            'Radius': 7.000, 
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent, 
                'PreviewVisible': App.Constants.Boolean.true, 
                'AutoProof': App.Constants.Boolean.false
                }
            })

    App.Do( Environment, 'LayerDuplicate', {
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default
                }
            })

    App.Do( Environment, 'ColorAdjustHSL', {
            'HSL': {
                'Colorize': App.Constants.Boolean.false, 
                'Master': (0,-100,0), 
                'MasterColorize': (8,25,0), 
                'Red': (0,0,0,315,345,15,45), 
                'Green': (0,0,0,75,105,135,165), 
                'Blue': (0,0,0,195,225,255,285), 
                'Cyan': (0,0,0,135,165,195,225), 
                'Magenta': (0,0,0,255,285,315,345), 
                'Yellow': (0,0,0,15,45,75,105)
                }, 
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent, 
                'PreviewVisible': App.Constants.Boolean.true, 
                'AutoProof': App.Constants.Boolean.false
                }
            })

    App.Do( Environment, 'LayerProperties', {
            'General': {
                'Opacity': None, 
                'Name': None, 
                'IsVisible': None, 
                'IsTransparencyLocked': None, 
                'LinkSet': None, 
                'UseHighlight': None, 
                'PaletteHighlightColor': None, 
                'GroupLink': None, 
                'BlendMode': App.Constants.BlendMode.TrueColor
                }, 
            'BlendRanges': None, 
            'Path': (0,0,[],App.Constants.Boolean.false), 
            'BrightnessContrast': None, 
            'ChannelMixer': None, 
            'ColorBalance': None, 
            'CurveParams': None, 
            'HSL': None, 
            'Threshold': None, 
            'Levels': None, 
            'Posterize': None, 
            'Mask': None, 
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent, 
                'PreviewVisible': App.Constants.Boolean.true, 
                'AutoProof': App.Constants.Boolean.false
                }
            })

    App.Do( Environment, 'SelectLayer', {
            'Path': (0,-2,[],App.Constants.Boolean.false), 
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent
                }
            })

    App.Do( Environment, 'EnhanceEdgesMore', {
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default
                }
            })

    App.Do( Environment, 'Sharpen', {
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default
                }
            })

