Merge remote-tracking branch 'nana/develop' into develop_nana
This commit is contained in:
		
						commit
						be864669da
					
				
							
								
								
									
										127
									
								
								CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										127
									
								
								CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,127 @@ | ||||
| # CMake configuration for Nana | ||||
| # Author: Andrew Kornilov(https://github.com/ierofant) | ||||
| # Contributor: | ||||
| #	Robert Hauck - Enable support for PNG/Freetype | ||||
| 
 | ||||
| project(nana) | ||||
| cmake_minimum_required(VERSION 2.8) | ||||
| 
 | ||||
| 
 | ||||
| #Select platform automatically | ||||
| if(WIN32) | ||||
| 	add_definitions(-DNANA_WINDOWS) | ||||
| 	add_definitions(-DPLATFORM_SPEC_HPP=<nana/detail/win32/platform_spec.hpp>) | ||||
| 
 | ||||
| 	#Test if it is MINGW | ||||
| 	if(MINGW) | ||||
| 		add_definitions(-DNANA_MINGW) | ||||
| 		add_definitions(-DSTD_CODECVT_NOT_SUPPORTED) | ||||
| 		option(NANA_THREAD_NOT_SUPPORTED "Use this flag if MinGW version is older than 4.8.1" ON) | ||||
| 		if(NANA_THREAD_NOT_SUPPORTED) | ||||
| 			add_definitions(-DSTD_THREAD_NOT_SUPPORTED) | ||||
| 		endif() | ||||
| 	endif() | ||||
| endif() | ||||
| if(UNIX) | ||||
| 	add_definitions(-DNANA_LINUX) | ||||
| 	add_definitions(-DNANA_X11) | ||||
| 	add_definitions(-DPLATFORM_SPEC_HPP=<nana/detail/linux_X11/platform_spec.hpp>) | ||||
| 	add_definitions(-DSTD_CODECVT_NOT_SUPPORTED) | ||||
| endif() | ||||
| 
 | ||||
| 
 | ||||
| #Global MSVC definitions | ||||
| if(WIN32) | ||||
| 	if(MSVC) | ||||
| 		option(WIN32_USE_MP "Set to ON to build nana with the /MP option (Visual Studio 2005 and above)." ON) | ||||
| 		if(WIN32_USE_MP) | ||||
| 			set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") | ||||
| 		endif() | ||||
| 		 | ||||
| 		# More MSVC specific compilation flags | ||||
| 		add_definitions(-D_SCL_SECURE_NO_WARNINGS) | ||||
| 		add_definitions(-D_CRT_SECURE_NO_DEPRECATE) | ||||
| 	endif(MSVC) | ||||
| endif(WIN32) | ||||
| 
 | ||||
| 
 | ||||
| #Unicode | ||||
| option(NANA_UNICODE "Use Unicode Character Set" ON) | ||||
| if(NANA_UNICODE) | ||||
| 	add_definitions(-DNANA_UNICODE) | ||||
| 	if(WIN32) | ||||
| 		add_definitions(-DUNICODE -D_UNICODE) | ||||
| 	endif() | ||||
| endif() | ||||
| 
 | ||||
| 
 | ||||
| #Find PNG | ||||
| if(UNIX) | ||||
| 	find_package(Freetype) | ||||
| 	if (FREETYPE_FOUND) | ||||
| 		include_directories( ${FREETYPE_INCLUDE_DIRS}) | ||||
| 	endif() | ||||
| endif() | ||||
| 
 | ||||
| option(NANA_ENABLE_PNG "Enable the use of PNG" ON) | ||||
| if(NANA_ENABLE_PNG) | ||||
| 	add_definitions(-DNANA_ENABLE_PNG) | ||||
| 
 | ||||
| 	option(NANA_LIBPNG "Use the included libpng" ON) | ||||
| 	if(NANA_LIBPNG) | ||||
| 		add_definitions(-DNANA_LIBPNG) | ||||
| 	else() | ||||
| 		find_package(PNG) | ||||
| 		if (PNG_FOUND) | ||||
| 			include_directories( ${PNG_INCLUDE_DIRS}) | ||||
| 		endif() | ||||
| 	endif() | ||||
| endif() | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| #Copy our new config.hpp (with removed defines) | ||||
| execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_SOURCE_DIR}/build/cmake/config.hpp ${CMAKE_SOURCE_DIR}/include/nana/) | ||||
| 
 | ||||
| 
 | ||||
| set(NANA_SOURCE_DIR ${CMAKE_SOURCE_DIR}/source) | ||||
| set(NANA_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/include) | ||||
| 
 | ||||
| if(CMAKE_COMPILER_IS_GNUCXX) | ||||
| 	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall") | ||||
| endif(CMAKE_COMPILER_IS_GNUCXX) | ||||
| 
 | ||||
| include_directories(${NANA_INCLUDE_DIR}) | ||||
| aux_source_directory(${NANA_SOURCE_DIR} NANA_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/detail NANA_DETAIL_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/filesystem NANA_FILESYSTEM_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/audio NANA_AUDIO_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/audio/detail NANA_AUDIO_DETAIL_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/gui NANA_GUI_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/gui/detail NANA_GUI_DETAIL_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/gui/widgets NANA_GUI_WIDGETS_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/gui/widgets/skeletons NANA_GUI_WIDGETS_SKELETONS_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/paint NANA_PAINT_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/paint/detail NANA_PAINT_DETAIL_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/system NANA_SYSTEM_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/threads NANA_THREADS_SOURCE) | ||||
| 
 | ||||
| add_library(${PROJECT_NAME} ${NANA_SOURCE} | ||||
| 							${NANA_DETAIL_SOURCE} | ||||
| 							${NANA_FILESYSTEM_SOURCE} | ||||
| 							${NANA_AUDIO_SOURCE} | ||||
| 							${NANA_AUDIO_DETAIL_SOURCE} | ||||
| 							${NANA_GUI_SOURCE} | ||||
| 							${NANA_GUI_DETAIL_SOURCE} | ||||
| 							${NANA_GUI_WIDGETS_SOURCE} | ||||
| 							${NANA_GUI_WIDGETS_SKELETONS_SOURCE} | ||||
| 							${NANA_PAINT_SOURCE} | ||||
| 							${NANA_PAINT_DETAIL_SOURCE} | ||||
| 							${NANA_SYSTEM_SOURCE} | ||||
| 							${NANA_THREADS_SOURCE}) | ||||
| 
 | ||||
| 
 | ||||
| install(TARGETS ${PROJECT_NAME} | ||||
| 			ARCHIVE DESTINATION lib | ||||
| 			LIBRARY DESTINATION lib) | ||||
| install(DIRECTORY ${NANA_INCLUDE_DIR}/nana DESTINATION include) | ||||
| @ -1,50 +0,0 @@ | ||||
| # CMake configuration for Nana | ||||
| # Author: ierofant(https://github.com/ierofant) | ||||
| 
 | ||||
| project(nana) | ||||
| cmake_minimum_required(VERSION 2.8) | ||||
| 
 | ||||
| string(REGEX REPLACE "/[^/]*$" "" CMAKE_SOURCE_DIR ${CMAKE_SOURCE_DIR}) | ||||
| string(REGEX REPLACE "/[^/]*$" "" CMAKE_SOURCE_DIR ${CMAKE_SOURCE_DIR}) | ||||
| 
 | ||||
| set(NANA_SOURCE_DIR ${CMAKE_SOURCE_DIR}/source) | ||||
| set(NANA_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/include) | ||||
| 
 | ||||
| if(CMAKE_COMPILER_IS_GNUCXX) | ||||
| 	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall") | ||||
| endif(CMAKE_COMPILER_IS_GNUCXX) | ||||
| 
 | ||||
| include_directories(${NANA_INCLUDE_DIR}) | ||||
| aux_source_directory(${NANA_SOURCE_DIR} NANA_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/detail NANA_DETAIL_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/filesystem NANA_FILESYSTEM_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/audio NANA_AUDIO_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/audio/detail NANA_AUDIO_DETAIL_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/gui NANA_GUI_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/gui/detail NANA_GUI_DETAIL_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/gui/widgets NANA_GUI_WIDGETS_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/gui/widgets/skeletons NANA_GUI_WIDGETS_SKELETONS_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/paint NANA_PAINT_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/paint/detail NANA_PAINT_DETAIL_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/system NANA_SYSTEM_SOURCE) | ||||
| aux_source_directory(${NANA_SOURCE_DIR}/threads NANA_THREADS_SOURCE) | ||||
| 
 | ||||
| add_library(${PROJECT_NAME} ${NANA_SOURCE} | ||||
| 							${NANA_DETAIL_SOURCE} | ||||
| 							${NANA_FILESYSTEM_SOURCE} | ||||
| 							${NANA_AUDIO_SOURCE} | ||||
| 							${NANA_AUDIO_DETAIL_SOURCE} | ||||
| 							${NANA_GUI_SOURCE} | ||||
| 							${NANA_GUI_DETAIL_SOURCE} | ||||
| 							${NANA_GUI_WIDGETS_SOURCE} | ||||
| 							${NANA_GUI_WIDGETS_SKELETONS_SOURCE} | ||||
| 							${NANA_PAINT_SOURCE} | ||||
| 							${NANA_PAINT_DETAIL_SOURCE} | ||||
| 							${NANA_SYSTEM_SOURCE} | ||||
| 							${NANA_THREADS_SOURCE}) | ||||
| 
 | ||||
