Exemplo n.º 1
0
static void
_adg_property_factor(void)
{
    AdgAlignment *alignment;
    CpmlPair null_factor, identity_factor;
    const CpmlPair *factor;
    CpmlPair *factor_dup;

    alignment = adg_alignment_new(NULL);
    null_factor.x = 0;
    null_factor.y = 0;
    identity_factor.x = 1;
    identity_factor.y = 1;

    /* By default, the alignment should be initialized with a null factor */
    factor = adg_alignment_get_factor(alignment);
    g_assert_true(cpml_pair_equal(factor, &null_factor));

    /* Using the public APIs */
    adg_alignment_set_factor(alignment, &identity_factor);
    factor = adg_alignment_get_factor(alignment);
    g_assert_true(cpml_pair_equal(factor, &identity_factor));

    adg_alignment_set_factor_explicit(alignment, 0, 0);
    factor = adg_alignment_get_factor(alignment);
    g_assert_true(cpml_pair_equal(factor, &null_factor));

    adg_alignment_set_factor(alignment, NULL);
    factor = adg_alignment_get_factor(alignment);
    g_assert_true(cpml_pair_equal(factor, &null_factor));

    /* Using GObject property methods */
    g_object_set(alignment, "factor", &identity_factor, NULL);
    g_object_get(alignment, "factor", &factor_dup, NULL);
    g_assert_true(cpml_pair_equal(factor_dup, &identity_factor));
    g_free(factor_dup);

    g_object_set(alignment, "factor", NULL, NULL);
    g_object_get(alignment, "factor", &factor_dup, NULL);
    g_assert_true(cpml_pair_equal(factor_dup, &identity_factor));
    g_free(factor_dup);

    g_object_set(alignment, "factor", &null_factor, NULL);
    g_object_get(alignment, "factor", &factor_dup, NULL);
    g_assert_true(cpml_pair_equal(factor_dup, &null_factor));
    g_free(factor_dup);

    g_object_unref(alignment);
}
Exemplo n.º 2
0
/**
 * adg_alignment_set_factor_explicit:
 * @alignment: an #AdgAlignment container
 * @x_factor: x component of the factor
 * @y_factor: y component of the factor
 *
 * Convenient wrapper around adg_alignment_set_factor() that accepts
 * explicit factors instead of an #CpmlPair value.
 *
 * Since: 1.0
 **/
void
adg_alignment_set_factor_explicit(AdgAlignment *alignment,
                                  gdouble x_factor, gdouble y_factor)
{
    CpmlPair factor;

    factor.x = x_factor;
    factor.y = y_factor;

    adg_alignment_set_factor(alignment, &factor);
}
Exemplo n.º 3
0
static void
_adg_cell_set_value_pos(AdgTableCell *table_cell,
                        const CpmlPair *from_factor, const CpmlPair *to_factor)
{
    AdgAlignment *alignment;

    if (table_cell->value == NULL)
        return;

    alignment = (AdgAlignment *) adg_entity_get_parent(table_cell->value);

    if (from_factor)
        adg_alignment_set_factor(alignment, from_factor);

    if (to_factor)
        table_cell->value_factor = *to_factor;
}