---
name: "CL_FLIProvider"
section: "3"
platform: "linux"
package: "clanlib0-common-dev"
version: "0.4.4-8"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/CL_FLIProvider"
---

# CL\_FLIProvider(3)

A surface provider that can show FLi/FLc animations.

## NAME

CL\_FLIProvider - A surface provider that can show FLi/FLc animations.

## CLASS MEMBERS

- static CL\_Surface \***create**(

  ```
  char *fliname)
  ```

- static CL\_Surface \***create**(

  ```
  char *fliname,
  int frameno)
  ```

- **CL\_FLIProvider**(

  ```
  const char *fli_file,
  int start_frame)
  ```

- virtual **~CL\_FLIProvider**()

  - virtual unsigned int **get\_width**()

  - virtual unsigned int **get\_height**()

  - virtual unsigned int **get\_num\_frames**()

  - virtual unsigned int **get\_red\_mask**()

  - virtual unsigned int **get\_green\_mask**()

  - virtual unsigned int **get\_blue\_mask**()

  - virtual unsigned int **get\_alpha\_mask**()

  - virtual CL\_Palette \***get\_palette**()

  - virtual unsigned int **get\_pitch**()

  - virtual unsigned int **get\_depth**()

  - virtual bool **is\_indexed**()

  - virtual bool **uses\_src\_colorkey**()

  - virtual unsigned int **get\_src\_colorkey**()

  - virtual void \***get\_data**()

  - virtual void **perform\_lock**()

  - virtual void **perform\_unlock**()

  ## MEMBERS WITH DESCRIPTIONS

- static CL\_Surface \***create**(

  ```
  char *fliname)
  ```

  ```
  Parameters:
  fliname - The .flc / .fli file to use.
  ```

  ```
  Description:
  ```

  Creates a surface using the FLi/FLc file *fliname* as source.

- static CL\_Surface \***create**(

  ```
  char *fliname,
  int frameno)
  ```

  ```
  Description:
  ```

  Creates a surface using the FLi/FLc file *filename* as source and *frameno* as start frame.

- **CL\_FLIProvider**(

  ```
  const char *fli_file,
  int start_frame)
  ```

  ```
  Parameters:
  fli_file - .flc / .fli file to use.
  start_frame - Initial frame to be delivered by the surface provider.
  ```

  ```
  Description:
  ```

  Constructs a surfaceprovider using the FLi/FLc file *fli\_file* as source, starting at frame *start\_frame*.

- virtual **~CL\_FLIProvider**()

  ```
  Description:
  ```

- virtual unsigned int **get\_width**()

  ```
  Description:
  ```

  Returns the width of the image.

- virtual unsigned int **get\_height**()

  ```
  Description:
  ```

  Returns the height of the image.

- virtual unsigned int **get\_num\_frames**()

  ```
  Description:
  ```

  Returns the number of subsprites in the image.

- virtual unsigned int **get\_red\_mask**()

  ```
  Description:
  ```

  Returns the red color mask.

- virtual unsigned int **get\_green\_mask**()

  ```
  Description:
  ```

  Returns the green color mask.

- virtual unsigned int **get\_blue\_mask**()

  ```
  Description:
  ```

  Returns the blue color mask.

- virtual unsigned int **get\_alpha\_mask**()

  ```
  Description:
  ```

  Returns the alpha color mask.

- virtual CL\_Palette \***get\_palette**()

  ```
  Description:
  ```

  Returns the palette used by the image. NULL if system palette.

- virtual unsigned int **get\_pitch**()

  ```
  Description:
  ```

- virtual unsigned int **get\_depth**()

  ```
  Description:
  ```

- virtual bool **is\_indexed**()

  ```
  Description:
  ```

- virtual bool **uses\_src\_colorkey**()

  ```
  Description:
  ```

  Returns true if provider uses a source color key.

- virtual unsigned int **get\_src\_colorkey**()

  ```
  Description:
  ```

  Returns the transparency color used the image.

- virtual void \***get\_data**()

  ```
  Description:
  ```

  Returns a pointer to the image data. Must be locked before data is valid.

- virtual void **perform\_lock**()

  ```
  Description:
  ```

  Locks the surface provider.

- virtual void **perform\_unlock**()

  ```
  Description:
  ```

  Unlocks the surface provider.

## SEE ALSO

All ClanLib API classes can be found in **clanlib (3)**.

## AUTHORS

Originally written by Magnus Norddahl \<*mbn@dark.x.dtu.dk*\> and Martin Starch \<*starch@dark.x.dtu.dk*\>. ClanLib is now developed by the ClanLib Development team as an Open Source project.

The ClanLib man pages was created using the Perceps documentation system (another excellent piece of Open Source software, available at **http://somewhere.in.the.world.org**).

See **clanlib (3)** to find out how to get a full list of contributors and details on how to submit bug reports, comments etc.
