# The &kontour; Handbook

&kontour; logo
Hagen
Höpfner

    Hagen.Hoepfner@gmx.de

1999-11-08
0.07.01

This Handbook describes &kontour; Version 0.7.1 by Kai-Uwe Sattler.

KDE
Kontour

## Introduction

The goal of the &kontour; project is to create a freely available vector-based drawing program with an interface comprable to that of Corel Draw® or with Adobe Illustrator®.

### About the author

The author of &kontour; is Kai-Uwe Sattler.

### History of &kontour;

From the official &kontour; home page:

"I have started this project because I am tired of switching to Windows in order to design illustrations for papers or slides with a modern drawing tool. Now, for the Linux operating system and of course for other Unixes the Qt toolkit and the KDE project provide a perfect foundation for this kind of application."

Revision history:

- 25/03/1998 first preview version released

- 21/04/1998 second preview version released

- 23/04/1998 snapshot 0.2.1 (bug fixes only)

- 02/06/1998 snapshot 0.3 released

- 10/08/1998 snapshot 0.4 released

- 28/08/1998 snapshot 0.4.1 released

- 06/11/1998 snapshot 0.5 released

- 05/01/1999 snapshot 0.6 released

- 29/01/1999 snapshot 0.6.1 (bug fixes only)

- 09/02/1999 snapshot 0.6.2 released

- 24/02/1999 snapshot 0.6.3 released

- 06/04/1999 snapshot 0.6.4 released (bug fixes only)

- 09/04/1999 snapshot 0.6.5 released (bug fixes only)

- 07/15/1999 snapshot 0.7 released

- 10/19/1999 snapshot 0.7.1 released

### About the handbook

This handbook refers mainly to the "stand-alone version" of &kontour;. Special information regarding the &kontour; component of the KOffice package is not considered. However, the information presented here applies in many respects to the KOffice component also.

This documentation is a translation of the original German text by Hagen Höpfner.

The current version can be found on his home page.

Original German version: Hagen Höpfner, Hagen.Hoepfner@gmx.de

English translation: Ben Skelton, skeltobc@elec.canterbury.ac.nz and Winter Laite, `winlaite@lobo.net`

## Installation

### How to obtain &kontour;

The most current version of &kontour; is in the CVS repository at the KDE Internet site.

### System Requirements

&kontour; is still strongly in the development phase, and often utilises the latest package versons. The required software packages themselves require some set of minimum hardware which is not repeated here.

For installation the prerequisite packages are:

- KDE 1.1

- QT 1.41

- gcc 2.8.x or egcs 1.x

### Compilation and Installation

To compile the source code for &kontour;, proceeds as follows:

1. Unpack the tar archives `tar xfvz &kontour;.tar.gz`

2. Change to the source code directory `cd &kontour;`

3. Check for required packages and create the Makefiles `./configure`

4. Compile the source code `make all`

If the installing user has ROOT privileges, installing &kontour; into the KDE directory tree is done by `make install`.

The following platforms were successfully tested:

- RedHat 5.1 (Hagen Höpfner)

- RedHat 5.2 (Hagen Höpfner)

- SuSE 6.0 (Hagen Höpfner)

- SuSE 6.1 Cebit Beta (Hagen Höpfner)

- SuSE 6.1 (Hagen Höpfner)

- SuSE 6.2 (Joachim Ansorg)

If you encounter problems, please direct them to Hagen.

### Installation of binary packages

The installation of precompiled packages under Linux depends on the package format used. &kontour; is available in rpm and deb package formats. For a successful installation be sure to select the package for your system. First, some definitions:

- `FILENAME` = name of the package file (e.g.: `&kontour;&lowbar;0.6.5-1&lowbar;i386.deb`)

- `PACKAGENAME` = the created package name (usually `&kontour;`)

#### rpm

To install an `rpm` package use the command `rpm -i FILENAME`.The package may be deleted later using the command `rpm -e PACKAGENAME`.

