Source code for pytoshop.enums

# -*- coding: utf-8 -*-


"""
Enumerated values used throughout the library.
"""


from __future__ import unicode_literals, absolute_import


import enum


[docs]class Version(enum.IntEnum): """ The PSD file version. Version 1 is the classic "PSD" file. Version 2 is the large document format "PSB" file which supports documents up to 300,000 pixels in any dimension. """ version_1 = 1 version_2 = 2 psd = 1 psb = 2
[docs]class ColorDepth(enum.IntEnum): """ Color depth (bits-per-pixel-per-channel). Supported values are 1, 8, 16, and 32. """ depth1 = 1 depth8 = 8 depth16 = 16 depth32 = 32
[docs]class ColorMode(enum.IntEnum): """ Color mode. """ bitmap = 0 grayscale = 1 indexed = 2 rgb = 3 cmyk = 4 multichannel = 7 duotone = 8 lab = 9
[docs]class ColorSpace(enum.IntEnum): """ Color space ids. Defines the meaning of the 4 color values in a color structure. - ``rgb``: The first three values are *red*, *green*, and *blue*. The are full 16-bit unsigned values as in Apple's ``RGBColor`` data structure. - ``hsb``: The first three values are *hue*, *saturation*, and *brightness*. The are full unsigned 16-bit values as in Apple's ``HSVColor`` data structure. - ``cmyk``: The four values are *cyan*, *magenta*, *yellow* and *black*. The are full unsigned 16-bit values. 0 = 100% ink. - ``lab``: The first three values are *lightness*, *a chrominance*, and *b chrominance*. Lightness is a 16-bit value from 0 to 10000. Chrominance components are each 16-bit values from -12800 to 12700. Gray values are represented by chrominance components of 0. - ``grayscale``: The first value in the color data is the gray value from 0 to 10000. Additional values are for "custom color spaces" which are not as well documented: - ``pantone``: PantoneĀ® matching system. - ``focoltone``: Focoltone matching system. - ``trumatch``: Trumatch color. - ``toyo_88_colorfinder_1050``: Toyo 88 colorfinder 1050. - ``hks``: HKS colors. """ rgb = 0 hsb = 1 cmyk = 2 pantone = 3 focoltone = 4 trumatch = 5 toyo_88_colorfinder_1050 = 6 lab = 7 grayscale = 8 hks = 10
[docs]class BlendMode(bytes, enum.Enum): """ Layer blend mode. """ pass_through = b'pass' normal = b'norm' dissolve = b'diss' darken = b'dark' multiply = b'mul ' color_burn = b'idiv' linear_burn = b'lbrn' darker_color = b'dkCl' lighten = b'lite' screen = b'scrn' color_dodge = b'div ' linear_dodge = b'lddg' lighter_color = b'lgCl' overlay = b'over' soft_light = b'sLit' hard_light = b'hLit' vivid_light = b'vLit' linear_light = b'lLit' pin_light = b'pLit' hard_mix = b'hMix' difference = b'diff' exclusion = b'smud' subtract = b'fsub' divide = b'fdiv' hue = b'hue ' saturation = b'sat ' color = b'colr' luminosity = b'lum '
[docs]class Compression(enum.IntEnum): """ Compression mode. - ``raw``: raw image data. - ``rle``: Run length encoded (RLE) compressed. The RLE compression is the same compression algorithm used by the Macintosh ROM routine PackBits, and the TIFF standard. - ``zip``: Zip (zlib) without prediction. - ``zip_prediction``: Zip (zlib) with prediction. """ raw = 0 rle = 1 zip = 2 zip_prediction = 3
[docs]class LayerMaskKind(enum.IntEnum): """ Layer mask kind. According to the spec, only ``use_value_stored_per_layer`` is preferred. The other are retained for backward compatibility only. """ color_selected = 0 color_protected = 1 use_value_stored_per_layer = 128
[docs]class ChannelId(enum.IntEnum): """ Channel id. Used to map channel data to image planes in layers. The meaning of the positive numbers depends on the `ColorMode` in effect. """ bitmap = 0 gray = 0 default = 0 red = 0 green = 1 blue = 2 cyan = 0 magenta = 1 yellow = 2 black = 3 L = 0 a = 1 b = 2 transparency = -1 user_layer_mask = -2 real_user_layer_mask = -3
[docs]class ColorChannel(enum.IntEnum): """ Color channel names, with unique values so we can check that they apply to the expected color mode. """ bitmap = 0 gray = 1 default = 2 red = 3 green = 4 blue = 5 cyan = 6 magenta = 7 yellow = 8 black = 9 L = 10 a = 11 b = 12 transparency = -1 user_layer_mask = -2 real_user_layer_mask = -3
ColorChannelMapping = { ColorChannel.bitmap: (ColorMode.bitmap, ChannelId.bitmap), ColorChannel.gray: (ColorMode.grayscale, ChannelId.gray), ColorChannel.default: (None, ChannelId.default), ColorChannel.red: (ColorMode.rgb, ChannelId.red), ColorChannel.green: (ColorMode.rgb, ChannelId.green), ColorChannel.blue: (ColorMode.rgb, ChannelId.blue), ColorChannel.cyan: (ColorMode.cmyk, ChannelId.cyan), ColorChannel.magenta: (ColorMode.cmyk, ChannelId.magenta), ColorChannel.yellow: (ColorMode.cmyk, ChannelId.yellow), ColorChannel.black: (ColorMode.cmyk, ChannelId.black), ColorChannel.L: (ColorMode.lab, ChannelId.L), ColorChannel.a: (ColorMode.lab, ChannelId.a), ColorChannel.b: (ColorMode.lab, ChannelId.b), ColorChannel.transparency: (None, ChannelId.transparency), ColorChannel.user_layer_mask: (None, ChannelId.user_layer_mask), ColorChannel.real_user_layer_mask: (None, ChannelId.real_user_layer_mask) }
[docs]class SectionDividerSetting(enum.IntEnum): """ Section divider setting. Used for the mode of grouped layers. - ``any_other``: any other type of layer - ``open``: Display an open folder - ``closed``: Display a closed folder - ``bounding``: Bounding section divider, hidden in GUI. """ any_other = 0 open = 1 closed = 2 bounding = 3
[docs]class PathRecordType(enum.IntEnum): closed_subpath_length = 0 closed_subpath_bezier_knot_linked = 1 closed_subpath_bezier_knot_unlinked = 2 open_subpath_length = 3 open_subpath_bezier_knot_linked = 4 open_subpath_bezier_knot_unlinked = 5 path_fill_rule_record = 6 clipboard_record = 7 initial_fill_rule_record = 8
[docs]class ImageResourceID(enum.IntEnum): """ Ids for Image Resource blocks. """ mac_print_info = 1001 mac_page_format_info = 1002 resolution_info = 1005 alpha_channel_names = 1006 caption = 1008 border_info = 1009 background_color = 1010 print_flags = 1011 grayscale_and_multichannel_halftoning_info = 1012 color_halftoning_info = 1013 duotone_halftoning_info = 1014 grayscale_and_multichannel_transfer_func = 1015 color_transfer_funcs = 1016 duotone_transfer_funcs = 1017 duotone_image_info = 1018 effective_black_and_white = 1019 eps_options = 1021 quick_mask_info = 1022 layer_state_info = 1024 layers_group_info = 1026 iptc_naa = 1028 image_mode_for_raw = 1029 jpeg_quality = 1030 grid_and_guides_info = 1032 copyright_flag = 1034 url = 1035 thumbnail_resource = 1036 global_angle = 1037 icc_profile = 1039 watermark = 1040 icc_untagged_profile = 1041 effects_visible = 1042 spot_halftone = 1043 document_specific_ids_seed_number = 1044 unicode_alpha_names = 1045 indexed_color_table_count = 1046 transparency_index = 1047 global_altitude = 1049 slices = 1050 workflow_url = 1051 jump_to_xpep = 1052 alpha_identifiers = 1053 url_list = 1054 version_info = 1057 exif_data_1 = 1058 exif_data_2 = 1059 xmp_metadata = 1060 caption_digest = 1061 print_scale = 1062 pixel_aspect_ratio = 1064 layer_comps = 1065 alternate_duotone_colors = 1066 alternate_spot_colors = 1067 layer_selection_ids = 1069 hdr_toning_info = 1070 print_info = 1071 layer_groups_enabled = 1072 color_samplers_resource = 1073 measurement_scale = 1074 timeline_info = 1075 sheet_disclosure = 1076 display_info = 1077 onion_skins = 1078 count_info = 1080 print_info_cs5 = 1082 print_style = 1083 mac_nsprintinfo = 1084 win_devmode = 1085 auto_save_file_path = 1086 auto_save_format = 1087 path_selection_state = 1088 name_of_clipping_path = 2999 origin_path_info = 3000 image_ready_variables = 7000 image_ready_data_sets = 7001 image_ready_default_selected_state = 7002 image_ready_7_rollover_expanded_state = 7003 image_ready_rollover_expanded_state = 7004 image_ready_save_layer_settings = 7005 image_ready_version = 7006 lightroom_workflow = 8000 print_flags_info = 10000
[docs]class Units(enum.IntEnum): inches = 1 cm = 2 points = 3 picas = 4 columns = 5
[docs]class GuideDirection(enum.IntEnum): vertical = 0 horizontal = 1
[docs]class PrintScaleStyle(enum.IntEnum): centered = 0 size_to_fit = 1 user_defined = 2