Nana C++ Library. Reference for users.
What we need to use nana
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
nana Namespace Reference

Namespaces

 anonymous_namespace{platform_abstraction.cpp}
 
 API
 
 bidi_charmap
 
 category
 
 concepts
 
 detail
 
 dev
 
 drawerbase
 
 effects
 
 element
 
 filesystem_ext
 
 internationalization_parts
 
 meta
 
 paint
 
 parameters
 
 pat
 
 place_parts
 
 restrict
 
 spec
 
 system
 
 threads
 Some mutex classes for synchronizing.
 
 utf
 
 widgets
 

Classes

class  bad_any_cast
 
class  any
 
struct  casei_char_traits
 
union  pixel_argb_t
 
union  pixel_rgba_t
 
class  color
 
struct  basic_point
 
struct  size
 
struct  rectangle
 
class  rectangle_rotator
 
class  charset
 An intelligent charset class for character code conversion. Example: More...
 
struct  utf8_Error
 move to *.h ?? More...
 
class  date
 A date operation class. More...
 
class  time
 
struct  platform_runtime
 
class  internal_font
 
class  platform_abstraction
 
class  font_interface
 
struct  output_t
 
struct  framebuilder
 
struct  frame
 
class  frameset
 Holds the frames and frame builders. Have reference semantics for efficiency. More...
 
class  animation
 Easy way to display an animation or create an animated GUI. More...
 
class  drawing
 Draw pictures on a widget by specifying a drawing method that will be employed every time the widget refreshes. More...
 
struct  accel_key
 
struct  keyboard
 
struct  appearance
 Window appearance structure defined to specify the appearance of a form. More...
 
struct  appear
 Provided to generate an appearance object with better readability and understandability. More...
 
class  caret_interface
 Interface for caret operations. More...
 
class  scroll_operation_interface
 Interface for scroll operations. More...
 
class  event_filter_status
 
class  drawer_trigger
 
class  color_proxy
 a tool to share and set a color common to many uses More...
 
struct  widget_geometrics
 define common color and geometrical properties More...
 
class  null_type
 
class  noncopyable
 Prevent a class to be copyable. More...
 
class  nonmovable
 Prevent a class to be movable. More...
 
class  event_arg
 base class for all event argument types More...
 
class  basic_event
 the type of the members of general_events. More...
 
struct  arg_mouse
 
struct  arg_wheel
 in arg_wheel event_code is event_code::mouse_wheel More...
 
struct  arg_dropfiles
 
struct  arg_expose
 
struct  arg_focus
 
struct  arg_ime
 
struct  arg_keyboard
 
struct  arg_move
 
struct  arg_resized
 
struct  arg_resizing
 
struct  arg_unload
 
struct  arg_destroy
 
struct  arg_click
 a higher level event argument than just mouse down More...
 
struct  general_events
 provides some fundamental events that every widget owns. More...
 
class  internal_scope_guard
 
class  internal_revert_guard
 
class  widget
 Abstract class for defining the capacity interface. More...
 
class  widget_object
 
class  widget_object< category::lite_widget_tag, DrawerTrigger, Events, Scheme >
 
class  widget_object< category::root_tag, DrawerTrigger, Events, Scheme >
 
class  internationalization
 
class  i18n_eval
 
class  facade
 
class  facade< element::crook >
 
class  facade< element::cross >
 
class  facade< element::border >
 
class  facade< element::arrow >
 
class  facade< element::button >
 
class  facade< element::x_icon >
 
class  display
 The monitor display metrics. More...
 
class  screen
 Provides some functions to get the metrics of the monitors. More...
 
class  dragdrop_session
 
class  dragdrop_service
 
class  simple_dragdrop
 
class  dragdrop
 
class  dragger
 Helper class that allows the user to drag windows. More...
 
class  element_object
 
class  element_manager
 
class  filebox
 Create an Open or Save dialog box to let user select the name of a file. More...
 
class  folderbox
 
class  inputbox_window
 
class  msgbox
 Prefabricated modal dialog box (with text, icon and actions buttons) that informs and instructs the user. More...
 
class  inputbox
 
class  form
 
class  nested_form
 
class  agent
 
class  place
 Layout management - an object of class place is attached to a widget, and it automatically positions and resizes the children widgets. More...
 
class  label
 Define a label widget (can dispaly a formated text string and images). Provides the interfaces to be operational. More...
 
class  button
 Define a button widget and provides the interfaces to be operational. More...
 
struct  arg_spinbox
 
class  spinbox
 Spinbox Widget. More...
 
struct  arg_checkbox
 
