RTLABEL.DCU  Rotated text component for Delphi 1.0 & 2.0
--------------------------------------------------------
(C)1996 by DuNo Electronics I/S

** IMPORTANT ******************************************************
* This VCL is freeware only if you follow the terms stated in the *
* end of this document!                                           *
*******************************************************************

----------------
* INTRODUCTION *
----------------

This document describes the components included in RTLABEL.DCU. The
VCL includes three new objects you can use in your projects: TRTFont,
TRTLabel, and TRTButton.


----------------
* INSTALLATION *
----------------

When you have unpacked RTLABEL.ZIP you have got the following files:

RTLABEL.TXT   This file
RTLAB_16.ZIP  VCL for Delphi 1.0 (16 bit)
RTLAB_32.ZIP  VCL for Delphi 2.0 (32 bit)

- Delphi 1.0 -
Unpack RTLAB_16.ZIP in a Delphi 1.0 related directory
(eg. c:\delphi\lib) and use "Options|Install components" to add the
VCL (RTLABEL.DCU).

- Delphi 2.0 -
Unpack RTLAB_32.ZIP in a Delphi 2.0 related directory
(eg. "c:\Program Files\Borland\Delphi 2.0\LIB") and use
"Component|Install" to add the VCL (RTLABEL.DCU).

Please be aware that both the 16 bit and the 32 bit VCL is
named RTLabel.DCU. If they have to reside in the same directory, you
must rename one of the VCL's (and the resource file) to another name
before unpacking the second file.


-----------
* TRTFont *
-----------

This non-visible, non-component object is a supplement to the standard
TFont object. TRTFont has all the properties of a normal TFont plus
the ability to rotate a font. The TRTFont is inherited from TFont and
can be assigned to any TFont property and used in place of any TFont
object. The properties of TRTFont is the same as TFont except the new
property Escapement.

----
property Escapement : integer;

Sets the escapement of the font in 10th of a degree. Use positive
values to rotate the font counter-clockwise and negative values to
rotate it clockwise.

Example:

var
  RTFont1,
  RTFont2 : TRTFont;
begin
  { Rotate text on Button1 }
  RTFont1 := TRTFont.Create;
  RTFont1.Assign(Button1.Font);
  RTFont1.Escapement := 450;  { 45 degrees counter-clockwise }
  Button1.Font := RTFont;
  { Create a Rotated bold Arial in size 20 and assign it to Label1 }
  RTFont2 := TRTFont.Create;
  RTFont2.Name := 'Arial';
  RTFont2.Size := 20;
  RTFont2.Style := [fsBold];
  RTFont2.Escapement := -900; { 90 degrees clockwise }
  Label1.Font := RTFont2
end;
----

There are two thing you should be aware of when using TRTFont:
1) If you assign a TRTFont to a component you should always continue
   to make changes to the TRTFont and then reassign it to the
   control - do not change the Font-property of the control. This is
   due to an oddity in the TFont object - when you assign one font
   to another only the font-handle is assigned NOT the actual object.
2) The font is rotated around its anchor-point (the upper left corner)
   which can cause a text to become non-visible. Try altering the
   alignment of the text or subclass the control and paint it manually
   (or use the TRTLabel and TRTButton control that takes care of this
   for you).


------------
* TRTLabel *
------------

TRTLabel is a descendant of TCustomLabel and has the properties of a TLabel
minus the WordWrap property and plus an added FontEscapement property.

----
property FontEscapement : integer;

Sets the escapement of the font in 10th of a degree. Use positive
values to rotate the font counter-clockwise and negative values to
rotate it clockwise.

Example:
procedure Form1.Button1Click(Sender : TObject);
begin
  RTLabel1.FontEscapement := 300  { 30 degrees counter-clockwise }
end;
----

Please note the following when the ShowAccelChar standard-property is
true:
1) The first possible character is chosen as the accellerator character
   which differs from Windows that chooses the last character:
   &Abcde&fg  - RTLabel.AccelChar = 'A', Label.AccelChar = 'f'
2) The underscore on the accellerator character is placed under the
   character instead of on the baseline as Windows does.


-------------
* TRTButton *
-------------

TRTButton is an descendant of TButton and has the properties of a
TButton plus a FontEscapement property.

----
property FontEscapement : integer;

Sets the escapement of the font in 10th of a degree. Use positive
values to rotate the font counter-clockwise and negative values to
rotate it clockwise.

Example:
procedure Form1.RTButton1Click(Sender : TObject);
begin
  { add 15 degrees counter-clockwise }
  RTButton1.FontEscapement := RTButton1.FontEscapement+150
end;
----

Please note the following about the TRTButton component:
1) The first possible character is chosen as the accellerator character
   which differs from Windows that chooses the last character:
   &Abcde&fg  - RTButton.AccelChar = 'A', Button.AccelChar = 'f'
2) The underscore on the accellerator character is placed under the
   character instead of on the baseline as Windows does.
3) The appearance of the button is different from both Windows 3.1 and
   Windows 95 standard buttons, but should be close enough to both to
   be used alongside both types of standard buttons. You can always
   use the TRTButton as a normal button by setting the value of the
   FontEscapement property to zero.


-----------------------------
* TERMS FOR USE OF THIS VCL *
-----------------------------

When you use our freeware components you must include our copyright
statement everywhere you claim your own copyright (in the About box,
in the help file [excluding the about box for the help file], the
documentation and so on). The statement should read:

Portions copyright DuNo Electronics I/S

The statement must be in a readable size but does not have to be in
the same size (as big) as your copyright statement.

- DISCLAIMER -
DuNo Electronics I/S makes no representations or warranty that the software
or documentation are "error free" or meet any user's particular standards,
requirements, or needs. DuNo Electronics I/S can not be held liable for any
error or claims that arises directly or indirectly from the use of this
software.


-----------------------------
* OBTAINING THE SOURCE CODE *
-----------------------------

You can obtain the source code for our VCL's by licensing it from
DuNo Electronics I/S. When you have licensed a VCL you do not have to
include our copyright message. For detail about licensing please
check out our web-site:

www.cybercity.dk/users/ccc9169/home.html

The actual licencing scheme wasn't available as this document was
written but will be something like $xx for 10 points worth of VCL's,
where most VCL's will cost one point (we currently have 4 VCL's
planned for release within the next months - three 1 point VCL's and
one 3 point VCL). The points must be used within a year and includes
free e-mailed source-code updates if a component is updated.


---------------------
* OBTAINING UPDATES *
---------------------

You should check out our web-page for updates and new VCL's
periodically:

www.cybercity.dk/users/ccc9169/home.html


--------------------
* REPORTING ERRORS *
--------------------

The components we develop is often used by at least two danish
companies before being released as freeware - this should take care
of BIG bugs. If you do find an error please report it immediately
by e-mail by sending an error report (let the first line read "ERROR
REPORT FOR XXXXXX" where XXXXXX is the name of the component eg.
TRTLabel) to:

johnnynorre@vip.cybercity.dk

Errors will be corrected as fast as possible (normally within 24-48
hours).

Please do not report documented differences as error (eg. the
underscore of a TRTLabel is placed in another position than the
underscore of a TLabel component) but do post it as a suggestion to
enhance the component (let the first line read "SUGGESTION FOR XXXXX").
REMARK: The reason for placing the underscore of a TRTLabel and a
TRTButton under the character is that it has a tendency to "crawl"
into the font-image at many angles when placed on the baseline.
