summaryrefslogtreecommitdiff
path: root/documentation
diff options
context:
space:
mode:
authorMatthias Melcher <fltk@matthiasm.com>2006-08-24 11:41:22 +0000
committerMatthias Melcher <fltk@matthiasm.com>2006-08-24 11:41:22 +0000
commita7769752395a5496f198672ad6810b8bb525d304 (patch)
treea5b7953972f047342879e912f84c6a93f96b001c /documentation
parentcda7f614627d3bcf303ab1ad92d5d7fe53f3e3af (diff)
All fl_ functions indexed and linked.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5352 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'documentation')
-rw-r--r--documentation/common.html15
-rw-r--r--documentation/drawing.html89
-rw-r--r--documentation/functions.html298
-rw-r--r--documentation/osissues.html38
4 files changed, 364 insertions, 76 deletions
diff --git a/documentation/common.html b/documentation/common.html
index 9c2084de6..421ea723c 100644
--- a/documentation/common.html
+++ b/documentation/common.html
@@ -318,6 +318,15 @@ void xyz_draw(int x, int y, int w, int h, Fl_Color c) {
}
</PRE></UL>
+<H4><A name="fl_down">Fl_Boxtype fl_down(Fl_Boxtype)</A></H4>
+
+<P><tt>fl_down</tt> returns the "pressed" or "down" version of a box.
+
+<H4><A name="fl_frame">Fl_Boxtype fl_frame(Fl_Boxtype)</A></H4>
+
+<P><tt>fl_frame</tt> returns the unfilled, frame-only version of a box.
+See also: <A HREF="drawing.html#fl_frame">fl_frame drawing</A>.
+
<H4>Adding Your Box Type</H4>
<P>The <TT>Fl::set_boxtype()</TT> method adds or replaces the
@@ -528,6 +537,12 @@ int fl_add_symbol(const char *name, void (*drawit)(Fl_Color), int scalable)
must be set to 1 if the symbol is generated using scalable vector drawing
functions.</P>
+<UL><PRE>
+int fl_draw_symbol(const char *name,int x,int y,int w,int h,Fl_Color col)
+</PRE></UL>
+
+<P>This function draw a named symbol fitting the given rectangle.
+
<H2>Callbacks</H2>
<P>Callbacks are functions that are called when the value of a
diff --git a/documentation/drawing.html b/documentation/drawing.html
index 9e3b6e0b0..26e8d7940 100644
--- a/documentation/drawing.html
+++ b/documentation/drawing.html
@@ -64,6 +64,8 @@ following types of drawing functions:
<LI><A href="#overlay">Overlay</A></LI>
+ <LI><A href="#offscreen">Offscreen Drawing</A></LI>
+
</UL>
<H3><A name="boxdraw">Boxes</A></H3>
@@ -92,6 +94,8 @@ not a multiple of 4 characters in length are undefined.
<P>The only difference between this function and
<CODE>fl_frame2()</CODE> is the order of the line segments.
+<P>See also: <A HREF="common.html#fl_frame">fl_frame boxtype</A>.
+
<H4><A NAME="fl_frame2">void fl_frame2(const char *s, int x, int y, int w, int h);</A></H4>
<P>The <CODE>fl_frame2()</CODE> function draws a series of line
@@ -122,11 +126,11 @@ void fl_push_clip(int x, int y, int w, int h)</H4>
region onto the stack. The <CODE>fl_clip()</CODE> name is deprecated and
will be removed from future releases.
-<H4>void fl_push_no_clip()</H4>
+<H4><A NAME=fl_push_no_clip>void fl_push_no_clip()</A></H4>
<P>Pushes an empty clip region on the stack so nothing will be clipped.
-<H4>void fl_pop_clip()</H4>
+<H4><A NAME=fl_pop_clip>void fl_pop_clip()</A></H4>
<P>Restore the previous clip region.
@@ -143,7 +147,7 @@ will be removed from future releases.
</TR>
</TABLE></CENTER>
-<H4>int fl_not_clipped(int x, int y, int w, int h)</H4>
+<H4><A NAME=fl_not_clipped>int fl_not_clipped(int x, int y, int w, int h)</A></H4>
<P>Returns non-zero if any of the rectangle intersects the current clip
region. If this returns 0 you don't have to draw the object.
@@ -159,8 +163,8 @@ region. If this returns 0 you don't have to draw the object.
</TR>
</TABLE></CENTER>
-<H4>int fl_clip_box(int x, int y, int w, int h, int &amp;X, int &amp;Y, int &amp;W,
-int &amp;H)</H4>
+<H4><A NAME=fl_clip_box>int fl_clip_box(int x, int y, int w, int h, int &amp;X, int &amp;Y, int &amp;W,
+int &amp;H)</A></H4>
<P>Intersect the rectangle <TT>x,y,w,h</TT> with the current
clip region and returns the bounding box of the result in
@@ -169,6 +173,13 @@ different than the original. This can be used to limit the
necessary drawing to a rectangle. <TT>W</TT> and <TT>H</TT> are
set to zero if the rectangle is completely outside the region.
+<H4><A NAME=fl_clip_region>void fl_clip_region(Fl_Region r)
+<BR>Fl_Region fl_clip_region()</A></H4>
+
+<P>Replace the top of the clip stack with a clipping region of any shape.
+Fl_Region is an operating system specific type. The second form returns
+the current clipping region.
+
<H3><A name="colors">Colors</A></H3>
<P>FLTK manages colors as 32-bit unsigned integers. Values from
@@ -378,6 +389,14 @@ function described later in this chapter.</P>
extend outside the line drawn by <TT>fl_arc</TT>; to avoid this
use <TT>w - 1</TT> and <TT>h - 1</TT>.</P>
+<h4><a name=fl_scroll>void fl_scroll(int X, int Y, int W, int H, int dx, int dy,
+void (*draw_area)(void*, int,int,int,int), void* data)</a></h4>
+
+<P>Scroll a rectangle and draw the newly exposed portions. The contents
+of the rectangular area is first shifted by <tt>dx</tt> and
+<tt>dy</tt> pixels. The callback is then called for every newly
+exposed rectangular area,
+
<H3><A name="complex">Drawing Complex Shapes</A></H3>
<P>The complex drawing functions let you draw arbitrary shapes
@@ -407,6 +426,22 @@ x, float y)</A></H4>
<P>Concatenate another transformation onto the current one. The rotation
angle is in degrees (not radians) and is counter-clockwise.
+<H4><A NAME=fl_transform>double fl_transform_x(double x, double y)
+<BR>double fl_transform_y(double x, double y)
+<BR>double fl_transform_dx(double x, double y)
+<BR>double fl_transform_dy(double x, double y)
+<BR>void fl_transformed_vertex(double xf, double yf)</A></H4>
+
+<P>Transform a coordinate or a distance trough the current transformation matrix.
+After transforming a coordinate pair, it can be added to the vertex
+list without any forther translations using <tt>fl_transformed_vertex</tt>.
+
+<H4><A NAME=fl_begin_points>void fl_begin_points()
+<BR>void fl_end_points()</A></H4>
+
+<P>Start and end drawing a list of points. Points are added to
+the list with <tt>fl_vertex</tt>.
+
<H4><A NAME=fl_begin_line>void fl_begin_line()
<BR>void fl_end_line()</A></H4>
@@ -417,7 +452,7 @@ angle is in degrees (not radians) and is counter-clockwise.
<P>Start and end drawing a closed sequence of lines.
-<H4><A NAME=fl_begin_polygon>void fl_begin_polygon()
+<H4><A NAME= fl_begin_polygon>void fl_begin_polygon()
<BR>void fl_end_polygon()</A></H4>
<P>Start and end drawing a convex filled polygon.
@@ -594,8 +629,8 @@ the display.
<TT>pixels</TT> and not "points". Lines should be spaced
<TT>size</TT> pixels apart or more.</P>
-<H4>int fl_font()
-<BR>int fl_size()</H4>
+<H4><A NAME=fl_size>int fl_font()
+<BR>int fl_size()</A></H4>
<P>Returns the face and size set by the most recent call to
<TT>fl_font(a,b)</TT>. This can be used to save/restore the
@@ -891,5 +926,43 @@ image, and this area is left unchanged.
<P>Draws the image with the upper-left corner at <TT>x,y</TT>.
This is the same as doing <TT>draw(x,y,img->w(),img->h(),0,0)</TT>.
+<h3><A NAME=offscreen>Offscreen Drawing</A></h3>
+
+Sometimes it can be very useful to generate a complex drawing
+in memory first and copy it to the screen at a later point in
+time. This technique can significantly reduce the amount of
+repeated drawing. <tt>Fl_Double_Window</tt> uses offscreen rendering
+to avoid flickering on systems that don't support
+double-buffering natively.
+
+<H4><A NAME=fl_create_offscreen>Fl_Offscreen fl_create_offscreen(int w, int h)</A></H4>
+
+<P>Create an RGB offscreen buffer with <tt>w*h</tt> pixels.
+
+<H4><A NAME=fl_create_offscreen_with_alpha>Fl_Offscreen fl_create_offscreen_with_alpha(int w, int h)</A></H4>
+
+<P>Create an RGBA offscreen buffer. Alpha blending is not available
+on all platforms.
+
+<H4><A NAME=fl_delete_offscreen>void fl_delete_offscreen(Fl_Offscreen)</A></H4>
+
+<P>Delete a previously created offscreen buffer. All drawings are lost.
+
+<H4><A NAME=fl_begin_offscreen>void fl_begin_offscreen(Fl_Offscreen)</A></A></H4>
+
+<P>Send all subsequent drawing commands to this offscreen buffer.
+FLTK can draw into a buffer at any time. There is no need to wait for
+an <tt>Fl_Widget::draw()</tt> to occur.
+
+<H4><A NAME=fl_end_offscreen>void fl_end_offscreen()</A></H4>
+
+<P>Quit sending drawing commands to this offscreen buffer.
+
+<H4><A NAME=fl_copy_offscreen>void fl_copy_offscreen(int x, int y,
+int w, int h, Fl_Offscreen osrc, int srcx, int srcy)</A></H4>
+
+<P>Copy a rectangular area of the size <tt>w*h</tt> from <tt>srcx, srcy</tt> in the offscreen
+buffer into the current buffer at <tt>x, y</tt>.
+
</BODY>
</HTML>
diff --git a/documentation/functions.html b/documentation/functions.html
index 635c424f8..475ab79ed 100644
--- a/documentation/functions.html
+++ b/documentation/functions.html
@@ -9,8 +9,10 @@ A</A>.
<H2>Function List by Name</H2>
-<UL>
-
+<TABLE width=100%>
+ <TR>
+ <TD width=33%>
+ <UL>
<LI><A HREF="osissues.html#WIN32.gdi"><TT>fl_RGB</TT></A> (Win32)</LI>
<LI><A HREF="common.html#add_symbol"><TT>fl_add_symbol</TT></A></LI>
<LI><A HREF="#fl_alert"><TT>fl_alert</TT></A></LI>
@@ -21,47 +23,47 @@ A</A>.
<LI><A HREF="drawing.html#fl_begin_complex_polygon"><TT>fl_begin_complex_polygon</TT></A></LI>
<LI><A HREF="drawing.html#fl_begin_line"><TT>fl_begin_line</TT></A></LI>
<LI><A HREF="drawing.html#fl_begin_loop"><TT>fl_begin_loop</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_begin_offscreen</TT></A></LI> -->
-<!-- <LI><A HREF=""><TT>fl_begin_points</TT></A></LI> -->
+ <LI><A HREF="drawing.html#fl_begin_offscreen"><TT>fl_begin_offscreen</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_points"><TT>fl_begin_points</TT></A></LI>
<LI><A HREF="drawing.html#fl_begin_polygon"><TT>fl_begin_polygon</TT></A></LI>
<LI><A HREF="osissues.html#WIN32.gdi"><TT>fl_brush</TT></A> (WIN32)</LI>
-<!-- <LI><A HREF=""><TT>fl_brush_action</TT></A></LI> -->
<LI><A HREF="#fl_casealphasort"><TT>fl_casealphasort</TT></A></LI>
<LI><A HREF="#fl_casenumericsort"><TT>fl_casenumericsort</TT></A></LI>
<LI><A HREF="#fl_choice2"><TT>fl_choice</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_chord</TT></A></LI> -->
<LI><A HREF="drawing.html#fl_circle"><TT>fl_circle</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_clip_box</TT></A></LI> -->
-<!-- <LI><A HREF=""><TT>fl_clip_region</TT></A></LI> -->
-<!-- <LI><A HREF=""><TT>fl_close_display</TT></A></LI> -->
-<!-- <LI><A HREF=""><TT>fl_color</TT></A></LI> -->
+ <LI><A HREF="drawing.html#fl_clip_box"><TT>fl_clip_box</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_clip_region"><TT>fl_clip_region</TT></A></LI>
+ <LI><A HREF="osissues.html#fl_close_display"><TT>fl_close_display</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_color"><TT>fl_color</TT></A></LI>
<LI><A HREF="#fl_color_average"><TT>fl_color_average</TT></A></LI>
<LI><A HREF="#fl_color_chooser_func"><TT>fl_color_chooser</TT></A></LI>
<LI><A HREF="#fl_color_cube"><TT>fl_color_cube</TT></A></LI>
<LI><A HREF="#fl_contrast"><TT>fl_contrast</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_copy_offscreen</TT></A></LI> -->
-<!-- <LI><A HREF=""><TT>fl_create_alphamask</TT></A></LI> -->
-<!-- <LI><A HREF=""><TT>fl_create_bitmask</TT></A></LI> -->
-<!-- <LI><A HREF=""><TT>fl_create_offscreen</TT></A></LI> -->
+ <LI><A HREF="drawing.html#fl_copy_offscreen"><TT>fl_copy_offscreen</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_create_offscreen"><TT>fl_create_offscreen</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_create_offscreen_with_alpha"><TT>fl_create_offscreen_with_alpha</TT></A></LI>
<LI><A HREF="#fl_cursor"><TT>fl_cursor</TT></A></LI>
<LI><A HREF="drawing.html#fl_curve"><TT>fl_curve</TT></A></LI>
<LI><A HREF="#fl_darker"><TT>fl_darker</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_delete_bitmask</TT></A></LI> -->
-<!-- <LI><A HREF=""><TT>fl_delete_offscreen</TT></A></LI> -->
+ <LI><A HREF="drawing.html#fl_delete_offscreen"><TT>fl_delete_offscreen</TT></A></LI>
<LI><A HREF="drawing.html#fl_descent"><TT>fl_descent</TT></A></LI>
<LI><A HREF="#fl_dir_chooser"><TT>fl_dir_chooser</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_down</TT></A></LI> -->
+ <LI><A HREF="common.html#fl_down"><TT>fl_down</TT></A></LI>
<LI><A HREF="drawing.html#fl_draw"><TT>fl_draw</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_draw_box</TT></A></LI> -->
+ <LI><A HREF="drawing.html#fl_draw_box"><TT>fl_draw_box</TT></A></LI>
<LI><A HREF="drawing.html#fl_draw_image"><TT>fl_draw_image</TT></A></LI>
<LI><A HREF="drawing.html#fl_draw_image"><TT>fl_draw_image_mono</TT></A></LI>
<LI><A HREF="drawing.html#fl_draw_pixmap"><TT>fl_draw_pixmap</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_draw_symbol</TT></A></LI> -->
+ </UL>
+ </TD>
+ <TD width=33%>
+ <UL>
+ <LI><A HREF="common.html#fl_draw_symbol"><TT>fl_draw_symbol</TT></A></LI>
<LI><A HREF="drawing.html#fl_begin_complex_polygon"><TT>fl_end_complex_polygon</TT></A></LI>
<LI><A HREF="drawing.html#fl_begin_line"><TT>fl_end_line</TT></A></LI>
<LI><A HREF="drawing.html#fl_begin_loop"><TT>fl_end_loop</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_end_offscreen</TT></A></LI> -->
-<!-- <LI><A HREF=""><TT>fl_end_points</TT></A></LI> -->
+ <LI><A HREF="drawing.html#fl_end_offscreen"><TT>fl_end_offscreen</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_points"><TT>fl_end_points</TT></A></LI>
<LI><A HREF="drawing.html#fl_begin_polygon"><TT>fl_end_polygon</TT></A></LI>
<LI><A HREF="#fl_file_chooser2"><TT>fl_file_chooser</TT></A></LI>
<LI><A HREF="#fl_file_chooser_callback"><TT>fl_file_chooser_callback</TT></A></LI>
@@ -75,80 +77,207 @@ A</A>.
<LI><A HREF="#fl_filename_name"><TT>fl_filename_name</TT></A></LI>
<LI><A HREF="#fl_filename_relative"><TT>fl_filename_relative</TT></A></LI>
<LI><A HREF="#fl_filename_setext"><TT>fl_filename_setext</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_find</TT></A></LI> -->
+ <LI><A HREF="osissues.html#fl_find"><TT>fl_find</TT></A></LI>
<LI><A HREF="drawing.html#fl_font"><TT>fl_font</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_frame</TT></A></LI> -->
-<!-- <LI><A HREF=""><TT>fl_frame2</TT></A></LI> -->
+ <LI><A HREF="common.html#fl_frame"><TT>fl_frame</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_frame"><TT>fl_frame</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_frame2"><TT>fl_frame2</TT></A></LI>
<LI><A HREF="drawing.html#fl_begin_complex_polygon"><TT>fl_gap</TT></A></LI>
<LI><A HREF="#fl_gray_ramp"><TT>fl_gray_ramp</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_handle</TT></A></LI> -->
+ <LI><A HREF="osissues.html#fl_handle"><TT>fl_handle</TT></A> (X11)</LI>
<LI><A HREF="drawing.html#fl_height"><TT>fl_height</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_inactive</TT></A></LI> -->
+ <LI><A HREF="#fl_inactive"><TT>fl_inactive</TT></A></LI>
<LI><A HREF="#fl_input2"><TT>fl_input</TT></A></LI>
<LI><A HREF="drawing.html#character_encoding"><TT>fl_latin1_to_local</TT></A></LI>
<LI><A HREF="#fl_lighter"><TT>fl_lighter</TT></A></LI>
<LI><A HREF="drawing.html#fl_line"><TT>fl_line</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_line_style</TT></A></LI> -->
+ <LI><A HREF="drawing.html#fl_line_style"><TT>fl_line_style</TT></A></LI>
<LI><A HREF="drawing.html#character_encoding"><TT>fl_local_to_latin1</TT></A></LI>
<LI><A HREF="drawing.html#character_encoding"><TT>fl_local_to_mac_roman</TT></A></LI>
<LI><A HREF="drawing.html#fl_loop"><TT>fl_loop</TT></A></LI>
<LI><A HREF="drawing.html#character_encoding"><TT>fl_mac_roman_to_local</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_makeDC</TT></A></LI> -->
<LI><A HREF="drawing.html#fl_measure"><TT>fl_measure</TT></A></LI>
<LI><A HREF="drawing.html#fl_measure_pixmap"><TT>fl_measure_pixmap</TT></A></LI>
<LI><A HREF="#fl_message"><TT>fl_message</TT></A></LI>
+ </UL>
+ </TD>
+ <TD width=30%>
+ <UL>
<LI><A HREF="#fl_message_font"><TT>fl_message_font</TT></A></LI>
<LI><A HREF="#fl_message_icon"><TT>fl_message_icon</TT></A></LI>
<LI><A HREF="drawing.html#fl_scale"><TT>fl_mult_matrix</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_not_clipped</TT></A></LI> -->
+ <LI><A HREF="drawing.html#fl_not_clipped"><TT>fl_not_clipped</TT></A></LI>
<LI><A HREF="#fl_numericsort"><TT>fl_numericsort</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_old_shortcut</TT></A></LI> -->
-<!-- <LI><A HREF=""><TT>fl_open_callback</TT></A></LI> -->
-<!-- <LI><A HREF=""><TT>fl_open_display</TT></A></LI> -->
+ <LI><A HREF="osissues.html#fl_open_callback"><TT>fl_open_callback</TT></A></LI>
+ <LI><A HREF="osissues.html#fl_open_display"><TT>fl_open_display</TT></A></LI>
<LI><A HREF="drawing.html#overlay"><TT>fl_overlay_clear</TT></A></LI>
<LI><A HREF="drawing.html#overlay"><TT>fl_overlay_rect</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_parse_color</TT></A></LI> -->
+ <LI><A HREF="osissues.html#fl_parse_color"><TT>fl_parse_color</TT></A></LI>
<LI><A HREF="#fl_password"><TT>fl_password</TT></A></LI>
<LI><A HREF="osissues.html#WIN32.gdi"><TT>fl_pen</TT></A> (WIN32)</LI>
<LI><A HREF="drawing.html#fl_pie"><TT>fl_pie</TT></A></LI>
- <LI><A HREF="drawing#fl_point"><TT>fl_point</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_point"><TT>fl_point</TT></A></LI>
<LI><A HREF="drawing.html#fl_polygon"><TT>fl_polygon</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_pop_clip</TT></A></LI> -->
+ <LI><A HREF="drawing.html#fl_pop_clip"><TT>fl_pop_clip</TT></A></LI>
<LI><A HREF="drawing.html#fl_push_matrix"><TT>fl_pop_matrix</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_push_clip</TT></A></LI> -->
+ <LI><A HREF="drawing.html#fl_push_clip"><TT>fl_push_clip</TT></A></LI>
<LI><A HREF="drawing.html#fl_push_matrix"><TT>fl_push_matrix</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_push_no_clip</TT></A></LI> -->
+ <LI><A HREF="drawing.html#fl_push_no_clip"><TT>fl_push_no_clip</TT></A></LI>
<LI><A HREF="drawing.html#fl_read_image"><TT>fl_read_image</TT></A></LI>
<LI><A HREF="drawing.html#fl_rect"><TT>fl_rect</TT></A></LI>
<LI><A HREF="drawing.html#fl_rectf"><TT>fl_rectf</TT></A></LI>
<LI><A HREF="#fl_register_images"><TT>fl_register_images</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_release_dc</TT></A></LI> -->
<LI><A HREF="#fl_rgb_color"><TT>fl_rgb_color</TT></A></LI>
<LI><A HREF="drawing.html#fl_scale"><TT>fl_rotate</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_save_dc</TT></A></LI> -->
<LI><A HREF="drawing.html#fl_scale"><TT>fl_scale</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_scroll</TT></A></LI> -->
+ <LI><A HREF="drawing.html#fl_scroll"><TT>fl_scroll</TT></A></LI>
<LI><A HREF="drawing.html#fl_shortcut_label"><TT>fl_shortcut_label</TT></A></LI>
<LI><A HREF="#fl_show_colormap"><TT>fl_show_colormap</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_size</TT></A></LI> -->
-<!-- <LI><A HREF=""><TT>fl_transform_dx</TT></A></LI> -->
-<!-- <LI><A HREF=""><TT>fl_transform_dy</TT></A></LI> -->
-<!-- <LI><A HREF=""><TT>fl_transform_x</TT></A></LI> -->
-<!-- <LI><A HREF=""><TT>fl_transform_y</TT></A></LI> -->
-<!-- <LI><A HREF=""><TT>fl_transformed_vertex</TT></A></LI> -->
+ <LI><A HREF="drawing.html#fl_size"><TT>fl_size</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_transform"><TT>fl_transform_dx</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_transform"><TT>fl_transform_dy</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_transform"><TT>fl_transform_x</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_transform"><TT>fl_transform_y</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_transform"><TT>fl_transformed_vertex</TT></A></LI>
<LI><A HREF="drawing.html#fl_scale"><TT>fl_translate</TT></A></LI>
<LI><A HREF="drawing.html#fl_vertex"><TT>fl_vertex</TT></A></LI>
<LI><A HREF="drawing.html#fl_width"><TT>fl_width</TT></A></LI>
-<!-- <LI><A HREF=""><TT>fl_xid</TT></A></LI> -->
-<!-- <LI><A HREF=""><TT>fl_xpixel</TT></A></LI> -->
+ <LI><A HREF="osissues.html#fl_xid"><TT>fl_xid</TT></A></LI>
+ <LI><A HREF="osissues.html#fl_xpixel"><TT>fl_xpixel</TT></A></LI>
<LI><A HREF="drawing.html#fl_xyline"><TT>fl_xyline</TT></A></LI>
<LI><A HREF="drawing.html#fl_yxline"><TT>fl_yxline</TT></A></LI>
-
-</UL>
+<!-- <LI><A HREF=""><TT>fl_brush_action</TT></A> (Win32)</LI> -->
+<!-- <LI><A HREF=""><TT>fl_create_alphamask</TT></A></LI> -->
+<!-- <LI><A HREF=""><TT>fl_create_bitmask</TT></A></LI> -->
+<!-- <LI><A HREF=""><TT>fl_delete_bitmask</TT></A></LI> -->
+<!-- <LI><A HREF=""><TT>fl_makeDC</TT></A> (Win32)</LI> -->
+<!-- <LI><A HREF=""><TT>fl_old_shortcut</TT></A></LI> -->
+<!-- <LI><A HREF=""><TT>fl_release_dc</TT></A></LI> -->
+<!-- <LI><A HREF=""><TT>fl_save_dc</TT></A></LI> -->
+ </UL>
+ </TD>
+ </TR>
+</TABLE>
<H2>Function List by Category</H2>
+<TABLE width=100%>
+ <TR>
+ <TD width=50% valign=top>
<UL>
+ <LI>Drawing Functions
+ <UL>
+ <LI>Color
+ <UL>
+ <LI><A HREF="drawing.html#fl_color"><TT>fl_color</TT></A></LI>
+ <LI><A HREF="#fl_color_average"><TT>fl_color_average</TT></A></LI>
+ <LI><A HREF="#fl_color_cube"><TT>fl_color_cube</TT></A></LI>
+ <LI><A HREF="#fl_contrast"><TT>fl_contrast</TT></A></LI>
+ <LI><A HREF="#fl_cursor"><TT>fl_cursor</TT></A></LI>
+ <LI><A HREF="#fl_darker"><TT>fl_darker</TT></A></LI>
+ <LI><A HREF="#fl_gray_ramp"><TT>fl_gray_ramp</TT></A></LI>
+ <LI><A HREF="#fl_lighter"><TT>fl_lighter</TT></A></LI>
+ <LI><A HREF="#fl_rgb_color"><TT>fl_rgb_color</TT></A></LI>
+ </UL>
+ <LI>Text
+ <UL>
+ <LI><A HREF="drawing.html#fl_descent"><TT>fl_descent</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_draw"><TT>fl_draw</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_font"><TT>fl_font</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_height"><TT>fl_height</TT></A></LI>
+ <LI><A HREF="drawing.html#character_encoding"><TT>fl_latin1_to_local</TT></A></LI>
+ <LI><A HREF="drawing.html#character_encoding"><TT>fl_local_to_latin1</TT></A></LI>
+ <LI><A HREF="drawing.html#character_encoding"><TT>fl_local_to_mac_roman</TT></A></LI>
+ <LI><A HREF="drawing.html#character_encoding"><TT>fl_mac_roman_to_local</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_measure"><TT>fl_measure</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_shortcut_label"><TT>fl_shortcut_label</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_size"><TT>fl_size</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_width"><TT>fl_width</TT></A></LI>
+ </UL>
+ <LI>Symbols
+ <UL>
+ <LI><A HREF="common.html#add_symbol"><TT>fl_add_symbol</TT></A></LI>
+ <LI><A HREF="common.html#fl_draw_symbol"><TT>fl_draw_symbol</TT></A></LI>
+ </UL>
+ <LI>Fast Drawing
+ <UL>
+ <LI><A HREF="drawing.html#fl_arc"><TT>fl_arc</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_circle"><TT>fl_circle</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_frame"><TT>fl_frame</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_frame2"><TT>fl_frame2</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_line"><TT>fl_line</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_line_style"><TT>fl_line_style</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_loop"><TT>fl_loop</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_pie"><TT>fl_pie</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_point"><TT>fl_point</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_polygon"><TT>fl_polygon</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_rect"><TT>fl_rect</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_rectf"><TT>fl_rectf</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_scroll"><TT>fl_scroll</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_xyline"><TT>fl_xyline</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_yxline"><TT>fl_yxline</TT></A></LI>
+ </UL>
+ <LI>Complex Drawing
+ <UL>
+ <LI><A HREF="drawing.html#fl_pie"><TT>fl_arc</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_complex_polygon"><TT>fl_begin_complex_polygon</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_line"><TT>fl_begin_line</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_loop"><TT>fl_begin_loop</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_offscreen"><TT>fl_begin_offscreen</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_points"><TT>fl_begin_points</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_polygon"><TT>fl_begin_polygon</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_curve"><TT>fl_curve</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_scale"><TT>fl_rotate</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_scale"><TT>fl_scale</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_complex_polygon"><TT>fl_end_complex_polygon</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_line"><TT>fl_end_line</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_loop"><TT>fl_end_loop</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_points"><TT>fl_end_points</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_polygon"><TT>fl_end_polygon</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_begin_complex_polygon"><TT>fl_gap</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_scale"><TT>fl_mult_matrix</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_push_matrix"><TT>fl_pop_matrix</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_push_matrix"><TT>fl_push_matrix</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_transform"><TT>fl_transform_dx</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_transform"><TT>fl_transform_dy</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_transform"><TT>fl_transform_x</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_transform"><TT>fl_transform_y</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_transform"><TT>fl_transformed_vertex</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_scale"><TT>fl_translate</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_vertex"><TT>fl_vertex</TT></A></LI>
+ </UL>
+ </UL>
+ </TD>
+ <TD width=50% valign=top>
+ <UL><LI>Drawing Functions (cont'd)
+ <UL>
+ <LI>Clipping
+ <UL>
+ <LI><A HREF="drawing.html#fl_clip_box"><TT>fl_clip_box</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_clip_region"><TT>fl_clip_region</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_not_clipped"><TT>fl_not_clipped</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_push_no_clip"><TT>fl_push_no_clip</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_push_clip"><TT>fl_push_clip</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_pop_clip"><TT>fl_pop_clip</TT></A></LI>
+ </UL>
+ <LI>Overlay Drawing
+ <UL>
+ <LI><A HREF="drawing.html#overlay"><TT>fl_overlay_clear</TT></A></LI>
+ <LI><A HREF="drawing.html#overlay"><TT>fl_overlay_rect</TT></A></LI>
+ </UL>
+ <LI>Offscreen Drawing
+ <UL>
+ <LI><A HREF="drawing.html#fl_copy_offscreen"><TT>fl_copy_offscreen</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_create_offscreen"><TT>fl_create_offscreen</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_create_offscreen_with_alpha"><TT>fl_create_offscreen_with_alpha</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_delete_offscreen"><TT>fl_delete_offscreen</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_end_offscreen"><TT>fl_end_offscreen</TT></A></LI>
+ </UL>
+ </ul>
+ </LI>
+
+</UL>
+ <UL>
<LI>Dialog Functions
<UL>
@@ -169,22 +298,6 @@ A</A>.
<LI><A HREF="#fl_show_colormap"><TT>fl_show_colormap</TT></A></LI>
</UL>
</LI>
-
- <LI>Drawing Functions
- <UL>
-
- <LI><A HREF="#fl_color_average"><TT>fl_color_average</TT></A></LI>
- <LI><A HREF="#fl_color_cube"><TT>fl_color_cube</TT></A></LI>
- <LI><A HREF="#fl_contrast"><TT>fl_contrast</TT></A></LI>
- <LI><A HREF="#fl_cursor"><TT>fl_cursor</TT></A></LI>
- <LI><A HREF="#fl_darker"><TT>fl_darker</TT></A></LI>
- <LI><A HREF="#fl_gray_ramp"><TT>fl_gray_ramp</TT></A></LI>
- <LI><A HREF="#fl_lighter"><TT>fl_lighter</TT></A></LI>
- <LI><A HREF="#fl_rgb_color"><TT>fl_rgb_color</TT></A></LI>
-
- </UL>
- </LI>
-
<LI>Filename Functions
<UL>
<LI><A HREF="#fl_filename_absolute"><TT>fl_filename_absolute</TT></A></LI>
@@ -202,10 +315,39 @@ A</A>.
<LI>Image Functions
<UL>
<LI><A HREF="#fl_register_images"><TT>fl_register_images</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_draw_image"><TT>fl_draw_image</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_draw_image"><TT>fl_draw_image_mono</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_draw_pixmap"><TT>fl_draw_pixmap</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_measure_pixmap"><TT>fl_measure_pixmap</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_read_image"><TT>fl_read_image</TT></A></LI>
</UL>
</LI>
-</UL>
+ <LI>Box Types
+ <UL>
+ <LI><A HREF="common.html#fl_down"><TT>fl_down</TT></A></LI>
+ <LI><A HREF="drawing.html#fl_draw_box"><TT>fl_draw_box</TT></A></LI>
+ <LI><A HREF="common.html#fl_frame"><TT>fl_frame</TT></A></LI>
+ </UL>
+
+ <LI>System Related Functions
+ <UL>
+ <LI><A HREF="osissues.html#WIN32.gdi"><TT>fl_RGB</TT></A> (Win32)</LI>
+ <LI><A HREF="osissues.html#WIN32.gdi"><TT>fl_brush</TT></A> (WIN32)</LI>
+ <LI><A HREF="osissues.html#fl_close_display"><TT>fl_close_display</TT></A></LI>
+ <LI><A HREF="osissues.html#fl_find"><TT>fl_find</TT></A></LI>
+ <LI><A HREF="osissues.html#fl_handle"><TT>fl_handle</TT></A> (X11)</LI>
+ <LI><A HREF="osissues.html#fl_open_callback"><TT>fl_open_callback</TT></A></LI>
+ <LI><A HREF="osissues.html#fl_open_display"><TT>fl_open_display</TT></A></LI>
+ <LI><A HREF="osissues.html#fl_parse_color"><TT>fl_parse_color</TT></A></LI>
+ <LI><A HREF="osissues.html#WIN32.gdi"><TT>fl_pen</TT></A> (WIN32)</LI>
+ <LI><A HREF="osissues.html#fl_xid"><TT>fl_xid</TT></A></LI>
+ <LI><A HREF="osissues.html#fl_xpixel"><TT>fl_xpixel</TT></A></LI>
+ </UL>
+
+</td>
+</TD>
+</table>
<!-- NEED 4in -->
<H2><A NAME="fl_alert">fl_alert</A></H2>
@@ -1025,6 +1167,28 @@ fl_gray_ramp(I * (FL_NUM_GRAY - 1) / 255)
<!-- NEED 4in -->
+<H2><A NAME="fl_inactive">fl_inactive</A></H2>
+
+<HR>
+
+<H3>Include File</H3>
+
+<UL><PRE>
+#include &lt;FL/Enumerations.H&gt;
+</PRE></UL>
+
+<H3>Prototype</H3>
+
+<UL><PRE>
+Fl_Color fl_inactive(Fl_Color c);
+</PRE></UL>
+
+<H3>Description</H3>
+
+<P>Returns the inactive, dimmed version of the give color
+
+
+<!-- NEED 4in -->
<H2><A NAME="fl_input2">fl_input</A></H2>
<HR>
diff --git a/documentation/osissues.html b/documentation/osissues.html
index a7ea7ed3b..83c486502 100644
--- a/documentation/osissues.html
+++ b/documentation/osissues.html
@@ -133,6 +133,12 @@ unsigned long fl_xpixel(uchar r, uchar g, uchar b)</A></H4>
index or RGB color. This is the X pixel that <A
href="drawing.html#fl_color"><TT>fl_color()</TT></A> would use.
+<H4><A name="fl_parse_color">int fl_parse_color(const char* p, uchar& r, uchar& g, uchar& b)</A></H4>
+
+<P>Convert a name into the red, green, and blue values of a color
+by parsing the X11 color names. On other systems, <tt>fl_parse_color</tt>
+can only convert names in hexadecimal encoding, for example <tt>#ff8083</tt>.
+
<H4><A name="fl_xfont">extern XFontStruct *fl_xfont</A></H4>
<P>Points to the font selected by the most recent <A
@@ -493,7 +499,7 @@ window handle, or <TT>NULL</TT> if not found. This function uses
a cache so it is slightly faster than iterating through the
windows yourself.
-<H3><A name="WIN32.gdi">Drawing Things Using the WIN32 GDIi</A></H3>
+<H3><A name="WIN32.gdi">Drawing Things Using the WIN32 GDI</A></H3>
<P>When the virtual function <A
HREF="subclassing.html#draw"><TT>Fl_Widget::draw()</TT></A> is
@@ -640,6 +646,25 @@ window handle, or <TT>NULL</TT> if not found. FLTK windows that
are children of top-level windows share the WindowRef of the
top-level window.
+<h3>Apple "Quit" Event</h3>
+
+<P>When the user press Cmd-Q or requests a termination of the
+application, OS X will send a "Quit" Apple Event. FLTK handles
+this event by sending an <tt>FL_CLOSE</tt> event to all open
+windows. If all windows close, the application will terminate.
+
+<h3>Apple "Open" Event</h3>
+
+Whenever the user drops a file onto an application icon, OS X
+generates an Apple Event of the type "Open". You can have FLTK
+notify you of an Open event by setting the <tt>fl_open_callback</tt>.
+
+<h4><a name=fl_open_callback>void fl_open_callback(void (*cb)(const char *))</a></h4>
+
+<tt>cb</tt> will be called with a single iUnix-style file name and path.
+If multiple files were dropped, <tt>fl_open_callback</tt> will be called
+multiple times.
+
<h3>Drawing Things Using QuickDraw</h3>
<P>When the virtual function <tt>Fl_Widget::draw()</tt> is
@@ -647,6 +672,17 @@ called, FLTK has prepared the Window and CGrafPort for drawing.
Clipping and offsets are prepared to allow correct subwindow
drawing.
+<h3>Drawing Things Using Quartz</h3>
+
+<P>If the FLTK library was compiled using the configuration
+flag <tt>--enable-quartz</tt>, all code inside <tt>Fl_Widget::draw()</tt>
+is expected to call Quartz drawing functions instead of
+QuickDraw. The Quartz coordinate system is flipped to match
+FLTK's coordinate system. The origin for all drawing is in the top
+left corner of the enclosing <tt>Fl_Window</tt>.
+
+<h3>Fl_Double_Window</h3>
+
<P>OS X double-buffers all windows automatically. On OS X,
<tt>Fl_Window</tt> and <tt>Fl_Double_Window</tt> are handled
internally in the same way.