84 lines
2.8 KiB
C++
84 lines
2.8 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// 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_
|