From 1d451aada0455b19f0de47aa16761ebc0b3123ca Mon Sep 17 00:00:00 2001 From: Michael R Sweet Date: Sun, 24 Mar 2002 21:51:32 +0000 Subject: [PATCH] Finish changes to FLUID chapter... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2010 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- documentation/cubeview.gif | Bin 8289 -> 10937 bytes documentation/fluid.html | 172 ++++++++++++++++++------------------- 2 files changed, 85 insertions(+), 87 deletions(-) diff --git a/documentation/cubeview.gif b/documentation/cubeview.gif index 7dd3863f93cef9ac6236d46f0ba0b9b4bdf78cca..024cc55d2fe8103322dc7724bc122794e72f0965 100644 GIT binary patch literal 10937 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 GB>o@xyE$?I literal 8289 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 diff --git a/documentation/fluid.html b/documentation/fluid.html index aa7a15d71..99dfd880e 100644 --- a/documentation/fluid.html +++ b/documentation/fluid.html @@ -864,6 +864,17 @@ you want the window to hide and then reappear at a new position, you should have your program set the hotspot itself just before show(). +

The Border button turns the window manager border on +or off. On most window managers you will have to close the +window and reopen it to see the effect. + +

X Class (text field)

+ +

The string typed into here is passed to the X window manager +as the class. This can change the icon or window decorations. +On most (all?) window managers you will have to close the window +and reopen it to see the effect. +

The FLUID widget Style attributes.
Figure 9-9: The FLUID widget Style attributes.

@@ -1103,126 +1114,113 @@ different.

it) is almost identical to the panel for any other Fl_Widget. There are three extra items:

-

Border

+

Images

-

This button turns the window manager border on or off. On -most window managers you will have to close the window and -reopen it to see the effect. +

The contents of the image files in the Image +and Inactive text fields are written to the .cxx +file. If many widgets share the same image then only one copy is +written. Since the image data is embedded in the generated +source code, you need only distribute the C++ code and not the +image files themselves.

-

xclass

- -

The string typed into here is passed to the X window manager -as the class. This can change the icon or window decorations. -On most (all?) window managers you will have to close the window -and reopen it to see the effect. - -

Image Labels

- -

Selecting "Image..." off the label style pull-down -menu will bring up a file chooser from which you pick the image -file. If an image has already been chosen, you can change the -image used by picking "Image..." again. The name of -the image will appear in the "label" field, but you -can't edit it.

- -

The contents of the image file are written to the -.cxx file, so if you wish to distribute the C code, you -only need to copy the .cxx file, not the images. If -many widgets share the same image then only one copy is -written.

- -

However the file name is stored in the .fl -file, so to read the .fl file you need the image files -as well. Filenames are relative to the location the -.fl file is (not necessarily the current directory). I +

However, the filenames are stored in the .fl +file so you will need the image files as well to read the +.fl file. Filenames are relative to the location of the +.fl file and not necessarily the current directory. We recommend you either put the images in the same directory as the .fl file, or use absolute path names.

-

Notes for all image types

+

Notes for All Image Types

-

FLUID runs using the default visual of your X server. This -may be 8 bits, which will give you dithered images. You may get +

FLUID runs using the default visual of your X server. This +may be 8 bits, which will give you dithered images. You may get better results in your actual program by adding the code "Fl::visual(FL_RGB)" to your code right before the first window is displayed.

All widgets with the same image on them share the same code -and source X pixmap. Thus once you have put an image on a +and source X pixmap. Thus once you have put an image on a widget, it is nearly free to put the same image on many other widgets.

-

If you are using a painting program to edit an image: the -only way to convince FLUID to read the image file again is to -remove the image from all widgets that are using it (including -ones in closed windows), which will cause it to free its -internal copy, and then set the image again. You may find it -easier to exit FLUID and run it again.

+

If you edit an image at the same time you are using it in FLUID, +the only way to convince FLUID to read the image file again is to +remove the image from all widgets that are using it or re-load the +.fl file.

Don't rely on how FLTK crops images that are outside the -widget, as this may change in future versions! The cropping of +widget, as this may change in future versions! The cropping of inside labels will probably be unchanged.

To more accurately place images, make a new "box" -widget and put the image in that as the label. This is also how -you can put both an image and text label on the same widget. If -your widget is a button, and you want the image inside it, you -must change the button's boxtype to FL_UP_FRAME (or -another frame), otherwise when it is pushed it will erase the -image.

