Merge branch 'hotfixes-1.0' into develop
This commit is contained in:
commit
57bd96a6ca
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
|
@ -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