亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gdkinput.c

?? linux下電話本所依賴的一些圖形庫
?? C
字號:
/* GDK - The GIMP Drawing Kit * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. *//* * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS * file for a list of people on the GTK+ Team.  See the ChangeLog * files for a list of changes.  These files are distributed with * GTK+ at ftp://ftp.gtk.org/pub/gtk/.  */#include <config.h>#include <stdlib.h>#include "gdkprivate-fb.h"#include "gdkinput.h"#include "gdkprivate.h"#include "gdkinputprivate.h"static GdkDeviceAxis gdk_input_core_axes[] = {  { GDK_AXIS_X, 0, 0 },  { GDK_AXIS_Y, 0, 0 }};GdkDevice *_gdk_core_pointer = NULL;/* Global variables  */gchar            *_gdk_input_gxid_host;gint              _gdk_input_gxid_port;gint              _gdk_input_ignore_core;GList            *_gdk_input_windows;GList            *_gdk_input_devices;void_gdk_init_input_core (void){  _gdk_core_pointer = g_object_new (GDK_TYPE_DEVICE, NULL);    _gdk_core_pointer->name = "Core Pointer";  _gdk_core_pointer->source = GDK_SOURCE_MOUSE;  _gdk_core_pointer->mode = GDK_MODE_SCREEN;  _gdk_core_pointer->has_cursor = TRUE;  _gdk_core_pointer->num_axes = 2;  _gdk_core_pointer->axes = gdk_input_core_axes;  _gdk_core_pointer->num_keys = 0;  _gdk_core_pointer->keys = NULL;  _gdk_display->core_pointer = _gdk_core_pointer;}static voidgdk_device_finalize (GObject *object){  g_error ("A GdkDevice object was finalized. This should not happen");}static voidgdk_device_class_init (GObjectClass *class){  class->finalize = gdk_device_finalize;}GTypegdk_device_get_type (void){  static GType object_type = 0;  if (!object_type)    {      static const GTypeInfo object_info =      {        sizeof (GdkDeviceClass),        (GBaseInitFunc) NULL,        (GBaseFinalizeFunc) NULL,        (GClassInitFunc) gdk_device_class_init,        NULL,           /* class_finalize */        NULL,           /* class_data */        sizeof (GdkDevicePrivate),        0,              /* n_preallocs */        (GInstanceInitFunc) NULL,      };            object_type = g_type_register_static (G_TYPE_OBJECT,                                            "GdkDevice",                                            &object_info, 0);    }    return object_type;}GList *gdk_devices_list (void){  return _gdk_input_devices;}GList *gdk_display_list_devices (GdkDisplay *dpy){  return _gdk_input_devices;}voidgdk_device_set_source (GdkDevice *device,		       GdkInputSource source){  device->source = source;}voidgdk_device_set_key (GdkDevice      *device,		    guint           index,		    guint           keyval,		    GdkModifierType modifiers){  g_return_if_fail (device != NULL);  g_return_if_fail (index < device->num_keys);  device->keys[index].keyval = keyval;  device->keys[index].modifiers = modifiers;}voidgdk_device_set_axis_use (GdkDevice   *device,			 guint        index,			 GdkAxisUse   use){  g_return_if_fail (device != NULL);  g_return_if_fail (index < device->num_axes);  device->axes[index].use = use;  switch (use)    {    case GDK_AXIS_X:    case GDK_AXIS_Y:      device->axes[index].min = 0.;      device->axes[index].max = 0.;      break;    case GDK_AXIS_XTILT:    case GDK_AXIS_YTILT:      device->axes[index].min = -1.;      device->axes[index].max = 1;      break;    default:      device->axes[index].min = 0.;      device->axes[index].max = 1;      break;    }}void gdk_device_get_state (GdkDevice       *device,                      GdkWindow       *window,                      gdouble         *axes,                      GdkModifierType *mask){  gint x_int, y_int;  g_assert (device == _gdk_core_pointer);        gdk_window_get_pointer (window, &x_int, &y_int, mask);  if (axes)    {      axes[0] = x_int;      axes[1] = y_int;    }}void gdk_device_free_history (GdkTimeCoord **events,			 gint           n_events){  gint i;    for (i = 0; i < n_events; i++)    g_free (events[i]);  g_free (events);}gbooleangdk_device_get_history  (GdkDevice         *device,			 GdkWindow         *window,			 guint32            start,			 guint32            stop,			 GdkTimeCoord    ***events,			 gint              *n_events){  g_return_val_if_fail (window != NULL, FALSE);  g_return_val_if_fail (GDK_IS_WINDOW (window), FALSE);  g_return_val_if_fail (events != NULL, FALSE);  g_return_val_if_fail (n_events != NULL, FALSE);  *n_events = 0;  *events = NULL;  return FALSE;}gbooleangdk_device_set_mode (GdkDevice   *device,                     GdkInputMode mode){  return FALSE;}gint_gdk_input_enable_window (GdkWindow *window, GdkDevicePrivate *gdkdev){  return TRUE;}gint_gdk_input_disable_window (GdkWindow *window, GdkDevicePrivate *gdkdev){  return TRUE;}GdkInputWindow *_gdk_input_window_find(GdkWindow *window){  GList *tmp_list;  for (tmp_list=_gdk_input_windows; tmp_list; tmp_list=tmp_list->next)    if (((GdkInputWindow *)(tmp_list->data))->window == window)      return (GdkInputWindow *)(tmp_list->data);  return NULL;      /* Not found */}/* FIXME: this routine currently needs to be called between creation   and the corresponding configure event (because it doesn't get the   root_relative_geometry).  This should work with   gtk_window_set_extension_events, but will likely fail in other   cases */voidgdk_input_set_extension_events (GdkWindow *window, gint mask,				GdkExtensionMode mode){  GdkWindowObject *window_private;  GList *tmp_list;  GdkInputWindow *iw;  g_return_if_fail (window != NULL);  g_return_if_fail (GDK_IS_WINDOW (window));  window_private = (GdkWindowObject*) window;  if (mode == GDK_EXTENSION_EVENTS_NONE)    mask = 0;  if (mask != 0)    {      iw = g_new(GdkInputWindow,1);      iw->window = window;      iw->mode = mode;      iw->obscuring = NULL;      iw->num_obscuring = 0;      iw->grabbed = FALSE;      _gdk_input_windows = g_list_append (_gdk_input_windows,iw);      window_private->extension_events = mask;      /* Add enter window events to the event mask */      /* FIXME, this is not needed for XINPUT_NONE */      gdk_window_set_events (window,			     gdk_window_get_events (window) | 			     GDK_ENTER_NOTIFY_MASK);    }  else    {      iw = _gdk_input_window_find (window);      if (iw)	{	  _gdk_input_windows = g_list_remove (_gdk_input_windows,iw);	  g_free (iw);	}      window_private->extension_events = 0;    }  for (tmp_list = _gdk_input_devices; tmp_list; tmp_list = tmp_list->next)    {      GdkDevicePrivate *gdkdev = (GdkDevicePrivate *)(tmp_list->data);      if (gdkdev != (GdkDevicePrivate *)_gdk_core_pointer)	{	  if (mask != 0 && gdkdev->info.mode != GDK_MODE_DISABLED	      && (gdkdev->info.has_cursor || mode == GDK_EXTENSION_EVENTS_ALL))	    _gdk_input_enable_window (window,gdkdev);	  else	    _gdk_input_disable_window (window,gdkdev);	}    }}void_gdk_input_window_destroy (GdkWindow *window){  GdkInputWindow *input_window;  input_window = _gdk_input_window_find (window);  g_return_if_fail (input_window != NULL);  _gdk_input_windows = g_list_remove (_gdk_input_windows,input_window);  g_free (input_window);}void_gdk_input_init (void){  _gdk_init_input_core ();  _gdk_input_devices = g_list_append (NULL, _gdk_core_pointer);  _gdk_input_ignore_core = FALSE;}void_gdk_input_exit (void){  GList *tmp_list;  GdkDevicePrivate *gdkdev;  for (tmp_list = _gdk_input_devices; tmp_list; tmp_list = tmp_list->next)    {      gdkdev = (GdkDevicePrivate *)(tmp_list->data);      if (gdkdev != (GdkDevicePrivate *)_gdk_core_pointer)	{	  gdk_device_set_mode ((GdkDevice *)gdkdev, GDK_MODE_DISABLED);	  g_free (gdkdev->info.name);	  g_free (gdkdev->info.axes);	  g_free (gdkdev->info.keys);	  g_free (gdkdev);	}    }  g_list_free (_gdk_input_devices);  for (tmp_list = _gdk_input_windows; tmp_list; tmp_list = tmp_list->next)    {      g_free (tmp_list->data);    }  g_list_free (_gdk_input_windows);}gbooleangdk_device_get_axis (GdkDevice *device, gdouble *axes, GdkAxisUse use, gdouble *value){  gint i;    g_return_val_if_fail (device != NULL, FALSE);  if (axes == NULL)    return FALSE;    for (i = 0; i < device->num_axes; i++)    if (device->axes[i].use == use)      {	if (value)	  *value = axes[i];	return TRUE;      }    return FALSE;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲激情男女视频| 婷婷国产v国产偷v亚洲高清| 亚洲天堂久久久久久久| 亚洲午夜免费福利视频| 麻豆成人91精品二区三区| 国产综合久久久久影院| 91丨porny丨首页| 欧美精品久久天天躁| 国产亚洲制服色| 亚洲一区免费观看| 国产成人精品影视| 欧美日韩在线播放三区| 日韩视频免费观看高清完整版| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲欧洲一区二区在线播放| 日一区二区三区| 国产成人在线视频网站| 色吊一区二区三区| 精品裸体舞一区二区三区| 亚洲蜜臀av乱码久久精品| 久久精品国产久精国产| 欧美在线视频日韩| 中文字幕中文字幕一区| 国产一区二区毛片| 欧美一区三区二区| 亚洲一区在线观看免费观看电影高清 | www国产成人| 日韩在线播放一区二区| 日本韩国欧美一区二区三区| 精品第一国产综合精品aⅴ| 亚洲va欧美va天堂v国产综合| 成人免费视频视频在线观看免费 | 韩国女主播成人在线观看| 欧美日韩国产123区| 亚洲精品国产一区二区三区四区在线| 国模娜娜一区二区三区| 欧美大度的电影原声| 日本美女一区二区三区视频| 欧美日韩在线电影| 亚洲一区二区三区视频在线| 色哟哟亚洲精品| 亚洲美腿欧美偷拍| 91美女片黄在线| 337p日本欧洲亚洲大胆精品| 美腿丝袜在线亚洲一区| 欧美一区二区大片| 青青国产91久久久久久| 日韩一卡二卡三卡国产欧美| 视频一区二区三区中文字幕| 欧美日韩三级一区二区| 亚洲日本免费电影| 91香蕉国产在线观看软件| 国产精品国产三级国产普通话蜜臀| 国产成人夜色高潮福利影视| 久久久精品免费网站| 国产成人自拍网| 精品国产一二三区| 国产成人综合亚洲网站| 亚洲国产精品ⅴa在线观看| 黄网站免费久久| 日韩精品专区在线| 极品少妇xxxx精品少妇| 欧美一区二区在线视频| 另类小说图片综合网| 精品国产一区二区三区久久影院 | 日日夜夜精品视频天天综合网| 欧美日韩一区三区| 日本不卡一二三| 国产喂奶挤奶一区二区三区| 成人激情电影免费在线观看| 亚洲欧美日韩国产综合| 欧美三级在线看| 国内精品写真在线观看| 久久理论电影网| aaa欧美色吧激情视频| 亚洲午夜电影网| 欧美精品一区二区三区蜜桃| 成人福利视频在线| 亚洲制服丝袜av| 欧美日韩国产不卡| 国产91在线观看| 亚洲综合久久久久| 久久久影院官网| 欧美在线不卡视频| 国产美女av一区二区三区| 亚洲精品一卡二卡| 欧美精品一区二| 欧美综合亚洲图片综合区| 激情文学综合插| 夜夜操天天操亚洲| 国产欧美日韩不卡| 日韩一区二区电影网| 日本国产一区二区| 日韩电影免费在线看| 中文字幕日韩av资源站| 欧美大度的电影原声| 日本黄色一区二区| 成人免费视频一区二区| 免费在线成人网| 亚洲国产成人自拍| 日韩精品中文字幕一区二区三区| 99久久国产综合色|国产精品| 免费观看30秒视频久久| 亚洲精品久久嫩草网站秘色| 亚洲精品在线网站| 91麻豆精品国产91久久久久| 99久久99久久精品国产片果冻| 久久99最新地址| 日日骚欧美日韩| 亚洲男人电影天堂| 欧美mv日韩mv国产| 91精品中文字幕一区二区三区| 成人av在线一区二区三区| 精品一区二区三区在线播放| 亚洲一区二区不卡免费| 欧美国产精品一区二区三区| 日韩欧美123| 在线播放国产精品二区一二区四区 | 欧美大片在线观看一区二区| 欧美日韩精品一区二区在线播放| av中文字幕不卡| 国产伦精一区二区三区| 韩国中文字幕2020精品| 久久国产剧场电影| 国产精品一区一区| 波多野结衣中文字幕一区二区三区| 国产suv精品一区二区883| av成人免费在线观看| 色婷婷国产精品综合在线观看| 欧美三级韩国三级日本三斤 | 久久精品夜色噜噜亚洲a∨| 亚洲国产精品成人久久综合一区| 中文字幕一区三区| 一区二区三区.www| 免费成人在线观看视频| 国产精品亚洲一区二区三区妖精| 国产精品自拍三区| 色噜噜狠狠一区二区三区果冻| 欧美综合色免费| 精品成人一区二区三区| 日韩美女久久久| 五月综合激情日本mⅴ| 国产麻豆成人精品| 一本久久a久久免费精品不卡| 日韩欧美国产小视频| 国产欧美日韩麻豆91| 亚洲国产欧美在线人成| 国产中文一区二区三区| 色综合天天综合给合国产| 5858s免费视频成人| 国产精品理论片| 天堂影院一区二区| 粉嫩一区二区三区性色av| 欧美日韩一区二区三区高清| 国产日韩一级二级三级| 亚洲国产精品一区二区www在线| 精品一区二区三区视频| 欧美亚洲国产怡红院影院| 精品欧美黑人一区二区三区| 亚洲人成网站在线| 国产精品亚洲午夜一区二区三区| 欧美午夜精品久久久久久孕妇| 久久精品视频一区二区| 日本一不卡视频| 91色视频在线| 欧美激情一区不卡| 狠狠色狠狠色综合日日91app| 在线观看视频91| 国产精品久久久久久久岛一牛影视| 免费人成精品欧美精品| 欧美天堂一区二区三区| 国产精品美女久久久久av爽李琼 | 亚洲成人高清在线| 99综合电影在线视频| 久久久精品一品道一区| 青娱乐精品视频| 在线电影欧美成精品| 一区二区三区在线不卡| 成人av资源网站| 国产三级三级三级精品8ⅰ区| 日本大胆欧美人术艺术动态| 欧洲视频一区二区| 亚洲精品国产一区二区三区四区在线| 国产麻豆精品在线| 久久综合九色综合97_久久久 | 一区二区三区四区视频精品免费| 国产精品一区一区| 国产三级三级三级精品8ⅰ区| 激情深爱一区二区| 精品粉嫩aⅴ一区二区三区四区| 日韩高清在线不卡| 9191久久久久久久久久久| 亚洲丶国产丶欧美一区二区三区| 一本一道综合狠狠老| 亚洲精品少妇30p| 色婷婷亚洲一区二区三区| 亚洲高清免费视频| 欧美无砖砖区免费| 五月天久久比比资源色| 精品视频1区2区3区|