libgnomecanvasmm
path-def.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 // Generated by gtkmmproc -- DO NOT MODIFY!
3 #ifndef _LIBGNOMECANVASMM_PATH_DEF_H
4 #define _LIBGNOMECANVASMM_PATH_DEF_H
5 
6 
7 #include <glibmm.h>
8 
9 /* $Id: path-def.hg,v 1.4 2002/04/04 14:04:33 aholzmann Exp $ */
10 
11 /* path-def.h
12  *
13  *
14  * Copyright (C) 2002 The libgnomecanvasmm Development Team
15  *
16  * This library is free software; you can redistribute it and/or
17  * modify it under the terms of the GNU Lesser General Public
18  * License as published by the Free Software Foundation; either
19  * version 2.1 of the License, or (at your option) any later version.
20  *
21  * This library is distributed in the hope that it will be useful,
22  * but WITHOUT ANY WARRANTY; without even the implied warranty of
23  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24  * Lesser General Public License for more details.
25  *
26  * You should have received a copy of the GNU Lesser General Public
27  * License along with this library; if not, write to the Free
28  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
29  */
30 
31 #include <libgnomecanvasmm/point.h>
32 #include <glibmm/containers.h>
33 #include <libgnomecanvas/gnome-canvas-path-def.h>
34 #include <libart_lgpl/art_bpath.h>
35 #include <libart_lgpl/art_point.h>
36 #include <libart_lgpl/art_bpath.h>
37 
38 
39 namespace Gnome
40 {
41 
42 namespace Canvas
43 {
44 
45 class PathDef
46 {
47  public:
48 #ifndef DOXYGEN_SHOULD_SKIP_THIS
49  typedef PathDef CppObjectType;
50  typedef GnomeCanvasPathDef BaseObjectType;
51 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
52 
53  static Glib::RefPtr<PathDef> create();
54 
55  // For use with Glib::RefPtr<> only.
56  void reference() const;
57  void unreference() const;
58 
60  GnomeCanvasPathDef* gobj();
61 
63  const GnomeCanvasPathDef* gobj() const;
64 
66  GnomeCanvasPathDef* gobj_copy() const;
67 
68 protected:
69  // Do not derive this. Gnome::Canvas::PathDef can neither be constructed nor deleted.
70  PathDef();
71  void operator delete(void*, size_t);
72 
73 private:
74  // noncopyable
75  PathDef(const PathDef&);
76  PathDef& operator=(const PathDef&);
77 
78 
79 public:
80  //gtkmmproc error: gnome_canvas_path_def_new : method defs lookup failed (1)
81 
89  static Glib::RefPtr<PathDef> create(int length);
90 
103  static Glib::RefPtr<PathDef> create(ArtBpath& bpath);
104 
105  //GnomeCanvasPathDef * gnome_canvas_path_def_new_from_static_bpath (ArtBpath * bpath);
106  //GnomeCanvasPathDef * gnome_canvas_path_def_new_from_foreign_bpath (ArtBpath * bpath);
107 
108  //GnomeCanvasPathDef * gnome_canvas_path_def_concat (const GSList * list);
109  //GSList * gnome_canvas_path_def_split (const GnomeCanvasPathDef * path);
110 
115  Glib::RefPtr<PathDef> open_parts();
116 
122  Glib::RefPtr<PathDef> closed_parts();
123 
129  Glib::RefPtr<PathDef> close_all();
130 
131 
134  void finish();
135 
141  void ensure_space(int space);
142 
143 
146  void reset();
147 
148 
155  void moveto(double x, double y);
156 
162  void lineto(double x, double y);
163 
164 
173  void lineto_moving(double x, double y);
174 
183  void curveto(double x1, double y1, double x2, double y2, double x3, double y3);
184 
189  void closepath();
190 
191 
195  void closepath_current();
196 
198 
199 
204  ArtBpath* get_bpath() const;
205 
210  ArtBpath* first_bpath() const;
211 
217  ArtBpath* last_bpath() const;
218 
219 
224  bool is_empty() const;
225 
231  int length() const;
232 
238  bool has_currentpoint() const;
239 
244  bool any_open() const;
245 
250  bool all_open() const;
251 
256  bool any_closed() const;
257 
262  bool all_closed() const;
263 
264 
265 };
266 
267 } /* namespace Canvas */
268 
269 } /* namespace Gnome */
270 
271 
272 namespace Glib
273 {
274 
283  Glib::RefPtr<Gnome::Canvas::PathDef> wrap(GnomeCanvasPathDef* object, bool take_copy = false);
284 
285 } // namespace Glib
286 
287 
288 #endif /* _LIBGNOMECANVASMM_PATH_DEF_H */
289