#### deb

Similarly for `deb` packages, the installation command is `dpkg -i FILENAME` and to remove the package `dpkg -r PACKAGE&lowbar;NAME`.

In both cases ROOT privileges will almost certainly be required to install or uninstall the packages.

## Usage

### Some general remarks

The operation of &kontour; is intuitive and easy to learn. It is very similar to other graphical programs. &kontour; uses key bindings which are KDE standards.

Additionally pressing the CTRL key while moving the mouse constrains the movement to one in one direction or in equal amounts in both directions. For example, pressing the CTRL key while drawing a rectangle, draws a square.

Some functions can, of course, be used on more than one selected item at a time.

### Drawing 2D-Primitives

The procedure to draw any 2D-Primitive, consists of the following steps:

1. Select the type of object which can be drawn

2. Draw the object

The second step varies with each of the different 2D-Primitives. Therefore these are dealt with separately in the following where the operation is shown with the icon button to be pressed to select that function.

#### Freehand tool

In order to draw a freehand line, one proceeds as follows:

1. left-click (and hold) on the canvas where the freehand line is to begin

2. draw the line by moving the mouse with the left mouse button still pressed

3. release the left mouse button when the final point of the line is reached

#### Polyline tool

With this tool lines, polylines, and polygons may be drawn.

##### Lines

To draw a line:

1. left-click on the canvas at the point where the line is to start

2. release the left mouse button and draw the line by moving the mouse

3. right-click on the canvas at the point where the line is to finish.

##### Polylines

A polyline is a series of connected lines. In order to draw a polyline, proceed as follows:

1. left-click at the point where the polyline is to start

2. release the left mouse button and draw the first line

3. left-click at the point where the current line ends and the next line starts

4. release the left mouse button and draw the next line

5. continue with previous two steps until the final line is drawn, then terminate this line with a click of the right mouse button

##### Polygons

To draw a polygon follow the steps in drawing polylines. To close the polygon hold down the SHIFT key while clicking the right mouse button to automatically close the polygon. A line from the last left-click to the first left click is automatically drawn.

#### Bezier curve tool

Drawing Bezier curves is often a problem, however &kontour; makes it easy. Proceed as follows:

1. left-click on the canvas at the point of origin of the Bezier curve

2. determine the rise of the curve segment at this point with the help line - left-click when satisfied

3. left-click at the end point of this line segment

4. position the help line to achieve the desired rise, if further curve segments are to be drawn, left-click otherwise right-click to complete the curve

#### Rectangle tool

In order to draw a rectangle:

1. left-click (and hold) on the canvas at the point where a corner point of the rectangle is to be

2. draw the rectangle by moving the mouse while holding down the left mouse button

3. release the left mouse button to complete the rectangle

To draw a square, press and hold down the CTRL key while drawing the rectangle.

#### Regular polygon tool

This tool allows the simple drawing of equilateral triangles, squares, and higher order regular polygons. It is much simpler to use this tool for drawing regular polygons than the polyline tool. The procedure here is the following:

1. left-double click on the regular polygon tool button

2. a dialog opens where the polygon parameters are set

3. make the appropriate adjustments

4. left-click the OK button when finished

5. left-click (and hold) on the canvas at the point of origin *

6. scale the polygon to the desired size by moving the mouse while holding down the left mouse button

7. release the left mouse button when the desired size is achieved

* In this case the point of origin should only be used as a guide. For precise alignment of the polygon use the selection tool.

#### Ellipse tool

In order to draw an ellipse, proceed as follows:

1. left-click (and hold) on one corner point of the bounding box * of the ellipse

2. draw the ellipse by moving the mouse while holding down the left mouse button

3. release the left mouse button when the ellipse is the desired size

If a circle is to be drawn instead of an ellipse, hold the CTRL key down while drawing the ellipse.

