libchamplain Reference Manual: ChamplainExportable

## ChamplainExportable ChamplainExportable — An interface for objects exportable to a cairo surface |

## Functions

void | champlain_exportable_set_surface ()
cairo_surface_t * | champlain_exportable_get_surface ()

## Properties

CairoSurface * | surface | Read / Write

## Types and Values

| ChamplainExportable
struct | ChamplainExportableIface

## Object Hierarchy

        GInterface
        ╰── ChamplainExportable

## Prerequisites

ChamplainExportable requires GObject.

## Known Implementations

ChamplainExportable is implemented by ChamplainMarkerLayer, ChamplainPathLayer, ChamplainPoint and ChamplainTile.

## Description

By implementing ChamplainExportable the object declares that it has a cairo surface (cairo_surface_t) representation of it self.

## Functions

### champlain_exportable_set_surface ()

    void
    champlain_exportable_set_surface (ChamplainExportable *exportable,
                                      cairo_surface_t *surface);

Set a cairo_surface_t to be associated with this tile.

#### Parameters

exportable | the ChamplainExportable |
surface | the cairo_surface_t |

Since 0.12.12

### champlain_exportable_get_surface ()

    cairo_surface_t *
    champlain_exportable_get_surface (ChamplainExportable *exportable);

Gets the surface

#### Parameters

exportable | a ChamplainExportable |

#### Returns

the cairo_surface_t of the object.

[transfer none]

Since 0.12.12

## Types and Values

### ChamplainExportable

    typedef struct _ChamplainExportable ChamplainExportable;

An interface common to objects having a cairo_surface_t representation.

### struct ChamplainExportableIface

    struct ChamplainExportableIface {
      cairo_surface_t *(*get_surface)(ChamplainExportable *exportable);
      void (*set_surface)(ChamplainExportable *exportable,
          cairo_surface_t *surface);
    };

An interface common to objects having a cairo_surface_t representation.

#### Members

`get_surface` () | virtual function for obtaining the cairo surface. |
`set_surface` () | virtual function for setting a cairo surface. |

## Property Details

### The `“surface”` property

      “surface”                  CairoSurface *

A cairo_surface_t representation

Flags: Read / Write

Since 0.12.12