static gboolean render_custom (GsdMediaKeysWindow *window, cairo_t *cr, double _x0, double _y0, double width, double height) { GdkPixbuf *pixbuf; int icon_size; icon_size = (int)width; pixbuf = load_pixbuf (window, window->priv->icon_name, icon_size); if (pixbuf == NULL) { char *name; if (gtk_widget_get_direction (GTK_WIDGET (window)) == GTK_TEXT_DIR_RTL) name = g_strdup_printf ("%s-rtl", window->priv->icon_name); else name = g_strdup_printf ("%s-ltr", window->priv->icon_name); pixbuf = load_pixbuf (window, name, icon_size); g_free (name); if (pixbuf == NULL) return FALSE; } gdk_cairo_set_source_pixbuf (cr, pixbuf, _x0, _y0); cairo_paint_with_alpha (cr, GSD_OSD_WINDOW_FG_ALPHA); g_object_unref (pixbuf); return TRUE; }
void test_diff_no_alpha (void) { pixbuf1 = load_pixbuf("dark-circle-no-alpha.png"); pixbuf2 = load_pixbuf("nested-circle-no-alpha.png"); expected_diff = load_pixbuf("diff-dark-and-nested-circle-no-alpha.png"); actual_diff = gdkcut_pixbuf_diff(pixbuf1, pixbuf2, 0); gdkcut_pixbuf_assert_equal(expected_diff, actual_diff, 0); }
void test_equal_content_threshold (void) { pixbuf1 = load_pixbuf("dark-circle.png"); pixbuf2 = load_pixbuf("max-3-pixel-value-different-dark-circle.png"); cut_assert_false(gdkcut_pixbuf_equal_content(pixbuf1, pixbuf2, 0)); cut_assert_true(gdkcut_pixbuf_equal_content(pixbuf1, pixbuf1, 3)); cut_assert_false(gdkcut_pixbuf_equal_content(pixbuf1, pixbuf2, 2)); }
void test_equal_content (void) { pixbuf1 = load_pixbuf("dark-circle.png"); pixbuf2 = load_pixbuf("nested-circle.png"); cut_assert_true(gdkcut_pixbuf_equal_content(pixbuf1, pixbuf1, 0)); cut_assert_true(gdkcut_pixbuf_equal_content(pixbuf2, pixbuf2, 0)); cut_assert_false(gdkcut_pixbuf_equal_content(pixbuf1, pixbuf2, 0)); g_object_unref(pixbuf2); pixbuf2 = load_pixbuf("small-circle.png"); cut_assert_false(gdkcut_pixbuf_equal_content(pixbuf1, pixbuf2, 0)); }
static gboolean render_speaker (GsdMediaKeysWindow *window, cairo_t *cr, double _x0, double _y0, double width, double height) { GdkPixbuf *pixbuf; const char *icon_name; int icon_size; icon_name = get_image_name_for_volume (window->priv->volume_muted, window->priv->volume_level); icon_size = (int)width; pixbuf = load_pixbuf (window, icon_name, icon_size); if (pixbuf == NULL) { return FALSE; } gdk_cairo_set_source_pixbuf (cr, pixbuf, _x0, _y0); cairo_paint_with_alpha (cr, GSD_OSD_WINDOW_FG_ALPHA); g_object_unref (pixbuf); return TRUE; }
static gboolean render_eject (GsdMediaKeysWindow *window, cairo_t *cr, double x0, double y0, double width, double height) { GdkPixbuf *pixbuf; int icon_size; const char *icon_name; icon_name = "media-eject"; icon_size = (int)width; pixbuf = load_pixbuf (window, icon_name, icon_size); if (pixbuf == NULL) { return FALSE; } gdk_cairo_set_source_pixbuf (cr, pixbuf, x0, y0); cairo_paint_with_alpha (cr, FG_ALPHA); g_object_unref (pixbuf); return TRUE; }
void test_diff_between_equal_images (void) { pixbuf1 = load_pixbuf("dark-circle.png"); actual_diff = gdkcut_pixbuf_diff(pixbuf1, pixbuf1, 0); gcut_assert_equal_object(NULL, actual_diff); }
void test_inspect (void) { const gchar *expected; pixbuf1 = load_pixbuf("dark-circle.png"); pixbuf2 = load_pixbuf("small-circle-no-alpha.png"); expected = cut_take_printf("#<GdkPixbuf:%p " "colorspace=" "<#<GdkColorspace: rgb(GDK_COLORSPACE_RGB:0)>>, " "n-channels=<4>, " "has-alpha=<TRUE>, " "bits-per-sample=<8>, " "width=<100>, " "height=<100>, " "rowstride=<400>, " "pixels=<((gpointer) %p)>" ">", pixbuf1, gdk_pixbuf_get_pixels(pixbuf1)); cut_assert_equal_string_with_free(expected, gcut_object_inspect(G_OBJECT(pixbuf1))); expected = cut_take_printf("#<GdkPixbuf:%p " "colorspace=" "<#<GdkColorspace: rgb(GDK_COLORSPACE_RGB:0)>>, " "n-channels=<3>, " "has-alpha=<FALSE>, " "bits-per-sample=<8>, " "width=<50>, " "height=<50>, " "rowstride=<152>, " "pixels=<((gpointer) %p)>" ">", pixbuf2, gdk_pixbuf_get_pixels(pixbuf2)); cut_assert_equal_string_with_free(expected, gcut_object_inspect(G_OBJECT(pixbuf2))); }
static gboolean render_speaker (GsdMediaKeysWindow *window, cairo_t *cr, double x0, double y0, double width, double height) { GdkPixbuf *pixbuf; int icon_size; int n; static const char *icon_names[] = { "audio-volume-muted", "audio-volume-low", "audio-volume-medium", "audio-volume-high", NULL }; if (window->priv->volume_muted) { n = 0; } else { /* select image */ n = 3 * window->priv->volume_level / 100 + 1; if (n < 1) { n = 1; } else if (n > 3) { n = 3; } } icon_size = (int)width; pixbuf = load_pixbuf (window, icon_names[n], icon_size); if (pixbuf == NULL) { return FALSE; } gdk_cairo_set_source_pixbuf (cr, pixbuf, x0, y0); cairo_paint_with_alpha (cr, FG_ALPHA); g_object_unref (pixbuf); return TRUE; }
Glib::RefPtr<Gdk::Pixbuf> load_pixbuf(const k3d::filesystem::path& Path) { return load_pixbuf(detail::share_path(), Path); }
/********************************************************************** MAIN: */ int main( int argc, char **argv ) { gchar* title[BUG_LIST_COLS] = { "ID#", "STATUS", "NAME" }; GtkWidget* window[2]; GtkWidget* table[2]; GtkWidget* menu[2]; GtkWidget* button, * view; int i; gtk_init( &argc, &argv ); /* Setup Main Window */ window[OUTER] = gtk_window_new( GTK_WINDOW_TOPLEVEL ); gtk_window_set_title( GTK_WINDOW (window[OUTER]), "bugd" ); gtk_window_set_icon( GTK_WINDOW (window[OUTER]), load_pixbuf("/usr/share/icons/bugd.png")); g_signal_connect( window[OUTER], "destroy", G_CALLBACK (gtk_main_quit), NULL); gtk_container_set_border_width( GTK_CONTAINER (window[OUTER]), 0 ); gtk_window_set_default_size( GTK_WINDOW (window[OUTER]), DEFAULT_WINDOW_SIZE ); table[OUTER] = gtk_vbox_new( FALSE, 0 ); gtk_container_add( GTK_CONTAINER (window[OUTER]), table[OUTER] ); /* Setup Menu */ menu[MENU] = gtk_menu_new(); menu[ITEM] = gtk_menu_item_new_with_label( "Open..." ); gtk_menu_shell_append( GTK_MENU_SHELL (menu[MENU]), menu[ITEM] ); g_signal_connect_swapped( menu[ITEM], "activate", G_CALLBACK (menu_file_open), NULL ); gtk_widget_show( menu[ITEM] ); menu[ITEM] = gtk_menu_item_new_with_label( "Close" ); gtk_menu_shell_append( GTK_MENU_SHELL (menu[MENU]), menu[ITEM] ); g_signal_connect_swapped( menu[ITEM], "activate", G_CALLBACK (menu_file_close), NULL ); gtk_widget_show( menu[ITEM] ); menu[ITEM] = gtk_separator_menu_item_new(); gtk_menu_shell_append( GTK_MENU_SHELL (menu[MENU]), menu[ITEM] ); gtk_widget_show( menu[ITEM] ); menu[ITEM] = gtk_menu_item_new_with_label( "Quit" ); gtk_menu_shell_append( GTK_MENU_SHELL (menu[MENU]), menu[ITEM] ); g_signal_connect_swapped( menu[ITEM], "activate", G_CALLBACK (gtk_main_quit), NULL ); gtk_widget_show( menu[ITEM] ); menu[ROOT] = gtk_menu_item_new_with_label( "File" ); gtk_widget_show( menu[ROOT] ); gtk_menu_item_set_submenu( GTK_MENU_ITEM (menu[ROOT]), menu[MENU] ); menu[_BAR] = gtk_menu_bar_new(); gtk_box_pack_start( GTK_BOX (table[OUTER]), menu[_BAR], FALSE, FALSE, 2 ); gtk_widget_show( menu[_BAR] ); gtk_menu_shell_append( GTK_MENU_SHELL (menu[_BAR]), menu[ROOT] ); /* Setup Buglist Window */ window[INNER] = gtk_scrolled_window_new( NULL, NULL ); gtk_container_set_border_width( GTK_CONTAINER (window[INNER]), BORDER_WID_INNER ); gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW (window[INNER]), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_box_pack_start( GTK_BOX (table[OUTER]), window[INNER], TRUE, TRUE, 0 ); buglist = gtk_list_store_new( LIST_COL_QT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING ); view = gtk_tree_view_new_with_model( GTK_TREE_MODEL (buglist) ); // gtk_clist_set_column_justification( GTK_CLIST (buglist), 0, GTK_JUSTIFY_CENTER ); // gtk_clist_set_column_justification( GTK_CLIST (buglist), 1, GTK_JUSTIFY_CENTER ); for( i = ID_COL; i < LIST_COL_QT; i++ ) gtk_tree_view_append_column( GTK_TREE_VIEW (view), gtk_tree_view_column_new_with_attributes( title[i], gtk_cell_renderer_text_new(), "text", i, NULL ) ); //gtk_tree_view_set_grid_lines( GTK_TREE_VIEW (view), GTK_TREE_VIEW_GRID_LINES_BOTH ); gtk_widget_show( view ); gtk_scrolled_window_add_with_viewport( GTK_SCROLLED_WINDOW (window[INNER]), view ); /* Setup Button Table */ table[INNER] = gtk_table_new( 3, 3, TRUE ); gtk_box_pack_start( GTK_BOX (table[OUTER]), table[INNER], FALSE, TRUE, BORDER_WID_TWIXT ); gtk_widget_show( table[OUTER] ); table[H_BOX] = gtk_hbox_new( TRUE, 0 ); /* Reuseing Widget Pointer [H_BOX == OUTER] */ button = gtk_button_new_with_label( "Add" ); gtk_signal_connect_object( GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC (add_bug), NULL ); gtk_table_attach_defaults( GTK_TABLE (table[INNER]), button, 0, 1, 0, 1 ); gtk_widget_show( button ); button = gtk_button_new_with_label( "Fix" ); g_signal_connect( button, "clicked", G_CALLBACK (change_status), (gpointer) view ); gtk_table_attach_defaults( GTK_TABLE (table[INNER]), button, 1, 2, 0, 1 ); gtk_widget_show( button ); button = gtk_button_new_with_label( "Edit" ); g_signal_connect( button, "clicked", G_CALLBACK (modify_select_bug), (gpointer) view ); gtk_table_attach_defaults( GTK_TABLE (table[INNER]), button, 2, 3, 0, 1 ); gtk_widget_show( button ); gtk_table_attach_defaults(GTK_TABLE (table[INNER]), table[H_BOX], 0, 3, 1, 2 ); button = gtk_button_new_with_label( "Reproduce" ); g_signal_connect( button, "clicked", G_CALLBACK (open_reproduce_window), (gpointer) view ); gtk_box_pack_start( GTK_BOX (table[H_BOX]), button, TRUE, TRUE, 0 ); gtk_widget_show( button ); button = gtk_button_new_with_label( "Behaviour" ); g_signal_connect( button, "clicked", G_CALLBACK (open_behave_window), (gpointer) view ); gtk_box_pack_start( GTK_BOX (table[H_BOX]), button, TRUE, TRUE, 0 ); gtk_widget_show( button ); button = gtk_button_new_with_label( "Quit" ); g_signal_connect( button, "clicked", G_CALLBACK (gtk_main_quit), NULL ); gtk_table_attach_defaults( GTK_TABLE (table[INNER]), button, 1, 2, 2, 3 ); gtk_widget_show( button ); /* Display GUI */ gtk_widget_show( table[H_BOX] ); gtk_widget_show( table[INNER] ); gtk_widget_show( window[INNER] ); gtk_widget_show( window[OUTER] ); /* Open File via Command Line Parameter */ for ( i = 1; i < argc; i++ ) if(( argv[i][0] != '-' )&&( cl_open(argv[i]) )) break; gtk_main(); if( opendb ) sqlite3_close( bugdb ); return 0; }/* End main Func */
static GdkPixbuf * get_pixbuf (IdeCtagsCompletionProvider *self, GtkSourceCompletionContext *context, const IdeCtagsIndexEntry *entry) { const gchar *icon_name = NULL; GdkPixbuf *pixbuf; switch (entry->kind) { case IDE_CTAGS_INDEX_ENTRY_CLASS_NAME: icon_name = "lang-clang-symbolic"; break; case IDE_CTAGS_INDEX_ENTRY_ENUMERATOR: icon_name = "lang-enum-value-symbolic"; break; case IDE_CTAGS_INDEX_ENTRY_ENUMERATION_NAME: icon_name = "lang-enum-symbolic"; break; case IDE_CTAGS_INDEX_ENTRY_PROTOTYPE: case IDE_CTAGS_INDEX_ENTRY_FUNCTION: icon_name = "lang-function-symbolic"; break; case IDE_CTAGS_INDEX_ENTRY_FILE_NAME: icon_name = "text-x-generic-symbolic"; break; case IDE_CTAGS_INDEX_ENTRY_MEMBER: icon_name = "lang-struct-field-symbolic"; break; case IDE_CTAGS_INDEX_ENTRY_UNION: icon_name = "lang-union-symbolic"; break; case IDE_CTAGS_INDEX_ENTRY_TYPEDEF: icon_name = "lang-typedef-symbolic"; break; case IDE_CTAGS_INDEX_ENTRY_STRUCTURE: icon_name = "lang-struct-symbolic"; break; case IDE_CTAGS_INDEX_ENTRY_VARIABLE: icon_name = "lang-variable-symbolic"; break; case IDE_CTAGS_INDEX_ENTRY_DEFINE: icon_name = "lang-define-symbolic"; break; case IDE_CTAGS_INDEX_ENTRY_ANCHOR: default: return NULL; } pixbuf = g_hash_table_lookup (self->icons, icon_name); if (!pixbuf) pixbuf = load_pixbuf (self, context, icon_name, 16); return pixbuf; }