#include <cairomm/region.h>
#include <pangomm/layout.h>
+#include "pbd/i18n.h"
+
#include "canvas/text.h"
+#include "canvas/types.h"
#include "canvas/rectangle.h"
-#include "canvas/colors.h"
+#include "gtkmm2ext/colors.h"
#include "canvas.h"
#include "gui.h"
#include "push2.h"
+#include "menu.h"
+
+#ifdef __APPLE__
+#define Rect ArdourCanvas::Rect
+#endif
+
using namespace ARDOUR;
using namespace std;
using namespace PBD;
using namespace ArdourSurface;
using namespace ArdourCanvas;
-#include "pbd/i18n.h"
-#include "menu.h"
-
Push2Menu::Push2Menu (Item* parent, vector<string> s)
: Container (parent)
, baseline (-1)
, wrap (true)
, first (0)
, last (0)
- , _active (UINT32_MAX)
+ , _active (0)
{
Pango::FontDescription fd ("Sans 10");
baseline = h;
}
- active_bg = new Rectangle (this);
+ active_bg = new ArdourCanvas::Rectangle (this);
for (vector<string>::iterator si = s.begin(); si != s.end(); ++si) {
Text* t = new Text (this);
void
Push2Menu::set_active (uint32_t index)
{
- if (index == _active) {
+ if (!parent() || (index == _active)) {
return;
}
/* set text color for old active item, and the new one */
- if (_active <= displays.size()) {
+ if (_active < displays.size()) {
displays[_active]->set_color (text_color);
}
}
void
-Push2Menu::set_text_color (Color c)
+Push2Menu::set_text_color (Gtkmm2ext::Color c)
{
text_color = c;
}
void
-Push2Menu::set_active_color (Color c)
+Push2Menu::set_active_color (Gtkmm2ext::Color c)
{
active_color = c;
- contrast_color = contrasting_text_color (active_color);
+ contrast_color = Gtkmm2ext::contrasting_text_color (active_color);
if (active_bg) {
active_bg->set_fill_color (c);
}