// src/simulation_widget.cc - Copyright 2005, 2006, University // of Padova, dept. of Pure and Applied // Mathematics // // This file is part of SGPEMv2. // // This 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. // // SGPEMv2 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 SGPEMv2; if not, write to the Free Software // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include "simulation_widget.hh" #include "cairo_elements.hh" #include #ifndef NDEBUG #include #endif using namespace sgpem; SimulationWidget::SimulationWidget() : Glib::ObjectBase("sgpem_SimulationWidget"), CairoWidget() {} SimulationWidget::~SimulationWidget() {} void SimulationWidget::draw_widget(cairo_t* ctx) { // NOTE: just to try CairoElements ce(ctx); Rectangle area = { 30, 30, 100, 100 }; ce.draw_container(area); Color red = { 1, 0, 0 }; Point center = { 25, 25 }; ce.draw_3dsphere(center, 20, red); } void SimulationWidget::calc_size(const History& history, size_t& width, size_t& height) const { // FIXME: write me width = get_allocation().get_width(); height = get_allocation().get_height(); #ifndef NDEBUG using namespace std; clog << " [DD] New allocation event on " << hex << this << ": " << dec << width << 'x' << height << endl; #endif }