Objective
When I was interested in windows programming in 1993, I used
OWL1.0(Object Windows Library from Borland). After short time I
used the library, I got interested in how these library is implemented.
I studied how to implement event-driven mechanism into C++ class
library. At the same time I felt there are many inconvenience in C++. So
I designed some classes such as string, file I/O, container, process/thread,
etc. The "KWLib" is a summarization of my classes.
I have been developing this library for many years in my spare
time. All of my software are developed using this library.
The reasons why I developed this class library
from scratch
are as follow:
- To study mechanism of such class library.
- To experiment various implementation method.
- To experiment various user interfaces.
- To study various algorithms.
Structure
Components
The latest version is kwlib3f-Feb09-2002, which has about 200KLOC (200000 lines of code).
The KWLib is consists of such components as follows:
- Classes to extend C++
- Numerical Computation
- Process and Thread control
- KProcess, KThread, KMutex
- Scripting Engine (KWLib-sh)
- Classes to develop windows application
- Windows Class
- Window's objects (GDI,DIB,etc.)
- GUI Objects
- KWLib-GUI Widgets (Button, Menu, Scrollbar, etc.)
These controls are not wrapper class of existing window's class,
but my original controls created from scratch. The reason why I developed
them from scratch is to experiment various user interface requirement,
which is beyond just modification of existing controls.
- Print/Preview Component
- UI Description Language
- Menu/Toolbar definition
- Dialog definition
- Classes expanding the ability of KWLib
- Image manipulation Class
- 3D-Graphics Engine (KWLib-3D)