⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 support.c

📁 可以修改Nokia手机的logo图标的程序
💻 C
字号:
/* * DO NOT EDIT THIS FILE - it is generated by Glade. */#ifdef HAVE_CONFIG_H#  include <config.h>#endif#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <string.h>#include <gtk/gtk.h>#include "support.h"/* This is an internally used function to check if a pixmap file exists. */static gchar* check_file_exists        (const gchar     *directory,                                        const gchar     *filename);/* This is an internally used function to create pixmaps. */static GtkWidget* create_dummy_pixmap  (GtkWidget       *widget);GtkWidget*lookup_widget                          (GtkWidget       *widget,                                        const gchar     *widget_name){  GtkWidget *parent, *found_widget;  for (;;)    {      if (GTK_IS_MENU (widget))        parent = gtk_menu_get_attach_widget (GTK_MENU (widget));      else        parent = widget->parent;      if (parent == NULL)        break;      widget = parent;    }  found_widget = (GtkWidget*) gtk_object_get_data (GTK_OBJECT (widget),                                                   widget_name);  if (!found_widget)    g_warning ("Widget not found: %s", widget_name);  return found_widget;}/* This is a dummy pixmap we use when a pixmap can't be found. */static char *dummy_pixmap_xpm[] = {/* columns rows colors chars-per-pixel */"1 1 1 1","  c None",/* pixels */" "};/* This is an internally used function to create pixmaps. */static GtkWidget*create_dummy_pixmap                    (GtkWidget       *widget){  GdkColormap *colormap;  GdkPixmap *gdkpixmap;  GdkBitmap *mask;  GtkWidget *pixmap;  colormap = gtk_widget_get_colormap (widget);  gdkpixmap = gdk_pixmap_colormap_create_from_xpm_d (NULL, colormap, &mask,                                                     NULL, dummy_pixmap_xpm);  if (gdkpixmap == NULL)    g_error ("Couldn't create replacement pixmap.");  pixmap = gtk_pixmap_new (gdkpixmap, mask);  gdk_pixmap_unref (gdkpixmap);  gdk_bitmap_unref (mask);  return pixmap;}static GList *pixmaps_directories = NULL;/* Use this function to set the directory containing installed pixmaps. */voidadd_pixmap_directory                   (const gchar     *directory){  pixmaps_directories = g_list_prepend (pixmaps_directories,                                        g_strdup (directory));}/* This is an internally used function to create pixmaps. */GtkWidget*create_pixmap                          (GtkWidget       *widget,                                        const gchar     *filename){  gchar *found_filename = NULL;  GdkColormap *colormap;  GdkPixmap *gdkpixmap;  GdkBitmap *mask;  GtkWidget *pixmap;  GList *elem;  if (!filename || !filename[0])      return create_dummy_pixmap (widget);  /* We first try any pixmaps directories set by the application. */  elem = pixmaps_directories;  while (elem)    {      found_filename = check_file_exists ((gchar*)elem->data, filename);      if (found_filename)        break;      elem = elem->next;    }  /* If we haven't found the pixmap, try the source directory. */  if (!found_filename)    {      found_filename = check_file_exists ("../pixmaps", filename);    }  if (!found_filename)    {      g_warning ("Couldn't find pixmap file: %s", filename);      return create_dummy_pixmap (widget);    }  colormap = gtk_widget_get_colormap (widget);  gdkpixmap = gdk_pixmap_colormap_create_from_xpm (NULL, colormap, &mask,                                                   NULL, found_filename);  if (gdkpixmap == NULL)    {      g_warning ("Error loading pixmap file: %s", found_filename);      g_free (found_filename);      return create_dummy_pixmap (widget);    }  g_free (found_filename);  pixmap = gtk_pixmap_new (gdkpixmap, mask);  gdk_pixmap_unref (gdkpixmap);  gdk_bitmap_unref (mask);  return pixmap;}/* This is an internally used function to check if a pixmap file exists. */gchar*check_file_exists                      (const gchar     *directory,                                        const gchar     *filename){  gchar *full_filename;  struct stat s;  gint status;  full_filename = (gchar*) g_malloc (strlen (directory) + 1                                     + strlen (filename) + 1);  strcpy (full_filename, directory);  strcat (full_filename, G_DIR_SEPARATOR_S);  strcat (full_filename, filename);  status = stat (full_filename, &s);  if (status == 0 && S_ISREG (s.st_mode))    return full_filename;  g_free (full_filename);  return NULL;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -