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(core_window_t *, core_window_t*); | ||||||
| 		bool available(native_window_type); | 		bool available(native_window_type); | ||||||
| 
 | 
 | ||||||
| 		core_window_t* create_root(core_window_t* owner, bool nested, rectangle, const appearance&, widget*); | 		core_window_t* create_root(core_window_t*, 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_widget(core_window_t*, const rectangle&, bool is_lite, widget*); | ||||||
| 		core_window_t* create_frame(core_window_t* parent, const rectangle&, 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, native_window); | ||||||
| 		bool insert_frame(core_window_t* frame, core_window_t*); | 		bool insert_frame(core_window_t* frame, core_window_t*); | ||||||
| 		void close(core_window_t*); | 		void close(core_window_t*); | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| /*
 | /*
 | ||||||
|  *	A Form Implementation |  *	A Form Implementation | ||||||
|  *	Nana C++ Library(http://www.nanapro.org)
 |  *	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.  |  *	Distributed under the Boost Software License, Version 1.0.  | ||||||
|  *	(See accompanying file LICENSE_1_0.txt or copy at  |  *	(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> | 	class form: public widget_object<category::root_tag, drawerbase::form::trigger, detail::events_root_extension> | ||||||
| 	{ | 	{ | ||||||
| 	public: | 	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.
 | 		/// 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
 | 		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> | 	class nested_form : public widget_object<category::root_tag, drawerbase::form::trigger, detail::events_root_extension> | ||||||
| 	{ | 	{ | ||||||
| 	public: | 	public: | ||||||
| 		typedef ::nana::appear appear; | 		using appear = ::nana::appear; | ||||||
| 
 | 
 | ||||||
| 		nested_form(const form&, const rectangle& = {}, const appearance& = {}); | 		nested_form(const form&, const rectangle& = {}, const appearance& = {}); | ||||||
| 		nested_form(const nested_form&, const rectangle& = {}, const appearance& = {}); | 		nested_form(const nested_form&, const rectangle& = {}, const appearance& = {}); | ||||||
|  | |||||||
| @ -1320,6 +1320,7 @@ namespace detail | |||||||
| 					arg.ignore = false; | 					arg.ignore = false; | ||||||
| 					brock.emit(event_code::shortkey, msgwnd, arg, true, &context); | 					brock.emit(event_code::shortkey, msgwnd, arg, true, &context); | ||||||
| 				} | 				} | ||||||
|  | 				def_window_proc = true; | ||||||
| 				break; | 				break; | ||||||
| 			case WM_SYSKEYDOWN: | 			case WM_SYSKEYDOWN: | ||||||
| 				if(brock.whether_keyboard_shortkey() == false) | 				if(brock.whether_keyboard_shortkey() == false) | ||||||
| @ -1340,6 +1341,7 @@ namespace detail | |||||||
| 					else if(brock.get_menu()) | 					else if(brock.get_menu()) | ||||||
| 						brock.remove_menu(); | 						brock.remove_menu(); | ||||||
| 				} | 				} | ||||||
|  | 				def_window_proc = true; | ||||||
| 				break; | 				break; | ||||||
| 			case WM_SYSKEYUP: | 			case WM_SYSKEYUP: | ||||||
| 				if(brock.set_keyboard_shortkey(false) == false) | 				if(brock.set_keyboard_shortkey(false) == false) | ||||||
| @ -1356,6 +1358,7 @@ namespace detail | |||||||
| 						brock.emit(event_code::key_release, msgwnd, arg, true, &context); | 						brock.emit(event_code::key_release, msgwnd, arg, true, &context); | ||||||
| 					} | 					} | ||||||
| 				} | 				} | ||||||
|  | 				def_window_proc = true; | ||||||
| 				break; | 				break; | ||||||
| 			case WM_KEYDOWN: | 			case WM_KEYDOWN: | ||||||
| 				if(msgwnd->flags.enabled) | 				if(msgwnd->flags.enabled) | ||||||
|  | |||||||
| @ -198,12 +198,12 @@ namespace nana | |||||||
| 
 | 
 | ||||||
| 				unsigned vcur() const | 				unsigned vcur() const | ||||||
| 				{ | 				{ | ||||||
| 					return attr_.vcur; | 					return static_cast<unsigned>(attr_.vcur); | ||||||
| 				} | 				} | ||||||
| 
 | 
 | ||||||
| 				void resize() | 				void resize() | ||||||
| 				{ | 				{ | ||||||
| 					this->_m_mk_slider_pos_by_value(); | 					_m_mk_slider_pos_by_value(); | ||||||
| 					attr_.adorn_pos = attr_.pos; | 					attr_.adorn_pos = attr_.pos; | ||||||
| 				} | 				} | ||||||
| 
 | 
 | ||||||
| @ -338,16 +338,18 @@ namespace nana | |||||||
| 
 | 
 | ||||||
| 				unsigned move_step(bool forward) | 				unsigned move_step(bool forward) | ||||||
| 				{ | 				{ | ||||||
| 					unsigned cmpvalue = attr_.vcur; | 					unsigned cmpvalue = static_cast<unsigned>(attr_.vcur); | ||||||
|  | 					auto value = cmpvalue; | ||||||
| 					if(forward) | 					if(forward) | ||||||
| 					{ | 					{ | ||||||
| 						if(attr_.vcur) | 						if (value) | ||||||
| 							--attr_.vcur; | 							--value; | ||||||
| 					} | 					} | ||||||
| 					else if(attr_.vcur < attr_.vmax) | 					else if (value < attr_.vmax) | ||||||
| 						++attr_.vcur; | 						++value; | ||||||
| 
 | 
 | ||||||
| 					if(cmpvalue != attr_.vcur) | 					attr_.vcur = value; | ||||||
|  | 					if (cmpvalue != value) | ||||||
| 					{ | 					{ | ||||||
| 						_m_mk_slider_pos_by_value(); | 						_m_mk_slider_pos_by_value(); | ||||||
| 						draw(); | 						draw(); | ||||||
| @ -436,32 +438,29 @@ namespace nana | |||||||
| 					return static_cast<int>(_m_scale() * attr_.vcur / attr_.vmax); | 					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()) | 					if(_m_scale()) | ||||||
| 					{ | 					{ | ||||||
| 						auto cmpvalue = attr_.vcur; | 						auto cmpvalue = static_cast<int>(attr_.vcur); | ||||||
| 						attr_.vcur = static_cast<unsigned>(attr_.pos * attr_.vmax / _m_scale()); | 						attr_.vcur = (attr_.pos * attr_.vmax / _m_scale()); | ||||||
| 						if (cmpvalue != attr_.vcur) | 						if (cmpvalue != static_cast<int>(attr_.vcur)) | ||||||
| 							_m_emit_value_changed(); | 							_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; | 					attr_.pos = double(_m_scale()) * attr_.vcur / attr_.vmax; | ||||||
| 
 | 
 | ||||||
| 					if(slider_state_.trace == slider_state_.TraceNone) | 					if(slider_state_.trace == slider_state_.TraceNone) | ||||||
| 						attr_.adorn_pos = attr_.pos; | 						attr_.adorn_pos = attr_.pos; | ||||||
| 					 |  | ||||||
| 					return static_cast<int>(attr_.pos); |  | ||||||
| 				} | 				} | ||||||
| 
 | 
 | ||||||
| 				unsigned _m_value_by_pos(double pos) const | 				unsigned _m_value_by_pos(double pos) const | ||||||
| 				{ | 				{ | ||||||
| 					if(_m_scale()) | 					if(_m_scale()) | ||||||
| 						return static_cast<int>(pos * attr_.vmax / _m_scale()); | 						return static_cast<unsigned>(pos * attr_.vmax / _m_scale()); | ||||||
| 					return 0; | 					return 0; | ||||||
| 				} | 				} | ||||||
| 
 | 
 | ||||||
| @ -548,7 +547,7 @@ namespace nana | |||||||
| 					style dir; | 					style dir; | ||||||
| 					unsigned border; | 					unsigned border; | ||||||
| 					unsigned vmax; | 					unsigned vmax; | ||||||
| 					unsigned vcur; | 					double vcur; | ||||||
| 					double		pos; | 					double		pos; | ||||||
| 					bool		is_draw_adorn; | 					bool		is_draw_adorn; | ||||||
| 					double		adorn_pos; | 					double		adorn_pos; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 qPCR4vir
						qPCR4vir