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