/* The current capacity of x_font_table. */
int font_table_size;
+#ifdef USE_FONT_BACKEND
+ /* This provides a commonly used Font ID on this display. */
+ XFontStruct *font;
+#endif
+
/* Minimum width over all characters in all fonts in font_table. */
int smallest_char_width;
/* Atom used in toolkit scroll bar client messages. */
Atom Xatom_Scrollbar;
+ /* Atom used in XEmbed client messages. */
+ Atom Xatom_XEMBED;
+
int cut_buffers_initialized; /* Whether we're sure they all exist */
/* The frame (if any) which has the X window that has keyboard focus.
/* The gray pixmap. */
Pixmap gray;
- /* Cache of images. */
- struct image_cache *image_cache;
-
#ifdef HAVE_X_I18N
/* XIM (X Input method). */
XIM xim;
#define FRAME_SMALLEST_FONT_HEIGHT(F) \
FRAME_X_DISPLAY_INFO(F)->smallest_font_height
-
-/* Return a pointer to the image cache of frame F. */
-
-#define FRAME_X_IMAGE_CACHE(F) FRAME_X_DISPLAY_INFO ((F))->image_cache
-
\f
/* X-specific scroll bar stuff. */
extern void x_session_close P_ ((void));
#endif
+/* XEmbed implementation. */
+
+#define XEMBED_VERSION 0
+
+enum xembed_info
+ {
+ XEMBED_MAPPED = 1 << 0
+ };
+
+enum xembed_message
+ {
+ XEMBED_EMBEDDED_NOTIFY = 0,
+ XEMBED_WINDOW_ACTIVATE = 1,
+ XEMBED_WINDOW_DEACTIVATE = 2,
+ XEMBED_REQUEST_FOCUS = 3,
+ XEMBED_FOCUS_IN = 4,
+ XEMBED_FOCUS_OUT = 5,
+ XEMBED_FOCUS_NEXT = 6,
+ XEMBED_FOCUS_PREV = 7,
+
+ XEMBED_MODALITY_ON = 10,
+ XEMBED_MODALITY_OFF = 11,
+ XEMBED_REGISTER_ACCELERATOR = 12,
+ XEMBED_UNREGISTER_ACCELERATOR = 13,
+ XEMBED_ACTIVATE_ACCELERATOR = 14
+ };
+
+enum xembed_focus
+ {
+ XEMBED_FOCUS_CURRENT = 0,
+ XEMBED_FOCUS_FIRST = 1,
+ XEMBED_FOCUS_LAST = 2
+ };
+
+enum xembed_modifier
+ {
+ XEMBED_MODIFIER_SHIFT = 1 << 0,
+ XEMBED_MODIFIER_CONTROL = 1 << 1,
+ XEMBED_MODIFIER_ALT = 1 << 2,
+ XEMBED_MODIFIER_SUPER = 1 << 3,
+ XEMBED_MODIFIER_HYPER = 1 << 4
+ };
+
+enum xembed_accelerator
+ {
+ XEMBED_ACCELERATOR_OVERLOADED = 1 << 0
+ };
+
+/* Defined in xterm.c */
+
+extern void xembed_set_info P_ ((struct frame *f, enum xembed_info flags));
+extern void xembed_send_message P_ ((struct frame *f, Time time,
+ enum xembed_message message,
+ long detail, long data1, long data2));
+
+/* Is the frame embedded into another application? */
+
+#define FRAME_X_EMBEDDED_P(f) (FRAME_X_OUTPUT(f)->explicit_parent != 0)
+
+
#define FONT_TYPE_FOR_UNIBYTE(font, ch) 0
#define FONT_TYPE_FOR_MULTIBYTE(font, ch) 0