Nana C++ Library  
An open-source C++ framework project
The Nana Programmer's Guide
Nana 0.7.0 Library Documentation

Welcome to the Nana Programmer's Guide. This documentation will help you get started programming with Nana.

1. Introduce to Nana
   
1.1 Nana is a C++ framework provides GUI, threads and filesystem. It provides many of the basic classes and functions for the cross-platform programming.
    1.2 Downloading the Nana
          Refer to http://sourceforge.net/projects/nanapro to download Nana
    1.3 Installing the Nana
          Refer to Installation Library Documentation

2. Getting Started
    2.1 Preliminary Study of Nana C++ Library
    2.2 Let's start with an example for learning the programming with Nana. Hellow,World!
    2.3 The FreeMe - A sample of Nana under Windows.

3. Reference
    3.1 Basic Types

    3.2 Basic Class
          charset
          date
          rectangle
          string

    3.3 GUI
          |- 3.3.1 Concepts
          |           Root Window
          |           Widget Window
          |           Frame Window
          |           Any Objective
          |
          |- 3.3.2 Base of widgets
          |           widget_object: public widget
          |           widget_object: public widget
          |           widget_object: public widget
          |           widget_object: public widget
          |
          |- 3.3.3 Events
          |
          |- 3.3.4 Basis
          |           color
          |           cursor
          |           mouse
          |           z_order_action
          |
          |- 3.3.5 Application Programming Interfaces
          |
          |- 3.3.6 Widgets
          |           button
          |           categorize
          |           checkbox
          |           combox
          |           date_chooser
          |           form
          |           frame
          |           label
          |           listbox
          |           menu
          |           menubar
          |           panel
          |           picture
          |           progress
          |           radio_group
          |           scroll
          |           slider
          |           tabbar
          |           textbox
          |           toolbar
          |           treebox
          |
          |- 3.3.7 Layout
          |           gird (deprecated)
          |           place
          |
          |- 3.3.8 Effect
          |           background effects
          |
          |- 3.3.9 Components
          |           animation
          |           appearance
          |           dragger
          |           drawing
          |           frameset
          |           timer
          |
          |- 3.3.10 Common Dialogs
                      filebox
                      msgbox

    3.4 Paint
          |- 3.4.1 Graphics Objects
          |           graphics
          |           image
          |           pixel_buffer
          |
          |- 3.4.2 Image Processing
                      selector
                      Image Processing Algorithm Interfaces
                         blend_interface
                         line_interface
                         stretch_interface

    3.5 Audio
          player

    3.6 Threads
          |- 3.6.1 Mutexs                C++03 only
          |           recursive_mutex    C++03 only
          |           mutex              C++03 only
          |           timed_mutex        C++03 only
          |
          |- 3.6.2 Locks
          |           lock_guard         C++03 only
          |           unique_lock        C++03 only
          |
          |- 3.6.3 condition_variable    C++03 only
          |
          |- 3.6.4 pool
                      pool_pusher

    3.7 System
          dataexch
          timepiece


4. Knowledge Base
    How to implement a button in Nana.GUI
    The tabstop in Nana.GUI
    A Method to prevent UI from blocking while busy
    Enable the PNG support for Nana C++ Library


Move to HOME