| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: wx/x11/private.h
- // Purpose: Private declarations for X11 port
- // Author: Julian Smart
- // Modified by:
- // Created: 17/09/98
- // Copyright: (c) Julian Smart
- // Licence: wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
- #ifndef _WX_PRIVATE_H_
- #define _WX_PRIVATE_H_
- #include "wx/defs.h"
- #include "wx/hashmap.h"
- #include "wx/utils.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
- // Include common declarations
- #include "wx/x11/privx.h"
- #if wxUSE_PANGO
- #include <pango/pango.h>
- #endif
- class WXDLLIMPEXP_FWD_CORE wxMouseEvent;
- class WXDLLIMPEXP_FWD_CORE wxKeyEvent;
- class WXDLLIMPEXP_FWD_CORE wxWindow;
- // ----------------------------------------------------------------------------
- // Some Unicode <-> UTF8 macros stolen from GTK
- // ----------------------------------------------------------------------------
- #if wxUSE_UNICODE
- #define wxGTK_CONV(s) wxConvUTF8.cWX2MB(s)
- #define wxGTK_CONV_BACK(s) wxConvUTF8.cMB2WX(s)
- #else
- #define wxGTK_CONV(s) s.c_str()
- #define wxGTK_CONV_BACK(s) s
- #endif
- // ----------------------------------------------------------------------------
- // we maintain a hash table which contains the mapping from Widget to wxWindow
- // corresponding to the window for this widget
- // ----------------------------------------------------------------------------
- WX_DECLARE_HASH_MAP(Window, wxWindow *, wxIntegerHash, wxIntegerEqual, wxWindowHash);
- // these hashes are defined in app.cpp
- extern wxWindowHash *wxWidgetHashTable;
- extern wxWindowHash *wxClientWidgetHashTable;
- extern void wxDeleteWindowFromTable(Window w);
- extern wxWindow *wxGetWindowFromTable(Window w);
- extern bool wxAddWindowToTable(Window w, wxWindow *win);
- extern void wxDeleteClientWindowFromTable(Window w);
- extern wxWindow *wxGetClientWindowFromTable(Window w);
- extern bool wxAddClientWindowToTable(Window w, wxWindow *win);
- // ----------------------------------------------------------------------------
- // TranslateXXXEvent() functions - translate X event to wxWindow one
- // ----------------------------------------------------------------------------
- extern bool wxTranslateMouseEvent(wxMouseEvent& wxevent, wxWindow *win, Window window, XEvent *xevent);
- extern bool wxTranslateKeyEvent(wxKeyEvent& wxevent, wxWindow *win, Window window, XEvent *xevent, bool isAscii = FALSE);
- extern Window wxGetWindowParent(Window window);
- // Set the window manager decorations according to the
- // given wxWidgets style
- bool wxSetWMDecorations(Window w, long style);
- bool wxMWMIsRunning(Window w);
- #endif
- // _WX_PRIVATE_H_
|