emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] xwidget aa89676: Fix a number of warnings


From: Joakim Verona
Subject: [Emacs-diffs] xwidget aa89676: Fix a number of warnings
Date: Tue, 03 Feb 2015 20:26:14 +0000

branch: xwidget
commit aa89676e746c55916fe77440d48433f7a1c7ee01
Author: Joakim Verona <address@hidden>
Commit: Joakim Verona <address@hidden>

    Fix a number of warnings
---
 src/emacsgtkfixed.c |    7 --
 src/xwidget.c       |  163 +++++++++++++++-----------------------------------
 src/xwidget.h       |    5 +-
 3 files changed, 51 insertions(+), 124 deletions(-)

diff --git a/src/emacsgtkfixed.c b/src/emacsgtkfixed.c
index 1295a15..598c5c1 100644
--- a/src/emacsgtkfixed.c
+++ b/src/emacsgtkfixed.c
@@ -151,10 +151,8 @@ static void
 emacs_fixed_class_init (EmacsFixedClass *klass)
 {
   GtkWidgetClass *widget_class;
-  GtkFixedClass *fixed_class;
 
   widget_class = (GtkWidgetClass*) klass;
-  fixed_class = (GtkFixedClass*) klass;
 
   widget_class->get_preferred_width = emacs_fixed_get_preferred_width;
   widget_class->get_preferred_height = emacs_fixed_get_preferred_height;
@@ -164,11 +162,6 @@ emacs_fixed_class_init (EmacsFixedClass *klass)
   g_type_class_add_private (klass, sizeof (EmacsFixedPrivate));
 }
 
-static GType
-emacs_fixed_child_type (GtkFixed *container)
-{
-  return GTK_TYPE_WIDGET;
-}
 
 static void
 emacs_fixed_init (EmacsFixed *fixed)
diff --git a/src/xwidget.c b/src/xwidget.c
index cf1ec3b..5c816cf 100644
--- a/src/xwidget.c
+++ b/src/xwidget.c
@@ -42,7 +42,7 @@
 #include "termhooks.h"
 #include "termopts.h"
 #include "termchar.h"
-#include "emacs-icon.h"
+//#include "emacs-icon.h"
 #include "disptab.h"
 #include "buffer.h"
 #include "window.h"
@@ -99,14 +99,14 @@
 
 //TODO embryo of lisp allocators for xwidgets
 //TODO xwidget* should be Lisp_xwidget*
-struct xwidget*
+static struct xwidget*
 allocate_xwidget (void)
 {
   return ALLOCATE_PSEUDOVECTOR (struct xwidget, height, PVEC_XWIDGET);
 }
 
 //TODO xwidget_view* should be Lisp_xwidget_view*
-struct xwidget_view*
+static struct xwidget_view*
 allocate_xwidget_view (void)
 {
   return ALLOCATE_PSEUDOVECTOR (struct xwidget_view, redisplayed, 
PVEC_XWIDGET_VIEW);
@@ -146,7 +146,7 @@ gboolean 
webkit_osr_navigation_policy_decision_requested_callback(WebKitWebView
                                                         
WebKitWebPolicyDecision   *policy_decision,
                                                                   gpointer     
              user_data);
 
-GtkWidget* xwgir_create(char* class, char* namespace);
+static GtkWidget* xwgir_create(unsigned char* class, unsigned char* namespace);
 
 
 
@@ -309,7 +309,7 @@ BUFFER may be a buffer or the name of one.
     return xw_list;
 }
 
-int
+static int
 xwidget_hidden(struct xwidget_view *xv)
 {
   return  xv->hidden;
@@ -325,9 +325,6 @@ buttonclick_handler (GtkWidget * widget, gpointer data)
 
   struct input_event event;
   Lisp_Object frame = Fwindow_frame (Fxwidget_view_window (xwidget_view));
-  struct frame *f = XFRAME (frame);
-  printf ("button clicked xw:%d '%s'\n", XXWIDGET (xwidget), XXWIDGET 
(xwidget)->title);
-
   EVENT_INIT (event);
   event.kind = XWIDGET_EVENT;
 
@@ -361,7 +358,7 @@ send_xembed_ready_event (struct xwidget* xw, int xembedid)
 
 }
 
