Merge branch 'develop'

This commit is contained in:
Jinhao 2015-12-08 01:54:13 +08:00
commit 42a861b902
49 changed files with 562 additions and 1177 deletions

3
.gitignore vendored
View File

@ -5,6 +5,8 @@ Thumbs.db
bii/build/*
bii/cmake/*
bii/deps/*
build/vc2013-bkl/*
build/makefile-bkl/*
*.obj
*.exe
*.pdb
@ -38,3 +40,4 @@ CMakeCache.txt
CMakeFiles/
cmake_install.cmake
*.DS_Store
.idea/

View File

@ -4,48 +4,17 @@
# Robert Hauck - Enable support for PNG/Freetype
# Qiangqiang Wu - Add biicode support
# set compile flags
if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall")
endif(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
# move this to the end ??
if(BIICODE)
# prepare BII_LIB_SRC
set(LIB_SRC ${BII_LIB_SRC})
foreach(cpp ${BII_LIB_SRC})
if(${cpp} MATCHES "/detail/(win32|linux_X11)/.+$")
list(APPEND trash_files ${cpp})
endif()
endforeach()
list(REMOVE_ITEM BII_LIB_SRC ${trash_files})
if(WIN32)
file(GLOB_RECURSE platform_files "*/detail/win32/*")
list(APPEND BII_LIB_SRC ${platform_files})
elseif(APPLE)
file(GLOB_RECURSE platform_files "*/detail/macos_X11/*")
list(APPEND BII_LIB_SRC ${platform_files})
elseif(UNIX)
file(GLOB_RECURSE platform_files "*/detail/linux_X11/*")
list(APPEND BII_LIB_SRC ${platform_files})
else()
message(FATAL_ERROR "Only Windows and Unix are supported for the moment (Mac OS is experimental)")
endif()
# set compile flags
if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall")
endif(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
# we'll use the default config file so we can iliminate the following macro definitions
if(MSVC)
# More MSVC specific compilation flags
add_definitions(-D_SCL_SECURE_NO_WARNINGS)
add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
if(MSVC14)
add_definitions(-DSTD_CODECVT_NOT_SUPPORTED)
else()
add_definitions(-DNOT_IMPLEMENTED_KEYWORD_noexcept)
endif()
endif()
add_biicode_targets()
return()
@ -54,69 +23,35 @@ endif()
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>)
if(MSVC14)
add_definitions(-DSTD_CODECVT_NOT_SUPPORTED)
else()
add_definitions(-DNOT_IMPLEMENTED_KEYWORD_noexcept)
endif()
#Test if it is MINGW
if(MINGW)
add_definitions(-DNANA_MINGW)
add_definitions(-DSTD_CODECVT_NOT_SUPPORTED)
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.8.1")
option(NANA_THREAD_NOT_SUPPORTED "Use this flag if MinGW version is older than 4.8.1" ON)
endif()
endif()
if(NANA_THREAD_NOT_SUPPORTED)
add_definitions(-DSTD_THREAD_NOT_SUPPORTED)
endif()
endif()
endif()
if(APPLE)
add_definitions(-DNANA_MACOS)
add_definitions(-DNANA_X11)
add_definitions(-DPLATFORM_SPEC_HPP=<nana/detail/macos_X11/platform_spec.hpp>)
add_definitions(-DSTD_CODECVT_NOT_SUPPORTED)
include_directories(/opt/X11/include/)
elseif(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)
option(USE_UNICODE "Use Unicode Character Set")
if(USE_UNICODE)
add_definitions(-DNANA_UNICODE)
if(WIN32)
add_definitions(-DUNICODE -D_UNICODE)
endif()
endif()
#Find PNG
if(APPLE)
add_definitions(-DAPPLE)
include_directories(/opt/X11/include/)
elseif(UNIX)
add_definitions(-Dlinux)
endif()
if(UNIX)
find_package(Freetype)
if (FREETYPE_FOUND)
@ -124,30 +59,42 @@ if(UNIX)
endif()
endif()
option(NANA_ENABLE_PNG "Enable the use of PNG" ON)
if(NANA_ENABLE_PNG)
add_definitions(-DNANA_ENABLE_PNG)
if(WIN32)
add_definitions(-DWIN32)
if(MINGW)
add_definitions(-DMINGW)
endif()
endif()
option(NANA_LIBPNG "Use the included libpng" ON)
if(NANA_LIBPNG)
add_definitions(-DNANA_LIBPNG)
else()
#Find PNG
option(ENABLE_PNG "Enable the use of PNG")
option(LIBPNG_FROM_OS "Use libpng from operating system.")
if(ENABLE_PNG)
add_definitions(-DNANA_ENABLE_PNG)
if(LIBPNG_FROM_OS)
find_package(PNG)
if (PNG_FOUND)
include_directories( ${PNG_INCLUDE_DIRS})
add_definitions(-DUSE_LIBPNG_FROM_OS)
endif()
endif()
endif()
#Find JPEG
option(ENABLE_JPEG "Enable the use of JPEG")
option(LIBJPEG_FROM_OS "Use libjpeg from operating system.")
if(ENABLE_JPEG)
add_definitions(-DNANA_ENABLE_JPEG)
if(LIBJPEG_FROM_OS)
find_package(JPEG)
if (JPEG_FOUND)
include_directories( ${JPEG_INCLUDE_DIRS})
add_definitions(-DUSE_LIBJPEG_FROM_OS)
endif()
endif()
endif()
#Copy our new config.hpp (with removed defines)
execute_process(COMMAND ${CMAKE_COMMAND}
-E copy_if_different
${CMAKE_CURRENT_SOURCE_DIR}/build/cmake/config.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/nana/)
if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall")
endif(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
set(NANA_SOURCE_DIR ${CMAKE_SOURCE_DIR}/source)
set(NANA_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/include)

4
build/bakefile/readme.md Normal file
View File

@ -0,0 +1,4 @@
## Instructions:
1.
2.

View File

@ -1,18 +0,0 @@
/*
* 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

View File

@ -49,14 +49,16 @@
<Unit filename="../../source/charset.cpp" />
<Unit filename="../../source/datetime.cpp" />
<Unit filename="../../source/deploy.cpp" />
<Unit filename="../../source/detail/platform_spec_selector.cpp" />
<Unit filename="../../source/detail/platform_spec_posix.cpp" />
<Unit filename="../../source/detail/platform_spec_windows.cpp" />
<Unit filename="../../source/filesystem/file_iterator.cpp" />
<Unit filename="../../source/filesystem/fs_utility.cpp" />
<Unit filename="../../source/gui/animation.cpp" />
<Unit filename="../../source/gui/basis.cpp" />
<Unit filename="../../source/gui/detail/basic_window.cpp" />
<Unit filename="../../source/gui/detail/bedrock_pi.cpp" />
<Unit filename="../../source/gui/detail/bedrock_selector.cpp" />
<Unit filename="../../source/gui/detail/bedrock_posix.cpp" />
<Unit filename="../../source/gui/detail/bedrock_windows.cpp" />
<Unit filename="../../source/gui/detail/color_schemes.cpp" />
<Unit filename="../../source/gui/detail/drawer.cpp" />
<Unit filename="../../source/gui/detail/element_store.cpp" />

View File

@ -1,305 +0,0 @@
# This file was automatically generated by bakefile.
#
# Any manual changes will be lost if it is regenerated,
# modify the source .bkl file instead if possible.
# You may define standard make variables such as CFLAGS or
# CXXFLAGS to affect the build. For example, you could use:
#
# make CXXFLAGS=-g
#
# to build with debug information. The full list of variables
# that can be used by this makefile is:
# AR, CC, CFLAGS, CPPFLAGS, CXX, CXXFLAGS, LD, LDFLAGS, MAKE, RANLIB.
# You may also specify config=Debug|Release
# or their corresponding lower case variants on make command line to select
# the corresponding default flags values.
ifeq ($(config),debug)
override config := Debug
endif
ifeq ($(config),release)
override config := Release
endif
ifeq ($(config),Debug)
override CPPFLAGS += -DDEBUG
override CFLAGS += -g -O0
override CXXFLAGS += -g -O0
override LDFLAGS += -g
else ifeq ($(config),Release)
override CPPFLAGS += -DNDEBUG
override CFLAGS += -O2
override CXXFLAGS += -O2
else ifneq (,$(config))
$(warning Unknown configuration "$(config)")
endif
# Use "make RANLIB=''" for platforms without ranlib.
RANLIB ?= ranlib
CC := cc
CXX := c++
# The directory for the build files, may be overridden on make command line.
builddir = .
ifneq ($(builddir),.)
_builddir := $(if $(findstring $(abspath $(builddir)),$(builddir)),,../../../)$(builddir)/../build/makefile/
_builddir_error := $(shell mkdir -p $(_builddir) 2>&1)
$(if $(_builddir_error),$(error Failed to create build directory: $(_builddir_error)))
endif
all: $(_builddir)libnana.a
$(_builddir)libnana.a: $(_builddir)nana_any.o $(_builddir)nana_basic_types.o $(_builddir)nana_charset.o $(_builddir)nana_datetime.o $(_builddir)nana_deploy.o $(_builddir)nana_exceptions.o $(_builddir)nana_internationalization.o $(_builddir)nana_traits.o $(_builddir)nana_unicode_bidi.o $(_builddir)nana_file_iterator.o $(_builddir)nana_fs_utility.o $(_builddir)nana_player.o $(_builddir)nana_audio_device.o $(_builddir)nana_audio_stream.o $(_builddir)nana_buffer_preparation.o $(_builddir)nana_animation.o $(_builddir)nana_basis.o $(_builddir)nana_dragger.o $(_builddir)nana_drawing.o $(_builddir)nana_effects.o $(_builddir)nana_element.o $(_builddir)nana_filebox.o $(_builddir)nana_layout_utility.o $(_builddir)nana_msgbox.o $(_builddir)nana_notifier.o $(_builddir)nana_place.o $(_builddir)nana_programming_interface.o $(_builddir)nana_screen.o $(_builddir)nana_state_cursor.o $(_builddir)nana_timer.o $(_builddir)nana_tooltip.o $(_builddir)nana_wvl.o $(_builddir)nana_basic_window.o $(_builddir)nana_bedrock_pi.o $(_builddir)nana_color_schemes.o $(_builddir)nana_drawer.o $(_builddir)nana_element_store.o $(_builddir)nana_events_operation.o $(_builddir)nana_native_window_interface.o $(_builddir)nana_window_layout.o $(_builddir)nana_window_manager.o $(_builddir)nana_button.o $(_builddir)nana_categorize.o $(_builddir)nana_checkbox.o $(_builddir)nana_combox.o $(_builddir)nana_date_chooser.o $(_builddir)nana_float_listbox.o $(_builddir)nana_form.o $(_builddir)nana_frame.o $(_builddir)nana_label.o $(_builddir)nana_listbox.o $(_builddir)nana_menubar.o $(_builddir)nana_menu.o $(_builddir)nana_panel.o $(_builddir)nana_picture.o $(_builddir)nana_progress.o $(_builddir)nana_scroll.o $(_builddir)nana_slider.o $(_builddir)nana_spinbox.o $(_builddir)nana_tabbar.o $(_builddir)nana_textbox.o $(_builddir)nana_toolbar.o $(_builddir)nana_treebox.o $(_builddir)nana_widget.o $(_builddir)nana_text_editor.o $(_builddir)nana_gadget.o $(_builddir)nana_graphics.o $(_builddir)nana_image.o $(_builddir)nana_image_process_selector.o $(_builddir)nana_pixel_buffer.o $(_builddir)nana_text_renderer.o $(_builddir)nana_image_process_provider.o $(_builddir)nana_native_paint_interface.o $(_builddir)nana_dataexch.o $(_builddir)nana_platform.o $(_builddir)nana_shared_wrapper.o $(_builddir)nana_timepiece.o $(_builddir)nana_pool.o $(_builddir)nana_platform_spec_selector.o $(_builddir)nana_bedrock_selector.o
$(AR) rcu $@ $(_builddir)nana_any.o $(_builddir)nana_basic_types.o $(_builddir)nana_charset.o $(_builddir)nana_datetime.o $(_builddir)nana_deploy.o $(_builddir)nana_exceptions.o $(_builddir)nana_internationalization.o $(_builddir)nana_traits.o $(_builddir)nana_unicode_bidi.o $(_builddir)nana_file_iterator.o $(_builddir)nana_fs_utility.o $(_builddir)nana_player.o $(_builddir)nana_audio_device.o $(_builddir)nana_audio_stream.o $(_builddir)nana_buffer_preparation.o $(_builddir)nana_animation.o $(_builddir)nana_basis.o $(_builddir)nana_dragger.o $(_builddir)nana_drawing.o $(_builddir)nana_effects.o $(_builddir)nana_element.o $(_builddir)nana_filebox.o $(_builddir)nana_layout_utility.o $(_builddir)nana_msgbox.o $(_builddir)nana_notifier.o $(_builddir)nana_place.o $(_builddir)nana_programming_interface.o $(_builddir)nana_screen.o $(_builddir)nana_state_cursor.o $(_builddir)nana_timer.o $(_builddir)nana_tooltip.o $(_builddir)nana_wvl.o $(_builddir)nana_basic_window.o $(_builddir)nana_bedrock_pi.o $(_builddir)nana_color_schemes.o $(_builddir)nana_drawer.o $(_builddir)nana_element_store.o $(_builddir)nana_events_operation.o $(_builddir)nana_native_window_interface.o $(_builddir)nana_window_layout.o $(_builddir)nana_window_manager.o $(_builddir)nana_button.o $(_builddir)nana_categorize.o $(_builddir)nana_checkbox.o $(_builddir)nana_combox.o $(_builddir)nana_date_chooser.o $(_builddir)nana_float_listbox.o $(_builddir)nana_form.o $(_builddir)nana_frame.o $(_builddir)nana_label.o $(_builddir)nana_listbox.o $(_builddir)nana_menubar.o $(_builddir)nana_menu.o $(_builddir)nana_panel.o $(_builddir)nana_picture.o $(_builddir)nana_progress.o $(_builddir)nana_scroll.o $(_builddir)nana_slider.o $(_builddir)nana_spinbox.o $(_builddir)nana_tabbar.o $(_builddir)nana_textbox.o $(_builddir)nana_toolbar.o $(_builddir)nana_treebox.o $(_builddir)nana_widget.o $(_builddir)nana_text_editor.o $(_builddir)nana_gadget.o $(_builddir)nana_graphics.o $(_builddir)nana_image.o $(_builddir)nana_image_process_selector.o $(_builddir)nana_pixel_buffer.o $(_builddir)nana_text_renderer.o $(_builddir)nana_image_process_provider.o $(_builddir)nana_native_paint_interface.o $(_builddir)nana_dataexch.o $(_builddir)nana_platform.o $(_builddir)nana_shared_wrapper.o $(_builddir)nana_timepiece.o $(_builddir)nana_pool.o $(_builddir)nana_platform_spec_selector.o $(_builddir)nana_bedrock_selector.o
$(RANLIB) $@
$(_builddir)nana_any.o: ../../source/any.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/any.cpp
$(_builddir)nana_basic_types.o: ../../source/basic_types.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/basic_types.cpp
$(_builddir)nana_charset.o: ../../source/charset.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/charset.cpp
$(_builddir)nana_datetime.o: ../../source/datetime.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/datetime.cpp
$(_builddir)nana_deploy.o: ../../source/deploy.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/deploy.cpp
$(_builddir)nana_exceptions.o: ../../source/exceptions.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/exceptions.cpp
$(_builddir)nana_internationalization.o: ../../source/internationalization.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/internationalization.cpp
$(_builddir)nana_traits.o: ../../source/traits.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/traits.cpp
$(_builddir)nana_unicode_bidi.o: ../../source/unicode_bidi.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/unicode_bidi.cpp
$(_builddir)nana_file_iterator.o: ../../source/filesystem/file_iterator.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/filesystem/file_iterator.cpp
$(_builddir)nana_fs_utility.o: ../../source/filesystem/fs_utility.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/filesystem/fs_utility.cpp
$(_builddir)nana_player.o: ../../source/audio/player.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/audio/player.cpp
$(_builddir)nana_audio_device.o: ../../source/audio/detail/audio_device.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/audio/detail/audio_device.cpp
$(_builddir)nana_audio_stream.o: ../../source/audio/detail/audio_stream.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/audio/detail/audio_stream.cpp
$(_builddir)nana_buffer_preparation.o: ../../source/audio/detail/buffer_preparation.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/audio/detail/buffer_preparation.cpp
$(_builddir)nana_animation.o: ../../source/gui/animation.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/animation.cpp
$(_builddir)nana_basis.o: ../../source/gui/basis.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/basis.cpp
$(_builddir)nana_dragger.o: ../../source/gui/dragger.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/dragger.cpp
$(_builddir)nana_drawing.o: ../../source/gui/drawing.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/drawing.cpp
$(_builddir)nana_effects.o: ../../source/gui/effects.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/effects.cpp
$(_builddir)nana_element.o: ../../source/gui/element.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/element.cpp
$(_builddir)nana_filebox.o: ../../source/gui/filebox.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/filebox.cpp
$(_builddir)nana_layout_utility.o: ../../source/gui/layout_utility.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/layout_utility.cpp
$(_builddir)nana_msgbox.o: ../../source/gui/msgbox.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/msgbox.cpp
$(_builddir)nana_notifier.o: ../../source/gui/notifier.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/notifier.cpp
$(_builddir)nana_place.o: ../../source/gui/place.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/place.cpp
$(_builddir)nana_programming_interface.o: ../../source/gui/programming_interface.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/programming_interface.cpp
$(_builddir)nana_screen.o: ../../source/gui/screen.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/screen.cpp
$(_builddir)nana_state_cursor.o: ../../source/gui/state_cursor.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/state_cursor.cpp
$(_builddir)nana_timer.o: ../../source/gui/timer.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/timer.cpp
$(_builddir)nana_tooltip.o: ../../source/gui/tooltip.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/tooltip.cpp
$(_builddir)nana_wvl.o: ../../source/gui/wvl.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/wvl.cpp
$(_builddir)nana_basic_window.o: ../../source/gui/detail/basic_window.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/detail/basic_window.cpp
$(_builddir)nana_bedrock_pi.o: ../../source/gui/detail/bedrock_pi.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/detail/bedrock_pi.cpp
$(_builddir)nana_color_schemes.o: ../../source/gui/detail/color_schemes.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/detail/color_schemes.cpp
$(_builddir)nana_drawer.o: ../../source/gui/detail/drawer.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/detail/drawer.cpp
$(_builddir)nana_element_store.o: ../../source/gui/detail/element_store.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/detail/element_store.cpp
$(_builddir)nana_events_operation.o: ../../source/gui/detail/events_operation.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/detail/events_operation.cpp
$(_builddir)nana_native_window_interface.o: ../../source/gui/detail/native_window_interface.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/detail/native_window_interface.cpp
$(_builddir)nana_window_layout.o: ../../source/gui/detail/window_layout.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/detail/window_layout.cpp
$(_builddir)nana_window_manager.o: ../../source/gui/detail/window_manager.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/detail/window_manager.cpp
$(_builddir)nana_button.o: ../../source/gui/widgets/button.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/button.cpp
$(_builddir)nana_categorize.o: ../../source/gui/widgets/categorize.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/categorize.cpp
$(_builddir)nana_checkbox.o: ../../source/gui/widgets/checkbox.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/checkbox.cpp
$(_builddir)nana_combox.o: ../../source/gui/widgets/combox.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/combox.cpp
$(_builddir)nana_date_chooser.o: ../../source/gui/widgets/date_chooser.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/date_chooser.cpp
$(_builddir)nana_float_listbox.o: ../../source/gui/widgets/float_listbox.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/float_listbox.cpp
$(_builddir)nana_form.o: ../../source/gui/widgets/form.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/form.cpp
$(_builddir)nana_frame.o: ../../source/gui/widgets/frame.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/frame.cpp
$(_builddir)nana_label.o: ../../source/gui/widgets/label.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/label.cpp
$(_builddir)nana_listbox.o: ../../source/gui/widgets/listbox.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/listbox.cpp
$(_builddir)nana_menubar.o: ../../source/gui/widgets/menubar.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/menubar.cpp
$(_builddir)nana_menu.o: ../../source/gui/widgets/menu.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/menu.cpp
$(_builddir)nana_panel.o: ../../source/gui/widgets/panel.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/panel.cpp
$(_builddir)nana_picture.o: ../../source/gui/widgets/picture.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/picture.cpp
$(_builddir)nana_progress.o: ../../source/gui/widgets/progress.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/progress.cpp
$(_builddir)nana_scroll.o: ../../source/gui/widgets/scroll.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/scroll.cpp
$(_builddir)nana_slider.o: ../../source/gui/widgets/slider.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/slider.cpp
$(_builddir)nana_spinbox.o: ../../source/gui/widgets/spinbox.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/spinbox.cpp
$(_builddir)nana_tabbar.o: ../../source/gui/widgets/tabbar.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/tabbar.cpp
$(_builddir)nana_textbox.o: ../../source/gui/widgets/textbox.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/textbox.cpp
$(_builddir)nana_toolbar.o: ../../source/gui/widgets/toolbar.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/toolbar.cpp
$(_builddir)nana_treebox.o: ../../source/gui/widgets/treebox.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/treebox.cpp
$(_builddir)nana_widget.o: ../../source/gui/widgets/widget.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/widget.cpp
$(_builddir)nana_text_editor.o: ../../source/gui/widgets/skeletons/text_editor.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/widgets/skeletons/text_editor.cpp
$(_builddir)nana_gadget.o: ../../source/paint/gadget.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/paint/gadget.cpp
$(_builddir)nana_graphics.o: ../../source/paint/graphics.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/paint/graphics.cpp
$(_builddir)nana_image.o: ../../source/paint/image.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/paint/image.cpp
$(_builddir)nana_image_process_selector.o: ../../source/paint/image_process_selector.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/paint/image_process_selector.cpp
$(_builddir)nana_pixel_buffer.o: ../../source/paint/pixel_buffer.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/paint/pixel_buffer.cpp
$(_builddir)nana_text_renderer.o: ../../source/paint/text_renderer.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/paint/text_renderer.cpp
$(_builddir)nana_image_process_provider.o: ../../source/paint/detail/image_process_provider.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/paint/detail/image_process_provider.cpp
$(_builddir)nana_native_paint_interface.o: ../../source/paint/detail/native_paint_interface.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/paint/detail/native_paint_interface.cpp
$(_builddir)nana_dataexch.o: ../../source/system/dataexch.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/system/dataexch.cpp
$(_builddir)nana_platform.o: ../../source/system/platform.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/system/platform.cpp
$(_builddir)nana_shared_wrapper.o: ../../source/system/shared_wrapper.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/system/shared_wrapper.cpp
$(_builddir)nana_timepiece.o: ../../source/system/timepiece.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/system/timepiece.cpp
$(_builddir)nana_pool.o: ../../source/threads/pool.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/threads/pool.cpp
$(_builddir)nana_platform_spec_selector.o: ../../source/detail/platform_spec_selector.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/detail/platform_spec_selector.cpp
$(_builddir)nana_bedrock_selector.o: ../../source/gui/detail/bedrock_selector.cpp
$(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) -MD -MP -fPIC -DPIC -pthread -I../../include -std=c++0x `pkg-config --cflags freetype2` ../../source/gui/detail/bedrock_selector.cpp
clean:
rm -f $(_builddir)*.o
rm -f $(_builddir)*.d
rm -f $(_builddir)libnana.a
.PHONY: all clean
# Dependencies tracking:
-include *.d

View File

@ -4,6 +4,7 @@ X11, pthread, Xpm, rt, dl, freetype2, Xft, fontconfig, ALSA
Writing a makefile for creating applications with Nana C++ Library
-------------------
```
GCC = g++
NANAPATH = [The folder of Nana C++ Library]
BIN = [The bin file what you want to create.]
@ -28,4 +29,5 @@ $(NANALIB):
clean:
rm -f $(LINKOBJ)
```
-------------------

View File

@ -1,22 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nana", "nana.vcxproj", "{78487472-4F43-5A69-93CC-4FDC4D124241}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{78487472-4F43-5A69-93CC-4FDC4D124241}.Debug|Win32.ActiveCfg = Debug|Win32
{78487472-4F43-5A69-93CC-4FDC4D124241}.Debug|Win32.Build.0 = Debug|Win32
{78487472-4F43-5A69-93CC-4FDC4D124241}.Release|Win32.ActiveCfg = Release|Win32
{78487472-4F43-5A69-93CC-4FDC4D124241}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -1,163 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This file was generated by Bakefile (http://bakefile.org).
Do not modify, all changes will be overwritten! -->
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{78487472-4F43-5A69-93CC-4FDC4D124241}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>nana</RootNamespace>
<ProjectName>nana</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<PropertyGroup />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<MinimalRebuild>false</MinimalRebuild>
<AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<MinimalRebuild>false</MinimalRebuild>
<AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\source\any.cpp" />
<ClCompile Include="..\..\source\basic_types.cpp" />
<ClCompile Include="..\..\source\charset.cpp" />
<ClCompile Include="..\..\source\datetime.cpp" />
<ClCompile Include="..\..\source\deploy.cpp" />
<ClCompile Include="..\..\source\exceptions.cpp" />
<ClCompile Include="..\..\source\internationalization.cpp" />
<ClCompile Include="..\..\source\traits.cpp" />
<ClCompile Include="..\..\source\unicode_bidi.cpp" />
<ClCompile Include="..\..\source\filesystem\file_iterator.cpp" />
<ClCompile Include="..\..\source\filesystem\fs_utility.cpp" />
<ClCompile Include="..\..\source\audio\player.cpp" />
<ClCompile Include="..\..\source\audio\detail\audio_device.cpp" />
<ClCompile Include="..\..\source\audio\detail\audio_stream.cpp" />
<ClCompile Include="..\..\source\audio\detail\buffer_preparation.cpp" />
<ClCompile Include="..\..\source\gui\animation.cpp" />
<ClCompile Include="..\..\source\gui\basis.cpp" />
<ClCompile Include="..\..\source\gui\dragger.cpp" />
<ClCompile Include="..\..\source\gui\drawing.cpp" />
<ClCompile Include="..\..\source\gui\effects.cpp" />
<ClCompile Include="..\..\source\gui\element.cpp" />
<ClCompile Include="..\..\source\gui\filebox.cpp" />
<ClCompile Include="..\..\source\gui\layout_utility.cpp" />
<ClCompile Include="..\..\source\gui\msgbox.cpp" />
<ClCompile Include="..\..\source\gui\notifier.cpp" />
<ClCompile Include="..\..\source\gui\place.cpp" />
<ClCompile Include="..\..\source\gui\programming_interface.cpp" />
<ClCompile Include="..\..\source\gui\screen.cpp" />
<ClCompile Include="..\..\source\gui\state_cursor.cpp" />
<ClCompile Include="..\..\source\gui\timer.cpp" />
<ClCompile Include="..\..\source\gui\tooltip.cpp" />
<ClCompile Include="..\..\source\gui\wvl.cpp" />
<ClCompile Include="..\..\source\gui\detail\basic_window.cpp" />
<ClCompile Include="..\..\source\gui\detail\bedrock_pi.cpp" />
<ClCompile Include="..\..\source\gui\detail\color_schemes.cpp" />
<ClCompile Include="..\..\source\gui\detail\drawer.cpp" />
<ClCompile Include="..\..\source\gui\detail\element_store.cpp" />
<ClCompile Include="..\..\source\gui\detail\events_operation.cpp" />
<ClCompile Include="..\..\source\gui\detail\native_window_interface.cpp" />
<ClCompile Include="..\..\source\gui\detail\window_layout.cpp" />
<ClCompile Include="..\..\source\gui\detail\window_manager.cpp" />
<ClCompile Include="..\..\source\gui\widgets\button.cpp" />
<ClCompile Include="..\..\source\gui\widgets\categorize.cpp" />
<ClCompile Include="..\..\source\gui\widgets\checkbox.cpp" />
<ClCompile Include="..\..\source\gui\widgets\combox.cpp" />
<ClCompile Include="..\..\source\gui\widgets\date_chooser.cpp" />
<ClCompile Include="..\..\source\gui\widgets\float_listbox.cpp" />
<ClCompile Include="..\..\source\gui\widgets\form.cpp" />
<ClCompile Include="..\..\source\gui\widgets\frame.cpp" />
<ClCompile Include="..\..\source\gui\widgets\label.cpp" />
<ClCompile Include="..\..\source\gui\widgets\listbox.cpp" />
<ClCompile Include="..\..\source\gui\widgets\menubar.cpp" />
<ClCompile Include="..\..\source\gui\widgets\menu.cpp" />
<ClCompile Include="..\..\source\gui\widgets\panel.cpp" />
<ClCompile Include="..\..\source\gui\widgets\picture.cpp" />
<ClCompile Include="..\..\source\gui\widgets\progress.cpp" />
<ClCompile Include="..\..\source\gui\widgets\scroll.cpp" />
<ClCompile Include="..\..\source\gui\widgets\slider.cpp" />
<ClCompile Include="..\..\source\gui\widgets\spinbox.cpp" />
<ClCompile Include="..\..\source\gui\widgets\tabbar.cpp" />
<ClCompile Include="..\..\source\gui\widgets\textbox.cpp" />
<ClCompile Include="..\..\source\gui\widgets\toolbar.cpp" />
<ClCompile Include="..\..\source\gui\widgets\treebox.cpp" />
<ClCompile Include="..\..\source\gui\widgets\widget.cpp" />
<ClCompile Include="..\..\source\gui\widgets\skeletons\text_editor.cpp" />
<ClCompile Include="..\..\source\paint\gadget.cpp" />
<ClCompile Include="..\..\source\paint\graphics.cpp" />
<ClCompile Include="..\..\source\paint\image.cpp" />
<ClCompile Include="..\..\source\paint\image_process_selector.cpp" />
<ClCompile Include="..\..\source\paint\pixel_buffer.cpp" />
<ClCompile Include="..\..\source\paint\text_renderer.cpp" />
<ClCompile Include="..\..\source\paint\detail\image_process_provider.cpp" />
<ClCompile Include="..\..\source\paint\detail\native_paint_interface.cpp" />
<ClCompile Include="..\..\source\system\dataexch.cpp" />
<ClCompile Include="..\..\source\system\platform.cpp" />
<ClCompile Include="..\..\source\system\shared_wrapper.cpp" />
<ClCompile Include="..\..\source\system\timepiece.cpp" />
<ClCompile Include="..\..\source\threads\pool.cpp" />
<ClCompile Include="..\..\source\detail\win32\platform_spec.cpp" />
<ClCompile Include="..\..\source\gui\detail\win32\bedrock.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -1,261 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This file was generated by Bakefile (http://bakefile.org).
Do not modify, all changes will be overwritten! -->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\source\any.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\basic_types.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\charset.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\datetime.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\deploy.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\exceptions.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\internationalization.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\traits.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\unicode_bidi.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\filesystem\file_iterator.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\filesystem\fs_utility.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\audio\player.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\audio\detail\audio_device.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\audio\detail\audio_stream.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\audio\detail\buffer_preparation.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\animation.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\basis.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\dragger.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\drawing.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\effects.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\element.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\filebox.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\layout_utility.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\msgbox.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\notifier.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\place.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\programming_interface.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\screen.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\state_cursor.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\timer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\tooltip.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\wvl.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\detail\basic_window.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\detail\bedrock_pi.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\detail\color_schemes.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\detail\drawer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\detail\element_store.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\detail\events_operation.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\detail\native_window_interface.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\detail\window_layout.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\detail\window_manager.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\button.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\categorize.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\checkbox.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\combox.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\date_chooser.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\float_listbox.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\form.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\frame.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\label.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\listbox.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\menubar.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\menu.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\panel.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\picture.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\progress.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\scroll.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\slider.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\spinbox.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\tabbar.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\textbox.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\toolbar.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\treebox.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\widget.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\skeletons\text_editor.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\paint\gadget.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\paint\graphics.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\paint\image.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\paint\image_process_selector.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\paint\pixel_buffer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\paint\text_renderer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\paint\detail\image_process_provider.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\paint\detail\native_paint_interface.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\system\dataexch.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\system\platform.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\system\shared_wrapper.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\system\timepiece.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\threads\pool.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\detail\win32\platform_spec.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\detail\win32\bedrock.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -187,7 +187,7 @@
<ClCompile Include="..\..\source\charset.cpp" />
<ClCompile Include="..\..\source\datetime.cpp" />
<ClCompile Include="..\..\source\deploy.cpp" />
<ClCompile Include="..\..\source\detail\win32\platform_spec.cpp" />
<ClCompile Include="..\..\source\detail\platform_spec_windows.cpp" />
<ClCompile Include="..\..\source\filesystem\filesystem.cpp" />
<ClCompile Include="..\..\source\filesystem\file_iterator.cpp" />
<ClCompile Include="..\..\source\filesystem\fs_utility.cpp" />
@ -195,12 +195,12 @@
<ClCompile Include="..\..\source\gui\basis.cpp" />
<ClCompile Include="..\..\source\gui\detail\basic_window.cpp" />
<ClCompile Include="..\..\source\gui\detail\bedrock_pi.cpp" />
<ClCompile Include="..\..\source\gui\detail\bedrock_windows.cpp" />
<ClCompile Include="..\..\source\gui\detail\color_schemes.cpp" />
<ClCompile Include="..\..\source\gui\detail\drawer.cpp" />
<ClCompile Include="..\..\source\gui\detail\element_store.cpp" />
<ClCompile Include="..\..\source\gui\detail\events_operation.cpp" />
<ClCompile Include="..\..\source\gui\detail\native_window_interface.cpp" />
<ClCompile Include="..\..\source\gui\detail\win32\bedrock.cpp" />
<ClCompile Include="..\..\source\gui\detail\window_layout.cpp" />
<ClCompile Include="..\..\source\gui\detail\window_manager.cpp" />
<ClCompile Include="..\..\source\gui\dragger.cpp" />

View File

@ -25,9 +25,6 @@
<Filter Include="Source Files\nana\detail">
<UniqueIdentifier>{e2569be2-9e68-477d-8b59-e248595de6c7}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\nana\detail\win32">
<UniqueIdentifier>{52ed7f8e-fa48-495e-af1f-4df013205a35}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\nana\filesystem">
<UniqueIdentifier>{87d14798-9015-4162-b9ab-72c741cff063}</UniqueIdentifier>
</Filter>
@ -37,9 +34,6 @@
<Filter Include="Source Files\nana\gui\detail">
<UniqueIdentifier>{85c9c1bb-d87b-4481-bf3c-7425f680a12d}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\nana\gui\detail\win32">
<UniqueIdentifier>{8058b530-86ec-4d72-890d-345aa30db056}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\nana\gui\widgets">
<UniqueIdentifier>{87b124cb-408d-460b-a81b-8a788bbae0d9}</UniqueIdentifier>
</Filter>
@ -114,9 +108,6 @@
<ClCompile Include="..\..\source\audio\player.cpp">
<Filter>Source Files\nana\audio</Filter>
</ClCompile>
<ClCompile Include="..\..\source\detail\win32\platform_spec.cpp">
<Filter>Source Files\nana\detail\win32</Filter>
</ClCompile>
<ClCompile Include="..\..\source\filesystem\filesystem.cpp">
<Filter>Source Files\nana\filesystem</Filter>
</ClCompile>
@ -126,9 +117,6 @@
<ClCompile Include="..\..\source\filesystem\fs_utility.cpp">
<Filter>Source Files\nana\filesystem</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\detail\win32\bedrock.cpp">
<Filter>Source Files\nana\gui\detail\win32</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\detail\basic_window.cpp">
<Filter>Source Files\nana\gui\detail</Filter>
</ClCompile>
@ -339,6 +327,12 @@
<ClCompile Include="..\..\source\gui\widgets\spinbox.cpp">
<Filter>Source Files\nana\gui\widgets</Filter>
</ClCompile>
<ClCompile Include="..\..\source\detail\platform_spec_windows.cpp">
<Filter>Source Files\nana\detail</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\detail\bedrock_windows.cpp">
<Filter>Source Files\nana\gui\detail</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\source\gui\widgets\group.cpp">

View File

@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nana", "nana.vcxproj", "{98091380-2EC4-44B4-82A2-F0A6393BA908}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nana", "nana.vcxproj", "{25B21068-491B-4A9F-B99F-6C27BF31BAAD}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -13,14 +13,14 @@ Global
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{98091380-2EC4-44B4-82A2-F0A6393BA908}.Debug|x64.ActiveCfg = Debug|x64
{98091380-2EC4-44B4-82A2-F0A6393BA908}.Debug|x64.Build.0 = Debug|x64
{98091380-2EC4-44B4-82A2-F0A6393BA908}.Debug|x86.ActiveCfg = Debug|Win32
{98091380-2EC4-44B4-82A2-F0A6393BA908}.Debug|x86.Build.0 = Debug|Win32
{98091380-2EC4-44B4-82A2-F0A6393BA908}.Release|x64.ActiveCfg = Release|x64
{98091380-2EC4-44B4-82A2-F0A6393BA908}.Release|x64.Build.0 = Release|x64
{98091380-2EC4-44B4-82A2-F0A6393BA908}.Release|x86.ActiveCfg = Release|Win32
{98091380-2EC4-44B4-82A2-F0A6393BA908}.Release|x86.Build.0 = Release|Win32
{25B21068-491B-4A9F-B99F-6C27BF31BAAD}.Debug|x64.ActiveCfg = Debug|x64
{25B21068-491B-4A9F-B99F-6C27BF31BAAD}.Debug|x64.Build.0 = Debug|x64
{25B21068-491B-4A9F-B99F-6C27BF31BAAD}.Debug|x86.ActiveCfg = Debug|Win32
{25B21068-491B-4A9F-B99F-6C27BF31BAAD}.Debug|x86.Build.0 = Debug|Win32
{25B21068-491B-4A9F-B99F-6C27BF31BAAD}.Release|x64.ActiveCfg = Release|x64
{25B21068-491B-4A9F-B99F-6C27BF31BAAD}.Release|x64.Build.0 = Release|x64
{25B21068-491B-4A9F-B99F-6C27BF31BAAD}.Release|x86.ActiveCfg = Release|Win32
{25B21068-491B-4A9F-B99F-6C27BF31BAAD}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -181,7 +181,7 @@
<ClCompile Include="..\..\source\charset.cpp" />
<ClCompile Include="..\..\source\datetime.cpp" />
<ClCompile Include="..\..\source\deploy.cpp" />
<ClCompile Include="..\..\source\detail\win32\platform_spec.cpp" />
<ClCompile Include="..\..\source\detail\platform_spec_windows.cpp" />
<ClCompile Include="..\..\source\filesystem\filesystem.cpp" />
<ClCompile Include="..\..\source\filesystem\file_iterator.cpp" />
<ClCompile Include="..\..\source\filesystem\fs_utility.cpp" />
@ -189,12 +189,12 @@
<ClCompile Include="..\..\source\gui\basis.cpp" />
<ClCompile Include="..\..\source\gui\detail\basic_window.cpp" />
<ClCompile Include="..\..\source\gui\detail\bedrock_pi.cpp" />
<ClCompile Include="..\..\source\gui\detail\bedrock_windows.cpp" />
<ClCompile Include="..\..\source\gui\detail\color_schemes.cpp" />
<ClCompile Include="..\..\source\gui\detail\drawer.cpp" />
<ClCompile Include="..\..\source\gui\detail\element_store.cpp" />
<ClCompile Include="..\..\source\gui\detail\events_operation.cpp" />
<ClCompile Include="..\..\source\gui\detail\native_window_interface.cpp" />
<ClCompile Include="..\..\source\gui\detail\win32\bedrock.cpp" />
<ClCompile Include="..\..\source\gui\detail\window_layout.cpp" />
<ClCompile Include="..\..\source\gui\detail\window_manager.cpp" />
<ClCompile Include="..\..\source\gui\dragger.cpp" />

View File

@ -37,18 +37,12 @@
<Filter Include="Source Files\audio\detail">
<UniqueIdentifier>{b3023f5e-2759-409d-b6e8-5ef2fe6601ae}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\detail\win32">
<UniqueIdentifier>{2ce139f3-ef8e-48b7-a82a-68003eac75da}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\gui\detail">
<UniqueIdentifier>{b9f9a5a8-fd1a-4b99-b530-d8a4c45e62ec}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\gui\widgets">
<UniqueIdentifier>{4b04c197-4a1e-41f9-bfa3-d82c18bcad51}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\gui\detail\win32">
<UniqueIdentifier>{cd6e7f3f-fe5b-44c6-ae8d-15554f926055}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\gui\widgets\skeletons">
<UniqueIdentifier>{60f588f2-bdb9-4b1d-9e23-40a73f327283}</UniqueIdentifier>
</Filter>
@ -93,9 +87,6 @@
<ClCompile Include="..\..\source\audio\player.cpp">
<Filter>Source Files\audio</Filter>
</ClCompile>
<ClCompile Include="..\..\source\detail\win32\platform_spec.cpp">
<Filter>Source Files\detail\win32</Filter>
</ClCompile>
<ClCompile Include="..\..\source\filesystem\file_iterator.cpp">
<Filter>Source Files\filesystem</Filter>
</ClCompile>
@ -132,9 +123,6 @@
<ClCompile Include="..\..\source\gui\detail\window_manager.cpp">
<Filter>Source Files\gui\detail</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\detail\win32\bedrock.cpp">
<Filter>Source Files\gui\detail\win32</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\widgets\skeletons\text_editor.cpp">
<Filter>Source Files\gui\widgets\skeletons</Filter>
</ClCompile>
@ -294,5 +282,11 @@
<ClCompile Include="..\..\source\paint\text_renderer.cpp">
<Filter>Source Files\paint</Filter>
</ClCompile>
<ClCompile Include="..\..\source\detail\platform_spec_windows.cpp">
<Filter>Source Files\detail</Filter>
</ClCompile>
<ClCompile Include="..\..\source\gui\detail\bedrock_windows.cpp">
<Filter>Source Files\gui\detail</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -3,7 +3,7 @@
#include <nana/deploy.hpp>
#include <nana/audio/detail/audio_stream.hpp>
#if defined(NANA_MINGW) && defined(STD_THREAD_NOT_SUPPORTED)
#if defined(STD_THREAD_NOT_SUPPORTED)
#include <nana/std_thread.hpp>
#include <nana/std_mutex.hpp>
#include <nana/std_condition_variable.hpp>

View File

@ -1,3 +1,17 @@
/**
* The charset Implementation
* Nana C++ Library(http://www.nanapro.org)
* 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
* http://www.boost.org/LICENSE_1_0.txt)
*
* @file: nana/charset.hpp
*
*
*/
#ifndef NANA_CHARSET_HPP
#define NANA_CHARSET_HPP
#include <string>
@ -13,6 +27,7 @@ namespace nana
{
class charset_encoding_interface;
}
/// An intelligent charset class for character code conversion.
class charset
{

View File

@ -1,7 +1,7 @@
/*
/**
* Nana Configuration
* 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
@ -13,15 +13,52 @@
#ifndef NANA_CONFIG_HPP
#define NANA_CONFIG_HPP
// Select platform ......
// Windows:
#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
#define NANA_WINDOWS
// MINGW ...
#if defined(__MINGW32__) || defined(__MINGW64__) || defined(MINGW)
#define NANA_MINGW
#endif // MINGW
// end Windows
// MacOS: who define APPLE ??
//#define APPLE
#elif defined(APPLE)
#define NANA_MACOS
#define NANA_X11
// how to add this: include_directories(/opt/X11/include/)
// end MacOS
// Linux: (not sure about __GNU__ ??)
#elif (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC)
#define NANA_LINUX
#define NANA_X11
// end Linux
#else
# static_assert(false, "Only Windows and Unix are supported now (Mac OS is experimental)");
#endif // Select platform
#if defined(NANA_LINUX) || defined(NANA_MACOS)
#define NANA_POSIX
#undef NANA_WINDOWS
#endif
// End Select platform ......
// compilers ...
// MSVC++ versions
#if defined(_MSC_VER)
#define _SCL_SECURE_NO_WARNINGS
#define _SCL_SECURE_NO_WARNNGS
#define _CRT_SECURE_NO_DEPRECATE
#pragma warning(disable : 4996)
#if (_MSC_VER < 1900)
// is this a good idea?
#define NOT_IMPLEMENTED_KEYWORD_noexcept
#endif // _MSC_VER < 1900
#if (_MSC_VER == 1900)
// google: break any code that tries to use codecvt<char16_t> or codecvt<char32_t>.
// google: It appears the C++ libs haven't been compiled with native char16_t/char32_t support.
@ -32,38 +69,77 @@
#endif // _MSC_VER == 1900
#endif // _MSVC
//Select platform automatically
#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
//Windows:
#define NANA_WINDOWS 1
//Test if it is MINGW
#if defined(__MINGW32__) || defined(__MINGW64__)
#define NANA_MINGW
#if defined(__clang__)
#if defined(__GLIBCPP__) || defined(__GLIBCXX__)
//<codecvt> is a known issue on libstdc++, it works on libc++
#define STD_CODECVT_NOT_SUPPORTED
#if (__GNUC__ == 4) && ((__GNUC_MINOR__ < 8) || (__GNUC_MINOR__ == 8 && __GNUC_PATCHLEVEL__ < 1))
//Use this flag if MinGW version is older than 4.8.1
#endif
#elif defined(__GNUC__) //GCC
#if defined(__GLIBCPP__) || defined(__GLIBCXX__)
//<codecvt> is a known issue on libstdc++, it works on libc++
#define STD_CODECVT_NOT_SUPPORTED
#endif
#if (__GNUC__ == 4)
#if ((__GNUC_MINOR__ < 8) || (__GNUC_MINOR__ == 8 && __GNUC_PATCHLEVEL__ < 1))
#define STD_THREAD_NOT_SUPPORTED
#endif
#endif
#elif (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC)
//Linux:
#define NANA_LINUX 1
#define NANA_X11 1
#define STD_CODECVT_NOT_SUPPORTED
#else
# static_assert(false, "Only Windows and Unix are supported now (Mac OS is experimental)");
#endif
#if defined(NANA_MINGW) || defined(NANA_LINUX)
#if (__GNUC__ == 4) && (__GNUC_MINOR__ == 8) && (__GNUC_PATCHLEVEL__ <= 1)
//Some functions which are specified in 21.5 Numeric conversions in Strings library have not yet implemented
//boost.thread is preferred
//but if USE_github_com_meganz_mingw_std_threads is enabled,
//boost.thread will be replaced with meganz's mingw-std-threads.
// https://github.com/meganz/mingw-std-threads
//#define USE_github_com_meganz_mingw_std_threads
#endif
#if defined(NANA_MINGW)
//It's a known issue under MinGW
#define STD_NUMERIC_CONVERSIONS_NOT_SUPPORTED
#endif
#if ((__GNUC_MINOR__ < 8) || defined(NANA_MINGW))
#define STD_TO_STRING_NOT_SUPPORTED
#endif
#endif
#endif
//Here defines some flags that tell Nana what features will be supported.
#define NANA_UNICODE
// End compilers ...
// Here defines some flags that tell Nana what features will be supported.
///////////////////
//Support for PNG
// Define the NANA_ENABLE_PNG to enable the support of PNG.
//
//#define NANA_ENABLE_PNG //!
//#define USE_LIBPNG_FROM_OS // Un-Comment it to use libpng from operating system.
#if defined(NANA_ENABLE_PNG)
#if !defined(USE_LIBPNG_FROM_OS)
#define NANA_LIBPNG
#endif
#endif
///////////////////
//Support for JPEG
// Define the NANA_ENABLE_JPEG to enable the support of JPEG.
//
//#define NANA_ENABLE_JPEG //!
//#define USE_LIBJPEG_FROM_OS // Un-Comment it to use libjpeg from operating system.
#if defined(NANA_ENABLE_JPEG)
#if !defined(USE_LIBJPEG_FROM_OS)
#define NANA_LIBJPEG
#endif
#endif
// always define NANA_UNICODE ?? it will be deprecated ?.
#ifndef NANA_UNICODE
#define NANA_UNICODE
#endif
#if defined(NANA_UNICODE) && defined(NANA_WINDOWS)
#ifndef _UNICODE
@ -75,23 +151,5 @@
#endif
#endif
///////////////////
//Support for PNG
// Define the NANA_ENABLE_PNG to enable the support of PNG.
//
//#define NANA_ENABLE_PNG //!
#if defined(NANA_ENABLE_PNG)
#define NANA_LIBPNG //Comment it to use libpng from operating system.
#endif
///////////////////
//Support for JPEG
// Define the NANA_ENABLE_JPEG to enable the support of JPEG.
//
//#define NANA_ENABLE_JPEG //!
#if defined(NANA_ENABLE_JPEG)
#define NANA_LIBJPEG //Comment this whole line to use libjpeg from operating system.
#endif
#endif //NANA_CONFIG_HPP

View File

@ -19,9 +19,7 @@
#include <nana/config.hpp>
#include <nana/charset.hpp>
#if defined(NANA_LINUX) || defined(NANA_MACOS)
#undef NANA_WINDOWS
#endif
//Implement workarounds for GCC/MinGW which version is below 4.8.2
#if defined(STD_NUMERIC_CONVERSIONS_NOT_SUPPORTED)
@ -58,8 +56,23 @@ namespace std
//Workaround for no implemenation of std::stoull in MinGW.
unsigned long long stoull(const std::string&, std::size_t* pos = nullptr, int base = 10);
unsigned long long stoull(const std::wstring&, std::size_t* pos = nullptr, int base = 10);
}
#endif //STD_NUMERIC_CONVERSIONS_NOT_SUPPORTED
#ifdef STD_TO_STRING_NOT_SUPPORTED
namespace std
{
//Workaround for no implemenation of std::to_string/std::to_wstring in MinGW.
std::string to_string(long double);
std::string to_string(double);
std::string to_string(unsigned);
std::string to_string(int);
std::string to_string(long);
std::string to_string(unsigned long);
std::string to_string(long long);
std::string to_string(unsigned long long);
std::string to_string(float);
//Workaround for no implemenation of std::to_wstring in MinGW.
std::wstring to_wstring(long double);
std::wstring to_wstring(double);
std::wstring to_wstring(unsigned);

View File

@ -13,6 +13,8 @@
* This file should not be included by any header files.
*/
#if defined(NANA_LINUX) || defined(NANA_MACOS)
#ifndef NANA_DETAIL_PLATFORM_SPEC_HPP
#define NANA_DETAIL_PLATFORM_SPEC_HPP
@ -323,5 +325,9 @@ namespace detail
}//end namespace nana
// .h ward
#endif
//#if defined(NANA_LINUX) || defined(NANA_MACOS)
#endif

View File

@ -12,6 +12,7 @@
* This file provides basis class and data structrue that required by nana
* This file should not be included by any header files.
*/
#if defined(NANA_WINDOWS)
#ifndef NANA_DETAIL_PLATFORM_SPEC_HPP
#define NANA_DETAIL_PLATFORM_SPEC_HPP
@ -198,4 +199,9 @@ namespace detail
}//end namespace detail
}//end namespace nana
// .h ward
#endif
//#if defined(NANA_WINDOWS)
#endif

View File

@ -38,7 +38,7 @@ namespace filesystem
fileinfo();
#ifdef NANA_WINDOWS
fileinfo(const WIN32_FIND_DATA& wfd);
#elif NANA_LINUX or NANA_MACOS
#elif defined(NANA_POSIX)
fileinfo(const nana::string& filename, const struct stat &);
#endif
nana::string name;

View File

@ -5,7 +5,7 @@
#include <unordered_set>
#include <unordered_map>
#if defined(NANA_MINGW) && defined(STD_THREAD_NOT_SUPPORTED)
#if defined(STD_THREAD_NOT_SUPPORTED)
#include <nana/std_mutex.hpp>
#else
#include <mutex>

View File

@ -430,6 +430,7 @@ namespace nana
bool left_button; ///< mouse left button is pressed?
bool mid_button; ///< mouse middle button is pressed?
bool right_button; ///< mouse right button is pressed?
bool alt; ///< keyboard alt is pressed?
bool shift; ///< keyboard Shift is pressed?
bool ctrl; ///< keyboard Ctrl is pressed?
@ -521,7 +522,7 @@ namespace nana
struct arg_click : public event_arg
{
::nana::window window_handle; ///< A handle to the event window
bool by_mouse; ///< Determines whether the event is emitted by clicking mouse button
const arg_mouse* mouse_args; ///< If it is not null, it refers to the mouse arguments for click event emitted by mouse, nullptr otherwise.
};
/// provides some fundamental events that every widget owns.

View File

@ -17,7 +17,7 @@
#include <nana/traits.hpp>
#include <nana/config.hpp>
#if defined(NANA_MINGW) && defined(STD_THREAD_NOT_SUPPORTED)
#if defined(STD_THREAD_NOT_SUPPORTED)
#include <nana/std_mutex.hpp>
#else
#include <mutex>

View File

@ -106,7 +106,7 @@ namespace detail
//@brief: Delete window handle, the handle type must be a root and a frame.
void destroy_handle(core_window_t*);
void default_icon(const paint::image& small_icon, const paint::image& big_icon);
void default_icon(const paint::image& _small_icon, const paint::image& big_icon);
void icon(core_window_t*, const paint::image& small_icon, const paint::image& big_icon);
//show

View File

@ -113,7 +113,7 @@ namespace API
private:
bool _m_enum_fn(::nana::widget* wd) override
{
return _m_enum_call<Widget>(wd, nullptr);
return _m_enum_call<Widget>(wd);
}
template<typename T, typename std::enable_if<std::is_same<::nana::widget, T>::value>::type* = nullptr>

View File

@ -40,7 +40,9 @@ namespace nana
: arg_tabbar<T>({wdg, v})
{}
bool remove = true;
bool remove = true; ///< determines whether to remove the item
bool close_attach_window = true; ///< determines whether to close the attached window. It is ignored if remove is false
};
namespace drawerbase
@ -51,11 +53,11 @@ namespace nana
struct tabbar_events
: public general_events
{
typedef T value_type;
using value_type = T;
basic_event<arg_tabbar<value_type>> added;
basic_event<arg_tabbar<value_type>> activated;
basic_event<arg_tabbar<value_type>> removed;
basic_event<arg_tabbar_removed<value_type>> removed;
};
class event_agent_interface
@ -64,7 +66,7 @@ namespace nana
virtual ~event_agent_interface() = default;
virtual void added(std::size_t) = 0;
virtual void activated(std::size_t) = 0;
virtual bool removed(std::size_t) = 0;
virtual bool removed(std::size_t, bool & close_attached) = 0;
};
class item_renderer
@ -98,7 +100,7 @@ namespace nana
: public event_agent_interface
{
public:
typedef ::nana::arg_tabbar<T> arg_tabbar;
using arg_tabbar = ::nana::arg_tabbar<T>;
event_agent(::nana::tabbar<T>& tb, DrawerTrigger & dtr)
: tabbar_(tb), drawer_trigger_(dtr)
@ -119,14 +121,16 @@ namespace nana
tabbar_.events().activated.emit(arg_tabbar({ tabbar_, tabbar_[pos]}));
}
bool removed(std::size_t pos) override
bool removed(std::size_t pos, bool & close_attach) override
{
if (pos != npos)
{
::nana::arg_tabbar_removed<T> arg(tabbar_, tabbar_[pos]);
tabbar_.events().removed.emit(arg);
close_attach = arg.close_attach_window;
return arg.remove;
}
close_attach = true;
return true;
}
private:
@ -140,8 +144,6 @@ namespace nana
: public drawer_trigger
{
public:
//enum toolbox_button_t{ButtonAdd, ButtonScroll, ButtonList, ButtonClose}; //deprecated
enum class kits
{
add,
@ -159,10 +161,11 @@ namespace nana
const pat::cloneable<item_renderer> & ext_renderer() const;
void ext_renderer(const pat::cloneable<item_renderer>&);
void set_event_agent(event_agent_interface*);
void push_back(const nana::string&, const nana::any&);
void insert(std::size_t, nana::string&&, nana::any&&);
std::size_t length() const;
bool close_fly(bool);
void relate(size_t, window);
void attach(std::size_t, window);
void erase(std::size_t);
void tab_color(std::size_t, bool is_bgcolor, const ::nana::color&);
void tab_image(size_t, const nana::paint::image&);
void text(std::size_t, const nana::string&);
@ -225,18 +228,6 @@ namespace nana
this->create(wd, rectangle(), visible);
}
tabbar(window wd, const nana::char_t* text, bool visible)
: tabbar(wd, ::nana::string(text), visible)
{
}
tabbar(window wd, const nana::string& text, bool visible)
: tabbar()
{
this->create(wd, rectangle(), visible);
this->caption(text);
}
tabbar(window wd, const rectangle& r = rectangle(), bool visible = true)
: tabbar()
{
@ -253,7 +244,7 @@ namespace nana
return static_cast<value_type&>(this->get_drawer_trigger().at_no_bound_check(pos));
}
void activate(std::size_t pos) /// Activates a tab specified by i.
void activated(std::size_t pos) /// Activates a tab specified by pos.
{
this->get_drawer_trigger().activate(pos);
}
@ -263,23 +254,23 @@ namespace nana
return this->get_drawer_trigger().activated();
}
value_type & at(std::size_t i) const /// Returns i'th element
value_type & at(std::size_t pos) const /// Returns pos'th element
{
return static_cast<value_type&>(this->get_drawer_trigger().at(i));
return static_cast<value_type&>(this->get_drawer_trigger().at(pos));
}
void close_fly(bool fly) /// Draw or not a close button in each tab.
{
if(this->get_drawer_trigger().close_fly(fly))
if (this->get_drawer_trigger().close_fly(fly))
API::refresh_window(this->handle());
}
pat::cloneable<item_renderer>& ext_renderer() const
pat::cloneable<item_renderer>& renderer() const
{
return this->get_drawer_trigger().ext_renderer();
}
void ext_renderer(const pat::cloneable<item_renderer>& ir)
void renderer(const pat::cloneable<item_renderer>& ir)
{
this->get_drawer_trigger().ext_renderer(ir);
}
@ -289,31 +280,73 @@ namespace nana
return this->get_drawer_trigger().length();
}
void push_back(const nana::string& text) /// Append a new item.
tabbar& append(std::string text, window attach_wd, value_type value = {})
{
auto & t = this->get_drawer_trigger();
t.push_back(text, value_type());
return this->append(static_cast<std::wstring>(nana::charset(text, nana::unicode::utf8)), attach_wd);
}
tabbar& append(std::wstring text, window attach_wd, value_type value = {})
{
this->get_drawer_trigger().insert(::nana::npos, std::move(text), std::move(value));
if (attach_wd)
{
auto pos = this->get_drawer_trigger().length();
relate(pos, attach_wd);
}
API::update_window(*this);
return *this;
}
void push_back(nana::string text) /// Append a new item.
{
this->get_drawer_trigger().insert(::nana::npos, std::move(text), value_type());
API::update_window(*this);
}
void insert(std::size_t pos, std::string text, value_type value = {})
{
return this->insert(pos, static_cast<std::wstring>(nana::charset(text, nana::unicode::utf8)), std::move(value));
}
void insert(std::size_t pos, std::wstring text, value_type value = {})
{
if (pos > length())
throw std::out_of_range("tabbar::insert invalid position");
this->get_drawer_trigger().insert(pos, std::move(text), std::move(value));
API::update_window(*this);
}
//deprecated from 1.2.1, removed from 1.3
void relate(std::size_t pos, window wd) /// Binds a window to an item specified by pos, if the item is selected, shows the window, otherwise, hides it.
{
this->get_drawer_trigger().relate(pos, wd);
this->get_drawer_trigger().attach(pos, wd);
}
void tab_bgcolor(std::size_t i, const ::nana::color& clr)
void attach(std::size_t pos, window wd)
{
this->get_drawer_trigger().tab_color(i, true, clr);
this->get_drawer_trigger().attach(pos, wd);
}
void tab_fgcolor(std::size_t i, const ::nana::color& clr)
void erase(std::size_t pos)
{
this->get_drawer_trigger().tab_color(i, false, clr);
this->get_drawer_trigger().erase(pos);
}
void tab_image(std::size_t i, const nana::paint::image& img)
void tab_bgcolor(std::size_t pos, const ::nana::color& clr)
{
this->get_drawer_trigger().tab_image(i, img);
this->get_drawer_trigger().tab_color(pos, true, clr);
}
void tab_fgcolor(std::size_t pos, const ::nana::color& clr)
{
this->get_drawer_trigger().tab_color(pos, false, clr);
}
void tab_image(std::size_t pos, const nana::paint::image& img)
{
this->get_drawer_trigger().tab_image(pos, img);
}
/// Sets buttons of the tabbar's toolbox, refer to notes for more details.
template<typename Add, typename Scroll, typename List, typename Close>

View File

@ -3,10 +3,14 @@
#include <nana/config.hpp>
#if defined(STD_THREAD_NOT_SUPPORTED)
#if defined(USE_github_com_meganz_mingw_std_threads)
#include <mingw.condition_variable.h>
#else
#include <boost/thread/condition_variable.hpp>
namespace std
{
typedef boost::condition_variable condition_variable;
}
#endif
#endif // (USE_github_com_meganz_mingw_std_threads)
#endif // (STD_THREAD_NOT_SUPPORTED)
#endif // NANA_STD_CONDITION_VARIABLE_HPP

View File

@ -3,6 +3,20 @@
#include <nana/config.hpp>
#if defined(STD_THREAD_NOT_SUPPORTED)
#if defined(USE_github_com_meganz_mingw_std_threads)
#include <windows.h>
#include <mutex>
#include <condition_variable>
#include <thread>
#include <pthread.h>
#include <errno.h>
#include <cstdio>
// http://lxr.free-electrons.com/source/include/uapi/asm-generic/errno.h#L53
#define EPROTO 71 /* Protocol error */
#include <mingw.thread.h>
#include <mingw.mutex.h>
#else
#include <boost/thread/mutex.hpp>
#include <boost/thread/recursive_mutex.hpp>
#include <boost/thread/locks.hpp>
@ -18,5 +32,6 @@ namespace std
typedef boost::mutex mutex;
typedef boost::recursive_mutex recursive_mutex;
}
#endif
#endif // (USE_github_com_meganz_mingw_std_threads)
#endif // (STD_THREAD_NOT_SUPPORTED)
#endif // NANA_STD_MUTEX_HPP

View File

@ -3,11 +3,15 @@
#include <nana/config.hpp>
#if defined(STD_THREAD_NOT_SUPPORTED)
#if defined(USE_github_com_meganz_mingw_std_threads)
#include <mingw.thread.h>
#else
#include <boost/thread.hpp>
namespace std
{
typedef boost::thread thread;
}
#endif
#endif // (USE_github_com_meganz_mingw_std_threads)
#endif // (STD_THREAD_NOT_SUPPORTED)
#endif // NANA_STD_THREAD_HPP

View File

@ -61,6 +61,13 @@ namespace std
*pos = (std::size_t)(end - sptr);
return ((int)result);
}
using ::strtof;
using ::strtold;
using ::wcstold;
using ::strtoll;
using ::wcstoll;
using ::strtoull;
using ::wcstoull;
float stof(const std::string& str, std::size_t * pos)
{
@ -287,6 +294,74 @@ namespace std
*pos = (std::size_t)(end - ptr);
return result;
}
}//end namespace std
#endif //STD_NUMERIC_CONVERSIONS_NOT_SUPPORTED
#ifdef STD_TO_STRING_NOT_SUPPORTED
namespace std
{
std::string to_string(double v)
{
std::stringstream ss;
ss << v;
return ss.str();
}
std::string to_string(long double v)
{
std::stringstream ss;
ss << v;
return ss.str();
}
std::string to_string(unsigned v)
{
std::stringstream ss;
ss << v;
return ss.str();
}
std::string to_string(int v)
{
std::stringstream ss;
ss << v;
return ss.str();
}
std::string to_string(long v)
{
std::stringstream ss;
ss << v;
return ss.str();
}
std::string to_string(unsigned long v)
{
std::stringstream ss;
ss << v;
return ss.str();
}
std::string to_string(long long v)
{
std::stringstream ss;
ss << v;
return ss.str();
}
std::string to_string(unsigned long long v)
{
std::stringstream ss;
ss << v;
return ss.str();
}
std::string to_string(float v)
{
std::stringstream ss;
ss << v;
return ss.str();
}
std::wstring to_wstring(double v)
{

View File

@ -13,7 +13,9 @@
*
* http://standards.freedesktop.org/clipboards-spec/clipboards-0.1.txt
*/
#include <nana/detail/platform_spec_selector.hpp>
#if defined(NANA_POSIX) && defined(NANA_X11)
#include <X11/Xlocale.h>
#include <locale>
#include <map>
@ -27,7 +29,7 @@
#include <errno.h>
#include <sstream>
#include "msg_dispatcher.hpp"
#include "x11/msg_dispatcher.hpp"
namespace nana
{
@ -1411,3 +1413,4 @@ namespace detail
}
}//end namespace detail
}//end namespace nana
#endif //NANA_POSIX && NANA_X11

View File

@ -1,22 +0,0 @@
/*
* Platform Specification Selector
* Nana C++ Library(http://www.nanapro.org)
* Copyright(C) 2003-2014 Jinhao(cnjinhao@hotmail.com)
*
* Distributed under the Nana Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://nanapro.org/LICENSE_1_0.txt)
*
* @file: nana/detail/platform_spec_selector.cpp
*
* This file is used to support the Nana project of some cross-platform IDE,
*
*/
#include <nana/config.hpp>
#if defined(NANA_WINDOWS)
#include "win32/platform_spec.cpp"
#elif defined(NANA_LINUX) || defined(NANA_MACOS)
#include "linux_X11/platform_spec.cpp"
#endif

View File

@ -11,7 +11,11 @@
*
* This file provides basis class and data structrue that required by nana
*/
#include <nana/detail/platform_spec_selector.hpp>
#if defined(NANA_WINDOWS)
#include <shellapi.h>
#include <stdexcept>
@ -289,3 +293,5 @@ namespace detail
}
}//end namespace detail
}//end namespace nana
#endif //NANA_WINDOWS

View File

@ -21,7 +21,7 @@
#include <map>
#include <algorithm>
#if defined(NANA_MINGW) && defined(STD_THREAD_NOT_SUPPORTED)
#if defined(STD_THREAD_NOT_SUPPORTED)
#include <nana/std_thread.hpp>
#include <nana/std_mutex.hpp>
#include <nana/std_condition_variable.hpp>
@ -29,7 +29,7 @@
#include <mutex>
#include <condition_variable>
#include <thread>
#endif //NANA_MINGW
#endif // STD_THREAD_NOT_SUPPORTED
namespace nana
{

View File

@ -11,6 +11,7 @@
*/
#include <nana/detail/platform_spec_selector.hpp>
#if defined(NANA_POSIX) && defined(NANA_X11)
#include <nana/gui/detail/bedrock_pi_data.hpp>
#include <nana/gui/detail/event_code.hpp>
#include <nana/system/platform.hpp>
@ -467,8 +468,9 @@ namespace detail
arg.left_button = ((Button1Mask & mask_state) != 0) || (::nana::mouse::left_button == arg.button) ;
arg.right_button = ((Button2Mask & mask_state) != 0) || (::nana::mouse::right_button == arg.button);
arg.mid_button = ((Button3Mask & mask_state) != 0) || (::nana::mouse::middle_button == arg.button);
arg.shift = (ShiftMask & mask_state);
arg.ctrl = (ControlMask & mask_state);
arg.alt = ((Mod1Mask & mask_state) != 0);
arg.shift = ((ShiftMask & mask_state) != 0);
arg.ctrl = ((ControlMask & mask_state) != 0);
}
@ -815,21 +817,24 @@ namespace detail
{
auto retain = msgwnd->together.events_ptr;
arg_mouse arg;
::nana::arg_mouse arg;
assign_arg(arg, msgwnd, message, xevent);
::nana::arg_click click_arg;
//the window_handle of click_arg is used as a flag to determinate whether to emit click event.
click_arg.window_handle = nullptr;
click_arg.mouse_args = &arg;
const bool hit = msgwnd->dimension.is_hit(arg.pos);
bool fire_click = false;
if(msgwnd == pressed_wd)
{
if((arg.button == ::nana::mouse::left_button) && hit)
{
msgwnd->flags.action = mouse_action::over;
arg_click arg;
arg.window_handle = reinterpret_cast<window>(msgwnd);
arg.by_mouse = true;
emit_drawer(&drawer::click, msgwnd, arg, &context);
fire_click = true;
click_arg.window_handle = reinterpret_cast<window>(msgwnd);
emit_drawer(&drawer::click, msgwnd, click_arg, &context);
}
}
@ -845,13 +850,8 @@ namespace detail
arg.evt_code = event_code::mouse_up;
emit_drawer(&drawer::mouse_up, msgwnd, arg, &context);
if(fire_click)
{
arg_click arg;
arg.window_handle = reinterpret_cast<window>(msgwnd);
arg.by_mouse = true;
evt_ptr->click.emit(arg);
}
if(click_arg.window_handle)
evt_ptr->click.emit(click_arg);
if (brock.wd_manager().available(msgwnd))
{
@ -859,13 +859,9 @@ namespace detail
evt_ptr->mouse_up.emit(arg);
}
}
else if(fire_click)
{
arg_click arg;
arg.window_handle = reinterpret_cast<window>(msgwnd);
arg.by_mouse = true;
msgwnd->together.events_ptr->click.emit(arg);
}
else if(click_arg.window_handle)
msgwnd->together.events_ptr->click.emit(click_arg);
brock.wd_manager().do_lazy_refresh(msgwnd, false);
}
pressed_wd = nullptr;
@ -1404,3 +1400,4 @@ namespace detail
}
}//end namespace detail
}//end namespace nana
#endif //NANA_POSIX && NANA_X11

View File

@ -1,23 +0,0 @@
/*
* Bedrock Selector
* Nana C++ Library(http://www.nanapro.org)
* Copyright(C) 2003-2015 Jinhao(cnjinhao@hotmail.com)
*
* Distributed under the Nana Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://nanapro.sourceforge.net/LICENSE_1_0.txt)
*
* @file: nana/gui/detail/bedrock_selector.cpp
*
* This file is used to support the Nana project of some cross-platform IDE,
*
*/
#include <nana/config.hpp>
#if defined(NANA_WINDOWS)
#include "win32/bedrock.cpp"
#elif defined(NANA_LINUX) || defined(NANA_MACOS)
#include "linux_X11/bedrock.cpp"
#endif

View File

@ -12,6 +12,7 @@
*/
#include <nana/detail/platform_spec_selector.hpp>
#if defined(NANA_WINDOWS)
#include <nana/gui/detail/bedrock.hpp>
#include <nana/gui/detail/bedrock_pi_data.hpp>
#include <nana/gui/detail/event_code.hpp>
@ -536,6 +537,7 @@ namespace detail
{
arg.pos.x = pmdec.mouse.x - wd->pos_root.x;
arg.pos.y = pmdec.mouse.y - wd->pos_root.y;
arg.alt = (::GetKeyState(VK_MENU) < 0);
arg.shift = pmdec.mouse.button.shift;
arg.ctrl = pmdec.mouse.button.ctrl;
arg.left_button = pmdec.mouse.button.left;
@ -1001,20 +1003,22 @@ namespace detail
{
auto retain = msgwnd->together.events_ptr;
nana::arg_mouse arg;
::nana::arg_mouse arg;
assign_arg(arg, msgwnd, message, pmdec);
bool fire_click = false;
::nana::arg_click click_arg;
//the window_handle of click_arg is used as a flag to determinate whether to emit click event
click_arg.window_handle = nullptr;
click_arg.mouse_args = &arg;
if (msgwnd->dimension.is_hit(arg.pos))
{
msgwnd->flags.action = mouse_action::over;
if (::nana::mouse::left_button == arg.button)
{
arg_click arg;
arg.window_handle = reinterpret_cast<window>(msgwnd);
arg.by_mouse = true;
emit_drawer(&drawer::click, msgwnd, arg, &context);
fire_click = true;
click_arg.window_handle = reinterpret_cast<window>(msgwnd);
emit_drawer(&drawer::click, msgwnd, click_arg, &context);
}
}
@ -1024,13 +1028,8 @@ namespace detail
arg.evt_code = event_code::mouse_up;
emit_drawer(&drawer::mouse_up, msgwnd, arg, &context);
if (fire_click)
{
arg_click arg;
arg.window_handle = reinterpret_cast<window>(msgwnd);
arg.by_mouse = true;
retain->click.emit(arg);
}
if (click_arg.window_handle)
retain->click.emit(click_arg);
if (brock.wd_manager().available(msgwnd))
{
@ -1038,13 +1037,9 @@ namespace detail
retain->mouse_up.emit(arg);
}
}
else if (fire_click)
{
arg_click arg;
arg.window_handle = reinterpret_cast<window>(msgwnd);
arg.by_mouse = true;
retain->click.emit(arg);
}
else if (click_arg.window_handle)
retain->click.emit(click_arg);
brock.wd_manager().do_lazy_refresh(msgwnd, false);
}
pressed_wd = nullptr;
@ -1900,3 +1895,4 @@ namespace detail
}
}//end namespace detail
}//end namespace nana
#endif //NANA_WINDOWS

View File

@ -14,7 +14,7 @@
#include <nana/gui/detail/native_window_interface.hpp>
#include <nana/gui/screen.hpp>
#if defined(NANA_WINDOWS)
#if defined(NANA_MINGW) && defined(STD_THREAD_NOT_SUPPORTED)
#if defined(STD_THREAD_NOT_SUPPORTED)
#include <nana/std_mutex.hpp>
#else
#include <mutex>

View File

@ -463,10 +463,10 @@ namespace detail
}
}
void window_manager::default_icon(const nana::paint::image& small, const nana::paint::image& big)
void window_manager::default_icon(const nana::paint::image& _small, const nana::paint::image& big)
{
impl_->default_icon_big = big;
impl_->default_icon_small = small;
impl_->default_icon_small = _small;
}
void window_manager::icon(core_window_t* wd, const paint::image& small_icon, const paint::image& big_icon)

View File

@ -20,7 +20,7 @@
#include <unordered_map>
#include <unordered_set>
#if defined(NANA_MINGW) && defined(STD_THREAD_NOT_SUPPORTED)
#if defined(STD_THREAD_NOT_SUPPORTED)
#include <nana/std_mutex.hpp>
#else
#include <mutex>

View File

@ -15,6 +15,7 @@
#include <cmath>
#include <map>
#include <deque>
#include <nana/deploy.hpp>
#include <nana/gui/place.hpp>
#include <nana/gui/programming_interface.hpp>
#include <nana/gui/widgets/label.hpp>
@ -95,13 +96,7 @@ namespace nana
std::string pos_str() const
{
#ifdef NANA_MINGW
std::stringstream ss;
ss<<pos();
return ss.str();
#else
return std::to_string(pos());
#endif // NANA_MINGW
}
token read()

View File

@ -19,7 +19,7 @@
#include <map>
#include <memory>
#if defined(NANA_MINGW) && defined(STD_THREAD_NOT_SUPPORTED)
#if defined(STD_THREAD_NOT_SUPPORTED)
#include <nana/std_mutex.hpp>
#else
#include <mutex>

View File

@ -373,7 +373,7 @@ namespace nana{ namespace drawerbase
{
arg_click arg;
arg.window_handle = wdg_->handle();
arg.by_mouse = false;
arg.mouse_args = nullptr;
API::emit_event(event_code::click, arg.window_handle, arg);
}

View File

@ -30,6 +30,12 @@ namespace nana
::nana::color bgcolor;
::nana::color fgcolor;
item_t() = default;
item_t(nana::string&& text, any && value)
: text(std::move(text)), value(std::move(value))
{}
};
class def_renderer
@ -414,13 +420,13 @@ namespace nana
evt_agent_ = evt;
}
void push_back(const nana::string& text, const nana::any & value)
void insert(std::size_t pos, nana::string&& text, nana::any&& value)
{
item_t m;
m.text = text;
m.value = value;
list_.push_back(m);
activate(static_cast<size_t>(list_.size() - 1));
if (pos >= list_.size())
pos = list_.size();
list_.emplace(iterator_at(pos), std::move(text), std::move(value));
this->activate(pos);
render();
}
@ -433,8 +439,12 @@ namespace nana
{
if(pos < list_.size())
{
if ((nullptr == evt_agent_) || evt_agent_->removed(pos))
bool close_attach = true;
if ((nullptr == evt_agent_) || evt_agent_->removed(pos, close_attach))
{
if (close_attach)
API::close_window(iterator_at(pos)->relative);
else
API::show_window(iterator_at(pos)->relative, false);
list_.erase(iterator_at(pos));
_m_adjust();
@ -593,19 +603,19 @@ namespace nana
return basis_.active;
}
void relate(std::size_t pos, window wd)
void attach(std::size_t pos, window wd)
{
if(pos < list_.size())
{
iterator_at(pos)->relative = wd;
if (pos >= list_.size())
throw std::out_of_range("tabbar: invalid position");
API::show_window(wd, basis_.active == pos);
}
}
bool tab_color(std::size_t pos, bool is_bgcolor, const ::nana::color& clr)
{
if(pos < list_.size())
{
if (pos >= list_.size())
throw std::out_of_range("tabbar: invalid position");
auto & m = *iterator_at(pos);
auto & m_clr = (is_bgcolor ? m.bgcolor : m.fgcolor);
if (m_clr != clr)
@ -613,42 +623,42 @@ namespace nana
m_clr = clr;
return true;
}
}
return false;
}
bool tab_image(std::size_t pos, const nana::paint::image& img)
void tab_image(std::size_t pos, const nana::paint::image& img)
{
if(pos > list_.size()) return false;
if (pos >= list_.size())
throw std::out_of_range("tabbar: invalid position");
auto & m = *iterator_at(pos);
if(img)
m.img = img;
else
m.img.close();
return true;
}
bool text(std::size_t pos, const nana::string& str)
{
if(pos < list_.size())
{
if (pos >= list_.size())
throw std::out_of_range("tabbar: invalid position");
auto & m = *iterator_at(pos);
if(m.text != str)
{
m.text = str;
return true;
}
}
return false;
}
nana::string text(std::size_t pos) const
{
if(pos < list_.size())
return iterator_at(pos)->text;
if (pos >= list_.size())
throw std::out_of_range("tabbar: invalid position");
return nana::string();
return iterator_at(pos)->text;
}
bool toolbox_answer(const arg_mouse& arg)
@ -1152,9 +1162,9 @@ namespace nana
layouter_->event_agent(evt);
}
void trigger::push_back(const nana::string& text, const nana::any& value)
void trigger::insert(std::size_t pos, nana::string&& text, nana::any&& value)
{
layouter_->push_back(text, value);
layouter_->insert(pos, std::move(text), std::move(value));
}
std::size_t trigger::length() const
@ -1167,9 +1177,14 @@ namespace nana
return layouter_->toolbox_object().close_fly(fly);
}
void trigger::relate(std::size_t i, window wd)
void trigger::attach(std::size_t pos, window wd)
{
layouter_->relate(i, wd);
layouter_->attach(pos, wd);
}
void trigger::erase(std::size_t pos)
{
layouter_->erase(pos);
}
void trigger::tab_color(std::size_t i, bool is_bgcolor, const ::nana::color& clr)
@ -1180,7 +1195,7 @@ namespace nana
void trigger::tab_image(std::size_t i, const nana::paint::image& img)
{
if(layouter_->tab_image(i, img))
layouter_->tab_image(i, img);
API::refresh_window(layouter_->widget_handle());
}

View File

@ -14,9 +14,14 @@
#include <nana/gui/widgets/widget.hpp>
#include <unordered_map>
#include <fstream>
#include <sstream>
#include <memory>
#if defined(STD_THREAD_NOT_SUPPORTED)
#include <nana/std_mutex.hpp>
#else
#include <mutex>
#endif
#include <map>
namespace nana
@ -71,16 +76,20 @@ namespace nana
if (escape)
{
escape = false;
str_ += *i;
continue;
}
if ('"' == *i)
{
str_.append(read_ptr_ + 1, i - read_ptr_ - 1);
read_ptr_ = i + 1;
reach_right_quota = true;
break;
}
else if ('\\' != *i)
str_ += *i;
else
escape = true;
}
_m_eat_ws();
if (read_ptr_ == end_ptr_ || '"' != *read_ptr_)
@ -261,9 +270,10 @@ namespace nana
{
auto result = mgr.table.emplace(wd, std::move(eval));
result.first->second.destroy = nana::API::events(wd).destroy([wd]{
auto & mgr = get_eval_manager();
std::lock_guard<std::recursive_mutex> lock(mgr.mutex);
mgr.table.erase(wd);
auto & eval_mgr = get_eval_manager();
std::lock_guard<std::recursive_mutex> lockgd(eval_mgr.mutex);
eval_mgr.table.erase(wd);
});
}
else

View File

@ -17,8 +17,9 @@
#include <vector>
#if defined(STD_THREAD_NOT_SUPPORTED)
#include <nana/std_condition_variable.hpp>
#include <nana/std_mutex.hpp>
#include <nana/std_condition_variable.hpp>
#else
#include <condition_variable>
#include <mutex>