]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/x11/privx.h
compilation fix for wxString::Format("no variadic arguments") and VC6
[wxWidgets.git] / include / wx / x11 / privx.h
index 36f597fd9dc1227e4653543259a595fa6df8ebc3..3e01dd4fcf49a8e60c5457d4ba3c02b38cd02767 100644 (file)
 
 #include "wx/defs.h"
 #include "wx/utils.h"
+#include "wx/colour.h"
+
+#if defined( __cplusplus ) && defined( __VMS )
+#pragma message disable nosimpint
+#endif
 #include "X11/Xlib.h"
 #include "X11/Xatom.h"
 #include "X11/Xutil.h"
+#if defined( __cplusplus ) && defined( __VMS )
+#pragma message enable nosimpint
+#endif
 
-class wxMouseEvent;
-class wxKeyEvent;
-class wxWindow;
+class WXDLLIMPEXP_FWD_CORE wxMouseEvent;
+class WXDLLIMPEXP_FWD_CORE wxKeyEvent;
+class WXDLLIMPEXP_FWD_CORE wxWindow;
+class WXDLLIMPEXP_FWD_CORE wxRegion;
 
 // ----------------------------------------------------------------------------
 // key events related functions
@@ -29,27 +38,15 @@ class wxWindow;
 extern int wxCharCodeXToWX(KeySym keySym);
 extern KeySym wxCharCodeWXToX(int id);
 
-int wxGetBestMatchingPixel(Display *display, XColor *desiredColor, Colormap cmap);
+WXPixel wxGetBestMatchingPixel(Display *display, XColor *desiredColor, Colormap cmap);
 Pixmap XCreateInsensitivePixmap( Display *display, Pixmap pixmap );
 
 extern XColor g_itemColors[];
-extern int wxComputeColours (Display *display, wxColour * back, wxColour * fore);
+extern int wxComputeColours (Display *display, const wxColour * back, const wxColour * fore);
 
 // For convenience
 inline Display* wxGlobalDisplay() { return (Display*) wxGetDisplay(); }
 
-#define wxNO_COLORS   0x00
-#define wxBACK_COLORS 0x01
-#define wxFORE_COLORS 0x02
-
-extern XColor itemColors[5] ;
-
-#define wxBACK_INDEX 0
-#define wxFORE_INDEX 1
-#define wxSELE_INDEX 2
-#define wxTOPS_INDEX 3
-#define wxBOTS_INDEX 4
-
 #define wxMAX_RGB           0xff
 #define wxMAX_SV            1000
 #define wxSIGN(x)           ((x < 0) ? -x : x)
@@ -69,5 +66,113 @@ void wxXColorToHSV(wxHSV *hsv,XColor *xcolor);
 void wxAllocNearestColor(Display *display,Colormap colormap,XColor *xcolor);
 void wxAllocColor(Display *display,Colormap colormap,XColor *xcolor);
 
+// For debugging
+#ifdef __WXDEBUG__
+wxString wxGetXEventName(XEvent& event);
 #endif