-void
+static void
 xwidget_show_view (struct xwidget_view *xv)
 {
   xv->hidden = 0;
@@ -371,7 +368,7 @@ xwidget_show_view (struct xwidget_view *xv)
 
 
 /* hide an xvidget view */
-void
+static void
 xwidget_hide_view (struct xwidget_view *xv)
 {
   xv->hidden = 1;
@@ -381,7 +378,7 @@ xwidget_hide_view (struct xwidget_view *xv)
 }
 
 
-void
+static void
 xwidget_plug_added(GtkSocket *socket,
                    gpointer   user_data)
 {
@@ -389,7 +386,7 @@ xwidget_plug_added(GtkSocket *socket,
   printf("xwidget_plug_added\n");
 }
 
-gboolean
+static gboolean
 xwidget_plug_removed(GtkSocket *socket,
                      gpointer   user_data)
 {
@@ -398,7 +395,7 @@ xwidget_plug_removed(GtkSocket *socket,
 }
 
 
-void
+static void
 xwidget_slider_changed (GtkRange *range,
                         gpointer  user_data)
 {
@@ -444,14 +441,14 @@ offscreen_damage_event (GtkWidget *widget, GdkEvent 
*event, gpointer xv_widget)
   if (GTK_IS_WIDGET (xv_widget))
     gtk_widget_queue_draw (GTK_WIDGET (xv_widget));
   else
-    printf("Warning, offscreen_damage_event received invalid xv 
pointer:%x\n",xv_widget);
+    printf("Warning, offscreen_damage_event received invalid xv 
pointer:%p\n",(void*)xv_widget);
 
 
   return FALSE;
 }
 
-void
-store_xwidget_event_string(struct xwidget* xw, char* eventname, const char* 
eventstr)
+static void
+store_xwidget_event_string(struct xwidget* xw, const char* eventname, const 
char* eventstr)
 {
   //refactor attempt
   struct input_event event;
@@ -489,9 +486,6 @@ webkit_osr_download_callback (WebKitWebView  *webkitwebview,
                                        WebKitDownload *arg1,
                                        gpointer        data)
 {
-  //TODO this event sending code should be refactored
-  struct input_event event;
-  //  struct xwidget *xw = (struct xwidget *) data;
   struct xwidget* xw = (struct xwidget*) g_object_get_data (G_OBJECT 
(webkitwebview), XG_XWIDGET);
   printf("download requested %s\n", webkit_download_get_uri (arg1));
 
@@ -557,7 +551,7 @@ 
webkit_osr_navigation_policy_decision_requested_callback(WebKitWebView
 }
 
 //for gtk3 offscreen rendered widgets
-gboolean
+static gboolean
 xwidget_osr_draw_callback (GtkWidget *widget, cairo_t *cr, gpointer data)
 {
   struct xwidget* xw = (struct xwidget*) g_object_get_data (G_OBJECT (widget), 
XG_XWIDGET);
@@ -578,7 +572,7 @@ GtkWidget* xwgir_create_debug;
 
 
 
-gboolean
+static gboolean
 xwidget_osr_event_forward (GtkWidget *widget,
                            GdkEvent  *event,
                            gpointer   user_data)
@@ -603,8 +597,8 @@ DEFUN ("xwgir-require-namespace", Fxwgir_require_namespace, 
Sxwgir_require_names
                This must be done for all namespaces we want to use, before 
using other xwgir functions.*/)
   (Lisp_Object lnamespace, Lisp_Object lnamespace_version)
 {
-  char* namespace = SDATA(lnamespace);
-  char* namespace_version = SDATA(lnamespace_version);
+  const gchar* namespace = SSDATA(lnamespace);
+  const gchar* namespace_version = SSDATA(lnamespace_version);
   GError *error = NULL;
 
   girepository = g_irepository_get_default();
@@ -616,14 +610,13 @@ DEFUN ("xwgir-require-namespace", 
Fxwgir_require_namespace, Sxwgir_require_names
   return Qt;
 }
 
-GtkWidget* xwgir_create(char* class, char* namespace){
+GtkWidget* xwgir_create(unsigned char* class, unsigned char* namespace){
   //TODO this is more or less the same as xwgir-call-method, so should be 
refactored
   //create a gtk widget, given its name
   //find the constructor
   //call it
   //also figure out how to pass args
 
-  GError *error = NULL;
   GIArgument return_value;
 
   GIObjectInfo* obj_info = g_irepository_find_by_name(girepository, namespace, 
class);
@@ -638,15 +631,13 @@ GtkWidget* xwgir_create(char* class, char* namespace){
 
 }
 
-int
+static int
 xwgir_convert_lisp_to_gir_arg(GIArgument* giarg,
                               GIArgInfo* arginfo,
                               Lisp_Object lisparg )
 {
 
   GITypeTag   tag;
-  gboolean    is_pointer;
-  gboolean    is_enum;
   tag =  g_type_info_get_tag (g_arg_info_get_type (arginfo));
 
   switch (tag)
@@ -712,42 +703,6 @@ xwgir_convert_lisp_to_gir_arg(GIArgument* giarg,
   return 0;
 }
 
-#if 0
-void
-refactor_attempt(){
-  //this methhod should be called from xwgir-xwidget-call-method and from 
xwgir xwidget construction
-  char* class = SDATA(Fcar(Fcdr(Fget(xw->type, QCxwgir_class))));
-
-  GIObjectInfo* obj_info = g_irepository_find_by_name(girepository, namespace, 
class);
-  GIFunctionInfo* f_info = g_object_info_find_method (obj_info, SDATA(method));
-
-  //loop over args, convert from lisp to primitive type, given arg 
introspection data
-  //TODO g_callable_info_get_n_args(f_info) should match
-  int argscount = XFASTINT(Flength(arguments));
-  if(argscount !=  g_callable_info_get_n_args(f_info)){
-    printf("xwgir call method arg count doesn match! \n");
-    return Qnil;
-  }
-  int i;
-  for (i = 1; i < argscount + 1; ++i)
-    {
-      xwgir_convert_lisp_to_gir_arg(&in_args[i], 
g_callable_info_get_arg(f_info, i - 1), Fnth(i - 1, arguments));
-    }
-
-  in_args[0].v_pointer = widget;
-  if(g_function_info_invoke(f_info,
-                            in_args, argscount + 1,
-                            NULL, 0,
-                            &return_value,
-                            &error)) {
-    //g_error("ERROR: %s\n", error->message);
-    printf("invokation error\n");
-     return Qnil;
-   }
-  return Qt;
-}
-#endif  /* 0 */
-
 DEFUN ("xwgir-xwidget-call-method", Fxwgir_xwidget_call_method,  
Sxwgir_xwidget_call_method,       3, 3, 0,
        doc:    /* Call Xwidget object method using GObject Introspection.
                    XWIDGET is the xwidget instance to act upon.
@@ -766,7 +721,7 @@ DEFUN ("xwgir-xwidget-call-method", 
Fxwgir_xwidget_call_method,  Sxwgir_xwidget_
   if (NILP (xwidget)) { printf("ERROR xwidget nil\n"); return Qnil; };
   xw = XXWIDGET(xwidget);
   if(NULL == xw) printf("ERROR xw is 0\n");
-  char* namespace = SDATA(Fcar(Fget(xw->type, QCxwgir_class)));
+  char* namespace = SSDATA(Fcar(Fget(xw->type, QCxwgir_class)));
   //we need the concrete widget, which happens in 2 ways depending on OSR or 
not TODO
   GtkWidget* widget = NULL;
   if(NULL == xw->widget_osr) {
@@ -781,10 +736,10 @@ DEFUN ("xwgir-xwidget-call-method", 
Fxwgir_xwidget_call_method,  Sxwgir_xwidget_
   /* char* class = G_OBJECT_TYPE_NAME(widget); //gives "GtkButton"(I want 
"Button") */
   /* class += strlen(namespace);  //TODO check for corresponding api method. 
but this seems to work. */
 
-  char* class = SDATA(Fcar(Fcdr(Fget(xw->type, QCxwgir_class))));
+  char* class = SSDATA(Fcar(Fcdr(Fget(xw->type, QCxwgir_class))));
 
   GIObjectInfo* obj_info = g_irepository_find_by_name(girepository, namespace, 
class);
-  GIFunctionInfo* f_info = g_object_info_find_method (obj_info, SDATA(method));
+  GIFunctionInfo* f_info = g_object_info_find_method (obj_info, 
SSDATA(method));
 
   //loop over args, convert from lisp to primitive type, given arg 
introspection data
   //TODO g_callable_info_get_n_args(f_info) should match
@@ -814,19 +769,7 @@ DEFUN ("xwgir-xwidget-call-method", 
Fxwgir_xwidget_call_method,  Sxwgir_xwidget_
   return Qt;
 }
 
- void
-to_child (GtkWidget *bin,
-          double         widget_x,
-          double         widget_y,
-          double        *x_out,
-          double        *y_out)
-{
-  *x_out = widget_x;
-  *y_out = widget_y;
-}
-
-
-GdkWindow *
+static GdkWindow *
 offscreen_pick_embedded_child (GdkWindow *window,
                                double x,
                                double y,
@@ -837,7 +780,7 @@ offscreen_pick_embedded_child (GdkWindow *window,
   return gtk_widget_get_window (GTK_WIDGET (data));
 }
 
-void
+static void
 offscreen_to_embedder (GdkWindow *window,
                        gdouble offscreen_x,
                        gdouble offscreen_y,
@@ -849,7 +792,7 @@ offscreen_to_embedder (GdkWindow *window,
   * (gdouble *) embedder_y = offscreen_y;
 }
 
-void
+static void
 offscreen_from_embedder (GdkWindow *window,
                          gdouble embedder_x,
                          gdouble embedder_y,
@@ -861,7 +804,7 @@ offscreen_from_embedder (GdkWindow *window,
   * (gdouble *) offscreen_y = embedder_y;
 }
 
-gboolean
+static gboolean
 xwidget_osr_event_set_embedder (GtkWidget *widget,
                                 GdkEvent *event,
                                 gpointer data)
@@ -873,18 +816,18 @@ xwidget_osr_event_set_embedder (GtkWidget *widget,
          GDK_IS_WINDOW(gtk_widget_get_window (GTK_WIDGET (xv->widget))));
   gdk_offscreen_window_set_embedder (gtk_widget_get_window 
(xww->widgetwindow_osr),
                                      gtk_widget_get_window (xv->widget));
+  return FALSE;
 }
 
 
 /* initializes and does initial placement of an xwidget view on screen */
-struct xwidget_view*
+static struct xwidget_view*
 xwidget_init_view (struct xwidget *xww,
                    struct glyph_string *s,
                    int x, int y)
 {
   struct xwidget_view *xv = allocate_xwidget_view();
   Lisp_Object val;
-  GdkColor color;
 
   XSETXWIDGET_VIEW (val, xv)  ;
   Vxwidget_view_list = Fcons (val, Vxwidget_view_list);
@@ -985,10 +928,10 @@ xwidget_init_view (struct xwidget *xww,
 
   //widgettype specific initialization only possible after realization
   if (EQ(xww->type, Qsocket)) {
-    printf ("xwid:%d socket id:%x %d\n",
-            xww,
-            gtk_socket_get_id (GTK_SOCKET (xv->widget)),
-            gtk_socket_get_id (GTK_SOCKET (xv->widget)));
+    printf ("xwid:%p socket id:%p %p\n",
+            (void*)xww,
+            (void*)gtk_socket_get_id (GTK_SOCKET (xv->widget)),
+            (void*)gtk_socket_get_id (GTK_SOCKET (xv->widget)));
     send_xembed_ready_event (xww,
                              gtk_socket_get_id (GTK_SOCKET (xv->widget)));
     //gtk_widget_realize(xw->widget);
@@ -1028,9 +971,6 @@ x_draw_xwidget_glyph_string (struct glyph_string *s)
     moving and clipping is done here. also view init.
 
   */
-  int box_line_hwidth = eabs (s->face->box_line_width);
-  int box_line_vwidth = max (s->face->box_line_width, 0);
-  int height = s->height;
   struct xwidget *xww = s->xwidget;
   struct xwidget_view *xv = xwidget_view_lookup(xww, s->w);
   int clip_right; int clip_bottom; int clip_top; int clip_left;
@@ -1042,7 +982,6 @@ x_draw_xwidget_glyph_string (struct glyph_string *s)
   /* We do it here in the display loop because there is no other
      time to know things like window placement etc.
   */
-  printf ("xv init for xw %d\n", xww);
   xv = xwidget_init_view (xww, s, x, y);
 
   //calculate clipping, which is used for all manner of onscreen xwidget views
@@ -1116,7 +1055,7 @@ DEFUN ("xwidget-webkit-goto-uri", 
Fxwidget_webkit_goto_uri,  Sxwidget_webkit_got
 {
   WEBKIT_FN_INIT();
   CHECK_STRING(uri);
-  webkit_web_view_load_uri ( WEBKIT_WEB_VIEW(xw->widget_osr), SDATA(uri));
+  webkit_web_view_load_uri ( WEBKIT_WEB_VIEW(xw->widget_osr), SSDATA(uri));
   return Qnil;
 }
 
@@ -1128,7 +1067,7 @@ DEFUN ("xwidget-webkit-execute-script", 
Fxwidget_webkit_execute_script,  Sxwidge
 {
   WEBKIT_FN_INIT();
   CHECK_STRING(script);
-  webkit_web_view_execute_script( WEBKIT_WEB_VIEW(xw->widget_osr), 
SDATA(script));
+  webkit_web_view_execute_script( WEBKIT_WEB_VIEW(xw->widget_osr), 
SSDATA(script));
   return Qnil;
 }
 
@@ -1157,7 +1096,7 @@ DEFUN ("xwidget-disable-plugin-for-mime", 
Fxwidget_disable_plugin_for_mime , Sxw
   (Lisp_Object mime)
 {
   WebKitWebPlugin *wp = webkit_web_plugin_database_get_plugin_for_mimetype
-    (webkit_get_web_plugin_database(),  SDATA(mime));
+    (webkit_get_web_plugin_database(),  SSDATA(mime));
   if(wp == NULL) return Qnil;
   if(webkit_web_plugin_get_enabled (wp)){
     webkit_web_plugin_set_enabled  (wp, FALSE);
@@ -1166,12 +1105,14 @@ DEFUN ("xwidget-disable-plugin-for-mime", 
Fxwidget_disable_plugin_for_mime , Sxw
   return Qnil;
 }
 
-
-void
+#ifdef HAVE_XLXW_DOMDUMP
+/* dom dumping is work in progress.
+   2 of the methods used from webkit are deprecated nowm and replacements 
sought
+ */
+static void
 xwidget_webkit_dom_dump(WebKitDOMNode* parent)
 {
   WebKitDOMNodeList* list;
-  int i;
   int length;
   WebKitDOMNode* attribute;
   WebKitDOMNamedNodeMap* attrs;
@@ -1216,7 +1157,7 @@ DEFUN ("xwidget-webkit-dom-dump", 
Fxwidget_webkit_dom_dump,  Sxwidget_webkit_dom
   return Qnil;
 }
 
-
+#endif  /* HAVE_XLXW_DOMDUMP */
 
 #endif  /* HAVE_WEBKIT_OSR */
 
@@ -1238,18 +1179,10 @@ DEFUN ("xwidget-resize", Fxwidget_resize, 
Sxwidget_resize, 3, 3, 0, doc:
   w = XFASTINT (new_width);
   h = XFASTINT (new_height);
 
-
-  printf("resize xwidget %d (%d,%d)->(%d,%d)\n",xw, xw->width,xw->height,w,h);
   xw->width=w;
   xw->height=h;
   //if theres a osr resize it 1st
   if(xw->widget_osr){
-    printf("resize xwidget_osr\n");
-    //gtk_container_set_resize_mode ( GTK_WINDOW(xw->widgetwindow_osr), 
GTK_RESIZE_QUEUE);
-    //gtk_container_set_resize_mode ( GTK_WINDOW(xw->widget_osr), 
GTK_RESIZE_QUEUE);
-
-
-    //gtk_layout_set_size (GTK_LAYOUT (xw->widgetwindow_osr), xw->width, 
xw->height);
     gtk_widget_set_size_request (GTK_WIDGET (xw->widget_osr), xw->width, 
xw->height); //minimum size
     //gtk_window_resize(    GTK_WINDOW(xw->widget_osr), xw->width, xw->height);
     gtk_window_resize(    GTK_WINDOW(xw->widgetwindow_osr), xw->width, 
xw->height);
@@ -1287,6 +1220,7 @@ DEFUN ("xwidget-set-adjustment", Fxwidget_set_adjustment, 
Sxwidget_set_adjustmen
   GtkAdjustment* adjustment;
   float final_value=0.0;
 
+  adjustment = 
gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(xw->widgetscrolledwindow_osr));
   if(EQ(Qvertical, axis)){
     adjustment = 
gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(xw->widgetscrolledwindow_osr));
   }
@@ -1405,7 +1339,6 @@ DEFUN ("xwidget-send-keyboard-event", 
Fxwidget_send_keyboard_event, Sxwidget_sen
   //TODO this code crashes for offscreen widgets and ive tried many different 
strategies
   //int keyval = 0x058; //X
   int keyval = XFASTINT(keydescriptor); //X
-  char *keystring = "";
   GdkKeymapKey* keys;
   gint n_keys;
   GdkDeviceManager* manager;
@@ -1471,6 +1404,7 @@ DEFUN ("delete-xwidget-view", Fdelete_xwidget_view, 
Sdelete_xwidget_view,
   struct xwidget_view *xv = XXWIDGET_VIEW (xwidget_view);
   gtk_widget_destroy(xv->widgetwindow);
   Vxwidget_view_list = Fdelq (xwidget_view, Vxwidget_view_list);
+  return Qnil;
 }
 
 DEFUN ("xwidget-view-lookup", Fxwidget_view_lookup, Sxwidget_view_lookup,
@@ -1564,7 +1498,6 @@ DEFUN ("xwidget-query-on-exit-flag",
 void
 syms_of_xwidget (void)
 {
-  int i;
 
   defsubr (&Smake_xwidget);
   defsubr (&Sxwidgetp);
@@ -1596,7 +1529,10 @@ syms_of_xwidget (void)
   defsubr (&Sxwidget_disable_plugin_for_mime);
 
   defsubr (&Sxwidget_send_keyboard_event);
+  #ifdef HAVE_XLXW_DOMDUMP
   defsubr (&Sxwidget_webkit_dom_dump);
+  #endif
+
   defsubr (&Sxwidget_plist);
   defsubr (&Sxwidget_buffer);
   defsubr (&Sset_xwidget_plist);
@@ -1737,11 +1673,11 @@ lookup_xwidget (Lisp_Object  spec)
      TODO remove xwidget init from display spec. simply store an xwidget 
reference only and set
      size etc when creating the xwidget, which should happen before insertion 
into buffer
   */
-  int found = 0, found1 = 0, found2 = 0;
+  int found = 0;
   Lisp_Object value;
   struct xwidget *xw;
 
-  value = xwidget_spec_value (spec, QCxwidget, &found1);
+  value = xwidget_spec_value (spec, QCxwidget, &found);
   xw = XXWIDGET(value);
 
   return xw;
@@ -1765,7 +1701,7 @@ xwidget_touch (struct xwidget_view *xv)
   xv->redisplayed = 1;
 }
 
-int
+static int
 xwidget_touched (struct xwidget_view *xv)
 {
   return  xv->redisplayed;
@@ -1778,7 +1714,6 @@ xwidget_end_redisplay (struct window *w, struct 
glyph_matrix *matrix)
 {
 
   int i;
-  struct xwidget *xw;
   int area;
 
 
diff --git a/src/xwidget.h b/src/xwidget.h
index cbaddf6..3431750 100644
--- a/src/xwidget.h
+++ b/src/xwidget.h
@@ -2,7 +2,7 @@
 #define XWIDGET_H_INCLUDED
 
 void x_draw_xwidget_glyph_string (struct glyph_string *s);
-void syms_of_xwidget ();
+void syms_of_xwidget (void);
 
 //extern Lisp_Object Qxwidget;
 
@@ -93,13 +93,12 @@ struct xwidget_type
   struct xwidget_type *next;
 };
 
-static struct xwidget_type *lookup_xwidget_type (Lisp_Object symbol);
 
 struct xwidget* xwidget_from_id(int id);
 
 //extern int xwidget_owns_kbd;
 
-void xwidget_start_redisplay();
+void xwidget_start_redisplay(void);
 void xwidget_end_redisplay (struct window *w, struct glyph_matrix *matrix);
 
 void xwidget_touch (struct xwidget_view *xw);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]