--- rxvt-unicode/src/rxvtcolor.h 2004/02/11 08:13:45 1.5 +++ rxvt-unicode/src/rxvtcolor.h 2004/07/29 14:05:27 1.12 @@ -14,6 +14,17 @@ #include "callback.h" +extern class byteorder { + uint32_t e; +public: + byteorder (); + + bool big_endian () { return e == 0x11223344; }; + bool network () { return e == 0x11223344; }; + bool little_endian () { return e == 0x44332211; }; + bool vax () { return e == 0x44332211; }; +} byteorder; + struct rxvt_term; struct im_watcher; @@ -24,7 +35,7 @@ char *id; refcounted (const char *id); - bool init () { } + bool init () { return false; } ~refcounted (); }; @@ -37,6 +48,7 @@ ///////////////////////////////////////////////////////////////////////////// +#ifdef USE_XIM struct rxvt_xim : refcounted { void destroy (); rxvt_display *display; @@ -48,20 +60,21 @@ bool init (); ~rxvt_xim (); }; +#endif struct rxvt_display : refcounted { Atom xa_xim_servers; - rxvt_term *selection_owner; - io_manager_vec xw; - io_watcher x_watcher; void x_event (io_watcher &w, short revents); + io_watcher x_ev; void x_cb (io_watcher &w, short revents); +#ifdef USE_XIM refcache xims; vector imw; void im_change_cb (); +#endif //public Display *display; @@ -70,26 +83,35 @@ Visual *visual; Colormap cmap; Window root; + rxvt_term *selection_owner; rxvt_display (const char *id); bool init (); ~rxvt_display (); + void flush (); + + void set_selection_owner (rxvt_term *owner); + void reg (xevent_watcher *w); void unreg (xevent_watcher *w); + +#ifdef USE_XIM void reg (im_watcher *w); void unreg (im_watcher *w); - void set_selection_owner (rxvt_term *owner); - rxvt_xim *get_xim (const char *locale, const char *modifiers); void put_xim (rxvt_xim *xim); +#endif + + Atom atom (const char *name); }; +#ifdef USE_XIM struct im_watcher : watcher, callback0 { template - im_watcher (O1 *object, void (O2::*method)()) - : callback0(object,method) + im_watcher (O1 *object, void (O2::*method) ()) + : callback0 (object,method) { } void start (rxvt_display *display) @@ -101,13 +123,14 @@ display->unreg (this); } }; +#endif struct xevent_watcher : watcher, callback1 { Window window; template - xevent_watcher (O1 *object, void (O2::*method)(XEvent &)) - : callback1(object,method) + xevent_watcher (O1 *object, void (O2::*method) (XEvent &)) + : callback1 (object,method) { } void start (rxvt_display *display, Window window) @@ -130,14 +153,14 @@ struct rxvt_color { #if XFT XftColor c; - operator Pixel() const { return c.pixel; } + operator Pixel () const { return c.pixel; } #else Pixel p; - operator Pixel() const { return p; } + operator Pixel () const { return p; } #endif - bool operator == (const rxvt_color &b) const { return Pixel(*this) == Pixel(b); } - bool operator != (const rxvt_color &b) const { return Pixel(*this) != Pixel(b); } + bool operator == (const rxvt_color &b) const { return Pixel (*this) == Pixel (b); } + bool operator != (const rxvt_color &b) const { return Pixel (*this) != Pixel (b); } void get (rxvt_display *display, unsigned short &cr, unsigned short &cg, unsigned short &cb);