from PSPApp import *

def ScriptProperties():
    return {
        'Author': u'Joshua D. Meadows',
        'Copyright': u'\u24D2 Joshua D. Meadows',
        'Description': u'JJangFree : Joshua \uC2A4\uD06C\uB9BD\uD2B8 \uBCC0'\
            u'\uD615',
        'Host': u'PaintShop Pro',
        'Host Version': u'20.00'
        }



def Do(Environment):
    # EnableOptimizedScriptUndo
    App.Do( Environment, 'EnableOptimizedScriptUndo', {
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default,
                'AutoActionMode': App.Constants.AutoActionMode.Match,
                'Version': ((20,0,0),1)
                }
            })

    # LayerDuplicate
    App.Do( Environment, 'LayerDuplicate', {
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default,
                'AutoActionMode': App.Constants.AutoActionMode.Match,
                'Version': ((20,0,0),1)
                }
            })


    # Layer Properties
    App.Do( Environment, 'LayerProperties', {
            'General': {
                'Opacity': None, 
                'Name': u'Color', 
                'IsVisible': None, 
                'IsTransparencyLocked': None, 
                'LinkSet': None, 
                'UseHighlight': None, 
                'PaletteHighlightColor': None, 
                'GroupLink': None, 
                'BlendMode': None
                },
            'BlendRanges': None, 
            'Path': None, 
            'ArtMediaTexture': None, 
            'Effects': None,
            'BrightnessContrast': None,
            'ChannelMixer': None,
            'ColorBalance': None,
            'CurveParams': None,
            'HSL': None,
            'Threshold': None,
            'Levels': None,
            'Posterize': None,
            'Vibrancy': None,
            'Overlay': None,
            'LocalToneMapping': None,
            'Invert': None,
            'HistogramAdjustment': None,
            'FillLightClarity': None,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent,
                'AutoActionMode': App.Constants.AutoActionMode.Default,
                'Version': ((20,0,0),1)
                }
            })
            

    # Median
    App.Do( Environment, 'Median', {
            'Aperture': 13, 
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Interactive, 
                'AutoActionMode': App.Constants.AutoActionMode.Match, 
                'Version': ((20,0,0),1)
                }
            })

    # Copy
    App.Do( Environment, 'Copy', {
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default,
                'AutoActionMode': App.Constants.AutoActionMode.Match,
                'Version': ((20,0,0),1)
                }
            })

    # PasteGraphicAsNewImage
    App.Do( Environment, 'PasteGraphicAsNewImage', {
            'CreateFromDropData': False,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default,
                'AutoActionMode': App.Constants.AutoActionMode.Match,
                'Version': ((20,0,0),1)
                }
            })

    # SelectDocument
    App.Do( Environment, 'SelectDocument', {
            'SelectedImage': 0,
            'Strict': False,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default,
                'AutoActionMode': App.Constants.AutoActionMode.Match,
                'Version': ((20,0,0),1)
                }
            })

    # NegativeImage
    App.Do( Environment, 'NegativeImage', {
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default,
                'AutoActionMode': App.Constants.AutoActionMode.Match,
                'Version': ((20,0,0),1)
                }
            })

    # SelectDocument
    App.Do( Environment, 'SelectDocument', {
            'SelectedImage': -1,
            'Strict': False,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default,
                'AutoActionMode': App.Constants.AutoActionMode.Match,
                'Version': ((20,0,0),1)
                }
            })

    # LayerSetVisibility
    App.Do( Environment, 'LayerSetVisibility', {
            'Command': App.Constants.ShowCommands.Hide,
            'Path': None,
            'WorkingMode': 1,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent,
                'AutoActionMode': App.Constants.AutoActionMode.Default,
                'Version': ((20,0,0),1)
                }
            })

    # SelectDocument
    App.Do( Environment, 'SelectDocument', {
            'SelectedImage': 1,
            'Strict': False,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default,
                'AutoActionMode': App.Constants.AutoActionMode.Match,
                'Version': ((20,0,0),1)
                }
            })

    # Arithmetic
    App.Do( Environment, 'Arithmetic', {
            'AllChannels': True,
            'Bias': 0,
            'Channel1': 0,
            'Channel2': 0,
            'ClipColorValues': True,
            'Divisor': 2,
            'Function': App.Constants.ArithmeticFunctions.Add,
            'SourceImage1': -1,
            'SourceImage2': 0,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default,
                'AutoActionMode': App.Constants.AutoActionMode.Match,
                'Version': ((20,0,0),1)
                }
            })

    # SelectDocument
    App.Do( Environment, 'SelectDocument', {
            'SelectedImage': 1,
            'Strict': False,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default,
                'AutoActionMode': App.Constants.AutoActionMode.Match,
                'Version': ((20,0,0),1)
                }
            })

    # Copy
    App.Do( Environment, 'Copy', {
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default,
                'AutoActionMode': App.Constants.AutoActionMode.Match,
                'Version': ((20,0,0),1)
                }
            })

    # SelectDocument
    App.Do( Environment, 'SelectDocument', {
            'SelectedImage': -2,
            'Strict': False,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default,
                'AutoActionMode': App.Constants.AutoActionMode.Match,
                'Version': ((20,0,0),1)
                }
            })

    # PasteAsNewLayer
    App.Do( Environment, 'PasteAsNewLayer', {
            'CreateFromDropData': False,
            'InsertPos': -1,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default,
                'AutoActionMode': App.Constants.AutoActionMode.Match,
                'Version': ((20,0,0),1)
                }
            })

    # LayerDuplicate
    App.Do( Environment, 'LayerDuplicate', {
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default,
                'AutoActionMode': App.Constants.AutoActionMode.Match,
                'Version': ((20,0,0),1)
                }
            })



    # MultiObjectProperties
    App.Do( Environment, 'MultiObjectProperties', {
            'General': {
                'Opacity': 100,
                'Name': None,
                'IsVisible': None,
                'IsTransparencyLocked': None,
                'LinkSet': None,
                'UseHighlight': None,
                'PaletteHighlightColor': None,
                'GroupLink': None,
                'BlendMode': None
                },
            'Effects': None,
            'WorkingMode': 1,
            'Path': None,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent,
                'AutoActionMode': App.Constants.AutoActionMode.AllAlways,
                'Version': ((20,0,0),1)
                }
            })

    # Vector Selection Update
    App.Do( Environment, 'VectorSelectionUpdate', {
            'Path': (0,-1,[],False),
            'Type': App.Constants.ObjectSelection.Select,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent,
                'AutoActionMode': App.Constants.AutoActionMode.Default,
                'Version': ((20,0,0),1)
                }
            })

    # Vector Selection Update
    App.Do( Environment, 'VectorSelectionUpdate', {
            'Path': (0,1,[],False),
            'Type': App.Constants.ObjectSelection.Select,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent,
                'AutoActionMode': App.Constants.AutoActionMode.Default,
                'Version': ((20,0,0),1)
                }
            })

    # Layer Properties
    App.Do( Environment, 'LayerProperties', {
            'General': {
                'Opacity': None,
                'Name': u'Texture - \uAC15\uD55C\uC870\uBA85100', 
                'IsVisible': None,
                'IsTransparencyLocked': None,
                'LinkSet': None,
                'UseHighlight': None,
                'PaletteHighlightColor': None,
                'GroupLink': None,
                'BlendMode': None
                },
            'BlendRanges': None,
            'Path': (0,0,[],False),
            'ArtMediaTexture': None,
            'Effects': None,
            'BrightnessContrast': None,
            'ChannelMixer': None,
            'ColorBalance': None,
            'CurveParams': None,
            'HSL': None,
            'Threshold': None,
            'Levels': None,
            'Posterize': None,
            'Vibrancy': None,
            'Overlay': None,
            'LocalToneMapping': None,
            'Invert': None,
            'HistogramAdjustment': None,
            'FillLightClarity': None,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent,
                'AutoActionMode': App.Constants.AutoActionMode.Default,
                'Version': ((20,0,0),1)
                }
            })

    # Vector Selection Update
    App.Do( Environment, 'VectorSelectionUpdate', {
            'Path': (0,-1,[],False),
            'Type': App.Constants.ObjectSelection.Select,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent,
                'AutoActionMode': App.Constants.AutoActionMode.Default,
                'Version': ((20,0,0),1)
                }
            })

    # Layer Properties
    App.Do( Environment, 'LayerProperties', {
            'General': {
                'Opacity': None,
                'Name': u'Texture - \uC624\uBC84\uB808\uC774100', 
                'IsVisible': None,
                'IsTransparencyLocked': None,
                'LinkSet': None,
                'UseHighlight': None,
                'PaletteHighlightColor': None,
                'GroupLink': None,
                'BlendMode': None
                },
            'BlendRanges': None,
            'Path': (0,0,[],False),
            'ArtMediaTexture': None,
            'Effects': None,
            'BrightnessContrast': None,
            'ChannelMixer': None,
            'ColorBalance': None,
            'CurveParams': None,
            'HSL': None,
            'Threshold': None,
            'Levels': None,
            'Posterize': None,
            'Vibrancy': None,
            'Overlay': None,
            'LocalToneMapping': None,
            'Invert': None,
            'HistogramAdjustment': None,
            'FillLightClarity': None,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent,
                'AutoActionMode': App.Constants.AutoActionMode.Default,
                'Version': ((20,0,0),1)
                }
            })

    # MultiObjectProperties
    App.Do( Environment, 'MultiObjectProperties', {
            'General': {
                'Opacity': None,
                'Name': None,
                'IsVisible': None,
                'IsTransparencyLocked': None,
                'LinkSet': None,
                'UseHighlight': None,
                'PaletteHighlightColor': None,
                'GroupLink': None,
                'BlendMode': App.Constants.BlendMode.Overlay
                },
            'Effects': None,
            'WorkingMode': 1,
            'Path': None,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent,
                'AutoActionMode': App.Constants.AutoActionMode.AllAlways,
                'Version': ((20,0,0),1)
                }
            })

    # Vector Selection Update
    App.Do( Environment, 'VectorSelectionUpdate', {
            'Path': (0,1,[],False),
            'Type': App.Constants.ObjectSelection.Select,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent,
                'AutoActionMode': App.Constants.AutoActionMode.Default,
                'Version': ((20,0,0),1)
                }
            })

    # MultiObjectProperties
    App.Do( Environment, 'MultiObjectProperties', {
            'General': {
                'Opacity': None,
                'Name': None,
                'IsVisible': None,
                'IsTransparencyLocked': None,
                'LinkSet': None,
                'UseHighlight': None,
                'PaletteHighlightColor': None,
                'GroupLink': None,
                'BlendMode': App.Constants.BlendMode.HardLight
                },
            'Effects': None,
            'WorkingMode': 1,
            'Path': None,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent,
                'AutoActionMode': App.Constants.AutoActionMode.AllAlways,
                'Version': ((20,0,0),1)
                }
            })

    # LayerSetVisibility
    App.Do( Environment, 'LayerSetVisibility', {
            'Command': App.Constants.ShowCommands.Show,
            'Path': (0,-2,[],False),
            'WorkingMode': 0,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent,
                'AutoActionMode': App.Constants.AutoActionMode.Default,
                'Version': ((20,0,0),1)
                }
            })

    # SelectDocument
    App.Do( Environment, 'SelectDocument', {
            'SelectedImage': 1,
            'Strict': False,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default,
                'AutoActionMode': App.Constants.AutoActionMode.Match,
                'Version': ((20,0,0),1)
                }
            })

    # FileClose
    App.Do( Environment, 'FileClose', {
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent,
                'AutoActionMode': App.Constants.AutoActionMode.Match,
                'Version': ((20,0,0),1)
                }
            })

    # SelectDocument
    App.Do( Environment, 'SelectDocument', {
            'SelectedImage': 0,
            'Strict': False,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default,
                'AutoActionMode': App.Constants.AutoActionMode.Match,
                'Version': ((20,0,0),1)
                }
            })

    # FileClose
    App.Do( Environment, 'FileClose', {
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent,
                'AutoActionMode': App.Constants.AutoActionMode.Match,
                'Version': ((20,0,0),1)
                }
            })

    # SelectDocument
    App.Do( Environment, 'SelectDocument', {
            'SelectedImage': 0,
            'Strict': False,
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Default,
                'AutoActionMode': App.Constants.AutoActionMode.Match,
                'Version': ((20,0,0),1)
                }
            })

    # Vector Selection Update
    App.Do( Environment, 'VectorSelectionUpdate', {
            'Path': (0,-2,[],False), 
            'Type': App.Constants.ObjectSelection.Select, 
            'GeneralSettings': {
                'ExecutionMode': App.Constants.ExecutionMode.Silent, 
                'AutoActionMode': App.Constants.AutoActionMode.Default, 
                'Version': ((20,0,0),1)
                }
            })

