Merge branch 'develop'
This commit is contained in:
commit
bd2fc63b20
@ -142,7 +142,11 @@ endif()
|
|||||||
#
|
#
|
||||||
if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
|
if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
|
||||||
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
|
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
|
||||||
set(CMAKE_CXX_FLAGS "-std=gnu++14 -Wall")
|
if("${CMAKE_SYSTEM_NAME}" MATCHES "FreeBSD")
|
||||||
|
set(CMAKE_CXX_FLAGS "-std=gnu++14 -Wall -I/usr/local/include")
|
||||||
|
else()
|
||||||
|
set(CMAKE_CXX_FLAGS "-std=gnu++14 -Wall")
|
||||||
|
endif()
|
||||||
else()
|
else()
|
||||||
set(CMAKE_CXX_FLAGS "-std=c++14 -Wall")
|
set(CMAKE_CXX_FLAGS "-std=c++14 -Wall")
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@ -1541,7 +1541,7 @@ the nana::detail::basic_window member pointer scheme
|
|||||||
nana::any* _m_anyobj(size_type cat, size_type index, bool allocate_if_empty) const override;
|
nana::any* _m_anyobj(size_type cat, size_type index, bool allocate_if_empty) const override;
|
||||||
drawerbase::listbox::category_t* _m_assoc(std::shared_ptr<nana::detail::key_interface>, bool create_if_not_exists);
|
drawerbase::listbox::category_t* _m_assoc(std::shared_ptr<nana::detail::key_interface>, bool create_if_not_exists);
|
||||||
void _m_erase_key(nana::detail::key_interface*) noexcept;
|
void _m_erase_key(nana::detail::key_interface*) noexcept;
|
||||||
std::shared_ptr<scroll_operation_interface> _m_scroll_operation();
|
std::shared_ptr<scroll_operation_interface> _m_scroll_operation() override;
|
||||||
};
|
};
|
||||||
}//end namespace nana
|
}//end namespace nana
|
||||||
|
|
||||||
|
|||||||
@ -279,7 +279,7 @@ namespace nana
|
|||||||
native_string_type _m_caption() const throw() override;
|
native_string_type _m_caption() const throw() override;
|
||||||
void _m_caption(native_string_type&&) override;
|
void _m_caption(native_string_type&&) override;
|
||||||
void _m_typeface(const paint::font&) override;
|
void _m_typeface(const paint::font&) override;
|
||||||
std::shared_ptr<scroll_operation_interface> _m_scroll_operation() const;
|
std::shared_ptr<scroll_operation_interface> _m_scroll_operation() override;
|
||||||
};
|
};
|
||||||
}//end namespace nana
|
}//end namespace nana
|
||||||
#include <nana/pop_ignore_diagnostic>
|
#include <nana/pop_ignore_diagnostic>
|
||||||
|
|||||||
@ -446,7 +446,7 @@ namespace nana
|
|||||||
item_proxy selected() const; ///< returns the selected node
|
item_proxy selected() const; ///< returns the selected node
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::shared_ptr<scroll_operation_interface> _m_scroll_operation() const;
|
std::shared_ptr<scroll_operation_interface> _m_scroll_operation() override;
|
||||||
|
|
||||||
};//end class treebox
|
};//end class treebox
|
||||||
}//end namespace nana
|
}//end namespace nana
|
||||||
|
|||||||
@ -12,7 +12,9 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
|
||||||
static bool get_default_audio(std::string &, bool);
|
# ifndef NANA_LINUX
|
||||||
|
static bool get_default_audio(std::string &, bool);
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace nana{namespace audio
|
namespace nana{namespace audio
|
||||||
@ -47,14 +49,13 @@ namespace nana{namespace audio
|
|||||||
}wave_native_if;
|
}wave_native_if;
|
||||||
#endif
|
#endif
|
||||||
//class audio_device
|
//class audio_device
|
||||||
audio_device::audio_device()
|
audio_device::audio_device():
|
||||||
#if defined(NANA_WINDOWS)
|
#if defined(NANA_WINDOWS) || defined(NANA_LINUX)
|
||||||
: handle_(nullptr), buf_prep_(nullptr)
|
handle_(nullptr),
|
||||||
#elif defined(NANA_POSIX)
|
#elif defined(NANA_POSIX)
|
||||||
: handle_(-1), buf_prep_(nullptr)
|
handle_(-1),
|
||||||
#elif defined(NANA_LINUX)
|
|
||||||
: handle_(nullptr), buf_prep_(nullptr)
|
|
||||||
#endif
|
#endif
|
||||||
|
buf_prep_(nullptr)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
audio_device::~audio_device()
|
audio_device::~audio_device()
|
||||||
@ -64,11 +65,11 @@ namespace nana{namespace audio
|
|||||||
|
|
||||||
bool audio_device::empty() const
|
bool audio_device::empty() const
|
||||||
{
|
{
|
||||||
#ifdef NANA_POSIX
|
#if defined(NANA_POSIX) && not defined(NANA_LINUX)
|
||||||
return (-1 == handle_);
|
return (-1 == handle_);
|
||||||
#else
|
#else
|
||||||
return (nullptr == handle_);
|
return (nullptr == handle_);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
bool audio_device::open(std::size_t channels, std::size_t rate, std::size_t bits_per_sample)
|
bool audio_device::open(std::size_t channels, std::size_t rate, std::size_t bits_per_sample)
|
||||||
@ -249,11 +250,6 @@ namespace nana{namespace audio
|
|||||||
|
|
||||||
wave_native_if.out_prepare(handle_, m, sizeof(WAVEHDR));
|
wave_native_if.out_prepare(handle_, m, sizeof(WAVEHDR));
|
||||||
wave_native_if.out_write(handle_, m, sizeof(WAVEHDR));
|
wave_native_if.out_write(handle_, m, sizeof(WAVEHDR));
|
||||||
#elif defined(NANA_POSIX)
|
|
||||||
// consider moving this to a background thread.
|
|
||||||
// currently this blocks calling thread.
|
|
||||||
::write(handle_, m->buf, m->bufsize);
|
|
||||||
buf_prep_->revert(m);
|
|
||||||
#elif defined(NANA_LINUX)
|
#elif defined(NANA_LINUX)
|
||||||
std::size_t frames = m->bufsize / bytes_per_frame_;
|
std::size_t frames = m->bufsize / bytes_per_frame_;
|
||||||
std::size_t buffered = 0; //in bytes
|
std::size_t buffered = 0; //in bytes
|
||||||
@ -269,6 +265,11 @@ namespace nana{namespace audio
|
|||||||
::snd_pcm_prepare(handle_);
|
::snd_pcm_prepare(handle_);
|
||||||
}
|
}
|
||||||
buf_prep_->revert(m);
|
buf_prep_->revert(m);
|
||||||
|
#elif defined(NANA_POSIX)
|
||||||
|
// consider moving this to a background thread.
|
||||||
|
// currently this blocks calling thread.
|
||||||
|
::write(handle_, m->buf, m->bufsize);
|
||||||
|
buf_prep_->revert(m);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -304,7 +305,7 @@ namespace nana{namespace audio
|
|||||||
}//end namespace audio
|
}//end namespace audio
|
||||||
}//end namespace nana
|
}//end namespace nana
|
||||||
|
|
||||||
#ifdef NANA_POSIX
|
#if defined(NANA_POSIX) && not defined(NANA_LINUX)
|
||||||
// parse input securely, no-overruns or overflows.
|
// parse input securely, no-overruns or overflows.
|
||||||
static bool match(char *&cursor, const char *pattern, const char *tail)
|
static bool match(char *&cursor, const char *pattern, const char *tail)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -2583,8 +2583,9 @@ namespace nana
|
|||||||
: public division
|
: public division
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
div_switchable(std::string && name, implement* impl) noexcept
|
div_switchable(std::string && name, implement* /*impl*/) noexcept:
|
||||||
: division(kind::switchable, std::move(name)), impl_(impl)
|
division(kind::switchable, std::move(name))//,
|
||||||
|
//impl_(impl) //deprecated
|
||||||
{}
|
{}
|
||||||
private:
|
private:
|
||||||
void collocate(window wd) override
|
void collocate(window wd) override
|
||||||
@ -2613,7 +2614,7 @@ namespace nana
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
implement * const impl_;
|
//implement * const impl_; //deprecated
|
||||||
};
|
};
|
||||||
|
|
||||||
place::implement::~implement()
|
place::implement::~implement()
|
||||||
|
|||||||
@ -817,7 +817,7 @@ namespace drawerbase {
|
|||||||
editor->reset_caret_pixels();
|
editor->reset_caret_pixels();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<scroll_operation_interface> textbox::_m_scroll_operation() const
|
std::shared_ptr<scroll_operation_interface> textbox::_m_scroll_operation()
|
||||||
{
|
{
|
||||||
internal_scope_guard lock;
|
internal_scope_guard lock;
|
||||||
auto editor = get_drawer_trigger().editor();
|
auto editor = get_drawer_trigger().editor();
|
||||||
|
|||||||
@ -2234,7 +2234,7 @@ namespace nana
|
|||||||
return item_proxy(const_cast<drawer_trigger_t*>(&get_drawer_trigger()), get_drawer_trigger().selected());
|
return item_proxy(const_cast<drawer_trigger_t*>(&get_drawer_trigger()), get_drawer_trigger().selected());
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<scroll_operation_interface> treebox::_m_scroll_operation() const
|
std::shared_ptr<scroll_operation_interface> treebox::_m_scroll_operation()
|
||||||
{
|
{
|
||||||
internal_scope_guard lock;
|
internal_scope_guard lock;
|
||||||
return std::make_shared<drawerbase::treebox::exclusive_scroll_operation>(get_drawer_trigger().impl()->shape.scroll);
|
return std::make_shared<drawerbase::treebox::exclusive_scroll_operation>(get_drawer_trigger().impl()->shape.scroll);
|
||||||
|
|||||||
@ -34,7 +34,7 @@ static void posix_open_url(const char *url_utf8)
|
|||||||
const char *home = getenv("HOME");
|
const char *home = getenv("HOME");
|
||||||
std::string cheat(home);
|
std::string cheat(home);
|
||||||
cheat += "/.mozilla";
|
cheat += "/.mozilla";
|
||||||
struct stat exists{};
|
struct stat exists;
|
||||||
|
|
||||||
// TODO: generalize this for chromium, opera, waterfox, etc.
|
// TODO: generalize this for chromium, opera, waterfox, etc.
|
||||||
// Most desktop environments (KDE, Gnome, Lumina etc.) provide a way to set
|
// Most desktop environments (KDE, Gnome, Lumina etc.) provide a way to set
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user