mod/maxgui.mod/fltkmaxgui.mod/src/fl_boxtype.cxx
void fl_frame(const char* s, int x, int y, int w, int h) {
  uchar *g = fl_gray_ramp();
  if (h > 0 && w > 0) for (;*s;) {
    // draw top line:
    fl_color(g[(int)*s++]);
    fl_xyline(x, y, x+w-1);
    y++; if (--h <= 0) break;
    // draw left line:
    fl_color(g[(int)*s++]);
    fl_yxline(x, y+h-1, y);
    x++; if (--w <= 0) break;
    // draw bottom line:
    fl_color(g[(int)*s++]);
    fl_xyline(x, y+h-1, x+w-1);
    if (--h <= 0) break;
    // draw right line:
    fl_color(g[(int)*s++]);
    fl_yxline(x+w-1, y+h-1, y);
    if (--w <= 0) break;
  }
}
/**
  Draws a series of line segments around the given box.
  The string \p s must contain groups of 4 letters which specify one of 24
  standard grayscale values, where 'A' is black and 'X' is white.
  The order of each set of 4 characters is: top, left, bottom, right.
  The result of calling fl_frame() with a string that is not a multiple
  of 4 characters in length is undefined.
  The only difference between this function and fl_frame2() is the order
  of the line segments.
  \param[in] s sets of 4 grayscale values in top, left, bottom, right order
  \param[in] x, y, w, h position and size
*/
Draws a series of line segments around the given box.
The string \p s must contain groups of 4 letters which specify one of 24
standard grayscale values, where 'A' is black and 'X' is white.
The order of each set of 4 characters is: top, left, bottom, right.
The result of calling fl_frame() with a string that is not a multiple
of 4 characters in length is undefined.
The only difference between this function and fl_frame2() is the order
of the line segments.
\param[in] s sets of 4 grayscale values in top, left, bottom, right order
\param[in] x, y, w, h position and size
Draws a series of line segments around the given box . The string \ p s must contain groups of 4 letters which specify one of 24 standard grayscale values where ' A ' is black and ' X ' is white . The order of each set of 4 characters is : top left bottom right . The result of calling fl_frame () with a string that is not a multiple of 4 characters in length is undefined . The only difference between this function and fl_frame2 () is the order of the line segments . \ param [ in ] s sets of 4 grayscale values in top left bottom right order \ param [ in ] x y w h position and size
void fl_frame(const char* s, int x, int y, int w, int h) {
  uchar *g = fl_gray_ramp();
  if (h > 0 && w > 0) for (;*s;) {
    fl_color(g[(int)*s++]);
    fl_xyline(x, y, x+w-1);
    y++; if (--h <= 0) break;
    fl_color(g[(int)*s++]);
    fl_yxline(x, y+h-1, y);
    x++; if (--w <= 0) break;
    fl_color(g[(int)*s++]);
    fl_xyline(x, y+h-1, x+w-1);
    if (--h <= 0) break;
    fl_color(g[(int)*s++]);
    fl_yxline(x+w-1, y+h-1, y);
    if (--w <= 0) break;
  }
}
void fl_frame ( const char * s , int x , int y , int w , int h ) { uchar * g = fl_gray_ramp ( ) ; if ( h > 0 && w > 0 ) for ( ; * s ; ) { fl_color ( g [ ( int ) * s ++ ] ) ; fl_xyline ( x , y , x + w - 1 ) ; y ++ ; if ( -- h <= 0 ) break ; fl_color ( g [ ( int ) * s ++ ] ) ; fl_yxline ( x , y + h - 1 , y ) ; x ++ ; if ( -- w <= 0 ) break ; fl_color ( g [ ( int ) * s ++ ] ) ; fl_xyline ( x , y + h - 1 , x + w - 1 ) ; if ( -- h <= 0 ) break ; fl_color ( g [ ( int ) * s ++ ] ) ; fl_yxline ( x + w - 1 , y + h - 1 , y ) ; if ( -- w <= 0 ) break ; } }
Draws a series of line segments around the given box.
Draws a series of line segments around the given box .
// draw top line: // draw left line: // draw bottom line: // draw right line: