cairomm  1.16.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:
Inheritance graph
[legend]

Public Types

enum  Filter {
  Filter::FAST = CAIRO_FILTER_FAST,
  Filter::GOOD = CAIRO_FILTER_GOOD,
  Filter::BEST = CAIRO_FILTER_BEST,
  Filter::NEAREST = CAIRO_FILTER_NEAREST,
  Filter::BILINEAR = CAIRO_FILTER_BILINEAR,
  Filter::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  Type {
  Type::SOLID = CAIRO_PATTERN_TYPE_SOLID,
  Type::SURFACE = CAIRO_PATTERN_TYPE_SURFACE,
  Type::LINEAR = CAIRO_PATTERN_TYPE_LINEAR,
  Type::RADIAL = CAIRO_PATTERN_TYPE_RADIAL
}
 Type is used to describe the type of a given pattern. More...
 
enum  Extend {
  Extend::NONE = CAIRO_EXTEND_NONE,
  Extend::REPEAT = CAIRO_EXTEND_REPEAT,
  Extend::REFLECT = CAIRO_EXTEND_REFLECT,
  Extend::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. More...
 
 ~SurfacePattern () override
 
void set_filter (Filter filter)
 Sets the filter to be used for resizing when using this pattern. More...
 
Filter get_filter () const
 Gets the current filter for a pattern. More...
 
RefPtr< const Surface > get_surface () const
 Gets the surface associated with this pattern. More...
 
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. More...
 
 Pattern (const Pattern&)=delete
 
Pattern& operator= (const Pattern&)=delete
 
virtual ~Pattern ()
 
void set_matrix (const Matrix& matrix)
 Sets the pattern's transformation matrix to . More...
 
void get_matrix (Matrix& matrix) const
 Returns the pattern's transformation matrix. More...
 
Matrix get_matrix () const
 Returns the pattern's transformation matrix. More...
 
Type get_type () const
 Returns the type of the pattern. More...
 
void set_extend (Extend extend)
 Sets the mode to be used for drawing outside the area of a pattern. More...
 
Extend get_extend () const
 Gets the current extend mode See Cairo::Extend for details on the semantics of each extend strategy. More...
 
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. More...
 

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

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
cobjectThe C instance.
has_referenceWhether we already have a reference. Otherwise, the constructor will take an extra reference.

◆ ~SurfacePattern()

Cairo::SurfacePattern::~SurfacePattern ( )
override

Member Function Documentation

◆ create()

static 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<const Surface> Cairo::SurfacePattern::get_surface ( ) const

Gets the surface associated with this pattern.

Since
1.4

◆ get_surface() [2/2]

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

◆ 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
filterCairo::Filter describing the filter to use for resizing the pattern

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