X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fduck.h;h=c688031286b92db08560b82031ba9f2db2f13ff7;hb=c34eaa5441242b3e9a7b7645e9ee4983d14eae85;hp=a8fb4fad306d9b1c1a681f2dee4af360e851bf60;hpb=3a3c4bca3a17137bec5d7960560934b91ef4146e;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/duck.h b/synfig-studio/trunk/src/gtkmm/duck.h index a8fb4fa..c688031 100644 --- a/synfig-studio/trunk/src/gtkmm/duck.h +++ b/synfig-studio/trunk/src/gtkmm/duck.h @@ -1,28 +1,29 @@ -/* === S I N F G =========================================================== */ +/* === S Y N F I G ========================================================= */ /*! \file duck.h ** \brief Template Header ** ** $Id: duck.h,v 1.1.1.1 2005/01/07 03:34:36 darco Exp $ ** ** \legal -** Copyright (c) 2002 Robert B. Quattlebaum Jr. +** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley ** -** This software and associated documentation -** are CONFIDENTIAL and PROPRIETARY property of -** the above-mentioned copyright holder. +** This package 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. ** -** You may not copy, print, publish, or in any -** other way distribute this software without -** a prior written agreement with -** the copyright holder. +** This package 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. ** \endlegal */ /* ========================================================================= */ /* === S T A R T =========================================================== */ -#ifndef __SINFG_DUCKMATIC_DUCK_H -#define __SINFG_DUCKMATIC_DUCK_H +#ifndef __SYNFIG_DUCKMATIC_DUCK_H +#define __SYNFIG_DUCKMATIC_DUCK_H /* === H E A D E R S ======================================================= */ @@ -31,15 +32,15 @@ #include #include -#include -#include -#include +#include +#include +#include #include #include -#include +#include #include -#include -#include +#include +#include /* === M A C R O S ========================================================= */ @@ -54,7 +55,7 @@ class StringHash { __gnu_cxx::hash hasher_; public: - size_t operator()(const sinfg::String& x)const + size_t operator()(const synfig::String& x)const { return hasher_(x.c_str()); } @@ -72,13 +73,13 @@ public: namespace studio { class Duckmatic; - + /*! \class Duck ** \writeme */ class Duck : public etl::shared_object { friend class Duckmatic; - + public: enum Type { @@ -97,52 +98,52 @@ public: typedef etl::handle Handle; typedef etl::loose_handle LooseHandle; - + private: - sigc::signal signal_edited_; + sigc::signal signal_edited_; sigc::signal signal_user_click_[5]; - + Type type_; - sinfg::Point point; + synfig::Point point; - etl::smart_ptr shared_point; - - sinfg::Point origin; - sinfg::String name; - sinfg::Real scalar; + etl::smart_ptr shared_point; + + synfig::Point origin; + synfig::String name; + synfig::Real scalar; etl::handle origin_duck; etl::handle connect_duck; etl::handle box_duck; - sinfg::GUID guid_; + synfig::GUID guid_; // Flags bool editable; bool radius_; bool tangent_; - - sinfg::TransformStack transform_stack_; - sinfgapp::ValueDesc value_desc_; + synfig::TransformStack transform_stack_; + + synfigapp::ValueDesc value_desc_; static int duck_count; public: Duck(); - Duck(const sinfg::Point &point); - Duck(const sinfg::Point &point,const sinfg::Point &origin); + Duck(const synfig::Point &point); + Duck(const synfig::Point &point,const synfig::Point &origin); ~Duck(); - - sigc::signal &signal_edited() { return signal_edited_; } + + sigc::signal &signal_edited() { return signal_edited_; } sigc::signal &signal_user_click(int i=0) { assert(i>=0); assert(i<5); return signal_user_click_[i]; } - void set_guid(const sinfg::GUID& x) { guid_=x; } - const sinfg::GUID& get_guid()const { return guid_; } + void set_guid(const synfig::GUID& x) { guid_=x; } + const synfig::GUID& get_guid()const { return guid_; } - sinfg::GUID get_data_guid()const; + synfig::GUID get_data_guid()const; //! Changes the editable flag. If set, the duck will not be able to be moved. void set_editable(bool x) { editable=x; } @@ -162,14 +163,14 @@ public: const etl::handle& get_connect_duck()const { return connect_duck; } const etl::handle& get_box_duck()const { return box_duck; } - void set_value_desc(sinfgapp::ValueDesc x) { value_desc_=x; } + void set_value_desc(synfigapp::ValueDesc x) { value_desc_=x; } - sinfgapp::ValueDesc& get_value_desc() { return value_desc_; } + synfigapp::ValueDesc& get_value_desc() { return value_desc_; } - void set_transform_stack(const sinfg::TransformStack& x) { transform_stack_=x; } + void set_transform_stack(const synfig::TransformStack& x) { transform_stack_=x; } + + const synfig::TransformStack& get_transform_stack()const { return transform_stack_; } - const sinfg::TransformStack& get_transform_stack()const { return transform_stack_; } - //! \writeme void set_type(Type x) { type_=x; } @@ -177,51 +178,51 @@ public: Type get_type()const { return type_; } //! Sets the scalar multiplier for the duck with respect to the origin - void set_scalar(sinfg::Vector::value_type n) { scalar=n; } + void set_scalar(synfig::Vector::value_type n) { scalar=n; } //! Retrieves the scalar value - sinfg::Vector::value_type get_scalar()const { return scalar; } + synfig::Vector::value_type get_scalar()const { return scalar; } - void set_shared_point(const etl::smart_ptr&x) { shared_point=x; } + void set_shared_point(const etl::smart_ptr&x) { shared_point=x; } //! Sets the location of the duck with respect to the origin - void set_point(const sinfg::Point &x) { (shared_point?*shared_point:point)=x; } - + void set_point(const synfig::Point &x) { (shared_point?*shared_point:point)=x; } + //! Returns the location of the duck - sinfg::Point get_point()const { return shared_point?*shared_point:point; } - - sinfg::Point get_trans_point()const; - - void set_trans_point(const sinfg::Point &x); + synfig::Point get_point()const { return shared_point?*shared_point:point; } + + synfig::Point get_trans_point()const; + + void set_trans_point(const synfig::Point &x); - sinfg::Point get_sub_trans_point()const; - void set_sub_trans_point(const sinfg::Point &x); - sinfg::Point get_sub_trans_origin()const; + synfig::Point get_sub_trans_point()const; + void set_sub_trans_point(const synfig::Point &x); + synfig::Point get_sub_trans_origin()const; //! Sets the origin point. - void set_origin(const sinfg::Point &x); + void set_origin(const synfig::Point &x); //! Sets the origin point as another duck void set_origin(const etl::handle &x); //! Retrieves the origin location - sinfg::Point get_origin()const; - + synfig::Point get_origin()const; + //! Retrieves the origin duck - const etl::handle & get_origin_duck() const; + const etl::handle & get_origin_duck() const; //! Retrieves the origin location - sinfg::Point get_trans_origin()const; + synfig::Point get_trans_origin()const; void set_radius(bool r) { radius_=r; } bool is_radius()const { return radius_; } - + //! Sets the name of the duck - void set_name(const sinfg::String &x); + void set_name(const synfig::String &x); //! Retrieves the name of the duck - sinfg::String get_name()const { return name; } - + synfig::String get_name()const { return name; } + bool operator==(const Duck &rhs)const; }; // END of class Duck @@ -245,13 +246,13 @@ operator&(const Duck::Type lhs, const Duck::Type rhs) class DuckMap : public #ifdef HASH_MAP_H -__gnu_cxx::hash_map,sinfg::GUIDHash> +__gnu_cxx::hash_map,synfig::GUIDHash> { - typedef __gnu_cxx::hash_map,sinfg::GUIDHash> PARENT_TYPE; + typedef __gnu_cxx::hash_map,synfig::GUIDHash> PARENT_TYPE; #else -std::map > +std::map > { - typedef std::map > PARENT_TYPE; + typedef std::map > PARENT_TYPE; #endif public: void insert(const Duck::Handle& x) { operator[](x->get_guid())=x; }