void test_transform_point(Value value) { P1 p1; bg::set<0>(p1, 1); bg::set<1>(p1, 2); boost::variant<P1> v(p1); P2 expected; bg::assign(expected, p1); bg::multiply_value(expected, value); check_transform(p1, expected); check_transform(v, expected); }
void test_transform_linestring(Value value) { typedef bg::model::linestring<P1> line1_type; typedef bg::model::linestring<P2> line2_type; line1_type line1; line1.push_back(bg::make<P1>(1, 1)); line1.push_back(bg::make<P1>(2, 2)); boost::variant<line1_type> v(line1); line2_type expected; for (BOOST_AUTO(p, line1.begin()); p != line1.end(); ++p) { P2 new_point; bg::assign(new_point, *p); bg::multiply_value(new_point, value); expected.push_back(new_point); } check_transform(line1, expected); check_transform(v, expected); }
int main() { check_unary_trait(is_void); check_unary_trait(is_integral); check_unary_trait(is_floating_point); check_unary_trait(is_array); check_unary_trait(is_pointer); check_unary_trait(is_reference); check_unary_trait(is_member_object_pointer); check_unary_trait(is_member_function_pointer); check_unary_trait(is_enum); check_unary_trait(is_union); check_unary_trait(is_class); check_unary_trait(is_function); check_unary_trait(is_arithmetic); check_unary_trait(is_fundamental); check_unary_trait(is_object); check_unary_trait(is_scalar); check_unary_trait(is_compound); check_unary_trait(is_member_pointer); check_unary_trait(is_const); check_unary_trait(is_volatile); check_unary_trait(is_pod); check_unary_trait(is_empty); check_unary_trait(is_polymorphic); check_unary_trait(is_abstract); check_unary_trait(has_trivial_constructor); check_unary_trait(has_trivial_copy); check_unary_trait(has_trivial_assign); check_unary_trait(has_trivial_destructor); check_unary_trait(has_nothrow_constructor); check_unary_trait(has_nothrow_copy); check_unary_trait(has_nothrow_assign); check_unary_trait(has_virtual_destructor); check_unary_trait(is_signed); check_unary_trait(is_unsigned); check_value_trait(std::tr1::alignment_of<int>()); check_value_trait(std::tr1::alignment_of<UDT>()); check_value_trait(std::tr1::alignment_of<int[4]>()); check_unary_trait(rank); check_unary_trait(extent); check_binary_trait(is_same); check_binary_trait(is_base_of); check_binary_trait(is_convertible); check_transform(remove_const); check_transform(remove_volatile); check_transform(remove_cv); check_transform(add_const); check_transform(add_volatile); check_transform(add_cv); check_transform(remove_reference); check_transform(add_reference); check_transform(remove_extent); check_transform(remove_all_extents); check_transform(remove_pointer); check_transform(add_pointer); check_transform_trait((::std::tr1::aligned_storage<1,1>*)(0)); check_transform_trait((::std::tr1::aligned_storage<4,1>*)(0)); check_transform_trait((::std::tr1::aligned_storage<2,2>*)(0)); check_transform_trait((::std::tr1::aligned_storage<4,2>*)(0)); check_transform_trait((::std::tr1::aligned_storage<4,4>*)(0)); check_transform_trait((::std::tr1::aligned_storage<4,4>*)(0)); check_transform_trait((::std::tr1::aligned_storage<8,8>*)(0)); return 0; }
static gboolean gdk_x11_screen_get_setting (GdkScreen *screen, const gchar *name, GValue *value) { const char *xsettings_name = NULL; XSettingsResult result; XSettingsSetting *setting = NULL; GdkX11Screen *x11_screen; gboolean success = FALSE; gint i; GValue tmp_val = { 0, }; g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE); x11_screen = GDK_X11_SCREEN (screen); for (i = 0; i < GDK_SETTINGS_N_ELEMENTS(); i++) if (strcmp (GDK_SETTINGS_GDK_NAME (i), name) == 0) { xsettings_name = GDK_SETTINGS_X_NAME (i); break; } if (!xsettings_name) goto out; result = xsettings_client_get_setting (x11_screen->xsettings_client, xsettings_name, &setting); if (result != XSETTINGS_SUCCESS) goto out; switch (setting->type) { case XSETTINGS_TYPE_INT: if (check_transform (xsettings_name, G_TYPE_INT, G_VALUE_TYPE (value))) { g_value_init (&tmp_val, G_TYPE_INT); g_value_set_int (&tmp_val, setting->data.v_int); g_value_transform (&tmp_val, value); success = TRUE; } break; case XSETTINGS_TYPE_STRING: if (check_transform (xsettings_name, G_TYPE_STRING, G_VALUE_TYPE (value))) { g_value_init (&tmp_val, G_TYPE_STRING); g_value_set_string (&tmp_val, setting->data.v_string); g_value_transform (&tmp_val, value); success = TRUE; } break; case XSETTINGS_TYPE_COLOR: if (!check_transform (xsettings_name, GDK_TYPE_COLOR, G_VALUE_TYPE (value))) { GdkColor color; g_value_init (&tmp_val, GDK_TYPE_COLOR); color.pixel = 0; color.red = setting->data.v_color.red; color.green = setting->data.v_color.green; color.blue = setting->data.v_color.blue; g_value_set_boxed (&tmp_val, &color); g_value_transform (&tmp_val, value); success = TRUE; } break; } g_value_unset (&tmp_val); out: if (setting) xsettings_setting_free (setting); if (success) return TRUE; else return _gdk_x11_get_xft_setting (screen, name, value); }