class  checkbox
 
class  radio_group
 for managing checkboxs in radio mode More...
 
struct  arg_combox
 
class  combox
 This widget is a combo box which consists of a list box combined with a textbox. The list box should drop down when the user selects the drop-down arrow next to the control. More...
 
struct  arg_textbox
 
class  textbox
 Allow users to enter and edit text by typing on the keyboard. More...
 
class  panel
 For placing other widgets, where the bool template parameter determines if it is widget or lite_widget, which in actual use makes no difference. More...
 
class  picture
 Rectangle area for displaying a bitmap file. More...
 
class  notifications
 
struct  arg_notifier
 
class  notifier
 
struct  arg_elapse
 
class  timer
 Can repeatedly call a piece of code. More...
 
struct  badname
 
class  tabbar
 Analogous to dividers in a notebook or the labels in a file cabinet. More...
 
struct  arg_tabbar
 
struct  arg_tabbar_click
 
struct  arg_tabbar_mouse
 
struct  arg_tabbar_adding
 
struct  arg_tabbar_removed
 
class  tabbar_lite
 
class  real_display
 
class  state_cursor
 
class  timer_driver
 
class  tooltip_interface
 
class  tooltip
 
class  categorize
 Represent an architecture of categories and what category is chosen. The categorize widget can be used for representing a path of a directory or the order of a hierarchy. More...
 
struct  arg_categorize
 
class  float_listbox
 
class  key
 
struct  arg_datechooser
 
class  date_chooser
 
class  scroll
 Provides a way to display an object which is larger than the window's client area. More...
 
struct  arg_scroll
 
class  scroll_interface
 
class  group
 
class  unicode_bidi
 
struct  arg_listbox
 
struct  arg_listbox_category
 The event parameter type for listbox's category_dbl_click. More...
 
class  listbox
 A rectangle containing a list of strings from which the user can select. This widget contain a list of categories, with in turn contain a list of items. A category is a text with can be selected, checked and expanded to show the items. An item is formed by column-fields, each corresponding to one of the headers. An item can be selected and checked. The user can drag the header to resize it or to reorganize it. By clicking on one header the list get reordered, first up, and then down alternatively. More...
 
class  menu
 a list of items that specify options or group of options for an application. More...
 
class  menu_accessor
 
class  menubar
 A toolbar at the top of window for pop-upping menus. More...
 
class  progress
 A progressbar widget with two styles: know, and unknown amount value (goal). In unknown style the amount is ignored and the bar is scrolled when value change. More...
 
struct  arg_slider
 
class  slider
 A slider widget which the user can drag for tracking. More...
 
struct  arg_toolbar
 
class  toolbar
 Control bar that contains buttons for controlling. More...
 
struct  arg_treebox
 a type of treebox event parameter More...
 
class  treebox
 Displays a hierarchical list of items, such as the files and directories on a disk. See also in documentation More...
 

Typedefs

using cistring = std::basic_string< char, casei_char_traits< char >>
 
using ciwstring = std::basic_string< wchar_t, casei_char_traits< wchar_t >>
 
using pixel_color_t = pixel_argb_t
 
using point = basic_point< int >
 
using upoint = basic_point< unsigned >
 
using window = detail::basic_window *
 The window handle type representing nana window objects. More...
 
using native_window_type = detail::native_window_handle_impl *
 The native window handle type representing system native windows. E.g, HWND in windows, Window in X11. More...
 
using event_handle = detail::event_handle_impl *
 The event handle type representing nana window events. More...
 
using native_drawable_type = detail::native_drawable_impl *
 The drawable handle type representing system native drawable objects. E.g. HDC in windows, Drawable in X11. More...
 
template<typename Form , bool IsVisible = true>
using form_loader = detail::form_loader< Form, IsVisible >
 
using lock_guard = std::lock_guard< std::recursive_mutex >
 
typedef place_parts::number_t number_t
 
typedef place_parts::repeated_array repeated_array
 
typedef const detail::timer_coretimer_identifier
 
typedef
drawerbase::tooltip::controller 
ctrl
 
using form_base = drawerbase::form::form_base
 
using groupbase_type = widget_object< category::widget_tag, drawerbase::panel::drawer, general_events, drawerbase::group::scheme >
 
using item_type = drawerbase::menu::menu_item_type
 
using component = drawerbase::treebox::component
 

Enumerations

enum  mouse_action {
  mouse_action::begin, mouse_action::normal = begin, mouse_action::normal_captured, mouse_action::hovered,
  mouse_action::pressed, mouse_action::end
}
 
enum  element_state {
  element_state::normal, element_state::hovered, element_state::focus_normal, element_state::focus_hovered,
  element_state::pressed, element_state::disabled
}
 
enum  colors {
  colors::alice_blue = 0xf0f8ff, colors::antique_white = 0xfaebd7, colors::aqua = 0xFFFF, colors::aquamarine = 0x7fffd4,
  colors::azure = 0xf0ffff, colors::beige = 0xf5f5dc, colors::bisque = 0xffe4ce, colors::black = 0x0,
  colors::blanched_almond = 0xffebcd, colors::blue = 0x0000FF, colors::blue_violet = 0x8a2be2, colors::brown = 0xa52a2a,
  colors::burly_wood = 0xdeb887, colors::cadet_blue = 0x5f9ea0, colors::chartreuse = 0x7fff00, colors::chocolate = 0xd2691e,
  colors::coral = 0xff7f50, colors::cornflower_blue = 0x6495ed, colors::cornsilk = 0xfff8dc, colors::crimson = 0xdc143c,
  colors::cyan = 0xffff, colors::dark_blue = 0x8b, colors::dark_cyan = 0x8b8b, colors::dark_goldenrod = 0xb8860b,
  colors::dark_gray = 0xa9a9a9, colors::dark_green = 0x6400, colors::dark_grey = dark_gray, colors::dark_khaki = 0xbdb76b,
  colors::dark_magenta = 0x8b008b, colors::dark_olive_green = 0x556b2f, colors::dark_orange = 0xff8c00, colors::dark_orchid = 0x9932cc,
  colors::dark_red = 0x8b0000, colors::dark_salmon = 0xe9976a, colors::dark_sea_green = 0x8fbc8f, colors::dark_slate_blue = 0x483d8b,
  colors::dark_slate_gray = 0x2f4f4f, colors::dark_slate_grey = 0x2f4f4f, colors::dark_turquoise = 0xced1, colors::dark_violet = 0x9400d3,
  colors::deep_pink = 0xff1493, colors::deep_sky_blue = 0xbfff, colors::dim_gray = 0x696969, colors::dim_grey = dim_gray,
  colors::dodger_blue = 0x1e90ff, colors::firebrick = 0xb22222, colors::floral_white = 0xfffaf0, colors::forest_green = 0x228b22,
  colors::fuchsia = 0xFF00FF, colors::gainsboro = 0xdcdcdc, colors::ghost_white = 0xf8f8ff, colors::gold = 0xffd700,
  colors::goldenrod = 0xdaa520, colors::gray = 0x808080, colors::green = 0x008000, colors::green_yellow = 0xadff2f,
  colors::grey = gray, colors::honeydew = 0xf0fff0, colors::hot_pink = 0xff69b4, colors::indian_red = 0xcd5c5c,
  colors::indigo = 0x4b0082, colors::ivory = 0xfffff0, colors::khaki = 0xf0e68c, colors::lavendar = 0xe6e6fa,
  colors::lavender_blush = 0xfff0f5, colors::lawn_green = 0x7cfc00, colors::lemon_chiffon = 0xfffacd, colors::light_blue = 0xadd8e6,
  colors::light_coral = 0xf08080, colors::light_cyan = 0xe0ffff, colors::light_goldenrod_yellow = 0xfafad2, colors::light_gray = 0xd3d3d3,
  colors::light_green = 0x90ee90, colors::light_grey = light_gray, colors::light_pink = 0xffb6c1, colors::light_salmon = 0xffa07a,
  colors::light_sea_green = 0x20b2aa, colors::light_sky_blue = 0x87cefa, colors::light_slate_gray = 0x778899, colors::light_slate_grey = light_slate_gray,
  colors::light_steel_blue = 0xb0c4de, colors::light_yellow = 0xffffe0, colors::lime = 0x00FF00, colors::lime_green = 0x32cd32,
  colors::linen = 0xfaf0e6, colors::magenta = 0xff00ff, colors::maroon = 0x800000, colors::medium_aquamarine = 0x66cdaa,
  colors::medium_blue = 0xcd, colors::medium_orchid = 0xba55d3, colors::medium_purple = 0x9370db, colors::medium_sea_green = 0x3cb371,
  colors::medium_slate_blue = 0x7b68ee, colors::medium_spring_green = 0xfa9a, colors::medium_turquoise = 0x48d1cc, colors::medium_violet_red = 0xc71585,
  colors::midnight_blue = 0x191970, colors::mint_cream = 0xf5fffa, colors::misty_rose = 0xffe4e1, colors::moccasin = 0xffe4b5,
  colors::navajo_white = 0xffdead, colors::navy = 0x000080, colors::old_lace = 0xfdf5e6, colors::olive = 0x808000,
  colors::olive_drab = 0x6b8e23, colors::orange = 0xffa500, colors::orange_red = 0xff4500, colors::orchid = 0xda70d6,
  colors::pale_goldenrod = 0xeee8aa, colors::pale_green = 0x98fb98, colors::pale_turquoise = 0xafeeee, colors::pale_violet_red = 0xdb7093,
  colors::papaya_whip = 0xffefd5, colors::peach_puff = 0xffdab9, colors::peru = 0xcd853f, colors::pink = 0xffc0cb,
  colors::plum = 0xdda0dd, colors::powder_blue = 0xb0e0e6, colors::purple = 0x800080, colors::red = 0xFF0000,
  colors::rosy_brown = 0xbc8f8f, colors::royal_blue = 0x4169e1, colors::saddle_brown = 0x8b4513, colors::salmon = 0xfa8072,
  colors::sandy_brown = 0xf4a460, colors::sea_green = 0x2e8b57, colors::sea_shell = 0xfff5ee, colors::sienna = 0xa0522d,
  colors::silver = 0xc0c0c0, colors::sky_blue = 0x87ceeb, colors::slate_blue = 0x6a5acd, colors::slate_gray = 0x708090,
  colors::slate_grey = 0x708090, colors::snow = 0xfffafa, colors::spring_green = 0xff7f, colors::steel_blue = 0x4682b4,
  colors::tan = 0xd2b48c, colors::teal = 0x008080, colors::thistle = 0xd8bfd8, colors::tomato = 0xff6347,
  colors::turquoise = 0x40e0d0, colors::violet = 0xee82ee, colors::wheat = 0xf5deb3, colors::white = 0xFFFFFF,
  colors::white_smoke = 0xf5f5f5, colors::yellow = 0xFFFF00, colors::yellow_green = 0x9acd32, colors::button_face_shadow_start = 0xF5F4F2,
  colors::button_face_shadow_end = 0xD5D2CA, colors::button_face = 0xD4D0C8, colors::dark_border = 0x404040, colors::gray_border = 0x808080,
  colors::highlight = 0x1CC4F7
}
 See extended CSS color keywords (4.3) in http://www.w3.org/TR/2011/REC-css3-color-20110607/. More...
 
