cairomm: Cairo::SurfacePattern Class Reference

cairomm 1.19.1

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
Cairo::SurfacePattern Class Reference

`#include <cairomm/pattern.h>`

Inheritance diagram for Cairo::SurfacePattern:
[legend]

## Public Types
enum class | Filter { FAST = CAIRO_FILTER_FAST , GOOD = CAIRO_FILTER_GOOD , BEST = CAIRO_FILTER_BEST , NEAREST = CAIRO_FILTER_NEAREST , BILINEAR = CAIRO_FILTER_BILINEAR , GAUSSIAN = CAIRO_FILTER_GAUSSIAN }
| Filter is used to indicate what filtering should be applied when reading pixel values from patterns. More...
Public Types inherited from Cairo::Pattern
enum class | Type { SOLID = CAIRO_PATTERN_TYPE_SOLID , SURFACE = CAIRO_PATTERN_TYPE_SURFACE , LINEAR = CAIRO_PATTERN_TYPE_LINEAR , RADIAL = CAIRO_PATTERN_TYPE_RADIAL , MESH = CAIRO_PATTERN_TYPE_MESH }
| Type is used to describe the type of a given pattern. More...
enum class | Extend { NONE = CAIRO_EXTEND_NONE , REPEAT = CAIRO_EXTEND_REPEAT , REFLECT = CAIRO_EXTEND_REFLECT , PAD = CAIRO_EXTEND_PAD }
| Cairo::Extend is used to describe how pattern color/alpha will be determined for areas "outside" the pattern's natural area, (for example, outside the surface bounds or outside the gradient geometry). More...
typedef cairo_pattern_t | cobject

## Public Member Functions
| SurfacePattern (cairo_pattern_t *cobject, bool has_reference=false)
| Create a C++ wrapper for the C instance.
| ~SurfacePattern () override
void | set_filter (Filter filter)
| Sets the filter to be used for resizing when using this pattern.
Filter | get_filter () const
| Gets the current filter for a pattern.
RefPtr< const Surface > | get_surface () const
| Gets the surface associated with this pattern.
RefPtr< Surface > | get_surface ()
Public Member Functions inherited from Cairo::Pattern
| Pattern (cairo_pattern_t *cobject, bool has_reference=false)
| Create a C++ wrapper for the C instance.
| Pattern (const Pattern &)=delete
Pattern & | operator= (const Pattern &)=delete
virtual | ~Pattern ()
void | set_matrix (const Matrix & matrix)
| Sets the pattern's transformation matrix to @matrix.
void | get_matrix (Matrix & matrix) const
| Returns the pattern's transformation matrix.
Matrix | get_matrix () const
| Returns the pattern's transformation matrix.
Type | get_type () const
| Returns the type of the pattern.
void | set_extend (Extend extend)
| Sets the mode to be used for drawing outside the area of a pattern.
Extend | get_extend () const
| Gets the current extend mode See Cairo::Extend for details on the semantics of each extend strategy.
cobject * | cobj ()
const cobject * | cobj () const
void | reference () const
void | unreference () const

## Static Public Member Functions
static RefPtr< SurfacePattern > | create (const RefPtr< Surface > & surface)
| Create a new Cairo::Pattern for the given surface.

## Protected Member Functions
| SurfacePattern (const RefPtr< Surface > & surface)
Protected Member Functions inherited from Cairo::Pattern
| Pattern ()

## Additional Inherited Members
Protected Attributes inherited from Cairo::Pattern
cobject * | m_cobject

## Member Enumeration Documentation

## ◆ Filter

enum class Cairo::SurfacePattern::Filter
| strong

Filter is used to indicate what filtering should be applied when reading pixel values from patterns.

See Cairo::SurfacePattern::set_filter() for indicating the desired filter to be used with a particular pattern.

Enumerator
FAST | A high-performance filter, with quality similar to Cairo::Patern::Filter::NEAREST.
GOOD | A reasonable-performance filter, with quality similar to Cairo::BILINEAR.
BEST | The highest-quality available, performance may not be suitable for interactive use.
NEAREST | Nearest-neighbor filtering.
BILINEAR | Linear interpolation in two dimensions.
GAUSSIAN | This filter value is currently unimplemented, and should not be used in current code.

## Constructor & Destructor Documentation

## ◆ SurfacePattern() [1/2]

Cairo::SurfacePattern::SurfacePattern | ( | const RefPtr< Surface > & | surface | ) |
| explicitprotected

## ◆ SurfacePattern() [2/2]

Cairo::SurfacePattern::SurfacePattern | ( | cairo_pattern_t * | cobject,
|  | bool | has_reference = false )
| explicit

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters

  cobject | The C instance.
  has_reference | Whether we already have a reference. Otherwise, the constructor will take an extra reference.

## ◆ ~SurfacePattern()

Cairo::SurfacePattern::~SurfacePattern | ( |  | ) |
| override

## Member Function Documentation

## ◆ create()

RefPtr< SurfacePattern > Cairo::SurfacePattern::create | ( | const RefPtr< Surface > & | surface | ) |
| static

Create a new Cairo::Pattern for the given surface.

## ◆ get_filter()

Filter Cairo::SurfacePattern::get_filter | ( |  | ) | const

Gets the current filter for a pattern.

See Cairo::Filter for details on each filter.

## ◆ get_surface() [1/2]

RefPtr< Surface > Cairo::SurfacePattern::get_surface | ( |  | ) |

## ◆ get_surface() [2/2]

RefPtr< const Surface > Cairo::SurfacePattern::get_surface | ( |  | ) | const

Gets the surface associated with this pattern.

Since
  1.4

## ◆ set_filter()

void Cairo::SurfacePattern::set_filter | ( | Filter | filter | ) |

Sets the filter to be used for resizing when using this pattern.

See Cairo::Filter for details on each filter.

Note that you might want to control filtering even when you do not have an explicit Cairo::Pattern object, (for example when using Cairo::Context::set_source_surface()). In these cases, it is convenient to use Cairo::Context::get_source() to get access to the pattern that cairo creates implicitly.

Parameters

  filter | Cairo::Filter describing the filter to use for resizing the pattern

The documentation for this class was generated from the following file:

- cairomm/pattern.h