36class EXPCL_PANDA_DISPLAY NativeWindowHandle final :
public WindowHandle {
38 INLINE NativeWindowHandle();
39 INLINE NativeWindowHandle(
const NativeWindowHandle ©);
42 static PT(WindowHandle)
make_int(
size_t window);
46#if defined(HAVE_X11) && !defined(CPPPARSER)
47 static PT(WindowHandle) make_x11(X11_Window window);
50#if defined(WIN32) && !defined(CPPPARSER)
51 static PT(WindowHandle) make_win(HWND window);
55 class EXPCL_PANDA_DISPLAY IntHandle :
public OSHandle {
57 INLINE IntHandle(
size_t handle);
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();}
84 class EXPCL_PANDA_DISPLAY SubprocessHandle :
public OSHandle {
86 INLINE SubprocessHandle(
const Filename &filename);
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());
133 virtual TypeHandle get_type()
const {
134 return get_class_type();
136 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
139 static TypeHandle _type_handle;
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;
157 static TypeHandle get_class_type() {
160 static void init_type() {
161 OSHandle::init_type();
163 OSHandle::get_class_type());
165 virtual TypeHandle get_type()
const {
166 return get_class_type();
168 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
171 static TypeHandle _type_handle;
176 static TypeHandle 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();
193 virtual TypeHandle get_type()
const {
194 return get_class_type();
196 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
199 static TypeHandle _type_handle;
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...