Add new boxtypes FL_ASYM_BOX and FL_ASYM_FLAT_BOX.
[ntk.git] / src / fl_shadow_box.cxx
blob02cf660846c36a91d0bb4564318b6fd510840ea0
1 //
2 // "$Id: fl_shadow_box.cxx 7903 2010-11-28 21:06:39Z matt $"
3 //
4 // Shadow box drawing routines for the Fast Light Tool Kit (FLTK).
5 //
6 // Copyright 1998-2010 by Bill Spitzak and others.
7 //
8 // This library is free software; you can redistribute it and/or
9 // modify it under the terms of the GNU Library General Public
10 // License as published by the Free Software Foundation; either
11 // version 2 of the License, or (at your option) any later version.
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 // Library General Public License for more details.
18 // You should have received a copy of the GNU Library General Public
19 // License along with this library; if not, write to the Free Software
20 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
21 // USA.
23 // Please report all bugs and problems on the following page:
25 // http://www.fltk.org/str.php
28 #include <FL/Fl.H>
29 #include <FL/fl_draw.H>
31 #define BW 3
33 static void fl_shadow_frame(int x, int y, int w, int h, Fl_Color c) {
34 fl_color(FL_DARK3);
35 fl_rectf(x+BW, y+h-BW, w - BW, BW);
36 fl_rectf(x+w-BW, y+BW, BW, h - BW);
37 fl_color(c);
38 fl_rect(x,y,w-BW,h-BW);
41 static void fl_shadow_box(int x, int y, int w, int h, Fl_Color c) {
42 fl_color(c);
43 fl_rectf(x+1,y+1,w-2-BW,h-2-BW);
44 fl_shadow_frame(x,y,w,h,FL_GRAY0);
47 extern void fl_internal_boxtype(Fl_Boxtype, Fl_Box_Draw_F*);
48 Fl_Boxtype fl_define_FL_SHADOW_BOX() {
49 fl_internal_boxtype(_FL_SHADOW_FRAME, fl_shadow_frame);
50 fl_internal_boxtype(_FL_SHADOW_BOX, fl_shadow_box);
51 return _FL_SHADOW_BOX;
55 // End of "$Id: fl_shadow_box.cxx 7903 2010-11-28 21:06:39Z matt $".