mirror of
				https://github.com/godotengine/godot.git
				synced 2025-11-04 07:31:16 +00:00 
			
		
		
		
	get_screen_size() added
This commit is contained in:
		
							parent
							
								
									3c8b047b11
								
							
						
					
					
						commit
						f9d0de0d2a
					
				
					 5 changed files with 16 additions and 0 deletions
				
			
		| 
						 | 
					@ -180,6 +180,10 @@ int _OS::get_screen_count() const {
 | 
				
			||||||
	return OS::get_singleton()->get_screen_count();
 | 
						return OS::get_singleton()->get_screen_count();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Size2 _OS::get_screen_size(int p_screen) const {
 | 
				
			||||||
 | 
						return OS::get_singleton()->get_screen_size(p_screen);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Point2 _OS::get_window_position() const {
 | 
					Point2 _OS::get_window_position() const {
 | 
				
			||||||
	return OS::get_singleton()->get_window_position();
 | 
						return OS::get_singleton()->get_window_position();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -661,6 +665,7 @@ void _OS::_bind_methods() {
 | 
				
			||||||
	ObjectTypeDB::bind_method(_MD("get_fullscreen_mode_list","screen"),&_OS::get_fullscreen_mode_list,DEFVAL(0));
 | 
						ObjectTypeDB::bind_method(_MD("get_fullscreen_mode_list","screen"),&_OS::get_fullscreen_mode_list,DEFVAL(0));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ObjectTypeDB::bind_method(_MD("get_screen_count"),&_OS::get_screen_count);
 | 
						ObjectTypeDB::bind_method(_MD("get_screen_count"),&_OS::get_screen_count);
 | 
				
			||||||
 | 
						ObjectTypeDB::bind_method(_MD("get_screen_size"),&_OS::get_screen_size,DEFVAL(0));
 | 
				
			||||||
	ObjectTypeDB::bind_method(_MD("get_window_position"),&_OS::get_window_position);
 | 
						ObjectTypeDB::bind_method(_MD("get_window_position"),&_OS::get_window_position);
 | 
				
			||||||
	ObjectTypeDB::bind_method(_MD("set_window_position"),&_OS::set_window_position);
 | 
						ObjectTypeDB::bind_method(_MD("set_window_position"),&_OS::set_window_position);
 | 
				
			||||||
	ObjectTypeDB::bind_method(_MD("get_window_size"),&_OS::get_window_size);
 | 
						ObjectTypeDB::bind_method(_MD("get_window_size"),&_OS::get_window_size);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -109,6 +109,7 @@ public:
 | 
				
			||||||
	Array get_fullscreen_mode_list(int p_screen=0) const;
 | 
						Array get_fullscreen_mode_list(int p_screen=0) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	virtual int get_screen_count() const;
 | 
						virtual int get_screen_count() const;
 | 
				
			||||||
 | 
						virtual Size2 get_screen_size(int p_screen=0) const;
 | 
				
			||||||
	virtual Point2 get_window_position() const;
 | 
						virtual Point2 get_window_position() const;
 | 
				
			||||||
	virtual void set_window_position(const Point2& p_position);
 | 
						virtual void set_window_position(const Point2& p_position);
 | 
				
			||||||
	virtual Size2 get_window_size() const;
 | 
						virtual Size2 get_window_size() const;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -151,6 +151,7 @@ public:
 | 
				
			||||||
	virtual void get_fullscreen_mode_list(List<VideoMode> *p_list,int p_screen=0) const=0;
 | 
						virtual void get_fullscreen_mode_list(List<VideoMode> *p_list,int p_screen=0) const=0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	virtual int get_screen_count() const=0;
 | 
						virtual int get_screen_count() const=0;
 | 
				
			||||||
 | 
						virtual Size2 get_screen_size(int p_screen=0) const=0;
 | 
				
			||||||
	virtual Point2 get_window_position() const=0;
 | 
						virtual Point2 get_window_position() const=0;
 | 
				
			||||||
	virtual void set_window_position(const Point2& p_position)=0;
 | 
						virtual void set_window_position(const Point2& p_position)=0;
 | 
				
			||||||
	virtual Size2 get_window_size() const=0;
 | 
						virtual Size2 get_window_size() const=0;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -530,6 +530,14 @@ int OS_X11::get_screen_count() const {
 | 
				
			||||||
	return XScreenCount(x11_display);
 | 
						return XScreenCount(x11_display);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Size2 OS_X11::get_screen_size(int p_screen) const {
 | 
				
			||||||
 | 
						Window root = XRootWindow(x11_display, p_screen);
 | 
				
			||||||
 | 
						XWindowAttributes xwa;
 | 
				
			||||||
 | 
						XGetWindowAttributes(x11_display, root, &xwa);
 | 
				
			||||||
 | 
						return Size2i(xwa.width, xwa.height);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Point2 OS_X11::get_window_position() const {
 | 
					Point2 OS_X11::get_window_position() const {
 | 
				
			||||||
	int x,y;
 | 
						int x,y;
 | 
				
			||||||
	XWindowAttributes xwa;
 | 
						XWindowAttributes xwa;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -218,6 +218,7 @@ public:
 | 
				
			||||||
	virtual void get_fullscreen_mode_list(List<VideoMode> *p_list,int p_screen=0) const;
 | 
						virtual void get_fullscreen_mode_list(List<VideoMode> *p_list,int p_screen=0) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	virtual int get_screen_count() const;
 | 
						virtual int get_screen_count() const;
 | 
				
			||||||
 | 
						virtual Size2 get_screen_size(int p_screen=0) const;
 | 
				
			||||||
	virtual Point2 get_window_position() const;
 | 
						virtual Point2 get_window_position() const;
 | 
				
			||||||
	virtual void set_window_position(const Point2& p_position);
 | 
						virtual void set_window_position(const Point2& p_position);
 | 
				
			||||||
	virtual Size2 get_window_size() const;
 | 
						virtual Size2 get_window_size() const;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue