From 87dd7f0d23eba5c09e71ec6efeb34c6844f5e95f Mon Sep 17 00:00:00 2001 From: Michael R Sweet Date: Tue, 29 Dec 1998 14:21:17 +0000 Subject: Revised documentation files. git-svn-id: file:///fltk/svn/fltk/trunk@177 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- documentation/basics.html | 211 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 211 insertions(+) create mode 100644 documentation/basics.html (limited to 'documentation/basics.html') diff --git a/documentation/basics.html b/documentation/basics.html new file mode 100644 index 000000000..62e74d7e0 --- /dev/null +++ b/documentation/basics.html @@ -0,0 +1,211 @@ + + + +

2 - FLTK Basics

+ +This chapter will teach you the basics of compiling programs that use +FLTK. + +

Naming

+ +All public symbols in FLTK start with the characters 'F' and 'L': + + + +

Header Files

+ +The proper way to include FLTK header files is: + + + +Microsoft Windows developers please note: case *is* significant +under other operating systems, and the C standard uses the forward +slash (/) to separate directories. The following #include +directives are *not* recommended for portability reasons: + + + +

Compiling Programs with Standard Compilers

+ +Under UNIX (and under Microsoft Windows when using the GNU development tools) +you will probably need to tell the compiler where to find the header files. +This is usually done using the -I option: + + + +Similarly, when linking your application you will need to tell the compiler +to use the FLTK library: + + + +

Compiling Programs with Microsoft Visual C++

+ +In Visual C++ you will need to tell the compiler where to find the FLTK +header files. This can be done by selecting "Settings" from the +"Project" menu and then changing the "Preprocessor" settings under the +"C/C++" tab. Similarly, you will need to add the FLTK library to the +"Link" settings. + +

You can build your Microsoft Windows applications as Console or +WIN32 applications. If you want to use the standard C main() +function as the entry point, enter the name mainCRTStartup in +the "Entry-point symbol" field in the "Output" settings under the +"Link" tab. + +

Note: The Visual C++ optimizer is known to cause problems with +many programs. We only recommend using the "Favor Small Code" +optimization setting. + +

Writing Your First FLTK Program

+ +All programs must include the file <FL/Fl.H>. In +addition the program must include a header file for each FLTK class it +uses. Listing 1 shows a simple "Hello, World!" program that uses +FLTK to display the window. + + + +After including the required header files, the program then creates a +window: + + + +and a box with the "Hello, World!" string in it: + + + +Next, we set the size, font, and style of the label: + + + +Finally, we show the window and enter the FLTK event loop: + + + +The resulting program will display the window below. You can quit +the program by closing the window or pressing the ESCape key. + +
+ +

Creating the Widgets

+ +The widgets are created using the C++ new operator; the arguments +to the constructors are usually one of the following: + + + +The boxtype value is the style of the box that is drawn around +the widget. Usually this is FL_NO_BOX, which means that no +box is drawn. In our "Hello, World!" example we use FL_UP_BOX, +which means that a raised button border will be drawn around the +widget. You can learn more about boxtypes in Chapter +3. + +

The x and y parameters determine where the widget +or window is placed on the screen. In FLTK the top left corner of the +window or screen is the origin (i.e. x = 0, y = 0) and the units are in +pixels. + +

The width and height parameters determine the size +of the widget or window in pixels. The maximum widget size is typically +governed by the underlying window system or hardware. + +

Labels

+ +All widgets support labels. In the case of window widgets, the label +is used for the label in the title bar. Our example program calls the +labelfont, +labelsize, and +labeltype methods. + +

The labelfont method sets the typeface and style that is +used for the label, which for this example we are using +FL_BOLD and FL_ITALIC. You can also specify typefaces +directly. + +

The labelsize method sets the height of the font in pixels. + +

The labeltype method sets the type of label. FLTK supports +normal, embossed, shadowed, symbol, and image labels. + +

A complete list of all label options can be found in +Chapter 3. + +

Showing the Window

+ +The show() method shows the widget or window. For windows you can +also provide the command-line arguments to allow users to customize the +appearance, size, and position of your windows. + +

The Main Event Loop

+ +FLTK provides the Fl:run() method to enter +a standard event processing loop. This is equivalent to the following +code: + + + +Fl::run() does not return until all of the windows under FLTK control +are closed (either by the user or your program). + + + -- cgit v1.2.3