14 #ifndef NATIVEWINDOWHANDLE_H
15 #define NATIVEWINDOWHANDLE_H
23 #ifndef WIN32_LEAN_AND_MEAN
24 #define WIN32_LEAN_AND_MEAN 1
46 #if defined(HAVE_X11) && !defined(CPPPARSER)
50 #if defined(WIN32) && !defined(CPPPARSER)
59 virtual void output(std::ostream &out)
const;
61 INLINE
size_t get_handle()
const;
70 static void init_type() {
71 OSHandle::init_type();
73 OSHandle::get_class_type());
76 return get_class_type();
78 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
87 virtual void output(std::ostream &out)
const;
89 INLINE
const Filename &get_filename()
const;
98 static void init_type() {
99 OSHandle::init_type();
100 register_type(_type_handle,
"NativeWindowHandle::SubprocessHandle",
101 OSHandle::get_class_type());
104 return get_class_type();
106 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
112 #if defined(HAVE_X11) && !defined(CPPPARSER)
113 class EXPCL_PANDA_DISPLAY X11Handle :
public OSHandle {
115 INLINE X11Handle(X11_Window handle);
117 virtual void output(std::ostream &out)
const;
119 INLINE X11_Window get_handle()
const;
128 static void init_type() {
129 OSHandle::init_type();
131 OSHandle::get_class_type());
134 return get_class_type();
136 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
144 #if defined(WIN32) && !defined(CPPPARSER)
145 class EXPCL_PANDA_DISPLAY WinHandle :
public OSHandle {
147 INLINE WinHandle(HWND handle);
149 virtual void output(std::ostream &out)
const;
151 INLINE HWND get_handle()
const;
160 static void init_type() {
161 OSHandle::init_type();
163 OSHandle::get_class_type());
166 return get_class_type();
168 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
179 static void init_type() {
180 WindowHandle::init_type();
182 WindowHandle::get_class_type());
184 IntHandle::init_type();
185 SubprocessHandle::init_type();
186 #if defined(HAVE_X11) && !defined(CPPPARSER)
187 X11Handle::init_type();
189 #if defined(WIN32) && !defined(CPPPARSER)
190 WinHandle::init_type();
194 return get_class_type();
196 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
The name of a file, such as a texture file or an Egg file.
This subclass of WindowHandle exists to allow simple creation of a WindowHandle of the appropriate ty...
TypeHandle is the identifier used to differentiate C++ class types.
This object represents a window on the desktop, not necessarily a Panda window.
size_t get_int_handle() const
Returns the OS-specific handle converted to an integer, if this is possible for the particular repres...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.