Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  gdkdeviceprivate.h

  Sprache: C
 

/* GDK - The GIMP Drawing Kit
 * Copyright (C) 2009 Carlos Garnacho <carlosg@gnome.org>
 *
 * 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, see <http://www.gnu.org/licenses/>.
 */


#pragma once

#include "gdkdevice.h"
#include "gdkdevicetool.h"
#include "gdkevents.h"
#include "gdkseat.h"

G_BEGIN_DECLS

typedef enum
{
  GDK_GRAB_SUCCESS         = 0,
  GDK_GRAB_ALREADY_GRABBED = 1,
  GDK_GRAB_INVALID_TIME    = 2,
  GDK_GRAB_NOT_VIEWABLE    = 3,
  GDK_GRAB_FROZEN          = 4,
  GDK_GRAB_FAILED          = 5
} GdkGrabStatus;

typedef enum
{
  GDK_EXPOSURE_MASK             = 1 << 1,
  GDK_POINTER_MOTION_MASK       = 1 << 2,
  GDK_BUTTON_MOTION_MASK        = 1 << 4,
  GDK_BUTTON1_MOTION_MASK       = 1 << 5,
  GDK_BUTTON2_MOTION_MASK       = 1 << 6,
  GDK_BUTTON3_MOTION_MASK       = 1 << 7,
  GDK_BUTTON_PRESS_MASK         = 1 << 8,
  GDK_BUTTON_RELEASE_MASK       = 1 << 9,
  GDK_KEY_PRESS_MASK            = 1 << 10,
  GDK_KEY_RELEASE_MASK          = 1 << 11,
  GDK_ENTER_NOTIFY_MASK         = 1 << 12,
  GDK_LEAVE_NOTIFY_MASK         = 1 << 13,
  GDK_FOCUS_CHANGE_MASK         = 1 << 14,
  GDK_STRUCTURE_MASK            = 1 << 15,
  GDK_PROPERTY_CHANGE_MASK      = 1 << 16,
  GDK_PROXIMITY_IN_MASK         = 1 << 18,
  GDK_PROXIMITY_OUT_MASK        = 1 << 19,
  GDK_SCROLL_MASK               = 1 << 20,
  GDK_TOUCH_MASK                = 1 << 21,
  GDK_SMOOTH_SCROLL_MASK        = 1 << 22,
  GDK_TOUCHPAD_GESTURE_MASK     = 1 << 23,
  GDK_TABLET_PAD_MASK           = 1 << 24,
  GDK_ALL_EVENTS_MASK           = 0x3FFFFFE
} GdkEventMask;

#define GDK_DEVICE_CLASS(c)     (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_DEVICE, GdkDeviceClass))
#define GDK_IS_DEVICE_CLASS(c)  (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_DEVICE))
#define GDK_DEVICE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_DEVICE, GdkDeviceClass))

typedef struct _GdkDeviceClass GdkDeviceClass;

struct _GdkDevice
{
  GObject parent_instance;

  char *name;
  GdkInputSource source;
  gboolean has_cursor;
  GdkDisplay *display;
  /* The paired logical device for logical devices,
   * or the associated logical device for physical ones
   */

  GdkDevice *associated;
  GList *physical_devices;
  GArray *axes;
  guint num_touches;

  char *vendor_id;
  char *product_id;

  GdkSeat *seat;
  GdkDeviceTool *last_tool;

  guint32 timestamp;
};

struct _GdkDeviceClass
{
  GObjectClass parent_class;

  void (* set_surface_cursor)(GdkDevice *device,
                              GdkSurface *surface,
                              GdkCursor *cursor);

  GdkSurface * (* surface_at_position) (GdkDevice       *device,
                                        double          *win_x,
                                        double          *win_y,
                                        GdkModifierType *mask);
};

void  _gdk_device_set_associated_device (GdkDevice *device,
                                         GdkDevice *associated);

void  _gdk_device_reset_axes (GdkDevice   *device);
guint _gdk_device_add_axis   (GdkDevice   *device,
                              GdkAxisUse   use,
                              double       min_value,
                              double       max_value,
                              double       resolution);
void _gdk_device_get_axis_info (GdkDevice  *device,
                                guint       index,
                                GdkAxisUse *use,
                                double     *min_value,
                                double     *max_value,
                                double     *resolution);

gboolean   _gdk_device_translate_surface_coord (GdkDevice *device,
                                                GdkSurface *surface,
                                                guint      index,
                                                double     value,
                                                double    *axis_value);

gboolean   _gdk_device_translate_screen_coord (GdkDevice *device,
                                               GdkSurface *surface,
                                               double     surface_root_x,
                                               double     surface_root_y,
                                               double     screen_width,
                                               double     screen_height,
                                               guint      index,
                                               double     value,
                                               double    *axis_value);

gboolean   _gdk_device_translate_axis         (GdkDevice *device,
                                               guint      index,
                                               double     value,
                                               double    *axis_value);

GList * gdk_device_list_physical_devices        (GdkDevice *device);

void    _gdk_device_add_physical_device         (GdkDevice *device,
                                                 GdkDevice *physical);
void    _gdk_device_remove_physical_device      (GdkDevice *device,
                                                 GdkDevice *physical);

GdkSurface * _gdk_device_surface_at_position  (GdkDevice        *device,
                                               double           *win_x,
                                               double           *win_y,
                                               GdkModifierType  *mask);

void  gdk_device_set_seat  (GdkDevice *device,
                            GdkSeat   *seat);

void           gdk_device_update_tool (GdkDevice     *device,
                                       GdkDeviceTool *tool);

int gdk_device_get_n_axes     (GdkDevice       *device);
gboolean gdk_device_get_axis  (GdkDevice         *device,
                               double            *axes,
                               GdkAxisUse         use,
                               double            *value);
GdkAxisUse gdk_device_get_axis_use  (GdkDevice         *device,
                                     guint              index_);

void gdk_device_set_timestamp (GdkDevice *device,
                               guint32    timestamp);

G_END_DECLS

Messung V0.5 in Prozent
C=98 H=95 G=96

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet am  2026-07-02) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik