本文整理汇总了C++中agg::trans_affine::store_to方法的典型用法代码示例。如果您正苦于以下问题:C++ trans_affine::store_to方法的具体用法?C++ trans_affine::store_to怎么用?C++ trans_affine::store_to使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类agg::trans_affine
的用法示例。
在下文中一共展示了trans_affine::store_to方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: only_translation
bool only_translation(agg::trans_affine& mat, double epsilon)
{
double temp[6];
mat.store_to(temp);
return (f_eq(temp[0], 1.0) && f_eq(temp[1], 0.0) &&
f_eq(temp[2], 0.0) && f_eq(temp[3], 1.0));
}
示例2: get_translation
void get_translation(agg::trans_affine& m, double* tx, double* ty)
{
double temp[6];
m.store_to(temp);
*tx = temp[4];
*ty = temp[5];
}
示例3: get_scale
void get_scale(agg::trans_affine& m, double* dx, double* dy)
{
{
double temp[6];
m.store_to(temp);
*dx = temp[0];
*dy = temp[3];
}
}
示例4: is_identity
bool is_identity(agg::trans_affine& mat, double epsilon)
{
double temp[6];
mat.store_to(temp);
return (f_eq(temp[0], 1.0) && f_eq(temp[1], 0.0) &&
f_eq(temp[2], 0.0) && f_eq(temp[3], 1.0) &&
f_eq(temp[4], 0.0) && f_eq(temp[5], 0.0));
// return (temp[0] == 1.0 && temp[1] == 0.0 &&
// temp[2] == 0.0 && temp[3] == 1.0 &&
// temp[4] == 0.0 && temp[5] == 0.0);
}
示例5: add_image
void cairo_context::add_image(agg::trans_affine const& tr, image_rgba8 const& data, double opacity)
{
cairo_pattern pattern(data);
if (!tr.is_identity())
{
double m[6];
tr.store_to(m);
cairo_matrix_t cairo_matrix;
cairo_matrix_init(&cairo_matrix,m[0],m[1],m[2],m[3],m[4],m[5]);
cairo_matrix_invert(&cairo_matrix);
pattern.set_matrix(cairo_matrix);
}
cairo_save(cairo_.get());
cairo_set_source(cairo_.get(), const_cast<cairo_pattern_t*>(pattern.pattern()));
cairo_paint_with_alpha(cairo_.get(), opacity);
cairo_restore(cairo_.get());
check_object_status_and_throw_exception(*this);
}