Laxkit  0.0.7.1
somedataref.h
1 //
2 //
3 // The Laxkit, a windowing toolkit
4 // Please consult http://laxkit.sourceforge.net about where to send any
5 // correspondence about this software.
6 //
7 // This library is free software; you can redistribute it and/or
8 // modify it under the terms of the GNU Library General Public
9 // License as published by the Free Software Foundation; either
10 // version 2 of the License, or (at your option) any later version.
11 //
12 // This library is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 // Library General Public License for more details.
16 //
17 // You should have received a copy of the GNU Library General Public
18 // License along with this library; if not, write to the Free Software
19 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 //
21 // Copyright (C) 2004-2006,2010,2012 by Tom Lechner
22 //
23 #ifndef _LAX_SOMEDATAREF_H
24 #define _LAX_SOMEDATAREF_H
25 
26 #include <lax/interfaces/somedata.h>
27 
28 namespace LaxInterfaces {
29 
30 class SomeDataRef : virtual public SomeData
31 {
32  public:
33  SomeData *thedata;
34  char *thedata_id; //can be used as a placeholder until actual object found
35  int clone_group;
36 
37  SomeDataRef();
39  virtual ~SomeDataRef();
40  virtual const char *whattype() { return "SomeDataRef"; }
41 
42  virtual SomeData *duplicate(SomeData *dup);
43  virtual void dump_out(FILE *f,int indent,int what,Laxkit::anObject *context);
44  virtual void dump_in_atts(LaxFiles::Attribute *att,int flag,Laxkit::anObject *context);
45  virtual LaxFiles::Attribute *dump_out_atts(LaxFiles::Attribute *att,int what,Laxkit::anObject *savecontext);
46 
47  virtual int Set(SomeData *d, int ignore_matrix);
48  virtual SomeData *GetFinalObject();
49  virtual SomeData *GetObject() { return thedata; }
50  virtual void FindBBox();
51  virtual int pointin(flatpoint pp,int pin=1);
52 };
53 
54 } //namespace LaxInterfaces;
55 
56 #endif
57 

Mon Feb 17 2014 11:52:57, Laxkit