Browse Source

Merge branch 'master' of https://github.com/not-surt/godot into snapping2

Carl Olsson 10 years ago
parent
commit
b9bd83e178

+ 34 - 34
core/bind/core_bind.cpp

@@ -176,17 +176,17 @@ bool _OS::is_video_mode_fullscreen(int p_screen) const {
 
 }
 
-#ifdef NEW_WM_API
+
 int _OS::get_screen_count() const {
 	return OS::get_singleton()->get_screen_count();
 }
 
-int _OS::get_screen() const {
-	return OS::get_singleton()->get_screen();
+int _OS::get_current_screen() const {
+	return OS::get_singleton()->get_current_screen();
 }
 
-void _OS::set_screen(int p_screen) {
-	OS::get_singleton()->set_screen(p_screen);
+void _OS::set_current_screen(int p_screen) {
+	OS::get_singleton()->set_current_screen(p_screen);
 }
 
 Point2 _OS::get_screen_position(int p_screen) const {
@@ -213,38 +213,38 @@ void _OS::set_window_size(const Size2& p_size) {
 	OS::get_singleton()->set_window_size(p_size);
 }
 
-void _OS::set_fullscreen(bool p_enabled) {
-	OS::get_singleton()->set_fullscreen(p_enabled);
+void _OS::set_window_fullscreen(bool p_enabled) {
+	OS::get_singleton()->set_window_fullscreen(p_enabled);
 }
 
-bool _OS::is_fullscreen() const {
-	return OS::get_singleton()->is_fullscreen();
+bool _OS::is_window_fullscreen() const {
+	return OS::get_singleton()->is_window_fullscreen();
 }
 
-void _OS::set_resizable(bool p_enabled) {
-	OS::get_singleton()->set_resizable(p_enabled);
+void _OS::set_window_resizable(bool p_enabled) {
+	OS::get_singleton()->set_window_resizable(p_enabled);
 }
 
-bool _OS::is_resizable() const {
-	return OS::get_singleton()->is_resizable();
+bool _OS::is_window_resizable() const {
+	return OS::get_singleton()->is_window_resizable();
 }
 
-void _OS::set_minimized(bool p_enabled) {
-	OS::get_singleton()->set_minimized(p_enabled);
+void _OS::set_window_minimized(bool p_enabled) {
+	OS::get_singleton()->set_window_minimized(p_enabled);
 }
 
-bool _OS::is_minimized() const {
-	return OS::get_singleton()->is_minimized();
+bool _OS::is_window_minimized() const {
+	return OS::get_singleton()->is_window_minimized();
 }
 
-void _OS::set_maximized(bool p_enabled) {
-	OS::get_singleton()->set_maximized(p_enabled);
+void _OS::set_window_maximized(bool p_enabled) {
+	OS::get_singleton()->set_window_maximized(p_enabled);
 }
 
-bool _OS::is_maximized() const {
-	return OS::get_singleton()->is_maximized();
+bool _OS::is_window_maximized() const {
+	return OS::get_singleton()->is_window_maximized();
 }
-#endif
+
 
 void _OS::set_use_file_access_save_and_swap(bool p_enable) {
 
@@ -706,25 +706,25 @@ void _OS::_bind_methods() {
 	ObjectTypeDB::bind_method(_MD("is_video_mode_resizable","screen"),&_OS::is_video_mode_resizable,DEFVAL(0));
 	ObjectTypeDB::bind_method(_MD("get_fullscreen_mode_list","screen"),&_OS::get_fullscreen_mode_list,DEFVAL(0));
 
-#ifdef NEW_WM_API
+
 	ObjectTypeDB::bind_method(_MD("get_screen_count"),&_OS::get_screen_count);
-	ObjectTypeDB::bind_method(_MD("get_screen"),&_OS::get_screen);
-	ObjectTypeDB::bind_method(_MD("set_screen"),&_OS::set_screen);
+	ObjectTypeDB::bind_method(_MD("get_current_screen"),&_OS::get_current_screen);
+	ObjectTypeDB::bind_method(_MD("set_current_screen"),&_OS::set_current_screen);
 	ObjectTypeDB::bind_method(_MD("get_screen_position"),&_OS::get_screen_position,DEFVAL(0));
 	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("set_window_position"),&_OS::set_window_position);
 	ObjectTypeDB::bind_method(_MD("get_window_size"),&_OS::get_window_size);
 	ObjectTypeDB::bind_method(_MD("set_window_size"),&_OS::set_window_size);
-	ObjectTypeDB::bind_method(_MD("set_fullscreen","enabled"),&_OS::set_fullscreen);
-	ObjectTypeDB::bind_method(_MD("is_fullscreen"),&_OS::is_fullscreen);
-	ObjectTypeDB::bind_method(_MD("set_resizable","enabled"),&_OS::set_resizable);
-	ObjectTypeDB::bind_method(_MD("is_resizable"),&_OS::is_resizable);
-	ObjectTypeDB::bind_method(_MD("set_minimized", "enabled"),&_OS::set_minimized);
-	ObjectTypeDB::bind_method(_MD("is_minimized"),&_OS::is_minimized);
-	ObjectTypeDB::bind_method(_MD("set_maximized", "enabled"),&_OS::set_maximized);
-	ObjectTypeDB::bind_method(_MD("is_maximized"),&_OS::is_maximized);
-#endif
+	ObjectTypeDB::bind_method(_MD("set_window_fullscreen","enabled"),&_OS::set_window_fullscreen);
+	ObjectTypeDB::bind_method(_MD("is_window_fullscreen"),&_OS::is_window_fullscreen);
+	ObjectTypeDB::bind_method(_MD("set_window_resizable","enabled"),&_OS::set_window_resizable);
+	ObjectTypeDB::bind_method(_MD("is_window_resizable"),&_OS::is_window_resizable);
+	ObjectTypeDB::bind_method(_MD("set_window_minimized", "enabled"),&_OS::set_window_minimized);
+	ObjectTypeDB::bind_method(_MD("is_window_minimized"),&_OS::is_window_minimized);
+	ObjectTypeDB::bind_method(_MD("set_window_maximized", "enabled"),&_OS::set_window_maximized);
+	ObjectTypeDB::bind_method(_MD("is_window_maximized"),&_OS::is_window_maximized);
+
 
 	ObjectTypeDB::bind_method(_MD("set_iterations_per_second","iterations_per_second"),&_OS::set_iterations_per_second);
 	ObjectTypeDB::bind_method(_MD("get_iterations_per_second"),&_OS::get_iterations_per_second);

+ 12 - 12
core/bind/core_bind.h

@@ -108,25 +108,25 @@ public:
 	bool is_video_mode_resizable(int p_screen=0) const;
 	Array get_fullscreen_mode_list(int p_screen=0) const;
 
-#ifdef NEW_WM_API
+
 	virtual int get_screen_count() const;
-	virtual int get_screen() const;
-	virtual void set_screen(int p_screen);
+	virtual int get_current_screen() const;
+	virtual void set_current_screen(int p_screen);
 	virtual Point2 get_screen_position(int p_screen=0) const;
 	virtual Size2 get_screen_size(int p_screen=0) const;
 	virtual Point2 get_window_position() const;
 	virtual void set_window_position(const Point2& p_position);
 	virtual Size2 get_window_size() const;
 	virtual void set_window_size(const Size2& p_size);
-	virtual void set_fullscreen(bool p_enabled);
-	virtual bool is_fullscreen() const;
-	virtual void set_resizable(bool p_enabled);
-	virtual bool is_resizable() const;
-	virtual void set_minimized(bool p_enabled);
-	virtual bool is_minimized() const;
-	virtual void set_maximized(bool p_enabled);
-	virtual bool is_maximized() const;
-#endif
+	virtual void set_window_fullscreen(bool p_enabled);
+	virtual bool is_window_fullscreen() const;
+	virtual void set_window_resizable(bool p_enabled);
+	virtual bool is_window_resizable() const;
+	virtual void set_window_minimized(bool p_enabled);
+	virtual bool is_window_minimized() const;
+	virtual void set_window_maximized(bool p_enabled);
+	virtual bool is_window_maximized() const;
+
 
 	Error native_video_play(String p_path, float p_volume, String p_audio_track, String p_subtitle_track);
 	bool native_video_is_playing();

+ 18 - 18
core/os/os.h

@@ -150,25 +150,25 @@ public:
 	virtual VideoMode get_video_mode(int p_screen=0) const=0;
 	virtual void get_fullscreen_mode_list(List<VideoMode> *p_list,int p_screen=0) const=0;
 
-#ifdef NEW_WM_API
-	virtual int get_screen_count() const=0;
-	virtual int get_screen() const=0;
-	virtual void set_screen(int p_screen)=0;
-	virtual Point2 get_screen_position(int p_screen=0) const=0;
-	virtual Size2 get_screen_size(int p_screen=0) const=0;
-	virtual Point2 get_window_position() const=0;
-	virtual void set_window_position(const Point2& p_position)=0;
+
+	virtual int get_screen_count() const{ return 1; }
+	virtual int get_current_screen() const { return 0; }
+	virtual void set_current_screen(int p_screen) { }
+	virtual Point2 get_screen_position(int p_screen=0)  { return Point2(); }
+	virtual Size2 get_screen_size(int p_screen=0) const { return get_window_size(); }
+	virtual Point2 get_window_position() const { return Vector2(); }
+	virtual void set_window_position(const Point2& p_position) {}
 	virtual Size2 get_window_size() const=0;
-	virtual void set_window_size(const Size2 p_size)=0;
-	virtual void set_fullscreen(bool p_enabled)=0;
-	virtual bool is_fullscreen() const=0;
-	virtual void set_resizable(bool p_enabled)=0;
-	virtual bool is_resizable() const=0;
-	virtual void set_minimized(bool p_enabled)=0;
-	virtual bool is_minimized() const=0;
-	virtual void set_maximized(bool p_enabled)=0;
-	virtual bool is_maximized() const=0;
-#endif	
+	virtual void set_window_size(const Size2 p_size){}
+	virtual void set_window_fullscreen(bool p_enabled) {}
+	virtual bool is_window_fullscreen() const { return true; }
+	virtual void set_window_resizable(bool p_enabled) {}
+	virtual bool is_window_resizable() const { return false; }
+	virtual void set_window_minimized(bool p_enabled) {}
+	virtual bool is_window_minimized() const { return false; }
+	virtual void set_window_maximized(bool p_enabled) {}
+	virtual bool is_window_maximized() const { return true; }
+
 
 	virtual void set_iterations_per_second(int p_ips);
 	virtual int get_iterations_per_second() const;

+ 1 - 24
core/ustring.cpp

@@ -482,7 +482,7 @@ void String::erase(int p_pos, int p_chars) {
 
 String String::capitalize() const {
 
-	String aux=this->camelcase_to_underscore().replace("_"," ").to_lower();
+	String aux=this->replace("_"," ").to_lower();
 	String cap;
 	for (int i=0;i<aux.get_slice_count(" ");i++) {
 		
@@ -498,29 +498,6 @@ String String::capitalize() const {
 	
 	return cap;
 }
-
-
-String String::camelcase_to_underscore() const {
-	const CharType * cstr = c_str();
-	String newString;
-	const char A = 'A', Z = 'Z';
-	int startIndex = 0;
-
-	for ( int i = 1; i < this->size()-1; i++ ) {
-		bool isCapital = cstr[i] >= A && cstr[i] <= Z;
-
-		if ( isCapital ) {
-			newString += "_" + this->substr(startIndex, i-startIndex);
-			startIndex = i;
-		}
-	}
-
-	newString += "_" + this->substr(startIndex, this->size()-startIndex);
-
-	return newString;
-}
-
-
 int String::get_slice_count(String p_splitter) const{
 
 	if (empty())

+ 2 - 1
core/ustring.h

@@ -149,7 +149,6 @@ public:
 	static double to_double(const CharType* p_str, const CharType **r_end=NULL);
 	static int64_t to_int(const CharType* p_str,int p_len=-1);
 	String capitalize() const;
-	String camelcase_to_underscore() const;
 
 	int get_slice_count(String p_splitter) const;
 	String get_slice(String p_splitter,int p_slice) const;
@@ -226,6 +225,8 @@ public:
 	String(const char *p_str);
 	String(const CharType *p_str,int p_clip_to_len=-1);
 	String(const StrRange& p_range);
+
+
 };
 
 

+ 19 - 19
demos/misc/window_management/control.gd

@@ -35,7 +35,7 @@ func _fixed_process(delta):
 	
 	get_node("Label_Screen_Count").set_text( str("Screen_Count:\n", OS.get_screen_count() ) )
 	
-	get_node("Label_Screen_Current").set_text( str("Screen:\n", OS.get_screen() ) )
+	get_node("Label_Screen_Current").set_text( str("Screen:\n", OS.get_current_screen() ) )
 	
 	get_node("Label_Screen0_Resolution").set_text( str("Screen0 Resolution:\n", OS.get_screen_size() ) )
 	
@@ -54,10 +54,10 @@ func _fixed_process(delta):
 		get_node("Label_Screen1_Resolution").hide()
 		get_node("Label_Screen1_Position").hide()
 		
-	get_node("Button_Fullscreen").set_pressed( OS.is_fullscreen() )
-	get_node("Button_FixedSize").set_pressed( !OS.is_resizable() )
-	get_node("Button_Minimized").set_pressed( OS.is_minimized() )
-	get_node("Button_Maximized").set_pressed( OS.is_maximized() )
+	get_node("Button_Fullscreen").set_pressed( OS.is_window_fullscreen() )
+	get_node("Button_FixedSize").set_pressed( !OS.is_is_window_resizable() )
+	get_node("Button_Minimized").set_pressed( OS.is_is_window_minimized() )
+	get_node("Button_Maximized").set_pressed( OS.is_is_window_maximized() )
 	get_node("Button_Mouse_Grab").set_pressed( Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED )
 
 
@@ -137,39 +137,39 @@ func _on_Button_Resize_pressed():
 
 
 func _on_Button_Screen0_pressed():
-	OS.set_screen(0)
+	OS.set_current_screen(0)
 
 
 func _on_Button_Screen1_pressed():
-	OS.set_screen(1)
+	OS.set_current_screen(1)
 
 
 func _on_Button_Fullscreen_pressed():
-	if(OS.is_fullscreen()):
-		OS.set_fullscreen(false)
+	if(OS.is_window_fullscreen()):
+		OS.set_window_fullscreen(false)
 	else:
-		OS.set_fullscreen(true)
+		OS.set_window_fullscreen(true)
 
 
 func _on_Button_FixedSize_pressed():
-	if(OS.is_resizable()):
-		OS.set_resizable(false)
+	if(OS.is_window_resizable()):
+		OS.set_window_resizable(false)
 	else:
-		OS.set_resizable(true)
+		OS.set_window_resizable(true)
 
 
 func _on_Button_Minimized_pressed():
-	if(OS.is_minimized()):
-		OS.set_minimized(false)
+	if(OS.is_window_minimized()):
+		OS.set_window_minimized(false)
 	else:
-		OS.set_minimized(true)
+		OS.set_window_minimized(true)
 
 
 func _on_Button_Maximized_pressed():
-	if(OS.is_maximized()):
-		OS.set_maximized(false)
+	if(OS.is_window_maximized()):
+		OS.set_window_maximized(false)
 	else:
-		OS.set_maximized(true)
+		OS.set_window_maximized(true)
 
 
 func _on_Button_Mouse_Grab_pressed():

+ 1 - 0
drivers/windows/dir_access_windows.h

@@ -65,6 +65,7 @@ public:
 	virtual bool list_dir_begin(); ///< This starts dir listing
 	virtual String get_next();
 	virtual bool current_is_dir() const;
+	virtual bool current_is_hidden() const;
 	virtual void list_dir_end(); ///<
 
 	virtual int get_drive_count();

+ 188 - 0
platform/windows/os_windows.cpp

@@ -171,6 +171,8 @@ void OS_Windows::initialize_core() {
 	last_button_state=0;
 
 	//RedirectIOToConsole();
+	maximized=false;
+	minimized=false;
 
 	ThreadWindows::make_default();	
 	SemaphoreWindows::make_default();	
@@ -1007,6 +1009,23 @@ void OS_Windows::process_joysticks() {
 	};
 };
 
+
+BOOL CALLBACK OS_Windows::MonitorEnumProc(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor,  LPARAM dwData) {
+	OS_Windows *self=(OS_Windows*)OS::get_singleton();
+	MonitorInfo minfo;
+	minfo.hMonitor=hMonitor;
+	minfo.hdcMonitor=hdcMonitor;
+	minfo.rect.pos.x=lprcMonitor->left;
+	minfo.rect.pos.y=lprcMonitor->top;
+	minfo.rect.size.x=lprcMonitor->right - lprcMonitor->left;
+	minfo.rect.size.y=lprcMonitor->bottom - lprcMonitor->top;
+
+	self->monitor_info.push_back(minfo);
+
+	return TRUE;
+}
+
+
 void OS_Windows::initialize(const VideoMode& p_desired,int p_video_driver,int p_audio_driver) {
 
 
@@ -1045,6 +1064,9 @@ void OS_Windows::initialize(const VideoMode& p_desired,int p_video_driver,int p_
 	}
 	
 	
+	EnumDisplayMonitors(NULL,NULL,MonitorEnumProc,0);
+
+	print_line("DETECTED MONITORS: "+itos(monitor_info.size()));
 	if (video_mode.fullscreen) {
 
 		DEVMODE current;
@@ -1475,6 +1497,172 @@ void OS_Windows::get_fullscreen_mode_list(List<VideoMode> *p_list,int p_screen)
 	
 }
 
+int OS_Windows::get_screen_count() const {
+
+	return monitor_info.size();
+}
+int OS_Windows::get_current_screen() const{
+
+	HMONITOR monitor = MonitorFromWindow(hWnd,MONITOR_DEFAULTTONEAREST);
+	for(int i=0;i<monitor_info.size();i++) {
+		if (monitor_info[i].hMonitor==monitor)
+			return i;
+	}
+
+	return 0;
+}
+void OS_Windows::set_current_screen(int p_screen){
+
+	ERR_FAIL_INDEX(p_screen,monitor_info.size());
+
+	Vector2 ofs = get_window_position() - get_screen_position(get_current_screen());
+	set_window_position(ofs+get_screen_position(p_screen));
+
+}
+
+Point2 OS_Windows::get_screen_position(int p_screen) const{
+
+	ERR_FAIL_INDEX_V(p_screen,monitor_info.size(),Point2());
+	return Vector2( monitor_info[p_screen].rect.pos );
+
+}
+Size2 OS_Windows::get_screen_size(int p_screen) const{
+
+	ERR_FAIL_INDEX_V(p_screen,monitor_info.size(),Point2());
+	return Vector2( monitor_info[p_screen].rect.size );
+
+}
+Point2 OS_Windows::get_window_position() const{
+
+	RECT r;
+	GetWindowRect(hWnd,&r);
+	return Point2(r.left,r.top);
+}
+void OS_Windows::set_window_position(const Point2& p_position){
+
+	RECT r;
+	GetWindowRect(hWnd,&r);
+	MoveWindow(hWnd,p_position.x,p_position.y,r.right-r.left,r.bottom-r.top,TRUE);
+
+}
+Size2 OS_Windows::get_window_size() const{
+
+	RECT r;
+	GetWindowRect(hWnd,&r);
+	return Vector2(r.right-r.left,r.bottom-r.top);
+
+}
+void OS_Windows::set_window_size(const Size2 p_size){
+
+	RECT r;
+	GetWindowRect(hWnd,&r);
+	MoveWindow(hWnd,r.left,r.top,p_size.x,p_size.y,TRUE);
+
+}
+void OS_Windows::set_window_fullscreen(bool p_enabled){
+
+	if (video_mode.fullscreen==p_enabled)
+		return;
+
+	if (p_enabled) {
+
+		GetWindowRect(hWnd,&pre_fs_rect);
+
+		int cs = get_current_screen();
+		Point2 pos = get_screen_position(cs);
+		Size2 size = get_screen_size(cs);
+		RECT WindowRect;
+		WindowRect.left = pos.x;
+		WindowRect.top = pos.y;
+		WindowRect.bottom = pos.y+size.y;
+		WindowRect.right = pos.x+size.x;
+
+		DWORD dwExStyle=WS_EX_APPWINDOW;
+		DWORD dwStyle=WS_POPUP;
+
+		AdjustWindowRectEx(&WindowRect, dwStyle, FALSE, dwExStyle);
+
+		video_mode.fullscreen=true;
+		video_mode.width=size.x;
+		video_mode.height=size.y;
+
+
+	} else {
+
+		DWORD dwExStyle=WS_EX_APPWINDOW | WS_EX_WINDOWEDGE;
+		DWORD dwStyle=WS_OVERLAPPEDWINDOW;
+		if (!video_mode.resizable) {
+			dwStyle &= ~WS_THICKFRAME;
+			dwStyle &= ~WS_MAXIMIZEBOX;
+		}
+		AdjustWindowRectEx(&pre_fs_rect, dwStyle, FALSE, dwExStyle);
+		video_mode.fullscreen=false;
+		video_mode.width=pre_fs_rect.right-pre_fs_rect.left;
+		video_mode.height=pre_fs_rect.bottom-pre_fs_rect.top;
+
+	}
+
+
+}
+bool OS_Windows::is_window_fullscreen() const{
+
+	return video_mode.fullscreen;
+}
+void OS_Windows::set_window_resizable(bool p_enabled){
+
+	if (video_mode.fullscreen || video_mode.resizable==p_enabled)
+		return;
+
+	GetWindowRect(hWnd,&pre_fs_rect);
+	DWORD dwExStyle=WS_EX_APPWINDOW | WS_EX_WINDOWEDGE;
+	DWORD dwStyle=WS_OVERLAPPEDWINDOW;
+	if (!p_enabled) {
+		dwStyle &= ~WS_THICKFRAME;
+		dwStyle &= ~WS_MAXIMIZEBOX;
+	}
+	AdjustWindowRectEx(&pre_fs_rect, dwStyle, FALSE, dwExStyle);
+	video_mode.resizable=p_enabled;
+
+}
+bool OS_Windows::is_window_resizable() const{
+
+	return video_mode.resizable;
+}
+void OS_Windows::set_window_minimized(bool p_enabled){
+
+	if (p_enabled) {
+		maximized=false;
+		minimized=true;
+		ShowWindow(hWnd,SW_MINIMIZE);
+	} else {
+		ShowWindow(hWnd,SW_RESTORE);
+		maximized=false;
+		minimized=false;
+	}
+}
+bool OS_Windows::is_window_minimized() const{
+
+	return minimized;
+
+}
+void OS_Windows::set_window_maximized(bool p_enabled){
+
+	if (p_enabled) {
+		maximized=true;
+		minimized=false;
+		ShowWindow(hWnd,SW_MAXIMIZE);
+	} else {
+		ShowWindow(hWnd,SW_RESTORE);
+		maximized=false;
+		minimized=false;
+	}
+}
+bool OS_Windows::is_window_maximized() const{
+
+	return maximized;
+}
+
+
 void OS_Windows::print_error(const char* p_function,const char* p_file,int p_line,const char *p_code,const char*p_rationale,ErrorType p_type) {
 
 	HANDLE hCon=GetStdHandle(STD_OUTPUT_HANDLE);

+ 35 - 1
platform/windows/os_windows.h

@@ -86,7 +86,7 @@ class OS_Windows : public OS {
 	uint64_t ticks_start;
 	uint64_t ticks_per_second;
 
-	bool minimized;
+
         bool old_invalid;
         bool outside;
 	int old_x,old_y;
@@ -196,6 +196,22 @@ protected:
 	};
 	Map<ProcessID, ProcessInfo>* process_map;
 
+	struct MonitorInfo {
+		HMONITOR hMonitor;
+		HDC hdcMonitor;
+		Rect2 rect;
+
+
+	};
+
+	RECT pre_fs_rect;
+	Vector<MonitorInfo> monitor_info;
+	bool maximized;
+	bool minimized;
+
+	static BOOL CALLBACK MonitorEnumProc(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor,  LPARAM dwData);
+
+
 public:
 	LRESULT WndProc(HWND	hWnd,UINT uMsg,	WPARAM	wParam,	LPARAM	lParam);
 
@@ -218,6 +234,24 @@ public:
 	virtual VideoMode get_video_mode(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_current_screen() const;
+	virtual void set_current_screen(int p_screen);
+	virtual Point2 get_screen_position(int p_screen=0) const;
+	virtual Size2 get_screen_size(int p_screen=0) const;
+	virtual Point2 get_window_position() const;
+	virtual void set_window_position(const Point2& p_position);
+	virtual Size2 get_window_size() const;
+	virtual void set_window_size(const Size2 p_size);
+	virtual void set_window_fullscreen(bool p_enabled);
+	virtual bool is_window_fullscreen() const;
+	virtual void set_window_resizable(bool p_enabled);
+	virtual bool is_window_resizable() const;
+	virtual void set_window_minimized(bool p_enabled);
+	virtual bool is_window_minimized() const;
+	virtual void set_window_maximized(bool p_enabled);
+	virtual bool is_window_maximized() const;
+
 	virtual MainLoop *get_main_loop() const;
 
 	virtual String get_name();

+ 18 - 18
platform/x11/os_x11.cpp

@@ -36,7 +36,7 @@
 #include "servers/physics/physics_server_sw.h"
 
 #include "X11/Xutil.h"
-#ifdef NEW_WM_API
+
 #include "X11/Xatom.h"
 #include "X11/extensions/Xinerama.h"
 // ICCCM
@@ -46,7 +46,7 @@
 #define _NET_WM_STATE_REMOVE	0L	// remove/unset property
 #define _NET_WM_STATE_ADD	1L	// add/set property
 #define _NET_WM_STATE_TOGGLE	2L	// toggle property
-#endif
+
 #include "main/main.h"
 
 
@@ -187,7 +187,8 @@ void OS_X11::initialize(const VideoMode& p_desired,int p_video_driver,int p_audi
 		visual_server =memnew(VisualServerWrapMT(visual_server,get_render_thread_mode()==RENDER_SEPARATE_THREAD));
 	}
 
-#ifndef NEW_WM_API
+#if 1
+	// NEW_WM_API
 	// borderless fullscreen window mode
 	if (current_videomode.fullscreen) {
 	// needed for lxde/openbox, possibly others
@@ -299,9 +300,8 @@ void OS_X11::initialize(const VideoMode& p_desired,int p_video_driver,int p_audi
 	/* set the name and class hints for the window manager to use */
 	classHint = XAllocClassHint();
 	if (classHint) {
-		char wmclass[] = "Godot";
-		classHint->res_name = wmclass;
-		classHint->res_class = wmclass;
+		classHint->res_name = "Godot";
+		classHint->res_class = "Godot";
 	}
 	XSetClassHint(x11_display, x11_window, classHint);
 	XFree(classHint);
@@ -552,7 +552,7 @@ void OS_X11::get_fullscreen_mode_list(List<VideoMode> *p_list,int p_screen) cons
 
 }
 
-#ifdef NEW_WM_API
+//#ifdef NEW_WM_API
 #if 0
 // Just now not needed. Can be used for a possible OS.set_border(bool) method
 void OS_X11::set_wm_border(bool p_enabled) {
@@ -598,7 +598,7 @@ int OS_X11::get_screen_count() const {
 	return count;
 }
 
-int OS_X11::get_screen() const {
+int OS_X11::get_current_screen() const {
         int x,y;
         Window child;
         XTranslateCoordinates( x11_display, x11_window, DefaultRootWindow(x11_display), 0, 0, &x, &y, &child);
@@ -613,7 +613,7 @@ int OS_X11::get_screen() const {
 	return 0;
 }
 
-void OS_X11::set_screen(int p_screen) {
+void OS_X11::set_current_screen(int p_screen) {
 	int count = get_screen_count();
 	if(p_screen >= count) return;
 		
@@ -730,18 +730,18 @@ void OS_X11::set_window_size(const Size2 p_size) {
 	XResizeWindow(x11_display, x11_window, p_size.x, p_size.y);
 }
 
-void OS_X11::set_fullscreen(bool p_enabled) {
+void OS_X11::set_window_fullscreen(bool p_enabled) {
 	set_wm_fullscreen(p_enabled);
 	current_videomode.fullscreen = p_enabled;
 
 	visual_server->init();
 }
 
-bool OS_X11::is_fullscreen() const {
+bool OS_X11::is_window_fullscreen() const {
 	return current_videomode.fullscreen;
 }
 
-void OS_X11::set_resizable(bool p_enabled) {
+void OS_X11::set_window_resizable(bool p_enabled) {
 	XSizeHints *xsh;
 	xsh = XAllocSizeHints();
 	xsh->flags = p_enabled ? 0L : PMinSize | PMaxSize;
@@ -758,11 +758,11 @@ void OS_X11::set_resizable(bool p_enabled) {
 	current_videomode.resizable = p_enabled;
 }
 
-bool OS_X11::is_resizable() const {
+bool OS_X11::is_window_resizable() const {
 	return current_videomode.resizable;
 }
 
-void OS_X11::set_minimized(bool p_enabled) {
+void OS_X11::set_window_minimized(bool p_enabled) {
         // Using ICCCM -- Inter-Client Communication Conventions Manual
         XEvent xev;
         Atom wm_change = XInternAtom(x11_display, "WM_CHANGE_STATE", False);
@@ -791,7 +791,7 @@ void OS_X11::set_minimized(bool p_enabled) {
 	XSendEvent(x11_display, DefaultRootWindow(x11_display), False, SubstructureRedirectMask | SubstructureNotifyMask, &xev);	
 }
 
-bool OS_X11::is_minimized() const {
+bool OS_X11::is_window_minimized() const {
 	// Using ICCCM -- Inter-Client Communication Conventions Manual
         Atom property = XInternAtom(x11_display,"WM_STATE", True);
         Atom type;
@@ -823,7 +823,7 @@ bool OS_X11::is_minimized() const {
 	return false;
 }
 
-void OS_X11::set_maximized(bool p_enabled) {
+void OS_X11::set_window_maximized(bool p_enabled) {
 	// Using EWMH -- Extended Window Manager Hints 
 	XEvent xev;
 	Atom wm_state = XInternAtom(x11_display, "_NET_WM_STATE", False);
@@ -844,7 +844,7 @@ void OS_X11::set_maximized(bool p_enabled) {
 	maximized = p_enabled;
 }
 
-bool OS_X11::is_maximized() const {
+bool OS_X11::is_window_maximized() const {
 	// Using EWMH -- Extended Window Manager Hints
         Atom property = XInternAtom(x11_display,"_NET_WM_STATE",False );
         Atom type;
@@ -889,7 +889,7 @@ bool OS_X11::is_maximized() const {
 
 	return false;
 }
-#endif
+
 
 InputModifierState OS_X11::get_key_modifier_state(unsigned int p_x11_state) {
 	

+ 14 - 14
platform/x11/os_x11.h

@@ -159,12 +159,12 @@ class OS_X11 : public OS_Unix {
 	int joystick_count;
 	Joystick joysticks[JOYSTICKS_MAX];
 
-#ifdef NEW_WM_API
+
 	unsigned int capture_idle;
 	bool maximized;
 	//void set_wm_border(bool p_enabled);
 	void set_wm_fullscreen(bool p_enabled);
-#endif
+
 
 protected:
 
@@ -220,25 +220,25 @@ public:
 	virtual VideoMode get_video_mode(int p_screen=0) const;
 	virtual void get_fullscreen_mode_list(List<VideoMode> *p_list,int p_screen=0) const;
 
-#ifdef NEW_WM_API
+
 	virtual int get_screen_count() const;
-	virtual int get_screen() const;
-	virtual void set_screen(int p_screen);
+	virtual int get_current_screen() const;
+	virtual void set_current_screen(int p_screen);
 	virtual Point2 get_screen_position(int p_screen=0) const;
 	virtual Size2 get_screen_size(int p_screen=0) const;
 	virtual Point2 get_window_position() const;
 	virtual void set_window_position(const Point2& p_position);
 	virtual Size2 get_window_size() const;
 	virtual void set_window_size(const Size2 p_size);
-	virtual void set_fullscreen(bool p_enabled);
-	virtual bool is_fullscreen() const;
-	virtual void set_resizable(bool p_enabled);
-	virtual bool is_resizable() const;
-	virtual void set_minimized(bool p_enabled);
-	virtual bool is_minimized() const;
-	virtual void set_maximized(bool p_enabled);
-	virtual bool is_maximized() const;
-#endif
+	virtual void set_window_fullscreen(bool p_enabled);
+	virtual bool is_window_fullscreen() const;
+	virtual void set_window_resizable(bool p_enabled);
+	virtual bool is_window_resizable() const;
+	virtual void set_window_minimized(bool p_enabled);
+	virtual bool is_window_minimized() const;
+	virtual void set_window_maximized(bool p_enabled);
+	virtual bool is_window_maximized() const;
+
 	virtual void move_window_to_foreground();
 
 	void run();

+ 2 - 2
tools/editor/io_plugins/editor_import_collada.cpp

@@ -1361,9 +1361,9 @@ Error ColladaImport::_create_mesh_surfaces(Ref<Mesh>& p_mesh,const Map<String,Co
 					if(md.vertices[vertex_src_id].sources.has("NORMAL")){
 						//has normals 
 						normals.resize(vlen);
-						std::cout << "has normals" << std::endl;
+						//std::cout << "has normals" << std::endl;
 						String normal_src_id = md.vertices[vertex_src_id].sources["NORMAL"];
-						std::cout << "normals source: "<< normal_src_id.utf8().get_data() <<std::endl;
+						//std::cout << "normals source: "<< normal_src_id.utf8().get_data() <<std::endl;
 						ERR_FAIL_COND_V(!md.sources.has(normal_src_id),ERR_INVALID_DATA);
 
 						const Collada::MeshData::Source *m=&md.sources[normal_src_id];