Proper check for rawzor libraries.
[rawtherapee-fixes.git] / rtgui / lwbuttonset.h
blob4e7be5dcb3b83cf2dd8ca083ffd648813bff6bec
1 /*
2 * This file is part of RawTherapee.
4 * Copyright (c) 2004-2010 Gabor Horvath <hgabor@rawtherapee.com>
6 * RawTherapee is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * RawTherapee is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with RawTherapee. If not, see <http://www.gnu.org/licenses/>.
19 #ifndef _LWBUTTONSET_
20 #define _LWBUTTONSET_
22 #include <gtkmm.h>
23 #include <lwbutton.h>
24 #include <vector>
26 class LWButtonSet {
28 protected:
29 std::vector<LWButton*> buttons;
30 int aw, ah, ax, ay;
31 public:
32 LWButtonSet ();
33 ~LWButtonSet ();
35 void add (LWButton* b);
37 void getMinimalDimensions (int& w, int& h);
38 void getAllocatedDimensions (int& w, int& h);
39 int arrangeButtons (int x, int y, int w, int h);
40 void setColors (const Gdk::Color& bg, const Gdk::Color& fg);
41 bool motionNotify (int x, int y);
42 bool pressNotify (int x, int y);
43 bool releaseNotify (int x, int y);
44 void move (int nx, int ny);
45 bool inside (int x, int y);
47 Glib::ustring getToolTip (int x, int y);
49 void setButtonListener (LWButtonListener* bl);
50 void redraw (Cairo::RefPtr<Cairo::Context> context);
53 #endif