type Cairo_Pattern_Type is (Cairo_Pattern_Type_Solid, -- The pattern is a solid (uniform) color. It may be opaque or -- translucent. Cairo_Pattern_Type_Surface, -- The pattern is a based on a surface (an image). Cairo_Pattern_Type_Linear, -- The pattern is a linear gradient. Cairo_Pattern_Type_Radial -- The pattern is a radial gradient. );
type Cairo_Extend is (Cairo_Extend_None, -- Pixels outside of the source pattern are fully transparent Cairo_Extend_Repeat, -- The pattern is tiled by repeating Cairo_Extend_Reflect, -- The pattern is tiled by reflecting at the edges (Implemented for -- surface patterns since 1.6) Cairo_Extend_Pad -- Pixels outside of the pattern copy -- the closest pixel from the source (Since 1.2; but only -- implemented for surface patterns since 1.6) );
type Cairo_Filter is (Cairo_Filter_Fast, -- A high-performance filter, with quality similar to -- Cairo_Filter_Nearest Cairo_Filter_Good, -- A reasonable-performance filter, with quality similar to -- Cairo_Filter_Bilinear Cairo_Filter_Best, -- The highest-quality available, performance may -- not be suitable for interactive use. Cairo_Filter_Nearest, -- Nearest-neighbor filtering Cairo_Filter_Bilinear, -- Linear interpolation in two dimensions Cairo_Filter_Gaussian -- This filter value is currently unimplemented, and should not be used -- in current code. );
function Create_Rgb
( | Red | : Gdouble; |
Green | : Gdouble; | |
Blue | : Gdouble) return Cairo_Pattern; |
function Create_Rgba
( | Red | : Gdouble; |
Green | : Gdouble; | |
Blue | : Gdouble; | |
Alpha | : Gdouble) return Cairo_Pattern; |
function Create_For_Surface
( | Surface | : Cairo_Surface) return Cairo_Pattern; |
function Create_Linear
( | X0 | : Gdouble; |
Y0 | : Gdouble; | |
X1 | : Gdouble; | |
Y1 | : Gdouble) return Cairo_Pattern; |
function Create_Radial
( | Cx0 | : Gdouble; |
Cy0 | : Gdouble; | |
Radius0 | : Gdouble; | |
Cx1 | : Gdouble; | |
Cy1 | : Gdouble; | |
Radius1 | : Gdouble) return Cairo_Pattern; |
function Reference
( | Pattern | : Cairo_Pattern) return Cairo_Pattern; |
procedure Destroy
( | Pattern | : Cairo_Pattern); |
function Get_Reference_Count
( | Pattern | : Cairo_Pattern) return Guint; |
function Status
( | Pattern | : Cairo_Pattern) return Cairo_Status; |
function Get_User_Data
( | Pattern | : Cairo_Pattern; |
Key | : access Cairo_User_Data_Key) return System.Address; |
function Set_User_Data
( | Pattern | : Cairo_Pattern; |
Key | : access Cairo_User_Data_Key; | |
User_Data | : System.Address; | |
Destroy | : Cairo_Destroy_Func) return Cairo_Status; |
function Get_Type
( | Pattern | : Cairo_Pattern) return Cairo_Pattern_Type; |
procedure Add_Color_Stop_Rgb
( | Pattern | : Cairo_Pattern; |
Offset | : Gdouble; | |
Red | : Gdouble; | |
Green | : Gdouble; | |
Blue | : Gdouble); |
procedure Add_Color_Stop_Rgba
( | Pattern | : Cairo_Pattern; |
Offset | : Gdouble; | |
Red | : Gdouble; | |
Green | : Gdouble; | |
Blue | : Gdouble; | |
Alpha | : Gdouble); |
procedure Set_Matrix
( | Pattern | : Cairo_Pattern; |
Matrix | : access Cairo_Matrix); |
procedure Get_Matrix
( | Pattern | : Cairo_Pattern; |
Matrix | : access Cairo_Matrix); |
procedure Set_Extend
( | Pattern | : Cairo_Pattern; |
Extend | : Cairo_Extend); |
function Get_Extend
( | Pattern | : Cairo_Pattern) return Cairo_Extend; |
procedure Set_Filter
( | Pattern | : Cairo_Pattern; |
Filter | : Cairo_Filter); |
function Get_Filter
( | Pattern | : Cairo_Pattern) return Cairo_Filter; |
function Get_Rgba
( | Pattern | : Cairo_Pattern; |
Red | : access Gdouble; | |
Green | : access Gdouble; | |
Blue | : access Gdouble; | |
Alpha | : access Gdouble) return Cairo_Status; |
function Get_Surface
( | Pattern | : Cairo_Pattern; |
Surface | : Cairo_Surface) return Cairo_Status; |
function Get_Color_Stop_Rgba
( | Pattern | : Cairo_Pattern; |
Index | : Gint; | |
Offset | : access Gdouble; | |
Red | : access Gdouble; | |
Green | : access Gdouble; | |
Blue | : access Gdouble; | |
Alpha | : access Gdouble) return Cairo_Status; |
function Get_Color_Stop_Count
( | Pattern | : Cairo_Pattern; |
Count | : access Gint) return Cairo_Status; |
function Get_Linear_Points
( | Pattern | : Cairo_Pattern; |
X0 | : access Gdouble; | |
Y0 | : access Gdouble; | |
X1 | : access Gdouble; | |
Y1 | : access Gdouble) return Cairo_Status; |
function Get_Radial_Circles
( | Pattern | : Cairo_Pattern; |
X0 | : access Gdouble; | |
Y0 | : access Gdouble; | |
R0 | : access Gdouble; | |
X1 | : access Gdouble; | |
Y1 | : access Gdouble; | |
R1 | : access Gdouble) return Cairo_Status; |
A Cairo_Pattern is the paintbrush with which cairo draws. The primary use of patterns is as the source for all cairo drawing operations.
A cairo pattern is created by using one of the many constructors, of the form Cairo_Pattern.Create_<type> or implicitly through Cairo.Set_Source_<type> subprograms.
Binding from C File version 1.8.8