The contents:

Introduction

Yzone - universal cross-platform library for creation of the graphic modular
programs for various platform UNIX and Microsoft Windows. Yzone - the library
of a broad profile, however priority in it is the scientific, component -
algorithmic approach.
Introducing the library Yzone, it is necessary to mark the following moments
and idiosyncrasies:

Yzone is written on the language C (instead of C ++ as the majority of
GUI-libraries), that gives a scoring on computing problems in 1.5-2 times (at
exact set-up of compilers) and more effective multisequencing.

In Yzone cross-platforming is reached by usage of libraries of low level
(Xlib for UNIX and WinAPI for Microsoft Windows) in difference, for example,
from a known package wxWindows
(http://www.wxwindows.org), where the
cumbersome, commercial libraries (Motif and MFC accordingly) will be used.

In Yzone the "natural" scheme of construction of the programms will be used,
the basis by which one is made by "modules" (in particular graphic windows),
exchanging with a system and among themselves by "messages" (so originally was
written Windows 3.x, though last time more often will be used the scheme, where
the emphasis is made on "events" and their processing by separate
"callback"-functions).

On the basis of the described above "natural" approach in Yzone the original
system of modular-component programming and controls of algorithms ALGO
will be built in further.

In Yzone incorporate a simplicity and universality, absence of superfluous
parts and power of representational means, logical orderliness and compactness
of the code, combination scientific and popular of the approaches to
programming.

All listed above allows to hope, that the library Yzone will be useful to the
broad audience of the programmers: from beginners to the professionals, from
wishing to write the first graphic program up to the developers of composite
big programmatic systems.

1. OPEN: window-graphical and system primitives

In Yzone the original mixed window system (system and internal windows) is
designed:

system windows - are real windows in the terms of the system
window manager, i.e. that, can be dragged by mouse on a screen, to change the
sizes, to coagulate into icons etc.;

internal windows - graphic window
modules defined in the inside - library table, in main all user's members of
control (push button, scroll, etc.);

Such approach allows to make a system more floppy and generalpurpose, to
reduce held system resources and to speed up graphic visual dialogue response.
In case of the simple application there is one main system window, in which one
the means internal windows realise user interface. In addition the system
dialog boxes are possible also.

Everyone the window-module is described unified "callback"-function, the body
by which one represents one large "switch"-operator. Its labels "case" are
entry points in a window procedure and respond for processing of the different
messages, going at a module.
At any program of the library, written with Yzone there should be main
"callback"-function MAIN, which one is called first after start of the program.

Thus, the standard program "Hello World" (with a padding button) will look
so:

Work with Colors

At initializing a graphic system in Yzone there is a reserving and installation
of two different colour tables:

the standard set - widely known generally accepted color names (in the current
version will be used 16 colours originally fixed behind a graphic pallet
Windows VGA);

"black"

"green"

"silver"

"lime"

"gray"

"olive"

"white"

"yellow"

"maroon"

"navy"

"red"

"blue"

"purple"

"teal"

"fuchsia"

"aqua"

solid graphic pallet - colour "unidimensional" graphic pallet formed on some
law (linear, logarithmic etc.); it is convenient for using for different
problems of visualization of the distributed data.

2. MORE: useful additions and improve GUI functions

In this section some useful functions are described. They ream capabilities of
the "C" language and easy to the programmer his hard work :-) But the main
improvements concern graphic functions; in them the following additions are
entered:

scalability: before drawing on a screen, all coordinatesand the sizes (in
pixels) change pursuant to a given factor of a scale; it allows to not depend
on essential miscellaneous screen resolution and always to have a graphic
picture of the necessary size.

save in the Meta-format: it is possible to set a mode, at which one all
graphic primitives will be saved in some format; in further these calls it is
possible to repeat in the same order.

printing in PostScript: to print graphic to the file PS it is possible or
directly having set such mode, or from the available Meta-format.

3. WIND: control elements of dialogue

In Yzone all control elements work standardly, except for a
field 'DECIMAL', to operate which it is possible only by 'mouse':
- pressing the left key - reduces meaning of a field,
- and the pressing right - increases meaning of a field;
Thus the unitary pressing changes meaning per unit of, and
the long pressing will make continuous change, and, theme faster,
than further cursor from an initial place is removed!

For selection, simplly click the left-hand
key of the mouse on the necessary colour.

Dialogue 'Save_to_PS'

Print, and is exacter, save to PostScript.

Size(mm) -- panel for defining EPS image size;

it is possible to set in mms;

and it is possible to set concerning the size of a standard sheet
of a paper A4;

Dialogue 'FinfFile'

Carries out navigation on directories of file systems and
choice of a file for the subsequent work with it.
Control -- with the help of standard means (button, mouse, keyboard).

Dialogue 'Message'

To the user some message is given out, on which it is required
to answer (for example to press the button "Yes" or "No").

Conclusions

You shortly have acquainted with Yzone - generalpurpose cross-platform
GUI-library. From set of similar libraries Yzone distinguishes the whole set of
the realised original ideas and properties. Yzone - new, dynamically developing
library and, unfortunately, it is not yet free from errors and discrepancies,
that hereinafter will be corrected.

Some members of control and input boxes also are in stage of adaptation, but
not waiting the terminations of this process, the users have a capability "to
be picked up" to the already developed library FLTK
(http://fltk.easysw.com)
and to take advantage of its means GUI.

In further, certainly, all deficiencies will be removed, and the interface is
advanced in indispensable volumes. The programmer operating Yzone, will forget
about existence of different platforms and padding libraries.