* The bounding box of the ellipse is a rectangle which is just big enough to contain the ellipse - the edges of the rectangle are tangents (parallel to the x- and y-axes) of the ellipse.

#### Text tool

This tool adds text to your &kontour; drawing. The steps are are follows:

1. left-click on the canvas where the text is to begin

2. type the text

The input is continued until a new tool is selected, or a new point on the canvas is chosen to place more text by step 1.

### Transformation of 2D-Primitives

&kontour; offers tools that allow the easy modification of drawn primitives, such as scaling, rotating, and shifting tools. This section describes how to perform these transformations.

#### Rotation

Rotation here describes the rotation of an object about a centre point. Proceed as follows:

1. left-click on the object to be rotated. The selection frame appears around the object. Left-click again and the transformation frame appears.

2. left-click (and hold) over one of the corner arrows and rotate the object by moving the mouse while holding down the left mouse button.

3. release the mouse button

#### Scaling

Scaling an object allows the user to increase or reduce the size of an object. To scale an object:

1. left-click on the object to be scaled---the selection frame appears.

2. left-click (and hold) on a point in the selection frame in the direction the object is to be scaled.

3. scale the object by moving the mouse with the left button held down.

4. release the mouse button.

Proportional scaling can be done by holding down the CTRL key in the third step.

#### Shifting

To shift an object proceed as follows:

1. left-click on the object to be shifted

2. with the left mouse button pressed move the mouse to reposition the object

3. release the left mouse button

If you hold down the CTRL key while shifting, the object will be shifted horizontally or vertically only.

#### Modifying an object

In the previous sections the transformations of whole objects were presented. We now turn our attention to the manipulation of individual sections of objects. NOTE: Before the object can be modified the object must be selected using the selection tool.

##### Moving points

For shifting individual points in a object:

1. left-click (and hold) on the point to be shifted

2. with the left mouse button held move the mouse to reposition the point

3. release the mouse button

##### Adding points

This tool adds control points to an object. To add a point left-click on the object at the point where the new control point is desired.

##### Removing points

With this tool one can delete control points from an object---simply left-click on the point to be deleted.

##### Filling objects

To fill an object with a color select the object and left-click on the desired color in the color palette. If the required color is not in the palette or a pattern fill is required, proceed as follows:

1. select the object to be filled.

2. right-click on the object---a popup menu appears.

3. select the "Properties" menu entry.

4. select the "Fill" tab in the dialog.

5. choose to fill with a solid color, a pattern, or a gradient color.

NOTE: Remember to choose a color by clicking the colored buttons in the dialog else it might appear that there is no fill.

### Positioning objects

&kontour; offers many ways to assist in the positioning of objects.

#### Grid

The grid is an aid allowing the user to work on a drawing precisely. Grid behaviour can be controlled by three functions (parentheses show the menu entries used to access the fuctions):

1. Show Grid (View -> Show Grid), show the grid in the drawing.

2. Align to Grid (Layout -> Align to Grid), objects now snap to the grid.

3. Grid setup (Layout -> Grid), setup the grid.

The first and second functions can be performed during the setup of the grid distances by toggling the buttons in the Grid Setup dialog.

#### Helplines

Helplines provide a further mechanism to the Grid when precise drawing is required. The advantage of using helplines is that the distance between individual helplines can be varied. The proceedure for Helpline use is identical to the Grid.

#### Aligning objects

This function allows objects to be aligned with respect to each other and/or the page. For example a group of objects can be aligned such that their left edges are all in line or such that they are evenly distributed throughout the page. Select the object(s) to be Aligned and right-click, select "Align" from the menu and the following dialog appears:

NOTE: At the time of writing not all functionality of "Align" has been implemented. It is hoped that further functionality will be added soon.

#### Aligning text along a path

If the path is already drawn, then one proceeds as follows:

1. select the text to be aligned

2. choose "Text along Path" from the arrange menu

