Fix PBD::copy_file on windows to work with non-ascii paths
[ardour.git] / libs / canvas / canvas / canvas.h
index 107ea0d7b243551e3d19ba0bc96665a70286dc19..c7054e4c01ec49b214ae44f4b1d1c01c152d87ad 100644 (file)
@@ -87,6 +87,9 @@ public:
                return &_root;
        }
 
+        void set_background_color (ArdourCanvas::Color);
+        ArdourCanvas::Color background_color() const { return _bg_color; }
+
        /** Called when an item is being destroyed */
        virtual void item_going_away (Item *, boost::optional<Rect>) {}
        void item_shown_or_hidden (Item *);
@@ -152,13 +155,12 @@ public:
        static void set_tooltip_timeout (uint32_t msecs);
        
 protected:
-       void queue_draw_item_area (Item *, Rect);
-       
-       /** our root item */
-       Root _root;
+       Root  _root;
+        Color _bg_color;
 
        static uint32_t tooltip_timeout_msecs;
 
+       void queue_draw_item_area (Item *, Rect);
         virtual void pick_current_item (int state) = 0;
         virtual void pick_current_item (Duple const &, int state) = 0;
 
@@ -184,6 +186,9 @@ public:
 
        bool get_mouse_position (Duple& winpos) const;
 
+       void set_single_exposure (bool s) { _single_exposure = s; }
+       bool single_exposure () { return _single_exposure; }
+
        void re_enter ();
 
        void start_tooltip_timeout (Item*);
@@ -193,6 +198,8 @@ protected:
        void on_size_allocate (Gtk::Allocation&);
        bool on_scroll_event (GdkEventScroll *);
        bool on_expose_event (GdkEventExpose *);
+       bool on_key_press_event (GdkEventKey *);
+       bool on_key_release_event (GdkEventKey *);
        bool on_button_press_event (GdkEventButton *);
        bool on_button_release_event (GdkEventButton* event);
        bool on_motion_notify_event (GdkEventMotion *);
@@ -221,6 +228,8 @@ private:
        Item * _grabbed_item;
         /** the item that currently has key focus or 0 */
        Item * _focused_item;
+       
+       bool _single_exposure;
 
        sigc::connection tooltip_timeout_connection;
        Item* current_tooltip_item;