+widget and put the image in that as the label.

-

XBM (X bitmap files)

+

XBM (X Bitmap) Files

-

FLUID will read X bitmap files. These files have C source -code to define a bitmap. Sometimes they are stored with the -".h" or ".bm" extension rather than the -standard ".xbm". +

FLUID reads X bitmap files which use C source code to define +a bitmap. Sometimes they are stored with the ".h" or +".bm" extension rather than the standard +".xbm" extension. -

FLUID will output code to construct an Fl_Bitmap widget and -use it to label the widget. The '1' bits in the bitmap are -drawn using the label color of the widget. You can change the -color in FLUID. The '0' bits are transparent.

+

FLUID writes code to construct an Fl_Bitmap image and use it +to label the widget. The '1' bits in the bitmap are drawn using +the label color of the widget. You can change this color in the +FLUID widget attributes panel. The '0' bits are transparent.

The program "bitmap" on the X distribution does an -ok job of editing bitmaps.

+adequate job of editing bitmaps.

-

XPM (X pixmap files)

+

XPM (X Pixmap) Files

-

FLUID will read X pixmap files as used by the libxpm library. -These files have C source code to define a pixmap. The -filenames usually have a ".xpm" extension. +

FLUID reads X pixmap files as used by the libxpm +library. These files use C source code to define a pixmap. The +filenames usually have the ".xpm" extension. -

FLUID will output code to construct an Fl_Pixmap widget and -use it to label the widget. The label color of the widget is -ignored, even for 2-color images that could be a bitmap.

+

FLUID writes code to construct an Fl_Pixmap image and use it +to label the widget. The label color of the widget is ignored, +even for 2-color images that could be a bitmap. XPM files can +mark a single color as being transparent, and FLTK uses this +information to generate a transparency mask for the image.

-

XPM files can mark a single color as being transparent. -Currently FLTK and FLUID simulate this transparency rather -badly. It will use the color() of the widget as the background, -and all widgets using the same pixmap are assumed to have the -same color. This may be fixed in the future or on non-X -systems.

+

We have not found any good editors for small iconic pictures. +For pixmaps we have used XPaint +and the KDE icon editor.

-

I have not found any good editors for small iconic pictures. -For pixmaps I have used XPaint. -This (and most other) painting programs are designed for large -full color images and are difficult to use to edit an image of -small size and few colors.

+

BMP Files

-

GIF files

+

FLUID reads Windows BMP image files which are often used in +WIN32 applications for icons. FLUID converts BMP files into +(modified) XPM format and uses a Fl_BMP_Image image to label the +widget. Transparency is handled the same as for XPM files. All +image data is uncompressed when written to the source file, so +the code may be much bigger than the .bmp file.

-

FLUID will also read GIF image files. These files are often -used on html documents to make icons. This lets you use nice -icons that you steal off the net in your user interface. +

GIF Files

-

FLUID converts these into (modified) XPM format and uses an -Fl_Pixmap widget to label the widget. Transparency is handled -the same as for XPM files. Notice that the conversion removes -the compression, so the code may be much bigger than the .gif -file. Only the first image of an animated gif file is used.

+

FLUID reads GIF image files which are often used in HTML +documents to make icons. FLUID converts GIF files into +(modified) XPM format and uses a Fl_GIF_Image image to label the +widget. Transparency is handled the same as for XPM files. All +image data is uncompressed when written to the source file, so +the code may be much bigger than the .gif file. Only +the first image of an animated GIF file is used.

-

Behavior and performance with large .gif files is not -guaranteed!

+

JPEG Files

+ +

If FLTK is compiled with JPEG support, FLUID can read JPEG +image files which are often used for digital photos. FLUID uses +a Fl_JPEG_Image image to label the widget, and writes +uncompressed RGB or grayscale data to the source file. + +

PNG (Portable Network Graphics) Files

+ +

If FLTK is compiled with PNG support, FLUID can read PNG +image files which are often used in HTML documents. FLUID uses a +Fl_PNG_Image image to label the widget, and writes uncompressed +RGB or grayscale data to the source file. PNG images can provide +a full alpha channel for partial transparency, and FLTK supports +this as best as possible on each platform.

Internationalization with FLUID