add cairo support