# E:/DevIL/src-IL/include/il_psp.h File Reference

`#include "il_internal.h"`

Go to the source code of this file.

## Data Structures

struct | PSPRECT
struct | PSPHEAD
struct | BLOCKHEAD
struct | GENATT_CHUNK
struct | LAYERINFO_CHUNK
struct | LAYERBITMAP_CHUNK
struct | CHANNEL_CHUNK
struct | ALPHAINFO_CHUNK
struct | ALPHA_CHUNK

## Enumerations

enum | PSPBlockID { PSP_IMAGE_BLOCK = 0, PSP_CREATOR_BLOCK, PSP_COLOR_BLOCK, PSP_LAYER_START_BLOCK, PSP_LAYER_BLOCK, PSP_CHANNEL_BLOCK, PSP_SELECTION_BLOCK, PSP_ALPHA_BANK_BLOCK, PSP_ALPHA_CHANNEL_BLOCK, PSP_COMPOSITE_IMAGE_BLOCK, PSP_EXTENDED_DATA_BLOCK, PSP_TUBE_BLOCK,
PSP_ADJUSTMENT_EXTENSION_BLOCK, PSP_VECTOR_EXTENSION_BLOCK, PSP_SHAPE_BLOCK, PSP_PAINTSTYLE_BLOCK,
PSP_COMPOSITE_IMAGE_BANK_BLOCK, PSP_COMPOSITE_ATTRIBUTES_BLOCK, PSP_JPEG_BLOCK, PSP_LINESTYLE_BLOCK,
PSP_TABLE_BANK_BLOCK, PSP_TABLE_BLOCK, PSP_PAPER_BLOCK, PSP_PATTERN_BLOCK
}
enum | PSPDIBType { PSP_DIB_IMAGE = 0, PSP_DIB_TRANS_MASK, PSP_DIB_USER_MASK, PSP_DIB_SELECTION, PSP_DIB_ALPHA_MASK, PSP_DIB_THUMBNAIL }
enum | PSPChannelType { PSP_CHANNEL_COMPOSITE = 0, PSP_CHANNEL_RED, PSP_CHANNEL_GREEN, PSP_CHANNEL_BLUE }
enum | PSP_METRIC { PSP_METRIC_UNDEFINED = 0, PSP_METRIC_INCH, PSP_METRIC_CM }
enum | PSPCompression { PSP_COMP_NONE = 0, PSP_COMP_RLE, PSP_COMP_LZ77, PSP_COMP_JPEG }
enum | TubePlacementMode { tpmRandom, tpmConstant }
enum | TubeSelectionMode { tsmRandom, tsmIncremental, tsmAngular, tsmPressure, tsmVelocity }
enum | PSPExtendedDataID { PSP_XDATA_TRNS_INDEX = 0 }
enum | PSPCreatorFieldID { PSP_CRTR_FLD_TITLE = 0, PSP_CRTR_FLD_CRT_DATE, PSP_CRTR_FLD_MOD_DATE, PSP_CRTR_FLD_ARTIST, PSP_CRTR_FLD_CPYRGHT, PSP_CRTR_FLD_DESC, PSP_CRTR_FLD_APP_ID, PSP_CRTR_FLD_APP_VER }
enum | PSPCreatorAppID { PSP_CREATOR_APP_UNKNOWN = 0, PSP_CREATOR_APP_PAINT_SHOP_PRO }
enum | PSPLayerType { PSP_LAYER_NORMAL = 0, PSP_LAYER_FLOATING_SELECTION }

## Functions

ILboolean | iLoadPspInternal (void)
ILboolean | iCheckPsp (void)
ILboolean | iIsValidPsp (void)
ILboolean | ReadGenAttributes (void)
ILboolean | ParseChunks (void)
ILboolean | ReadLayerBlock (ILuint BlockLen)
ILboolean | ReadAlphaBlock (ILuint BlockLen)
ILubyte * | GetChannel (void)
ILboolean | UncompRLE (ILubyte *CompData, ILubyte *Data, ILuint CompLen)
ILboolean | ReadPalette (ILuint BlockLen)
ILboolean | AssembleImage (void)
ILboolean | Cleanup (void)

## Enumeration Type Documentation

enum PSP_METRIC

Enumerator:

  PSP_METRIC_UNDEFINED |
  PSP_METRIC_INCH |
  PSP_METRIC_CM |

enum PSPBlockID

