static VALUE rg_s_best_with_both(G_GNUC_UNUSED VALUE self, VALUE depth, VALUE type) { return GOBJ2RVAL(gdk_visual_get_best_with_both( NUM2INT(depth), (GdkVisualType)RVAL2GENUM(type, GDK_TYPE_VISUAL_TYPE))); }
bool wxApp::OnInitGui() { if ( !wxAppBase::OnInitGui() ) return false; #ifndef __WXGTK3__ // if this is a wxGLApp (derived from wxApp), and we've already // chosen a specific visual, then derive the GdkVisual from that if ( GetXVisualInfo() ) { GdkVisual* vis = gtk_widget_get_default_visual(); GdkColormap *colormap = gdk_colormap_new( vis, FALSE ); gtk_widget_set_default_colormap( colormap ); } else { // On some machines, the default visual is just 256 colours, so // we make sure we get the best. This can sometimes be wasteful. if (m_useBestVisual) { if (m_forceTrueColour) { GdkVisual* visual = gdk_visual_get_best_with_both( 24, GDK_VISUAL_TRUE_COLOR ); if (!visual) { wxLogError(wxT("Unable to initialize TrueColor visual.")); return false; } GdkColormap *colormap = gdk_colormap_new( visual, FALSE ); gtk_widget_set_default_colormap( colormap ); } else { if (gdk_visual_get_best() != gdk_visual_get_system()) { GdkVisual* visual = gdk_visual_get_best(); GdkColormap *colormap = gdk_colormap_new( visual, FALSE ); gtk_widget_set_default_colormap( colormap ); } } } } #endif #if wxUSE_LIBHILDON || wxUSE_LIBHILDON2 if ( !GetHildonProgram() ) { wxLogError(_("Unable to initialize Hildon program")); return false; } #endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2 return true; }
/* Visual */ CAMLprim value ml_gdk_visual_get_best (value depth, value type) { GdkVisual *vis; if (type == Val_unit) if (depth == Val_unit) vis = gdk_visual_get_best (); else vis = gdk_visual_get_best_with_depth (Int_val(Field(depth,0))); else if (depth == Val_unit) vis = gdk_visual_get_best_with_type (GdkVisualType_val(Field(type,0))); else vis = gdk_visual_get_best_with_both (Int_val(Field(depth,0)),GdkVisualType_val(Field(type,0))); if (!vis) ml_raise_gdk("Gdk.Visual.get_best"); return Val_GdkVisual(vis); }