| 
 | ||||
| install(TARGETS ${PROJECT_NAME} | ||||
| 			ARCHIVE DESTINATION lib | ||||
| 			LIBRARY DESTINATION lib) | ||||
| install(DIRECTORY ${NANA_INCLUDE_DIR}/nana DESTINATION include) | ||||
							
								
								
									
										18
									
								
								build/cmake/config.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								build/cmake/config.hpp
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,18 @@ | ||||
| /*
 | ||||
|  *	Nana Configuration | ||||
|  *	Nana C++ Library(http://www.nanapro.org)
 | ||||
|  *	Copyright(C) 2003-2014 Jinhao(cnjinhao@hotmail.com) | ||||
|  * | ||||
|  *	Distributed under the Boost Software License, Version 1.0. | ||||
|  *	(See accompanying file LICENSE_1_0.txt or copy at | ||||
|  *	http://www.boost.org/LICENSE_1_0.txt)
 | ||||
|  * | ||||
|  *	@file: nana/config.hpp | ||||
|  */ | ||||
| 
 | ||||
| #ifndef NANA_CONFIG_HPP | ||||
| #define NANA_CONFIG_HPP | ||||
| 
 | ||||
| //All defines have been moved to the CMakelists.txt in the root directory.
 | ||||
| 
 | ||||
| #endif	//NANA_CONFIG_HPP
 | ||||
| @ -118,9 +118,9 @@ namespace detail | ||||
| 		bool available(core_window_t *, core_window_t*); | ||||
| 		bool available(native_window_type); | ||||
| 
 | ||||