3. select the object to be used as the path with a left-click (the right mouse button cancels).

The following Objects can be used as Paths:

- Freehand lines

- Lines, Polylines, Polygons

- Bezier curves

- Ellipses

#### Grouping of Objects:

Individual objects can be grouped together. This is useful of one wants to assemble complex drawings from individual objects and then treat these compound objects as one object. Objects are grouped as follows

1. select the objects to be grouped. Multiple objects can be selected by enclosing them inside a selection box by using the selection tool and/or selecting objects while holding down the SHIFT key.

2. choose "Group" from the "Arrange" menu.

A grouped object can be separated into it's constituent objects by selecting the group and choosing "Ungroup" from the "Arrange" menu.

### The Layer Concept

#### What are layers?

Layers may be thought of as sheets of transparent paper with different pieces of the overall drawing on each. Together the layers form the overall drawing, but each layer may be edited independantly of the others. Layers are controlled via the Layers dialog (View -> Layers...). Each layer has three characteristics represented by the eye, pen, and printer icons respectively:

- Visible: allows the in/visible.

- Editable: determines whether changes may be made to the layer.

- printable: allows the layer to be printed.

#### Working with layers

### Working with Files

#### Saving Files

There are two main ways to save a file, either via the "File" menu item, or by clicking on the Diskette icon in the list of icons. If you've just created the drawing you're working on, and haven't saved it yet, you will be taken taken to a dialog where you can choose a name. This will happen regardless of which of the two methods you choose.

If the file already has a name, it will be used unless you select the menu item "Save As". You should ALWAYS use the file extension `.kil`. This is the only way to ensure that &kontour; doesn't run into problems when it tries to find the file again.

#### Loading Files

Just as in saving files, there are two ways to load them. You can click on the corresponding icon from the list, or you can use the "Open" item from the "File" menu. Either way brings you to the "Open" dialog.

Since this dialog form conforms to the KDE standard, we won't go into the workings of every button. If you've selected the file you want to open a preview appears on the right side of the dialog box. Now you can load it by double-clicking the file name, or by clicking on the "OK" button.

#### Importing and Exporting Files

Regrettably, perhaps, one measure of a program's worth seems to be how many other programs' formats it supports. This does, however, afford a degree of flexibility to a piece of software; such import and export filters are necessary. &kontour; can import a number of file formats:

- &kontour; Drawings (.kil)

- XFig Drawings (.fig)

- Windows Metafiles (.wmf)

- GIF Images (.gif)

- JPEG Images (.jpg)

- PNG Images (.png)

- X11 Bitmaps

- X11 Pixmaps (.xpm)

&kontour; can export files in the following formats:

- GIF Images (.gif)

- X11 Pixmaps (.xpm)

- Encapsulated Postscript (.eps)

- PPM Images (.ppm)

##### Importing

Importing objects into a &kontour; drawing doesn't work quite the same for all formats, unfortunately. You will find most of the import filters in the "Edit" menu under "Insert". The submenu item "Clipart" lets you insert `.wmf` files.The filters for pixel-oriented images are under the submenu item "Bitmap". To import XFig drawings or another &kontour; drawing, you have to use the "Import" item from the "File" menu. Dialogs are similar to those for opening files.

##### Exporting

Via the "File" menu and the item "Export" you reach the following Dialog:

This is very similar to the dialog for saving files. The only difference is the fact that you can choose what format to save the file in.

#### Printing Files

### Undo / Redo

Previous operations in the drawing can be undone easily by using "Undo" from the "Edit" menu. If the undone step is then wanted again in the drawing this can be achieved by using "Redo". &kontour; remembers all steps made to a drawing from when it was started. One should consider, however, that Undo and Redo steps work on operations in the order in which they were performed on the drawing.

### Zoom tool

