--- rxvt-unicode/src/rxvttoolkit.h 2011/02/21 08:10:10 1.56 +++ rxvt-unicode/src/rxvttoolkit.h 2012/06/04 15:18:52 1.61 @@ -3,7 +3,7 @@ *----------------------------------------------------------------------* * * All portions of code are copyright by their respective author/s. - * Copyright (c) 2003-2006 Marc Lehmann + * Copyright (c) 2003-2011 Marc Lehmann * Copyright (c) 2011 Emanuele Giaquinta * * This program is free software; you can redistribute it and/or modify @@ -180,7 +180,7 @@ ///////////////////////////////////////////////////////////////////////////// -#ifdef USE_XIM +#if USE_XIM struct rxvt_xim : refcounted { void destroy (); @@ -218,6 +218,12 @@ void clear (); }; +enum { + DISPLAY_HAS_RENDER = 1 << 0, + DISPLAY_HAS_RENDER_MUL = 1 << 1, + DISPLAY_HAS_RENDER_CONV = 1 << 2, +}; + struct rxvt_display : refcounted { event_vec xw; @@ -225,7 +231,7 @@ ev::prepare flush_ev; void flush_cb (ev::prepare &w, int revents); ev::io x_ev ; void x_cb (ev::io &w, int revents); -#ifdef USE_XIM +#if USE_XIM refcache xims; vector imw; @@ -244,6 +250,7 @@ #ifdef POINTER_BLANK Cursor blank_cursor; #endif + uint8_t flags; rxvt_display (const char *id); XrmDatabase get_resources (bool refresh); @@ -257,12 +264,13 @@ } Atom atom (const char *name); + Pixmap get_pixmap_property (Atom property); void set_selection_owner (rxvt_term *owner, bool clipboard); void reg (xevent_watcher *w); void unreg (xevent_watcher *w); -#ifdef USE_XIM +#if USE_XIM void reg (im_watcher *w); void unreg (im_watcher *w); @@ -271,7 +279,7 @@ #endif }; -#ifdef USE_XIM +#if USE_XIM struct im_watcher : rxvt_watcher, callback { void start (rxvt_display *display) @@ -373,7 +381,7 @@ rxvt_term *term; // terminal to paste to, may be 0 void *cb_sv; // managed by perl - + rxvt_display *display; Time request_time; Window request_win;