enum  color_rgb : unsigned
 
enum  color_argb : unsigned
 
enum  color_rgba : unsigned
 
enum  arrange { arrange::unknown, arrange::horizontal, arrange::vertical, arrange::horizontal_vertical }
 
enum  align { align::left, align::center, align::right }
 The definition of horizontal alignment. More...
 
enum  align_v { align_v::top, align_v::center, align_v::bottom }
 The definition of vertical alignment. More...
 
enum  direction {
  direction::north, direction::south, direction::east, direction::west,
  direction::southeast
}
 The definition of the four corners of the world. More...
 
enum  unicode { unicode::utf8, unicode::utf16, unicode::utf32 }
 
enum  checkstate { checkstate::unchecked, checkstate::checked, checkstate::partial }
 
enum  window_border {
  window_border::none, window_border::left, window_border::right, window_border::top,
  window_border::bottom, window_border::top_left, window_border::top_right, window_border::bottom_left,
  window_border::bottom_right
}
 
enum  window_relationship { window_relationship::owner, window_relationship::parent, window_relationship::either_po }
 
enum  bground_mode { bground_mode::none, bground_mode::basic, bground_mode::blend }
 
enum  dragdrop_status { dragdrop_status::not_ready, dragdrop_status::ready, dragdrop_status::in_progress }
 
enum  cursor {
  cursor::hand = 60, cursor::arrow = 68, cursor::wait = 150, cursor::iterm = 152,
  cursor::size_we = 108, cursor::size_ns = 116, cursor::size_top_left = 134, cursor::size_top_right = 136,
  cursor::size_bottom_left = 12, cursor::size_bottom_right = 14
}
 
enum  mouse { mouse::any_button, mouse::left_button, mouse::middle_button, mouse::right_button }
 
enum  z_order_action {
  z_order_action::none, z_order_action::bottom, z_order_action::top, z_order_action::topmost,
  z_order_action::foreground
}
 
enum  event_code {
  event_code::click, event_code::dbl_click, event_code::mouse_enter, event_code::mouse_move,
  event_code::mouse_leave, event_code::mouse_down, event_code::mouse_up, event_code::mouse_wheel,
  event_code::mouse_drop, event_code::expose, event_code::resizing, event_code::resized,
  event_code::move, event_code::unload, event_code::destroy, event_code::focus,
  event_code::key_ime, event_code::key_press, event_code::key_char, event_code::key_release,
  event_code::shortkey, event_code::elapse, event_code::end
}
 
enum  dnd_action { dnd_action::copy, dnd_action::move, dnd_action::link }
 Drag and drop actions. More...
 
enum  fit_policy { fit_policy::none, fit_policy::both, fit_policy::horz, fit_policy::vert }
 
enum  update_operation { update_operation::erase = 0, update_operation::insert, update_operation::replace }
 
enum  unicode_character_type {
  unicode_character_type::format, unicode_character_type::katakana, unicode_character_type::aletter, unicode_character_type::midletter,
  unicode_character_type::midnumlet, unicode_character_type::midnum, unicode_character_type::numeric, unicode_character_type::other
}
 

Functions

void swap (any &x, any &y) noexcept
 
template<typename Value >
Value any_cast (const any &operand)
 
template<typename Value >
Value any_cast (any &operand)
 
template<typename Value >
Value any_cast (any &&operand)
 
template<typename Value >
const Value * any_cast (const any *operand) noexcept
 
template<typename Value >
Value * any_cast (any *operand) noexcept
 
std::string read_number (std::string &str, std::size_t &pos)
 
double rgb_from_hue (double v1, double v2, double h)
 
color operator+ (const color &x, const color &y)
 
bool is_utf8 (const char *str, std::size_t len)
 Checks whether a specified text is utf8 encoding. More...
 
void throw_not_utf8 (const std::string &text)
 
void throw_not_utf8 (const char *, std::size_t len)
 
void throw_not_utf8 (const char *)
 
bool review_utf8 (const std::string &text)
 this text needed change, it needed review ?? More...
 
bool review_utf8 (std::string &text)
 this text needed change, it needed review ?? More...
 
const std::stringto_utf8 (const std::string &)
 
std::string to_utf8 (const std::wstring &)
 
std::wstring to_wstring (const std::string &utf8_str)
 
const std::wstringto_wstring (const std::wstring &wstr)
 
std::wstring && to_wstring (std::wstring &&wstr)
 
std::string to_osmbstr (std::string text_utf8)
 
const detail::native_string_typeto_nstring (const std::string &)
 
const detail::native_string_type to_nstring (const std::wstring &)
 
detail::native_string_type && to_nstring (std::string &&)
 
detail::native_string_type to_nstring (std::wstring &&)
 
detail::native_string_type to_nstring (int)
 
detail::native_string_type to_nstring (double)
 
detail::native_string_type to_nstring (std::size_t)
 
unsigned make_rgb (unsigned char red, unsigned char green, unsigned char blue)
 
 set (localtime())
 
std::string recode_to_utf8 (std::string no_utf8)
 
static platform_runtimeplatform_storage ()
 
static std::shared_ptr
< platform_abstraction::font
font_factory (::std::string font_family, double size_pt, const platform_abstraction::font::font_style &fs, internal_font::path_type ttf)
 
bool overlapped (const rectangle &r1, const rectangle &r2)
 
bool overlap (const rectangle &r1, const rectangle &r2, rectangle &r)
 
bool overlap (const rectangle &ir, const size &valid_input_area, const rectangle &dr, const size &valid_dst_area, rectangle &output_src_r, rectangle &output_dst_r)
 
bool intersection (const rectangle &r, point pos_beg, point pos_end, point &good_pos_beg, point &good_pos_end)
 
void fit_zoom (const size &input_s, const size &ref_s, size &result_s)
 Zoom the input_s to fit for ref_s. More...
 
size fit_zoom (const size &input_s, size ref_s)
 
void zoom (const rectangle &refer, const rectangle &scaled, const rectangle &refer_dst, rectangle &r)
 
bool covered (const rectangle &underlying, const rectangle &cover)
 
void exec ()
 
static bool is_vert_dir (::nana::direction dir)
 
static int horz_point (bool vert, const point &pos)
 
static bool is_idchar (int ch) noexcept
 
static std::size_t find_idstr (const std::string &text, const char *idstr, std::size_t off=0)
 
static std::pair< std::size_t,
std::size_t
get_field_boundary (const std::string &div, std::size_t start_pos)
 
static std::pair< std::size_t,
std::size_t
get_field_boundary (const std::string &div, const char *idstr, int depth)
 
static int get_parameter (place_parts::tokenizer &tknizer, std::size_t pos)
 
static void update_div (std::string &div, const char *field, const char *attr, update_operation operation)
 
std::vector< unicode_bidi::entityunicode_reorder (const wchar_t *text, std::size_t length)
 
bool unicode_wordbreak (wchar_t left, wchar_t right)
 
static void check_range (std::size_t pos, std::size_t size)
 
detail::popuper menu_popuper (menu &mobj, mouse ms)
 
detail::popuper menu_popuper (menu &mobj, window owner, const point &pos, mouse ms)
 
std::unique_ptr< unsigned[]> nana_xft_glyph_pixels (font_interface *, const wchar_t *str, std::size_t len)
 
unicode_character_type unicode_char_type (unsigned long ch)
 

Variables

const std::size_t npos = static_cast<std::size_t>(-1)
 A constant value for the invalid position. More...
 
static const char * field_title = "__nana_group_title__"
 
static const char * field_options = "__nana_group_options__"
 

Typedef Documentation

using nana::cistring = typedef std::basic_string<char, casei_char_traits<char>>
using nana::ciwstring = typedef std::basic_string<wchar_t, casei_char_traits<wchar_t>>
using nana::event_handle = typedef detail::event_handle_impl*

The event handle type representing nana window events.

template<typename Form , bool IsVisible = true>
using nana::form_loader = typedef detail::form_loader<Form, IsVisible>
using nana::native_drawable_type = typedef detail::native_drawable_impl*

The drawable handle type representing system native drawable objects. E.g. HDC in windows, Drawable in X11.

using nana::native_window_type = typedef detail::native_window_handle_impl*

The native window handle type representing system native windows. E.g, HWND in windows, Window in X11.

using nana::point = typedef basic_point<int>
Examples:
draw.cpp, and stretch_image.cpp.
using nana::upoint = typedef basic_point<unsigned>

The window handle type representing nana window objects.

Enumeration Type Documentation

enum nana::align
strong

The definition of horizontal alignment.

Enumerator
left 
center 
right 
enum nana::align_v
strong

The definition of vertical alignment.

Enumerator
top 
center 
bottom 
enum nana::arrange
strong
Enumerator
unknown 
horizontal 
vertical 
horizontal_vertical 
enum nana::bground_mode
strong
Enumerator
none 
basic 
blend 
enum nana::checkstate
strong
Enumerator
unchecked 
checked 
partial 
enum nana::color_argb : unsigned
strong
enum nana::color_rgb : unsigned
strong
enum nana::color_rgba : unsigned
strong
enum nana::colors
strong

See extended CSS color keywords (4.3) in http://www.w3.org/TR/2011/REC-css3-color-20110607/.

Enumerator
alice_blue 
antique_white 
aqua 
aquamarine 
azure 
beige 
bisque 
black 
blanched_almond 
blue 
blue_violet 
brown 
burly_wood 
cadet_blue 
chartreuse 
chocolate 
coral 
cornflower_blue 
cornsilk 
crimson 
cyan 
dark_blue 
dark_cyan 
dark_goldenrod 
dark_gray 
dark_green 
dark_grey 
dark_khaki 
dark_magenta 
dark_olive_green 
dark_orange 
dark_orchid 
dark_red 
dark_salmon 
dark_sea_green 
dark_slate_blue 
dark_slate_gray 
dark_slate_grey 
dark_turquoise 
dark_violet 
deep_pink 
deep_sky_blue 
dim_gray 
dim_grey 
dodger_blue 
firebrick 
floral_white 
forest_green 
fuchsia 
gainsboro 
ghost_white 
gold 
goldenrod 
gray 
green 
green_yellow 
grey 
honeydew 
hot_pink 
indian_red 
indigo 
ivory 
khaki 
lavendar 
lavender_blush 
lawn_green 
lemon_chiffon 
light_blue 
light_coral 
light_cyan 
light_goldenrod_yellow 
light_gray 
light_green 
light_grey 
light_pink 
light_salmon 
light_sea_green 
light_sky_blue 
light_slate_gray 
light_slate_grey 
light_steel_blue 
light_yellow 
lime 
lime_green 
linen 
magenta 
maroon 
medium_aquamarine 
medium_blue 
medium_orchid 
medium_purple 
medium_sea_green 
medium_slate_blue 
medium_spring_green 
medium_turquoise 
medium_violet_red 
midnight_blue 
mint_cream 
misty_rose 
moccasin 
navajo_white 
navy 
old_lace 
olive 
olive_drab 
orange 
orange_red 
orchid 
pale_goldenrod 
pale_green 
pale_turquoise 
pale_violet_red 
papaya_whip 
peach_puff 
peru 
pink 
plum 
powder_blue 
purple 
red 
rosy_brown 
royal_blue 
saddle_brown 
salmon 
sandy_brown 
sea_green 
sea_shell 
sienna 
silver 
sky_blue 
slate_blue 
slate_gray 
slate_grey 
snow 
spring_green 
steel_blue 
tan 
teal 
thistle 
tomato 
turquoise 
violet 
wheat 
white 
white_smoke 
yellow 
yellow_green 
button_face_shadow_start 
button_face_shadow_end 
button_face 
dark_border 
gray_border 
highlight 
enum nana::cursor
strong
Enumerator
hand 

