X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fcanvas%2Fpixbuf.cc;h=8583ec22a18a809aa2d8199003a7550761abeccf;hb=657ba64ad23eaaa3cbf0e2da778a185fbc47a354;hp=e576003b579a7992910b4fb4d6bd0df1cc6db5fc;hpb=44564654fd825f198946d0f189421f9e569f68a6;p=ardour.git diff --git a/libs/canvas/pixbuf.cc b/libs/canvas/pixbuf.cc index e576003b57..8583ec22a1 100644 --- a/libs/canvas/pixbuf.cc +++ b/libs/canvas/pixbuf.cc @@ -1,17 +1,38 @@ +/* + Copyright (C) 2011-2013 Paul Davis + Author: Carl Hetherington + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + #include #include -#include "pbd/xml++.h" - #include "canvas/pixbuf.h" using namespace std; using namespace ArdourCanvas; -Pixbuf::Pixbuf (Group* g) - : Item (g) +Pixbuf::Pixbuf (Canvas* c) + : Item (c) +{ +} + +Pixbuf::Pixbuf (Item* parent) + : Item (parent) { - } void @@ -20,14 +41,14 @@ Pixbuf::render (Rect const & /*area*/, Cairo::RefPtr context) co Gdk::Cairo::set_source_pixbuf (context, _pixbuf, 0, 0); context->paint (); } - + void Pixbuf::compute_bounding_box () const { if (_pixbuf) { - _bounding_box = boost::optional (Rect (0, 0, _pixbuf->get_width(), _pixbuf->get_height())); + _bounding_box = Rect (Rect (0, 0, _pixbuf->get_width(), _pixbuf->get_height())); } else { - _bounding_box = boost::optional (); + _bounding_box = Rect (); } _bounding_box_dirty = false; @@ -37,22 +58,15 @@ void Pixbuf::set (Glib::RefPtr pixbuf) { begin_change (); - + _pixbuf = pixbuf; _bounding_box_dirty = true; end_change (); } -XMLNode * -Pixbuf::get_state () const -{ - /* XXX */ - return new XMLNode ("Pixbuf"); +Glib::RefPtr +Pixbuf::pixbuf() { + return _pixbuf; } -void -Pixbuf::set_state (XMLNode const * /*node*/) -{ - /* XXX */ -}