]> code.delx.au - gnu-emacs/blobdiff - src/dispextern.h
upstream
[gnu-emacs] / src / dispextern.h
index 3225c1eb46e5e68dd132fc629ea6b14715ea3961..a45c5cc138f0f236a8b3b7b2a451b6932eae899b 100644 (file)
@@ -290,7 +290,11 @@ enum glyph_type
   IMAGE_GLYPH,
 
   /* Glyph is a space of fractional width and/or height.  */
-  STRETCH_GLYPH
+  STRETCH_GLYPH,
+#ifdef HAVE_XWIDGETS
+  /* Glyph is an external widget drawn by the GUI toolkit.   */
+  XWIDGET_GLYPH
+#endif  
 };
 
 
@@ -433,6 +437,9 @@ struct glyph
     /* Image ID for image glyphs (type == IMAGE_GLYPH).  */
     int img_id;
 
+#ifdef HAVE_XWIDGETS
+    struct xwidget* xwidget;
+#endif    
     /* Sub-structure for type == STRETCH_GLYPH.  */
     struct
     {
@@ -1299,6 +1306,9 @@ struct glyph_string
   /* Image, if any.  */
   struct image *img;
 
+#ifdef HAVE_XWIDGETS  
+  struct xwidget* xwidget;
+#endif
   /* Slice */
   struct glyph_slice slice;
 
@@ -1984,7 +1994,11 @@ enum display_element_type
   IT_TRUNCATION,
 
   /* Continuation glyphs.  See the comment for IT_TRUNCATION.  */
-  IT_CONTINUATION
+  IT_CONTINUATION,
+
+#ifdef HAVE_XWIDGETS  
+  IT_XWIDGET
+#endif
 };
 
 
@@ -2048,6 +2062,9 @@ enum it_method {
   GET_FROM_C_STRING,
   GET_FROM_IMAGE,
   GET_FROM_STRETCH,
+#ifdef HAVE_XWIDGETS
+  GET_FROM_XWIDGET,
+#endif  
   NUM_IT_METHODS
 };
 
@@ -2261,6 +2278,13 @@ struct it
       struct {
        Lisp_Object object;
       } stretch;
+#ifdef HAVE_XWIDGETS
+      /* method == GET_FROM_XWIDGET */
+      struct {
+       Lisp_Object object;
+        struct xwidget* xwidget;
+      } xwidget;
+#endif
     } u;
 
     /* current text and display positions.  */
@@ -2383,6 +2407,10 @@ struct it
   /* If what == IT_IMAGE, the id of the image to display.  */
   ptrdiff_t image_id;
 
+#ifdef HAVE_XWIDGETS  
+  /* If what == IT_XWIDGET*/
+  struct xwidget* xwidget;
+#endif
   /* Values from `slice' property.  */
   struct it_slice slice;