displays a hand to indicate a text or an element is clickable

arrow 

the default shape

wait 

indicates the system is currently busy

iterm 

A text caret. Displays a caret to indicate the UI is input able.

size_we 
size_ns 
size_top_left 
size_top_right 
size_bottom_left 
size_bottom_right 
enum nana::direction
strong

The definition of the four corners of the world.

Enumerator
north 
south 
east 
west 
southeast 
enum nana::dnd_action
strong

Drag and drop actions.

Enumerator
copy 

Copy the data to target.

move 

Move the data to target.

link 

Create a link from source data to target.

enum nana::dragdrop_status
strong
Enumerator
not_ready 
ready 
in_progress 
enum nana::element_state
strong
Enumerator
normal 
hovered 
focus_normal 
focus_hovered 
pressed 
disabled 
enum nana::event_code
strong
Enumerator
click 

A mouse click event.

dbl_click 

A mouse double click event.

mouse_enter 

A mouse enters a widget.

mouse_move 

A mouse moves over a widget.

mouse_leave 

A mouse leaves a widget.

mouse_down 

A mouse button is pressed on a widget.

mouse_up 

A mouse button is released on a widget.

mouse_wheel 

A mouse scrolls the wheel on a widget.

mouse_drop 

A mouse release over a window that is registered as recipient of drag and drop.

expose 
resizing 

A widget's size is sizing. In this event, A widget's size can be overridden with a new size.

resized 

A widget's size is changing.

move 
unload 

A form is closed by clicking the X button, only works for root widget.

destroy 

A widget is about to be destroyed.

focus 

A widget's focus is changed.

key_ime 
key_press 

A keyboard is pressed on a focus widget.

key_char 

The focus widget received a character.

key_release 

A keyboard is released on a focus widget.

shortkey 

The widgets received a shortkey message.

elapse 

Unoperational events? . A widget received a tick that is sended by timer.

end 

End indicator, it's not an event.

enum nana::fit_policy
strong
Enumerator
none 
both 
horz 
vert 
enum nana::mouse
strong
Enumerator
any_button 
left_button 
middle_button 
right_button 
enum nana::mouse_action
strong
Enumerator
begin 
normal 
normal_captured 
hovered 
pressed 
end 
enum nana::unicode
strong
Enumerator
utf8 
utf16 
utf32 
Enumerator
format 
katakana 
aletter 
midletter 
midnumlet 
midnum 
numeric 
other 
Enumerator
erase 
insert 
replace 
enum nana::window_border
strong
Enumerator
none 
left 
right 
top 
bottom 
top_left 
top_right 
bottom_left 
bottom_right 
Enumerator
owner 

Owner window.

parent 

Parent window.

either_po 

One between owner and parent.

enum nana::z_order_action
strong
Enumerator
none 
bottom 

brings a window at the bottom of z-order.

top 

brings a widget at the top of the z-order.

topmost 

brings a window at the top of the z-order and stays here.

foreground 

brings a window to the foreground.

Function Documentation

template<typename Value >
Value nana::any_cast ( const any &  operand)
template<typename Value >
Value nana::any_cast ( any &  operand)
template<typename Value >
Value nana::any_cast ( any &&  operand)
template<typename Value >
const Value* nana::any_cast ( const any *  operand)
noexcept
template<typename Value >
Value* nana::any_cast ( any *  operand)
noexcept
static void nana::check_range ( std::size_t  pos,
std::size_t  size 
)
static
bool nana::covered ( const rectangle &  underlying,
const rectangle &  cover 
)
static std::size_t nana::find_idstr ( const std::string text,
const char *  idstr,
std::size_t  off = 0 
)
static

??

void nana::fit_zoom ( const size &  input_s,
const size &  ref_s,
size &  result_s 
)

Zoom the input_s to fit for ref_s.