| 		core_window_t* create_root(core_window_t* owner, bool nested, rectangle, const appearance&, widget*); | ||||
| 		core_window_t* create_widget(core_window_t* parent, const rectangle&, bool is_lite, widget*); | ||||
| 		core_window_t* create_frame(core_window_t* parent, const rectangle&, widget*); | ||||
| 		core_window_t* create_root(core_window_t*, bool nested, rectangle, const appearance&, widget*); | ||||
| 		core_window_t* create_widget(core_window_t*, const rectangle&, bool is_lite, widget*); | ||||
| 		core_window_t* create_frame(core_window_t*, const rectangle&, widget*); | ||||
| 		bool insert_frame(core_window_t* frame, native_window); | ||||
| 		bool insert_frame(core_window_t* frame, core_window_t*); | ||||
| 		void close(core_window_t*); | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| /*
 | ||||
|  *	A Form Implementation | ||||
|  *	Nana C++ Library(http://www.nanapro.org)
 | ||||
|  *	Copyright(C) 2003-2014 Jinhao(cnjinhao@hotmail.com) | ||||
|  *	Copyright(C) 2003-2015 Jinhao(cnjinhao@hotmail.com) | ||||
|  * | ||||
|  *	Distributed under the Boost Software License, Version 1.0.  | ||||
|  *	(See accompanying file LICENSE_1_0.txt or copy at  | ||||
| @ -37,7 +37,7 @@ namespace nana | ||||
| 	class form: public widget_object<category::root_tag, drawerbase::form::trigger, detail::events_root_extension> | ||||
| 	{ | ||||
| 	public: | ||||
| 		typedef ::nana::appear appear; | ||||
| 		using appear = ::nana::appear; | ||||
| 
 | ||||
| 		/// Creates a window at the point and size specified by rect, and with the specified appearance. Creates a form owned by the desktop.
 | ||||
| 		form(const rectangle& = API::make_center(300, 200), const appearance& = {});	//Default constructor
 | ||||
| @ -53,7 +53,7 @@ namespace nana | ||||
| 	class nested_form : public widget_object<category::root_tag, drawerbase::form::trigger, detail::events_root_extension> | ||||
| 	{ | ||||
| 	public: | ||||
| 		typedef ::nana::appear appear; | ||||
| 		using appear = ::nana::appear; | ||||
| 
 | ||||
| 		nested_form(const form&, const rectangle& = {}, const appearance& = {}); | ||||
| 		nested_form(const nested_form&, const rectangle& = {}, const appearance& = {}); | ||||
|  | ||||
| @ -1320,6 +1320,7 @@ namespace detail | ||||
| 					arg.ignore = false; | ||||
| 					brock.emit(event_code::shortkey, msgwnd, arg, true, &context); | ||||
| 				} | ||||
| 				def_window_proc = true; | ||||
| 				break; | ||||
| 			case WM_SYSKEYDOWN: | ||||
| 				if(brock.whether_keyboard_shortkey() == false) | ||||
| @ -1340,6 +1341,7 @@ namespace detail | ||||
| 					else if(brock.get_menu()) | ||||
| 						brock.remove_menu(); | ||||
| 				} | ||||
| 				def_window_proc = true; | ||||
| 				break; | ||||
| 			case WM_SYSKEYUP: | ||||
| 				if(brock.set_keyboard_shortkey(false) == false) | ||||
| @ -1356,6 +1358,7 @@ namespace detail | ||||
| 						brock.emit(event_code::key_release, msgwnd, arg, true, &context); | ||||
| 					} | ||||
| 				} | ||||
| 				def_window_proc = true; | ||||
| 				break; | ||||
| 			case WM_KEYDOWN: | ||||
| 				if(msgwnd->flags.enabled) | ||||
|  | ||||
| @ -198,12 +198,12 @@ namespace nana | ||||
| 
 | ||||
| 				unsigned vcur() const | ||||
| 				{ | ||||
| 					return attr_.vcur; | ||||
| 					return static_cast<unsigned>(attr_.vcur); | ||||
| 				} | ||||
| 
 | ||||
| 				void resize() | ||||
| 				{ | ||||
| 					this->_m_mk_slider_pos_by_value(); | ||||
| 					_m_mk_slider_pos_by_value(); | ||||
| 					attr_.adorn_pos = attr_.pos; | ||||
| 				} | ||||
| 
 | ||||
| @ -338,16 +338,18 @@ namespace nana | ||||
| 
 | ||||
| 				unsigned move_step(bool forward) | ||||
| 				{ | ||||
| 					unsigned cmpvalue = attr_.vcur; | ||||
| 					unsigned cmpvalue = static_cast<unsigned>(attr_.vcur); | ||||
| 					auto value = cmpvalue; | ||||
| 					if(forward) | ||||
| 					{ | ||||
| 						if(attr_.vcur) | ||||
| 							--attr_.vcur; | ||||
| 						if (value) | ||||
| 							--value; | ||||
| 					} | ||||
| 					else if(attr_.vcur < attr_.vmax) | ||||
| 						++attr_.vcur; | ||||
| 					else if (value < attr_.vmax) | ||||
| 						++value; | ||||
| 
 | ||||
| 					if(cmpvalue != attr_.vcur) | ||||
| 					attr_.vcur = value; | ||||
| 					if (cmpvalue != value) | ||||
| 					{ | ||||
| 						_m_mk_slider_pos_by_value(); | ||||
| 						draw(); | ||||
| @ -436,32 +438,29 @@ namespace nana | ||||
| 					return static_cast<int>(_m_scale() * attr_.vcur / attr_.vmax); | ||||
| 				} | ||||
| 
 | ||||
| 				unsigned _m_mk_slider_value_by_pos() | ||||
| 				void _m_mk_slider_value_by_pos() | ||||
| 				{ | ||||
| 					if(_m_scale()) | ||||
| 					{ | ||||
| 						auto cmpvalue = attr_.vcur; | ||||
| 						attr_.vcur = static_cast<unsigned>(attr_.pos * attr_.vmax / _m_scale()); | ||||
| 						if (cmpvalue != attr_.vcur) | ||||
| 						auto cmpvalue = static_cast<int>(attr_.vcur); | ||||
| 						attr_.vcur = (attr_.pos * attr_.vmax / _m_scale()); | ||||
| 						if (cmpvalue != static_cast<int>(attr_.vcur)) | ||||
| 							_m_emit_value_changed(); | ||||
| 					} | ||||
| 					return attr_.vcur; | ||||
| 				} | ||||
| 
 | ||||
| 				int _m_mk_slider_pos_by_value() | ||||
| 				void _m_mk_slider_pos_by_value() | ||||
| 				{ | ||||
| 					attr_.pos = double(_m_scale()) * attr_.vcur / attr_.vmax; | ||||
| 
 | ||||
| 					if(slider_state_.trace == slider_state_.TraceNone) | ||||
| 						attr_.adorn_pos = attr_.pos; | ||||
| 					 | ||||
| 					return static_cast<int>(attr_.pos); | ||||
| 				} | ||||
| 
 | ||||
| 				unsigned _m_value_by_pos(double pos) const | ||||
| 				{ | ||||
| 					if(_m_scale()) | ||||
| 						return static_cast<int>(pos * attr_.vmax / _m_scale()); | ||||
| 						return static_cast<unsigned>(pos * attr_.vmax / _m_scale()); | ||||
| 					return 0; | ||||
| 				} | ||||
| 
 | ||||
| @ -548,7 +547,7 @@ namespace nana | ||||
| 					style dir; | ||||
| 					unsigned border; | ||||
| 					unsigned vmax; | ||||
| 					unsigned vcur; | ||||
| 					double vcur; | ||||
| 					double		pos; | ||||
| 					bool		is_draw_adorn; | ||||
| 					double		adorn_pos; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 qPCR4vir
						qPCR4vir