Enumerator:

  PSP_IMAGE_BLOCK |
  PSP_CREATOR_BLOCK |
  PSP_COLOR_BLOCK |
  PSP_LAYER_START_BLOCK |
  PSP_LAYER_BLOCK |
  PSP_CHANNEL_BLOCK |
  PSP_SELECTION_BLOCK |
  PSP_ALPHA_BANK_BLOCK |
  PSP_ALPHA_CHANNEL_BLOCK |
  PSP_COMPOSITE_IMAGE_BLOCK |
  PSP_EXTENDED_DATA_BLOCK |
  PSP_TUBE_BLOCK |
  PSP_ADJUSTMENT_EXTENSION_BLOCK |
  PSP_VECTOR_EXTENSION_BLOCK |
  PSP_SHAPE_BLOCK |
  PSP_PAINTSTYLE_BLOCK |
  PSP_COMPOSITE_IMAGE_BANK_BLOCK |
  PSP_COMPOSITE_ATTRIBUTES_BLOCK |
  PSP_JPEG_BLOCK |
  PSP_LINESTYLE_BLOCK |
  PSP_TABLE_BANK_BLOCK |
  PSP_TABLE_BLOCK |
  PSP_PAPER_BLOCK |
  PSP_PATTERN_BLOCK |

enum PSPChannelType

Enumerator:

  PSP_CHANNEL_COMPOSITE |
  PSP_CHANNEL_RED |
  PSP_CHANNEL_GREEN |
  PSP_CHANNEL_BLUE |

enum PSPCompression

Enumerator:

  PSP_COMP_NONE |
  PSP_COMP_RLE |
  PSP_COMP_LZ77 |
  PSP_COMP_JPEG |

enum PSPCreatorAppID

Enumerator:

  PSP_CREATOR_APP_UNKNOWN |
  PSP_CREATOR_APP_PAINT_SHOP_PRO |

enum PSPCreatorFieldID

Enumerator:

  PSP_CRTR_FLD_TITLE |
  PSP_CRTR_FLD_CRT_DATE |
  PSP_CRTR_FLD_MOD_DATE |
  PSP_CRTR_FLD_ARTIST |
  PSP_CRTR_FLD_CPYRGHT |
  PSP_CRTR_FLD_DESC |
  PSP_CRTR_FLD_APP_ID |
  PSP_CRTR_FLD_APP_VER |

enum PSPDIBType

Enumerator:

  PSP_DIB_IMAGE |
  PSP_DIB_TRANS_MASK |
  PSP_DIB_USER_MASK |
  PSP_DIB_SELECTION |
  PSP_DIB_ALPHA_MASK |
  PSP_DIB_THUMBNAIL |

enum PSPExtendedDataID

Enumerator:

  PSP_XDATA_TRNS_INDEX |

enum PSPLayerType

Enumerator:

  PSP_LAYER_NORMAL |
  PSP_LAYER_FLOATING_SELECTION |

enum TubePlacementMode

Enumerator:

  tpmRandom |
  tpmConstant |

enum TubeSelectionMode

Enumerator:

  tsmRandom |
  tsmIncremental |
  tsmAngular |
  tsmPressure |
  tsmVelocity |

## Function Documentation

ILboolean AssembleImage | ( | void |  | ) |

Referenced by iLoadPspInternal().

ILboolean Cleanup | ( | void |  | ) |

Referenced by iLoadPspInternal().

ILubyte* GetChannel | ( | void |  | ) |

Referenced by ReadAlphaBlock(), and ReadLayerBlock().

ILboolean iCheckPsp | ( | void |  | ) |

Referenced by iIsValidPsp(), and iLoadPspInternal().

ILboolean iIsValidPsp | ( | void |  | ) |

Referenced by ilIsValidPspF(), and ilIsValidPspL().

ILboolean iLoadPspInternal | ( | void |  | ) |

Referenced by ilLoadPspF(), and ilLoadPspL().

ILboolean ParseChunks | ( | void |  | ) |

Referenced by iLoadPspInternal().

ILboolean ReadAlphaBlock | ( | ILuint | BlockLen | ) |

Referenced by ParseChunks().

ILboolean ReadGenAttributes | ( | void |  | ) |

Referenced by iLoadPspInternal().

ILboolean ReadLayerBlock | ( | ILuint | BlockLen | ) |

Referenced by ParseChunks().

ILboolean ReadPalette | ( | ILuint | BlockLen | ) |

Referenced by ParseChunks().

ILboolean UncompRLE | ( | ILubyte * | CompData,
|  | ILubyte * | Data,
|  | ILuint | CompLen |
| ) |  |  |

Referenced by GetChannel().