size nana::fit_zoom ( const size &  input_s,
size  ref_s 
)
static std::shared_ptr<platform_abstraction::font> nana::font_factory ( ::std::string  font_family,
double  size_pt,
const platform_abstraction::font::font_style &  fs,
internal_font::path_type  ttf 
)
static
static std::pair<std::size_t, std::size_t> nana::get_field_boundary ( const std::string div,
std::size_t  start_pos 
)
static
static std::pair<std::size_t, std::size_t> nana::get_field_boundary ( const std::string div,
const char *  idstr,
int  depth 
)
static
static int nana::get_parameter ( place_parts::tokenizer &  tknizer,
std::size_t  pos 
)
static
static int nana::horz_point ( bool  vert,
const point &  pos 
)
static
bool nana::intersection ( const rectangle &  r,
point  pos_beg,
point  pos_end,
point &  good_pos_beg,
point &  good_pos_end 
)
static bool nana::is_idchar ( int  ch)
staticnoexcept
bool nana::is_utf8 ( const char *  str,
std::size_t  len 
)

Checks whether a specified text is utf8 encoding.

static bool nana::is_vert_dir ( ::nana::direction  dir)
static
unsigned nana::make_rgb ( unsigned char  red,
unsigned char  green,
unsigned char  blue 
)
inline
detail::popuper nana::menu_popuper ( menu &  mobj,
mouse  ms 
)
detail::popuper nana::menu_popuper ( menu &  mobj,
window  owner,
const point &  pos,
mouse  ms 
)
std::unique_ptr<unsigned[]> nana::nana_xft_glyph_pixels ( font_interface *  ,
const wchar_t *  str,
std::size_t  len 
)
color nana::operator+ ( const color &  x,
const color &  y 
)
bool nana::overlap ( const rectangle &  r1,
const rectangle &  r2,
rectangle &  r 
)
bool nana::overlap ( const rectangle &  ir,
const size &  valid_input_area,
const rectangle &  dr,
const size &  valid_dst_area,
rectangle &  output_src_r,
rectangle &  output_dst_r 
)
bool nana::overlapped ( const rectangle &  r1,
const rectangle &  r2 
)
static platform_runtime& nana::platform_storage ( )
static
std::string nana::read_number ( std::string str,
std::size_t pos 
)
std::string nana::recode_to_utf8 ( std::string  no_utf8)
bool nana::review_utf8 ( const std::string text)

this text needed change, it needed review ??

it needed change, it needed review !!

it needed change, it needed review !!

bool nana::review_utf8 ( std::string text)

this text needed change, it needed review ??

it needed change, it needed review !!

it needed change, it needed review !!

double nana::rgb_from_hue ( double  v1,
double  v2,
double  h 
)
nana::set ( localtime()  )
void nana::swap ( any &  x,
any &  y 
)
inlinenoexcept
void nana::throw_not_utf8 ( const std::string text)
void nana::throw_not_utf8 ( const char *  text,
std::size_t  len 
)
void nana::throw_not_utf8 ( const char *  text)
const detail::native_string_type & nana::to_nstring ( const std::string text)
const detail::native_string_type nana::to_nstring ( const std::wstring text)
detail::native_string_type && nana::to_nstring ( std::string &&  text)
detail::native_string_type nana::to_nstring ( std::wstring &&  text)
detail::native_string_type nana::to_nstring ( int  n)
detail::native_string_type nana::to_nstring ( double  d)
detail::native_string_type nana::to_nstring ( std::size_t  d)
std::string nana::to_osmbstr ( std::string  text_utf8)
const std::string & nana::to_utf8 ( const std::string str)
Examples:
calculator.cpp.
std::string nana::to_utf8 ( const std::wstring text)
std::wstring nana::to_wstring ( const std::string utf8_str)
const std::wstring & nana::to_wstring ( const std::wstring wstr)
std::wstring && nana::to_wstring ( std::wstring &&  wstr)
unicode_character_type nana::unicode_char_type ( unsigned long  ch)
std::vector< unicode_bidi::entity > nana::unicode_reorder ( const wchar_t *  text,
std::size_t  length 
)
bool nana::unicode_wordbreak ( wchar_t  left,
wchar_t  right 
)
static void nana::update_div ( std::string div,
const char *  field,
const char *  attr,
update_operation  operation 
)
static
void nana::zoom ( const rectangle &  refer,
const rectangle &  scaled,
const rectangle &  refer_dst,
rectangle &  r 
)

Variable Documentation

const char* nana::field_options = "__nana_group_options__"
static
const char* nana::field_title = "__nana_group_title__"
static
const std::size_t nana::npos = static_cast<std::size_t>(-1)

A constant value for the invalid position.