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

📄 gdkdisplay-x11.c

📁 linux下电话本所依赖的一些图形库
💻 C
📖 第 1 页 / 共 3 页
字号:
 * @display: a #GdkDisplay * * Gets the name of the display. *  * Returns: a string representing the display name. This string is owned * by GDK and should not be modified or freed. *  * Since: 2.2 */G_CONST_RETURN gchar *gdk_display_get_name (GdkDisplay * display){  g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);    return (gchar *) DisplayString (GDK_DISPLAY_X11 (display)->xdisplay);}/** * gdk_display_get_n_screens: * @display: a #GdkDisplay * * Gets the number of screen managed by the @display. *  * Returns: number of screens. *  * Since: 2.2 */gintgdk_display_get_n_screens (GdkDisplay * display){  g_return_val_if_fail (GDK_IS_DISPLAY (display), 0);    return ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay);}/** * gdk_display_get_screen: * @display: a #GdkDisplay * @screen_num: the screen number * * Returns a screen object for one of the screens of the display. * * Returns: the #GdkScreen object * * Since: 2.2 */GdkScreen *gdk_display_get_screen (GdkDisplay * display, gint screen_num){  g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);  g_return_val_if_fail (ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay) > screen_num, NULL);    return GDK_DISPLAY_X11 (display)->screens[screen_num];}/** * gdk_display_get_default_screen: * @display: a #GdkDisplay * * Get the default #GdkScreen for @display. *  * Returns: the default #GdkScreen object for @display * * Since: 2.2 */GdkScreen *gdk_display_get_default_screen (GdkDisplay * display){  g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);    return GDK_DISPLAY_X11 (display)->default_screen;}gboolean_gdk_x11_display_is_root_window (GdkDisplay *display,				 Window      xroot_window){  GdkDisplayX11 *display_x11;  gint i;    g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE);    display_x11 = GDK_DISPLAY_X11 (display);    for (i = 0; i < ScreenCount (display_x11->xdisplay); i++)    {      if (GDK_SCREEN_XROOTWIN (display_x11->screens[i]) == xroot_window)	return TRUE;    }  return FALSE;}/** * gdk_display_pointer_ungrab: * @display: a #GdkDisplay. * @time_: a timestap (e.g. GDK_CURRENT_TIME). * * Release any pointer grab. * * Since: 2.2 */voidgdk_display_pointer_ungrab (GdkDisplay *display,			    guint32     time){  Display *xdisplay;    g_return_if_fail (GDK_IS_DISPLAY (display));  xdisplay = GDK_DISPLAY_XDISPLAY (display);    _gdk_input_ungrab_pointer (display, time);  XUngrabPointer (xdisplay, time);  XFlush (xdisplay);    GDK_DISPLAY_X11 (display)->pointer_xgrab_window = NULL;}/** * gdk_display_pointer_is_grabbed: * @display: a #GdkDisplay * * Test if the pointer is grabbed. * * Returns: %TRUE if an active X pointer grab is in effect * * Since: 2.2 */gbooleangdk_display_pointer_is_grabbed (GdkDisplay * display){  g_return_val_if_fail (GDK_IS_DISPLAY (display), TRUE);    return (GDK_DISPLAY_X11 (display)->pointer_xgrab_window != NULL);}/** * gdk_display_keyboard_ungrab: * @display: a #GdkDisplay. * @time_: a timestap (e.g #GDK_CURRENT_TIME). * * Release any keyboard grab * * Since: 2.2 */voidgdk_display_keyboard_ungrab (GdkDisplay *display,			     guint32     time){  Display *xdisplay;    g_return_if_fail (GDK_IS_DISPLAY (display));  xdisplay = GDK_DISPLAY_XDISPLAY (display);    XUngrabKeyboard (xdisplay, time);  XFlush (xdisplay);    GDK_DISPLAY_X11 (display)->keyboard_xgrab_window = NULL;}/** * gdk_display_beep: * @display: a #GdkDisplay * * Emits a short beep on @display * * Since: 2.2 */voidgdk_display_beep (GdkDisplay * display){  g_return_if_fail (GDK_IS_DISPLAY (display));    XBell (GDK_DISPLAY_XDISPLAY (display), 0);}/** * gdk_display_sync: * @display: a #GdkDisplay * * Flushes any requests queued for the windowing system and waits until all * requests have been handled. This is often used for making sure that the * display is synchronized with the current state of the program. Calling * gdk_display_sync() before gdk_error_trap_pop() makes sure that any errors * generated from earlier requests are handled before the error trap is  * removed. * * This is most useful for X11. On windowing systems where requests are * handled synchronously, this function will do nothing. * * Since: 2.2 */voidgdk_display_sync (GdkDisplay * display){  g_return_if_fail (GDK_IS_DISPLAY (display));    XSync (GDK_DISPLAY_XDISPLAY (display), False);}/** * gdk_display_flush: * @display: a #GdkDisplay * * Flushes any requests queued for the windowing system; this happens automatically * when the main loop blocks waiting for new events, but if your application * is drawing without returning control to the main loop, you may need * to call this function explicitely. A common case where this function * needs to be called is when an application is executing drawing commands * from a thread other than the thread where the main loop is running. * * This is most useful for X11. On windowing systems where requests are * handled synchronously, this function will do nothing. * * Since: 2.4 */void gdk_display_flush (GdkDisplay *display){  g_return_if_fail (GDK_IS_DISPLAY (display));  if (!display->closed)    XFlush (GDK_DISPLAY_XDISPLAY (display));}/** * gdk_display_get_default_group: * @display: a #GdkDisplay *  * Returns the default group leader window for all toplevel windows * on @display. This window is implicitly created by GDK.  * See gdk_window_set_group(). *  * Return value: The default group leader window for @display * * Since: 2.4 **/GdkWindow *gdk_display_get_default_group (GdkDisplay *display){  g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);  return GDK_DISPLAY_X11 (display)->leader_gdk_window;}/** * gdk_x11_display_grab: * @display: a #GdkDisplay  *  * Call XGrabServer() on @display.  * To ungrab the display again, use gdk_x11_display_ungrab().  * * gdk_x11_display_grab()/gdk_x11_display_ungrab() calls can be nested. * * Since: 2.2 **/voidgdk_x11_display_grab (GdkDisplay * display){  GdkDisplayX11 *display_x11;    g_return_if_fail (GDK_IS_DISPLAY (display));    display_x11 = GDK_DISPLAY_X11 (display);    if (display_x11->grab_count == 0)    XGrabServer (display_x11->xdisplay);  display_x11->grab_count++;}/** * gdk_x11_display_ungrab: * @display: a #GdkDisplay *  * Ungrab @display after it has been grabbed with  * gdk_x11_display_grab().  * * Since: 2.2 **/voidgdk_x11_display_ungrab (GdkDisplay * display){  GdkDisplayX11 *display_x11;    g_return_if_fail (GDK_IS_DISPLAY (display));    display_x11 = GDK_DISPLAY_X11 (display);;  g_return_if_fail (display_x11->grab_count > 0);    display_x11->grab_count--;  if (display_x11->grab_count == 0)    {      XUngrabServer (display_x11->xdisplay);      XFlush (display_x11->xdisplay);    }}static voidgdk_display_x11_dispose (GObject *object){  GdkDisplayX11 *display_x11;  gint i;    display_x11 = GDK_DISPLAY_X11 (object);    for (i = 0; i < ScreenCount (display_x11->xdisplay); i++)    _gdk_screen_close (display_x11->screens[i]);  g_source_destroy (display_x11->event_source);  XCloseDisplay (display_x11->xdisplay);  display_x11->xdisplay = NULL;  G_OBJECT_CLASS (parent_class)->dispose (object);}static voidgdk_display_x11_finalize (GObject *object){  GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (object);  int i;  GList *tmp;  /* FIXME need to write GdkKeymap finalize fct      g_object_unref (display_x11->keymap);   */  /* Free motif Dnd */  if (display_x11->motif_target_lists)    {      for (i = 0; i < display_x11->motif_n_target_lists; i++)        g_list_free (display_x11->motif_target_lists[i]);      g_free (display_x11->motif_target_lists);    }  /* Atom Hashtable */  g_hash_table_destroy (display_x11->atom_from_virtual);  g_hash_table_destroy (display_x11->atom_to_virtual);  /* Leader Window */  XDestroyWindow (display_x11->xdisplay, display_x11->leader_window);  /* list of filters for client messages */  g_list_free (display_x11->client_filters);  /* List of event window extraction functions */  g_slist_foreach (display_x11->event_types, (GFunc)g_free, NULL);  g_slist_free (display_x11->event_types);  /* X ID hashtable */  g_hash_table_destroy (display_x11->xid_ht);  /* input GdkDevice list */  /* FIXME need to write finalize fct */  for (tmp = display_x11->input_devices; tmp; tmp = tmp->next)    g_object_unref (tmp->data);  g_list_free (display_x11->input_devices);  /* input GdkWindow list */  for (tmp = display_x11->input_windows; tmp; tmp = tmp->next)    g_object_unref (tmp->data);  g_list_free (display_x11->input_windows);  /* Free all GdkScreens */  for (i = 0; i < ScreenCount (display_x11->xdisplay); i++)    g_object_unref (display_x11->screens[i]);  g_free (display_x11->screens);  g_free (display_x11->startup_notification_id);    G_OBJECT_CLASS (parent_class)->finalize (object);}/** * gdk_x11_lookup_xdisplay: * @xdisplay: a pointer to an X Display *  * Find the #GdkDisplay corresponding to @display, if any exists. *  * Return value: the #GdkDisplay, if found, otherwise %NULL. * * Since: 2.2 **/GdkDisplay *gdk_x11_lookup_xdisplay (Display *xdisplay){  GSList *tmp_list;  for (tmp_list = _gdk_displays; tmp_list; tmp_list = tmp_list->next)    {      if (GDK_DISPLAY_XDISPLAY (tmp_list->data) == xdisplay)	return tmp_list->data;    }    return NULL;}/** * _gdk_x11_display_screen_for_xrootwin: * @display: a #Display * @xrootwin: window ID for one of of the screen's of the display. *  * Given the root window ID of one of the screen's of a #GdkDisplay, * finds the screen. *  * Return value: the #GdkScreen corresponding to @xrootwin, or %NULL. **/GdkScreen *_gdk_x11_display_screen_for_xrootwin (GdkDisplay *display,

⌨️ 快捷键说明

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