Zooming can be performed in two ways. The simplest is to use the drop down box in the main bar to select the required magnification level whose default value is 100&percnt;. The second method is to use the magnifying glass in the tool bar. Left-clicking on the canvas with the zoom tool increases the magnification to the next level. The magnification levels are:

- 50&percnt;

- 100&percnt;

- 150&percnt;

- 200&percnt;

- 400&percnt;

- 600&percnt;

- 800&percnt;

- 1000&percnt;

### Handling colors

The colour handling process in &kontour; is very simple. Generally, a left-click on a colour in the colour palette changes the fill colour of the selected object(s); a right-click changes the outline colour (or the text colour) of the selected object(s). If the desired colour is not in the colour palette, then proceed as follows:

1. select the object whose colour is to be changed.

2. right-click on the object and choose "Properties" from the menu.

3. choose to change the fill colour or the outline colour from the dialog.

4. press the colour button and the following dialog is displayed:

5. left-click in the multi-coloured window and select the desired colour by moving the mouse.

6. release the left mouse button.

7. left-click (and hold) on the small triangle next to the shaded-grey window to the right of the multi-coloured window.

8. select the desired brightness by moving the mouse up and down.

9. release the left mouse button.

10. the colour may be saved in the Custom Colour palette by clicking in one of the custom colour squares and pressing the Add to Custom Colors button (this is optional).

11. press OK.

Alternatively HSV and RGB values can be entered directly into the dialog by clicking in the appropriate field, typing the value, then pressing the ENTER key.

### Changing the standard parameters

#### Global parameters

##### Page layout

##### Units

#### Default drawing parameters

Default drawing parameters such as fill colour, line thickness and style can be set by changing parameters with no object selected. These parameters will be saved and used next time &kontour; is started.

## Frequently Asked Questions

Question:

  How can I use EPS files, which were exported from &kontour;, in LATEX?

Answer:

  This is possible using the clip option (`\epsfig&lcub;file=graphics.eps, width=9cm, clip= &rcub;`)

Question:

  How can I import ASCII text into a &kontour; document?

Answer:

  The importing of text is performed by copying/pasting. Copy the text from (as an example) a text editor. In &kontour; select Paste from the File menu, and position the text as desired.

Question:

  I can't find the &kontour; package in my SuSE distro!

Answer:

  SuSE didn't compile the different packages as separate applications. Use the complete package.

## Appendix

### Key bindings

Some functions can be applied to several selected objects. This is noted by "selected objects" in the "Meaning" column.

    Key:            Meaning:
    -------------	----------
    CTRL-A		Align selected object(s)
    CTRL-PageDown 	Move selected object(s) back one
    CTRL-PageUp 	Move selected object(s) forward one
    CTRL-C 		Copy selected object(s)
    CTRL-D 		Duplicate selected object(s)
    CTRL-G 		Group selected objects
    CTRL-N 		Create a new drawing
    CTRL-O 		Open a new drawing
    CTRL-P 		Print
    CTRL-Q 		Quit &kontour;
    CTRL-S 		Save current drawing
    CTRL-U 		Ungroup selected objects
    CTRL-V 		Paste copied object from clipboard
    CTRL-W 		Cut the selected object(s)
    CTRL-X 		Close the current drawing
    CTRL-Y 		Toggle Align to Grid
    CTRL-Z 		Undo
    DEL 		Delete selected object(s)
    F1 		Help
    SHIFT-PageDown	Move selected object(s) to the back
    SHIFT-PageUp	Move selected object(s) to the front

### TO DO

#### Handbook

There is surely much more than can and should be improved upon in this handbook. Here is a short list:

- Correct spelling and grammar ;-)

- Aligning to objects

- Layers

- Printing

Suggestions and errors concerning this handbook in general should be directed toward Hagen. Matters regarding the English translation can be sent to Ben.

## Copyright

    &kontour; is Copyright 1998-99 Kai-Uwe Sattler, kus@iti.cs.uni-magdeburg.de

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

&documentation.index;