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) 55 class EXPCL_PANDA_DISPLAY
IntHandle :
public OSHandle {
58 virtual size_t get_int_handle()
const;
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);
148 virtual size_t get_int_handle()
const;
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();}
This object represents a window on the desktop, not necessarily a Panda window.
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.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
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...
virtual size_t get_int_handle() const
Returns the OS-specific handle converted to an integer, if this is possible for the particular repres...
TypeHandle is the identifier used to differentiate C++ class types.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.