FrameBox Class Reference

Inherits Symbol.

Inherited by PlasticBox, and RoundBox.

List of all members.

Public Member Functions

const char * data () const
void data (const char *d)
void _draw (const Rectangle &) const
void inset (Rectangle &) const
int dx () const
int dy () const
int dw () const
int dh () const
bool fills_rectangle () const
bool is_frame () const
 FrameBox (const char *name, int dx, int dy, int dw, int dh, const char *pattern, const Box *down=0)

Protected Attributes

const char * data_
const Boxdown_
int dx_
int dy_
int dw_
int dh_


Detailed Description

This box class interprets a small string stored in data() to indicate the gray shades to draw around the edge of the box and can be used to draw simple bezels.

The box is drawn as a spiral, starting with the bottom edge and going in a counter-clockwise direction, from the outside in toward the center. The string is interpreted to get a gray shade: A is black, X is white, and all other letters are 24 possible steps of gray shade, and R is the normal background color of GRAY75. A leading '2' makes it start with the top edge, which will reverse exactly which pixels are drawn in the corner.

The normal up box draws the pattern "AAWWHHTT"

The normal down_ box draws the pattern "WWHHPPAA"

The PUSHED or STATE flags will cause the pattern from down_() to be used instead, allowing you to draw a different bezel when pushed in.

The INVISIBLE flag will not draw the interior, which can make many widgets draw faster and with less blinking.


Constructor & Destructor Documentation

FrameBox::FrameBox const char *  name,
int  dx,
int  dy,
int  dw,
int  dh,
const char *  pattern,
const Box down = 0
[inline]
 

Constructor where you give the thickness of the borders used by inset().


Member Function Documentation

int FrameBox::dx  )  const [inline]
 

dx,dy,dw,dh lets you peek at constants rather than use inset().

Reimplemented from Symbol.


The documentation for this class was generated from the following files:
Sun Jan 7 00:55:17 2007. FLTK ©2006 Bill Spitzak and others.
Permission is granted to reproduce this manual or any portion for any purpose, provided this copyright and permission notice are preserved.