X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/461e93f921df33c09637db5dddcfd07411ff0ded..4f7222ca3632e40ad8f77947dba6bced63733655:/include/wx/x11/privx.h?ds=sidebyside diff --git a/include/wx/x11/privx.h b/include/wx/x11/privx.h index 999372519d..7cfd8616ad 100644 --- a/include/wx/x11/privx.h +++ b/include/wx/x11/privx.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: privx.h +// Name: wx/x11/privx.h // Purpose: Private declarations common to X11 and Motif ports // Author: Julian Smart // Modified by: @@ -14,26 +14,32 @@ #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 // ---------------------------------------------------------------------------- -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(); } @@ -58,16 +64,13 @@ 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 - -// 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 @@ -100,6 +103,8 @@ bool wxWindowIsVisible(Window win); #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 @@ -129,5 +134,37 @@ bool wxWindowIsVisible(Window win); #define XFontStructGetAscent(f) f->ascent #endif -#endif -// _WX_PRIVX_H_ +// ---------------------------------------------------------------------------- +// Misc functions +// ---------------------------------------------------------------------------- + +bool wxDoSetShape( Display* xdisplay, Window xwindow, const wxRegion& region ); + +class WXDLLIMPEXP_CORE 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_