diff options
| author | SND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-02-26 20:12:57 +0000 |
|---|---|---|
| committer | SND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-02-26 20:12:57 +0000 |
| commit | b96e8eb13a9eb9331b5ffb0f5653ad0215a6736c (patch) | |
| tree | d11da1a07e6aab84faa5e64c19e2324ab580a5b2 /gui/MemcardDlg.c | |
| parent | 274576f0015b79aaeb9ebf41d9bf3ce91be62d82 (diff) | |
| download | pcsxr-b96e8eb13a9eb9331b5ffb0f5653ad0215a6736c.tar.gz | |
rm gdk-compat.h;
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@83177 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'gui/MemcardDlg.c')
| -rwxr-xr-x | gui/MemcardDlg.c | 198 |
1 files changed, 70 insertions, 128 deletions
diff --git a/gui/MemcardDlg.c b/gui/MemcardDlg.c index b7a2b533..90725d9d 100755 --- a/gui/MemcardDlg.c +++ b/gui/MemcardDlg.c @@ -28,10 +28,6 @@ #include "Linux.h" #include "../libpcsxcore/sio.h" -#if GTK_CHECK_VERSION(2, 20, 0) && !GTK_CHECK_VERSION(3, 0, 0) -#include "gdk-compat.h" -#endif - #define MAX_MEMCARD_BLOCKS 15 static gboolean quit; @@ -86,79 +82,26 @@ static void AddColumns(GtkTreeView *treeview) { gtk_tree_view_append_column(treeview, column); } -#if GTK_CHECK_VERSION(2, 20, 0) -static GdkPixbuf *SetIcon(GtkWidget *dialog, short *icon, int scale) { - GdkPixbuf *pixbuf; - cairo_surface_t *s; - cairo_t *cr; - int x, y, c, i, r, g, b; - int size = 16 * scale; - s = cairo_image_surface_create(CAIRO_FORMAT_RGB24, size, size); - cr = cairo_create(s); - cairo_scale(cr, scale, scale); - for (i=0; i< 256; i++) { - x = (i % 16); - y = (i / 16); - c = icon[i]; - r = (c & 0x001f) << 3; - g = ((c & 0x03e0) >> 5) << 3; - b = ((c & 0x7c00) >> 10) << 3; - cairo_rectangle(cr, x, y, 1, 1); - cairo_set_source_rgb(cr, r/255.0, g/255.0, b/255.0); - cairo_fill(cr); - } - cairo_destroy(cr); -#if GTK_CHECK_VERSION(3, 0, 0) - pixbuf = gdk_pixbuf_get_from_surface(s, 0, 0, size, size); -#else - pixbuf = compat_gdk_pixbuf_get_from_surface(s, 0, 0, size, size); -#endif - cairo_surface_destroy(s); - return pixbuf; -} - -#else static GdkPixbuf *SetIcon(GtkWidget *dialog, short *icon, int i) { - GdkPixmap *pixmap; - GdkImage *image; - GdkVisual *visual; - GdkPixbuf *pixbuf; - GdkGC *gc; - int x, y, c; - - visual = gdk_window_get_visual(gtk_widget_get_window(dialog)); - - if (visual->depth == 8) return NULL; - - image = gdk_image_new(GDK_IMAGE_NORMAL, visual, 32, 32); - + GdkPixbuf *result; + guchar *dest_pixels; + u32 x, y, c; + + result = gdk_pixbuf_new(GDK_COLORSPACE_RGB, 0, 8, 32, 32); + dest_pixels = gdk_pixbuf_get_pixels(result); + for (y = 0; y < 32; y++) { for (x = 0; x < 32; x++) { - c = icon[(y>>1) * 16 + (x>>1)]; - c = ((c & 0x001f) << 10) | ((c & 0x7c00) >> 10) | (c & 0x03e0); - if (visual->depth == 16) - c = (c & 0x001f) | ((c & 0x7c00) << 1) | ((c & 0x03e0) << 1); - else if (visual->depth == 24 || visual->depth == 32) - c = ((c & 0x001f) << 3) | ((c & 0x03e0) << 6) | ((c & 0x7c00) << 9); - - gdk_image_put_pixel(image, x, y, c); + c = icon[(y >> 1) * 16 + (x >> 1)]; + dest_pixels[0] = (c & 0x001f) << 3; + dest_pixels[1] = (c & 0x03e0) >> 2; + dest_pixels[2] = (c & 0x7c00) >> 7; + dest_pixels += 3; } } - - pixmap = gdk_pixmap_new(gtk_widget_get_window(dialog), 32, 32, visual->depth); - - gc = gdk_gc_new(pixmap); - gdk_draw_image(pixmap, gc, image, 0, 0, 0, 0, 32, 32); - gdk_gc_destroy(gc); - gdk_image_destroy(image); - - pixbuf = gdk_pixbuf_get_from_drawable(NULL, GDK_PIXMAP (pixmap), NULL, - 0, 0, 0, 0, -1, -1); - g_object_unref(pixmap); - return pixbuf; + return result; } -#endif static gchar* MCDStatusToChar(McdBlock *Info) { gchar *state; @@ -191,10 +134,10 @@ static void LoadListItems(int mcd, GtkWidget *widget) { store = gtk_list_store_new(NUM_CL, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); - dialog = GTK_WIDGET(gtk_builder_get_object(builder, "McdsDlg")); + dialog = gtk_builder_get_object(builder, "McdsDlg"); - if (mcd == 1) List = GTK_WIDGET(gtk_builder_get_object(builder, "GtkCList_McdList1")); - else List = GTK_WIDGET(gtk_builder_get_object(builder, "GtkCList_McdList2")); + if (mcd == 1) List = gtk_builder_get_object(builder, "GtkCList_McdList1"); + else List = gtk_builder_get_object(builder, "GtkCList_McdList2"); for (i = 0; i < MAX_MEMCARD_BLOCKS; i++) { McdBlock *Info; @@ -236,14 +179,14 @@ static void UpdateFilenameButtons(GtkWidget *widget) { const char *filename; gchar *p; - dialog = GTK_WIDGET(gtk_builder_get_object(builder, "McdsDlg")); + dialog = gtk_builder_get_object(builder, "McdsDlg"); for (i = 0; i < 2; i++) { if (i == 0) { - widget = GTK_WIDGET(gtk_builder_get_object(builder, "Mcd1Label")); + widget = gtk_builder_get_object(builder, "Mcd1Label"); filename = Config.Mcd1; } else { - widget = GTK_WIDGET(gtk_builder_get_object(builder, "Mcd2Label")); + widget = gtk_builder_get_object(builder, "Mcd2Label"); filename = Config.Mcd2; } @@ -279,10 +222,10 @@ static void UpdateListItems(int mcd, GtkWidget *widget) { int i; gchar *title; - dialog = GTK_WIDGET(gtk_builder_get_object(builder, "McdsDlg")); + dialog = gtk_builder_get_object(builder, "McdsDlg"); - if (mcd == 1) List = GTK_WIDGET(gtk_builder_get_object(builder, "GtkCList_McdList1")); - else List = GTK_WIDGET(gtk_builder_get_object(builder, "GtkCList_McdList2")); + if (mcd == 1) List = gtk_builder_get_object(builder, "GtkCList_McdList1"); + else List = gtk_builder_get_object(builder, "GtkCList_McdList2"); store = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(List))); gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store), &iter); @@ -322,7 +265,7 @@ static void UpdateListItems(int mcd, GtkWidget *widget) { gtk_widget_show(List); - OnTreeSelectionChanged(gtk_tree_view_get_selection(GTK_TREE_VIEW(List)), GINT_TO_POINTER(mcd)); + OnTreeSelectionChanged(gtk_tree_view_get_selection(GTK_TREE_VIEW(List)), (gpointer)mcd); } static void UpdateMcdDlg(GtkWidget *widget) { @@ -346,7 +289,7 @@ static void OnMcd_Close(GtkDialog *dialog, gint arg1, gpointer user_data) { } static void OnMcd_FileChange(GtkWidget *widget, gpointer user_data) { - gint memcard = GPOINTER_TO_INT(user_data); + gint memcard = (int)user_data; gchar *filename; GtkWidget *chooser; @@ -387,7 +330,7 @@ static void OnMcd_Format(GtkWidget *widget, gpointer user_data) { gint result; char *str; - gint memcard = GPOINTER_TO_INT(user_data); + gint memcard = (int)user_data; message_dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, @@ -416,7 +359,6 @@ static void OnMcd_Format(GtkWidget *widget, gpointer user_data) { static void OnMcd_New(GtkWidget *widget, gpointer user_data) { GtkWidget *chooser; gchar *path; - gint memcard = GPOINTER_TO_INT(user_data); // Ask for name of new memory card chooser = gtk_file_chooser_dialog_new(_("Create a new Memory Card"), @@ -439,10 +381,10 @@ static void OnMcd_New(GtkWidget *widget, gpointer user_data) { CreateMcd(name); - if (memcard == 1) strncpy(Config.Mcd1, name, MAXPATHLEN); + if ((int)user_data == 1) strncpy(Config.Mcd1, name, MAXPATHLEN); else strncpy(Config.Mcd2, name, MAXPATHLEN); - LoadMcd(memcard, name); + LoadMcd((int)user_data, name); LoadMcdDlg(widget); g_free(name); @@ -523,7 +465,7 @@ gint GetMcdBlockCount(gint mcd, gint startblock) { } static void OnMcd_CopyTo(GtkWidget *widget, gpointer user_data) { - gint dstmcd = GPOINTER_TO_INT(user_data); + gint dstmcd = (gint)user_data; gint srcmcd; GtkTreeIter iter; @@ -575,7 +517,7 @@ static void OnMcd_CopyTo(GtkWidget *widget, gpointer user_data) { for (j=0; j < count; j++) { CopyMemcardData(source, destination, (srci+j), (first_free_slot+j), str); - //printf("count = %i, firstfree=%i, i=%i\n", count, first_free_slot, j); + printf("count = %i, firstfree=%i, i=%i\n", count, first_free_slot, j); } UpdateMcdDlg(widget); @@ -593,16 +535,16 @@ static void OnMemcardDelete(GtkWidget *widget, gpointer user_data) { GtkWidget *tree; GtkTreeSelection *sel; - gint memcard = GPOINTER_TO_INT(user_data); + gint memcard = (int)user_data; if (memcard == 1) { - tree = GTK_WIDGET(gtk_builder_get_object(builder, "GtkCList_McdList1")); + tree = gtk_builder_get_object(builder, "GtkCList_McdList1"); sel = gtk_tree_view_get_selection(GTK_TREE_VIEW (tree)); selected = gtk_tree_selection_get_selected (sel, &model, &iter); data = Mcd1Data; filename = Config.Mcd1; } else { - tree = GTK_WIDGET(gtk_builder_get_object(builder, "GtkCList_McdList2")); + tree = gtk_builder_get_object(builder, "GtkCList_McdList2"); sel = gtk_tree_view_get_selection(GTK_TREE_VIEW (tree)); selected = gtk_tree_selection_get_selected(sel, &model, &iter); data = Mcd2Data; @@ -643,7 +585,7 @@ static void OnTreeSelectionChanged(GtkTreeSelection *selection, gpointer user_da int i; McdBlock b; - gint memcard = GPOINTER_TO_INT(user_data); + gint memcard = (int)user_data; selected = gtk_tree_selection_get_selected(selection, &model, &iter); @@ -658,38 +600,38 @@ static void OnTreeSelectionChanged(GtkTreeSelection *selection, gpointer user_da GetMcdBlockInfo(1, i + 1, &b); if ((b.Flags >= 0xA1 && b.Flags <= 0xA3) || ((b.Flags & 0xF0) == 0x50)) { - gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(builder, "GtkButton_Delete1")), TRUE); + gtk_widget_set_sensitive(gtk_builder_get_object(builder, "GtkButton_Delete1"), TRUE); } else { - gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(builder, "GtkButton_Delete1")), FALSE); + gtk_widget_set_sensitive(gtk_builder_get_object(builder, "GtkButton_Delete1"), FALSE); } if ((b.Flags & 0xF3) == 0x51) { - gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(builder, "GtkButton_CopyTo2")), TRUE); + gtk_widget_set_sensitive(gtk_builder_get_object(builder, "GtkButton_CopyTo2"), TRUE); } else { - gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(builder, "GtkButton_CopyTo2")), FALSE); + gtk_widget_set_sensitive(gtk_builder_get_object(builder, "GtkButton_CopyTo2"), FALSE); } } else { GetMcdBlockInfo(2, i + 1, &b); if ((b.Flags >= 0xA1 && b.Flags <= 0xA3) || ((b.Flags & 0xF0) == 0x50)) { - gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(builder, "GtkButton_Delete2")), TRUE); + gtk_widget_set_sensitive(gtk_builder_get_object(builder, "GtkButton_Delete2"), TRUE); } else { - gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(builder, "GtkButton_Delete2")), FALSE); + gtk_widget_set_sensitive(gtk_builder_get_object(builder, "GtkButton_Delete2"), FALSE); } if ((b.Flags & 0xF3) == 0x51) { - gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(builder, "GtkButton_CopyTo1")), TRUE); + gtk_widget_set_sensitive(gtk_builder_get_object(builder, "GtkButton_CopyTo1"), TRUE); } else { - gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(builder, "GtkButton_CopyTo1")), FALSE); + gtk_widget_set_sensitive(gtk_builder_get_object(builder, "GtkButton_CopyTo1"), FALSE); } } } else { if (memcard == 1) { - gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(builder, "GtkButton_CopyTo2")), FALSE); - gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(builder, "GtkButton_Delete1")), FALSE); + gtk_widget_set_sensitive(gtk_builder_get_object(builder, "GtkButton_CopyTo2"), FALSE); + gtk_widget_set_sensitive(gtk_builder_get_object(builder, "GtkButton_Delete1"), FALSE); } else { - gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(builder, "GtkButton_CopyTo1")), FALSE); - gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(builder, "GtkButton_Delete2")), FALSE); + gtk_widget_set_sensitive(gtk_builder_get_object(builder, "GtkButton_CopyTo1"), FALSE); + gtk_widget_set_sensitive(gtk_builder_get_object(builder, "GtkButton_Delete2"), FALSE); } } } @@ -716,7 +658,7 @@ void OnConf_Mcds() { return; } - dialog = GTK_WIDGET(gtk_builder_get_object(builder, "McdsDlg")); + dialog = gtk_builder_get_object(builder, "McdsDlg"); gtk_window_set_title(GTK_WINDOW(dialog), _("Memory Card Manager")); gtk_widget_show (dialog); @@ -734,22 +676,22 @@ void OnConf_Mcds() { g_free(str); } - GtkCList_McdList1 = GTK_WIDGET(gtk_builder_get_object(builder, "GtkCList_McdList1")); + GtkCList_McdList1 = gtk_builder_get_object(builder, "GtkCList_McdList1"); AddColumns(GTK_TREE_VIEW(GtkCList_McdList1)); - GtkCList_McdList2 = GTK_WIDGET(gtk_builder_get_object(builder, "GtkCList_McdList2")); + GtkCList_McdList2 = gtk_builder_get_object(builder, "GtkCList_McdList2"); AddColumns(GTK_TREE_VIEW(GtkCList_McdList2)); treesel1 = gtk_tree_view_get_selection(GTK_TREE_VIEW (GtkCList_McdList1)); gtk_tree_selection_set_mode(treesel1, GTK_SELECTION_SINGLE); g_signal_connect_data(G_OBJECT(treesel1), "changed", G_CALLBACK(OnTreeSelectionChanged), - GINT_TO_POINTER(1), NULL, G_CONNECT_AFTER); + (gpointer)1, NULL, G_CONNECT_AFTER); treesel2 = gtk_tree_view_get_selection(GTK_TREE_VIEW (GtkCList_McdList2)); gtk_tree_selection_set_mode(treesel2, GTK_SELECTION_SINGLE); g_signal_connect_data(G_OBJECT(treesel2), "changed", G_CALLBACK(OnTreeSelectionChanged), - GINT_TO_POINTER(2), NULL, G_CONNECT_AFTER); + (gpointer)2, NULL, G_CONNECT_AFTER); LoadMcdDlg(dialog); @@ -757,48 +699,48 @@ void OnConf_Mcds() { g_signal_connect_data(G_OBJECT(dialog), "response", G_CALLBACK(OnMcd_Close), builder, (GClosureNotify)g_object_unref, G_CONNECT_AFTER); - widget = GTK_WIDGET(gtk_builder_get_object(builder, "GtkButton_Format1")); + widget = gtk_builder_get_object(builder, "GtkButton_Format1"); g_signal_connect_data(G_OBJECT(widget), "clicked", - G_CALLBACK(OnMcd_Format), GINT_TO_POINTER(1), NULL, G_CONNECT_AFTER); + G_CALLBACK(OnMcd_Format), (gpointer)1, NULL, G_CONNECT_AFTER); - widget = GTK_WIDGET(gtk_builder_get_object(builder, "GtkButton_Format2")); + widget = gtk_builder_get_object(builder, "GtkButton_Format2"); g_signal_connect_data(G_OBJECT(widget), "clicked", - G_CALLBACK(OnMcd_Format), GINT_TO_POINTER(2), NULL, G_CONNECT_AFTER); + G_CALLBACK(OnMcd_Format), (gpointer)2, NULL, G_CONNECT_AFTER); - widget = GTK_WIDGET(gtk_builder_get_object(builder, "Mcd1Button")); + widget = gtk_builder_get_object(builder, "Mcd1Button"); g_signal_connect_data(G_OBJECT(widget), "clicked", - G_CALLBACK(OnMcd_FileChange), GINT_TO_POINTER(1), NULL, G_CONNECT_AFTER); + G_CALLBACK(OnMcd_FileChange), (gpointer)1, NULL, G_CONNECT_AFTER); - widget = GTK_WIDGET(gtk_builder_get_object(builder, "Mcd2Button")); + widget = gtk_builder_get_object(builder, "Mcd2Button"); g_signal_connect_data(G_OBJECT(widget), "clicked", - G_CALLBACK(OnMcd_FileChange), GINT_TO_POINTER(2), NULL, G_CONNECT_AFTER); + G_CALLBACK(OnMcd_FileChange), (gpointer)2, NULL, G_CONNECT_AFTER); - widget = GTK_WIDGET(gtk_builder_get_object(builder, "GtkButton_New1")); + widget = gtk_builder_get_object(builder, "GtkButton_New1"); g_signal_connect_data(G_OBJECT(widget), "clicked", - G_CALLBACK(OnMcd_New), GINT_TO_POINTER(1), NULL, G_CONNECT_AFTER); + G_CALLBACK(OnMcd_New), (gpointer)1, NULL, G_CONNECT_AFTER); - widget = GTK_WIDGET(gtk_builder_get_object(builder, "GtkButton_New2")); + widget = gtk_builder_get_object(builder, "GtkButton_New2"); g_signal_connect_data(G_OBJECT(widget), "clicked", - G_CALLBACK(OnMcd_New), GINT_TO_POINTER(2), NULL, G_CONNECT_AFTER); + G_CALLBACK(OnMcd_New), (gpointer)2, NULL, G_CONNECT_AFTER); - widget = GTK_WIDGET(gtk_builder_get_object(builder, "GtkButton_CopyTo1")); + widget = gtk_builder_get_object(builder, "GtkButton_CopyTo1"); g_signal_connect_data(G_OBJECT(widget), "clicked", - G_CALLBACK(OnMcd_CopyTo), GINT_TO_POINTER(1), NULL, G_CONNECT_AFTER); + G_CALLBACK(OnMcd_CopyTo), (gpointer)1, NULL, G_CONNECT_AFTER); gtk_widget_set_sensitive(GTK_WIDGET(widget), FALSE); - widget = GTK_WIDGET(gtk_builder_get_object(builder, "GtkButton_CopyTo2")); + widget = gtk_builder_get_object(builder, "GtkButton_CopyTo2"); g_signal_connect_data(G_OBJECT(widget), "clicked", - G_CALLBACK(OnMcd_CopyTo), GINT_TO_POINTER(2), NULL, G_CONNECT_AFTER); + G_CALLBACK(OnMcd_CopyTo), (gpointer)2, NULL, G_CONNECT_AFTER); gtk_widget_set_sensitive(GTK_WIDGET(widget), FALSE); - widget = GTK_WIDGET(gtk_builder_get_object(builder, "GtkButton_Delete1")); + widget = gtk_builder_get_object(builder, "GtkButton_Delete1"); g_signal_connect_data (G_OBJECT (widget), "clicked", - G_CALLBACK(OnMemcardDelete), GINT_TO_POINTER(1), NULL, G_CONNECT_AFTER); + G_CALLBACK(OnMemcardDelete), (gpointer)1, NULL, G_CONNECT_AFTER); gtk_widget_set_sensitive(GTK_WIDGET(widget), FALSE); - widget = GTK_WIDGET(gtk_builder_get_object(builder, "GtkButton_Delete2")); + widget = gtk_builder_get_object(builder, "GtkButton_Delete2"); g_signal_connect_data (G_OBJECT (widget), "clicked", - G_CALLBACK(OnMemcardDelete), GINT_TO_POINTER(2), NULL, G_CONNECT_AFTER); + G_CALLBACK(OnMemcardDelete), (gpointer)2, NULL, G_CONNECT_AFTER); gtk_widget_set_sensitive(GTK_WIDGET(widget), FALSE); quit = FALSE; |
