from PSPApp import *

def ScriptProperties():
    return {
        'Author': 'Angela M. Cable',
        'Copyright': '2002, for free distribution only',
        'Description': "A pen and ink effect",
        'Host': 'Paint Shop Pro',
        'Host Version': '8.00'
        }

def Do(Environment):
    App.Do( Environment, 'LayerDuplicate', {
            '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.Darken
                }, 
            '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': 10.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, 'LayerProperties', {
            'General': {
                'Opacity': None, 
                'Name': None, 
                'IsVisible': None, 
                'IsTransparencyLocked': None, 
                'LinkSet': None, 
                'UseHighlight': None, 
                'PaletteHighlightColor': None, 
                'GroupLink': None, 
                'BlendMode': App.Constants.BlendMode.Difference
                }, 
            '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, 'Greyscale', {
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default
                }
            })

    App.Do( Environment, 'LayerMergeVisible', {
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default
                }
            })

    App.Do( Environment, 'NegativeImage', {
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default
                }
            })

    App.Do( Environment, 'EnhanceEdgesMore', {
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default
                }
            })

    App.Do( Environment, 'NewRasterLayer', {
            'General': {
                'Opacity': 100, 
                'Name': 'Layer 1', 
                'IsVisible': App.Constants.Boolean.true, 
                'IsTransparencyLocked': App.Constants.Boolean.false, 
                'LinkSet': 0, 
                'UseHighlight': App.Constants.Boolean.false, 
                'PaletteHighlightColor': (255,255,64), 
                'GroupLink': App.Constants.Boolean.true, 
                'BlendMode': App.Constants.BlendMode.Normal
                }, 
            'BlendRanges': {
                'BlendRangeGreen': (0,0,255,255,0,0,255,255), 
                'BlendRangeRed': (0,0,255,255,0,0,255,255), 
                'BlendRangeBlue': (0,0,255,255,0,0,255,255), 
                'BlendRangeGrey': (0,0,255,255,0,0,255,255)
                }, 
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent, 
                'PreviewVisible': App.Constants.Boolean.false, 
                'AutoProof': App.Constants.Boolean.false
                }
            })

    App.Do( Environment, 'Fill', {
            'BlendMode': 0, 
            'MatchMode': 1, 
            'Material': {
                'Color': (255,255,255), 
                'Pattern': None, 
                'Gradient': None, 
                'Texture': None
                }, 
            'Opacity': 100, 
            'Point': (199.000,169.000), 
            'SampleMerged': 0, 
            'Tolerance': 200, 
            'ForegroundMaterial': None, 
            'BackgroundMaterial': None, 
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default
                }
            })

    App.Do( Environment, 'AddNoise', {
            'Amount': 4, 
            'Type': 2, 
            'Monochrome': App.Constants.Boolean.true, 
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent, 
                'PreviewVisible': App.Constants.Boolean.true, 
                'AutoProof': App.Constants.Boolean.false, 
                'RandomSeed': 9510800
                }
            })

    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.Burn
                }, 
            '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
                }
            })

