# TK_Thumbnail

## Functions

| `TK_Thumbnail`
| `~TK_Thumbnail`
`TK_Status` | `Read`
`TK_Status` | `Write`
`TK_Status` | `Clone`
`TK_Status` | `ReadAscii`
`TK_Status` | `WriteAscii`
`TK_Status` | `Execute`
`TK_Status` | `Interpret`
`TK_Status` | `Interpret`
void | `Reset`
void | `SetBytes`
unsigned char const * | `GetBytes`
unsigned char * | `GetBytes`
void | `SetSize`
void | `SetSize`
int const * | `GetSize`
void | `SetFormat`
int | `GetFormat`

## Detailed Description

class TK_Thumbnail : public BBaseOpcodeHandler

  Handles the TKE_Thumbnail opcode.

  TK_Thumbnail provides support for writing/reading the TKE_Thumbnail opcode object to/from an HSF file.

  Many file systems and part viewers provide for a thumbnail &#8212; a small image representing the data. This is essentially an extremely simplified version of the TK_Image handler.

  Public Functions

  inline TK_Thumbnail()

    constructor

  ~TK_Thumbnail()
  virtual TK_Status Read(BStreamFileToolkit &tk)

    Reads data from the toolkit buffer, decodes/decompresses it, and maps it to the opcode handlers data members. User-defined classes which need to write out custom data should utilize one of the available GetData() methods.

    Parameters

      tk – A reference to the BStreamFileToolkit object.

    Returns

      The result of the function call.

  virtual TK_Status Write(BStreamFileToolkit &tk)

    Encodes/compresses data and writes data to the toolkit buffer. User-defined classes which need to write out custom data should utilize one of the available PutData() methods, and first write out the opcode associated with the group of binary data followed by the data itself.

    Parameters

      tk – A reference to the BStreamFileToolkit object.

    Returns

      The result of the function call.

  virtual TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const

    Copies the opcode handler

    Parameters

      - tk – A reference to the BStreamFileToolkit object.

      - handler – A pointer to the opcode handler object. Passed by reference.

    Returns

      The result of the function call.

  TK_Status ReadAscii(BStreamFileToolkit &tk)

    Deprecated.

  TK_Status WriteAscii(BStreamFileToolkit &tk)

    Deprecated.

  virtual TK_Status Execute(BStreamFileToolkit &tk)

    Processes the binary data that has been read for the current object, which involves passing the data to application-specific data structures.

    Parameters

      tk – A reference to the BStreamFileToolkit object.

    Returns

      The result of the function call.

  virtual TK_Status Interpret(BStreamFileToolkit &tk, long key, int variant)

    Extracts graphics data (typically from the application’s scene-graph) and maps it to the opcode handler’s data members in preparation for writing out an object to the file.

    Parameters

      - tk – A reference to the BStreamFileToolkit object.

      - key – An identifier to the object (for example, the HOOPS key of a geometry item)

      - variant – optional specification of an alternate form, such as a Level-of-Detail representation

    Returns

      The result of the function call.

  inline virtual TK_Status Interpret(BStreamFileToolkit &tk, long key, char const *special)

    Extracts graphics data (typically from the application’s scene-graph) and maps it to the opcode handler’s data members in preparation for writing out an object to the file.

    Parameters

      - tk – A reference to the BStreamFileToolkit object.

      - key – An identifier to the object (for example, the HOOPS key of a geometry item)

      - special – A string value of particular data

    Returns

      The result of the function call.

  virtual void Reset()

    Resets the current opcode handler. This is called by the toolkit when it is done processing an opcode. This method reinitializes any opcode handler variables and frees up temporary data.

  void SetBytes(int size, unsigned char const *bytes = 0)

    Sets the image data. Allocates a buffer which can hold ‘size’ bytes, and if specified, copies the data from ‘bytes’ to the buffer

  inline unsigned char const *GetBytes() const

    Returns the address of the data buffer

  inline unsigned char *GetBytes()

    Returns the address of the data buffer, which may be modified directly

  inline void SetSize(int w, int h)

    Sets the size of the thumbnail using discrete integer values

  inline void SetSize(int const s[])

    Sets the size of the image using an array of integer values

  inline int const *GetSize() const

    Returns the size of the image as the address of a pair of integers

  inline void SetFormat(int f)

    Sets the format of the image. Formats are specified in TKO_Thumbnail_Formats.

  inline int GetFormat() const

    Returns the format of the image. Formats are specified in TKO_Thumbnail_Formats.