-// _WX_PRIVX_H_
+
+// Is the window visible?
+bool wxWindowIsVisible(Window win);
+
+#if wxUSE_NANOX
+#define XEventGetWindow(event) event->general.wid
+#define XEventGetType(event) event->general.type
+#define XConfigureEventGetX(event) ((int) event->update.x)
+#define XConfigureEventGetY(event) ((int) event->update.y)
+#define XConfigureEventGetWidth(event) ((int) event->update.width)
+#define XConfigureEventGetHeight(event) ((int) event->update.height)
+#define XExposeEventGetX(event) event->exposure.x
+#define XExposeEventGetY(event) event->exposure.y
+#define XExposeEventGetWidth(event) event->exposure.width
+#define XExposeEventGetHeight(event) event->exposure.height
+#define XButtonEventGetTime(event) (wxGetLocalTime())
+#define XButtonEventLChanged(event) (event->button.changebuttons & GR_BUTTON_L)
+#define XButtonEventMChanged(event) (event->button.changebuttons & GR_BUTTON_M)
+#define XButtonEventRChanged(event) (event->button.changebuttons & GR_BUTTON_R)
+#define XButtonEventLIsDown(x) ((x)->button.buttons & GR_BUTTON_L)
+#define XButtonEventMIsDown(x) ((x)->button.buttons & GR_BUTTON_M)
+#define XButtonEventRIsDown(x) ((x)->button.buttons & GR_BUTTON_R)
+#define XButtonEventShiftIsDown(x) (x->button.modifiers & MWKMOD_SHIFT)
+#define XButtonEventCtrlIsDown(x) (x->button.modifiers & MWKMOD_CTRL)
+#define XButtonEventAltIsDown(x) (x->button.modifiers & MWKMOD_ALT)
+#define XButtonEventMetaIsDown(x) (x->button.modifiers & MWKMOD_META)
+#define XButtonEventGetX(event) (event->button.x)
+#define XButtonEventGetY(event) (event->button.y)
+#define XKeyEventGetTime(event) (wxGetLocalTime())
+#define XKeyEventGetX(event) (event->keystroke.x)
+#define XKeyEventGetY(event) (event->keystroke.y)
+#define XKeyEventShiftIsDown(x) (x->keystroke.modifiers & MWKMOD_SHIFT)
+#define XKeyEventCtrlIsDown(x) (x->keystroke.modifiers & MWKMOD_CTRL)
+#define XKeyEventAltIsDown(x) (x->keystroke.modifiers & MWKMOD_ALT)
+#define XKeyEventMetaIsDown(x) (x->keystroke.modifiers & MWKMOD_META)
+#define XFontStructGetAscent(f) f->info.baseline
+
+#else
+
+#define XEventGetWindow(event) event->xany.window
+#define XEventGetType(event) event->xany.type
+#define XConfigureEventGetX(event) event->xconfigure.x
+#define XConfigureEventGetY(event) event->xconfigure.y
+#define XConfigureEventGetWidth(event) event->xconfigure.width
+#define XConfigureEventGetHeight(event) event->xconfigure.height
+#define XExposeEventGetX(event) event->xexpose.x
+#define XExposeEventGetY(event) event->xexpose.y
+#define XExposeEventGetWidth(event) event->xexpose.width
+#define XExposeEventGetHeight(event) event->xexpose.height
+#define XButtonEventGetTime(event) (event->xbutton.time)
+#define XButtonEventLChanged(event) (event->xbutton.button == Button1)
+#define XButtonEventMChanged(event) (event->xbutton.button == Button2)
+#define XButtonEventRChanged(event) (event->xbutton.button == Button3)
+#define XButtonEventLIsDown(x) ((x)->xbutton.state & Button1Mask)
+#define XButtonEventMIsDown(x) ((x)->xbutton.state & Button2Mask)
+#define XButtonEventRIsDown(x) ((x)->xbutton.state & Button3Mask)
+#define XButtonEventShiftIsDown(x) (x->xbutton.state & ShiftMask)
+#define XButtonEventCtrlIsDown(x) (x->xbutton.state & ControlMask)
+#define XButtonEventAltIsDown(x) (x->xbutton.state & Mod3Mask)
+#define XButtonEventMetaIsDown(x) (x->xbutton.state & Mod1Mask)
+#define XButtonEventGetX(event) (event->xbutton.x)
+#define XButtonEventGetY(event) (event->xbutton.y)
+#define XKeyEventGetTime(event) (event->xkey.time)
+#define XKeyEventShiftIsDown(x) (x->xkey.state & ShiftMask)
+#define XKeyEventCtrlIsDown(x) (x->xkey.state & ControlMask)
+#define XKeyEventAltIsDown(x) (x->xkey.state & Mod3Mask)
+#define XKeyEventMetaIsDown(x) (x->xkey.state & Mod1Mask)
+#define XKeyEventGetX(event) (event->xkey.x)
+#define XKeyEventGetY(event) (event->xkey.y)
+#define XFontStructGetAscent(f) f->ascent
+#endif
+
+// ----------------------------------------------------------------------------
+// Misc functions
+// ----------------------------------------------------------------------------
+
+bool wxDoSetShape( Display* xdisplay, Window xwindow, const wxRegion& region );
+
+class WXDLLEXPORT wxXVisualInfo
+{
+public:
+    wxXVisualInfo();
+    ~wxXVisualInfo();
+    void Init( Display* dpy, XVisualInfo* visualInfo );
+
+    int                   m_visualType;   // TrueColor, DirectColor etc.
+    int                   m_visualDepth;
+    int                   m_visualColormapSize;
+    void                 *m_visualColormap;
+    int                   m_visualScreen;
+    unsigned long         m_visualRedMask;
+    unsigned long         m_visualGreenMask;
+    unsigned long         m_visualBlueMask;
+    int                   m_visualRedShift;
+    int                   m_visualGreenShift;
+    int                   m_visualBlueShift;
+    int                   m_visualRedPrec;
+    int                   m_visualGreenPrec;
+    int                   m_visualBluePrec;
+    
+    unsigned char        *m_colorCube;
+};
+
+bool wxFillXVisualInfo( wxXVisualInfo* vi, Display* dpy );
+
+#endif // _WX_PRIVX_H_