1 // Generated by gtkmmproc -- DO NOT MODIFY!
3 #include <libgnomecanvasmm/item.h>
4 #include <libgnomecanvasmm/private/item_p.h>
11 * Copyright (C) 1998 EMC Capital Management Inc.
12 * Developed by Havoc Pennington <hp@pobox.com>
14 * This library is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU Library General Public
16 * License as published by the Free Software Foundation; either
17 * version 2 of the License, or (at your option) any later version.
19 * This library is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22 * Library General Public License for more details.
24 * You should have received a copy of the GNU Library General Public
25 * License along with this library; if not, write to the Free
26 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
34 #include <libgnomecanvasmm/canvas.h>
35 #include <libgnomecanvasmm/group.h>
36 #include <libgnomecanvas/gnome-canvas-util.h>
44 //This function creates an empty va_list instead of just passing 0 to gnome_canvas_item_construct().
45 //This is necessary on the alpha platform.
46 //It needs to be a separate helper function because we need a ... argument.
48 item_construct_helper(GnomeCanvasItem *item, GnomeCanvasGroup *group, ...)
52 gnome_canvas_item_construct(item, group, 0, va);
57 Item::item_construct(Group& group)
59 item_construct_helper(GNOME_CANVAS_ITEM(gobj()), group.gobj()); //With no ... arguments.
63 Item::item_construct(Group& group, const gchar* first_arg_name,
66 gnome_canvas_item_construct(GNOME_CANVAS_ITEM(gobj()), group.gobj(),
72 Item::set(const gchar* first_arg_name, ...)
75 va_start(args,first_arg_name);
76 gnome_canvas_item_set_valist(gobj(), first_arg_name, args);
80 int Item::grab(unsigned int event_mask, const Gdk::Cursor& cursor, guint32 etime)
82 return gnome_canvas_item_grab(gobj(), event_mask, const_cast<GdkCursor*>(cursor.gobj()), etime);
85 int Item::grab(unsigned int event_mask, guint32 etime)
87 return gnome_canvas_item_grab(gobj(), event_mask, 0, etime);
91 Item::affine_relative(const Art::AffineTrans &affine)
93 gnome_canvas_item_affine_relative (gobj(), affine.gobj());
97 Item::affine_absolute (const Art::AffineTrans &affine)
99 gnome_canvas_item_affine_absolute (gobj(), affine.gobj());
103 Item::get_i2w_affine() const
107 gnome_canvas_item_i2w_affine(const_cast<GnomeCanvasItem*>(gobj()), tmp);
108 return Art::AffineTrans(tmp);
112 Item::get_i2c_affine() const
116 gnome_canvas_item_i2c_affine(const_cast<GnomeCanvasItem*>(gobj()), tmp);
117 return Art::AffineTrans(tmp);
120 } /* namespace Canvas */
121 } /* namespace Gnome */
127 gboolean Item_signal_event_callback(GnomeCanvasItem* self, GdkEvent* p0,void* data)
129 using namespace Gnome::Canvas;
130 typedef sigc::slot< bool,GdkEvent* > SlotType;
132 // Do not try to call a signal on a disassociated wrapper.
133 if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
137 if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
138 return static_cast<int>((*static_cast<SlotType*>(slot))(p0));
142 Glib::exception_handlers_invoke();
146 typedef gboolean RType;
150 gboolean Item_signal_event_notify_callback(GnomeCanvasItem* self, GdkEvent* p0, void* data)
152 using namespace Gnome::Canvas;
153 typedef sigc::slot< void,GdkEvent* > SlotType;
155 // Do not try to call a signal on a disassociated wrapper.
156 if(Glib::ObjectBase::_get_current_wrapper((GObject*) self))
160 if(sigc::slot_base *const slot = Glib::SignalProxyNormal::data_to_slot(data))
161 (*static_cast<SlotType*>(slot))(p0);
165 Glib::exception_handlers_invoke();
169 typedef gboolean RType;
173 const Glib::SignalProxyInfo Item_signal_event_info =
176 (GCallback) &Item_signal_event_callback,
177 (GCallback) &Item_signal_event_notify_callback
180 } // anonymous namespace
186 Gnome::Canvas::Item* wrap(GnomeCanvasItem* object, bool take_copy)
188 return dynamic_cast<Gnome::Canvas::Item *> (Glib::wrap_auto ((GObject*)(object), take_copy));
191 } /* namespace Glib */
200 /* The *_Class implementation: */
202 const Glib::Class& Item_Class::init()
204 if(!gtype_) // create the GType if necessary
206 // Glib::Class has to know the class init function to clone custom types.
207 class_init_func_ = &Item_Class::class_init_function;
209 // This is actually just optimized away, apparently with no harm.
210 // Make sure that the parent type has been created.
211 //CppClassParent::CppObjectType::get_type();
213 // Create the wrapper type, with the same class/instance size as the base type.
214 register_derived_type(gnome_canvas_item_get_type());
216 // Add derived versions of interfaces, if the C type implements any interfaces:
222 void Item_Class::class_init_function(void* g_class, void* class_data)
224 BaseClassType *const klass = static_cast<BaseClassType*>(g_class);
225 CppClassParent::class_init_function(klass, class_data);
227 klass->update = &update_vfunc_callback;
228 klass->realize = &realize_vfunc_callback;
229 klass->unrealize = &unrealize_vfunc_callback;
230 klass->map = &map_vfunc_callback;
231 klass->unmap = &unmap_vfunc_callback;
232 klass->coverage = &coverage_vfunc_callback;
233 klass->draw = &draw_vfunc_callback;
234 klass->render = &render_vfunc_callback;
235 klass->point = &point_vfunc_callback;
236 klass->bounds = &bounds_vfunc_callback;
237 klass->event = &event_callback;
240 void Item_Class::update_vfunc_callback(GnomeCanvasItem* self, double* affine, ArtSVP* clip_path, int flags)
242 CppObjectType *const obj = dynamic_cast<CppObjectType*>(
243 Glib::ObjectBase::_get_current_wrapper((GObject*)self));
245 // Non-gtkmmproc-generated custom classes implicitly call the default
246 // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
247 // generated classes can use this optimisation, which avoids the unnecessary
248 // parameter conversions if there is no possibility of the virtual function
250 if(obj && obj->is_derived_())
252 try // Trap C++ exceptions which would normally be lost because this is a C callback.
254 // Call the virtual member method, which derived classes might override.
255 obj->update_vfunc(affine, clip_path, flags);
259 Glib::exception_handlers_invoke();
264 BaseClassType *const base = static_cast<BaseClassType*>(
265 g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
268 // Call the original underlying C function:
269 if(base && base->update)
270 (*base->update)(self, affine, clip_path, flags);
274 void Item_Class::realize_vfunc_callback(GnomeCanvasItem* self)
276 CppObjectType *const obj = dynamic_cast<CppObjectType*>(
277 Glib::ObjectBase::_get_current_wrapper((GObject*)self));
279 // Non-gtkmmproc-generated custom classes implicitly call the default
280 // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
281 // generated classes can use this optimisation, which avoids the unnecessary
282 // parameter conversions if there is no possibility of the virtual function
284 if(obj && obj->is_derived_())
286 try // Trap C++ exceptions which would normally be lost because this is a C callback.
288 // Call the virtual member method, which derived classes might override.
289 obj->realize_vfunc();
293 Glib::exception_handlers_invoke();
298 BaseClassType *const base = static_cast<BaseClassType*>(
299 g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
302 // Call the original underlying C function:
303 if(base && base->realize)
304 (*base->realize)(self);
308 void Item_Class::unrealize_vfunc_callback(GnomeCanvasItem* self)
310 CppObjectType *const obj = dynamic_cast<CppObjectType*>(
311 Glib::ObjectBase::_get_current_wrapper((GObject*)self));
313 // Non-gtkmmproc-generated custom classes implicitly call the default
314 // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
315 // generated classes can use this optimisation, which avoids the unnecessary
316 // parameter conversions if there is no possibility of the virtual function
318 if(obj && obj->is_derived_())
320 try // Trap C++ exceptions which would normally be lost because this is a C callback.
322 // Call the virtual member method, which derived classes might override.
323 obj->unrealize_vfunc();
327 Glib::exception_handlers_invoke();
332 BaseClassType *const base = static_cast<BaseClassType*>(
333 g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
336 // Call the original underlying C function:
337 if(base && base->unrealize)
338 (*base->unrealize)(self);
342 void Item_Class::map_vfunc_callback(GnomeCanvasItem* self)
344 CppObjectType *const obj = dynamic_cast<CppObjectType*>(
345 Glib::ObjectBase::_get_current_wrapper((GObject*)self));
347 // Non-gtkmmproc-generated custom classes implicitly call the default
348 // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
349 // generated classes can use this optimisation, which avoids the unnecessary
350 // parameter conversions if there is no possibility of the virtual function
352 if(obj && obj->is_derived_())
354 try // Trap C++ exceptions which would normally be lost because this is a C callback.
356 // Call the virtual member method, which derived classes might override.
361 Glib::exception_handlers_invoke();
366 BaseClassType *const base = static_cast<BaseClassType*>(
367 g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
370 // Call the original underlying C function:
371 if(base && base->map)
376 void Item_Class::unmap_vfunc_callback(GnomeCanvasItem* self)
378 CppObjectType *const obj = dynamic_cast<CppObjectType*>(
379 Glib::ObjectBase::_get_current_wrapper((GObject*)self));
381 // Non-gtkmmproc-generated custom classes implicitly call the default
382 // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
383 // generated classes can use this optimisation, which avoids the unnecessary
384 // parameter conversions if there is no possibility of the virtual function
386 if(obj && obj->is_derived_())
388 try // Trap C++ exceptions which would normally be lost because this is a C callback.
390 // Call the virtual member method, which derived classes might override.
395 Glib::exception_handlers_invoke();
400 BaseClassType *const base = static_cast<BaseClassType*>(
401 g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
404 // Call the original underlying C function:
405 if(base && base->unmap)
406 (*base->unmap)(self);
410 ArtUta* Item_Class::coverage_vfunc_callback(GnomeCanvasItem* self)
412 CppObjectType *const obj = dynamic_cast<CppObjectType*>(
413 Glib::ObjectBase::_get_current_wrapper((GObject*)self));
415 // Non-gtkmmproc-generated custom classes implicitly call the default
416 // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
417 // generated classes can use this optimisation, which avoids the unnecessary
418 // parameter conversions if there is no possibility of the virtual function
420 if(obj && obj->is_derived_())
422 try // Trap C++ exceptions which would normally be lost because this is a C callback.
424 // Call the virtual member method, which derived classes might override.
425 return obj->coverage_vfunc();
429 Glib::exception_handlers_invoke();
434 BaseClassType *const base = static_cast<BaseClassType*>(
435 g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
438 // Call the original underlying C function:
439 if(base && base->coverage)
440 return (*base->coverage)(self);
443 typedef ArtUta* RType;
447 void Item_Class::draw_vfunc_callback(GnomeCanvasItem* self, GdkDrawable* drawable, int x, int y, int width, int height)
449 CppObjectType *const obj = dynamic_cast<CppObjectType*>(
450 Glib::ObjectBase::_get_current_wrapper((GObject*)self));
452 // Non-gtkmmproc-generated custom classes implicitly call the default
453 // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
454 // generated classes can use this optimisation, which avoids the unnecessary
455 // parameter conversions if there is no possibility of the virtual function
457 if(obj && obj->is_derived_())
459 try // Trap C++ exceptions which would normally be lost because this is a C callback.
461 // Call the virtual member method, which derived classes might override.
462 obj->draw_vfunc(Glib::wrap(drawable, true)
463 , x, y, width, height);
467 Glib::exception_handlers_invoke();
472 BaseClassType *const base = static_cast<BaseClassType*>(
473 g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
476 // Call the original underlying C function:
477 if(base && base->draw)
478 (*base->draw)(self, drawable, x, y, width, height);
482 void Item_Class::render_vfunc_callback(GnomeCanvasItem* self, GnomeCanvasBuf* buf)
484 CppObjectType *const obj = dynamic_cast<CppObjectType*>(
485 Glib::ObjectBase::_get_current_wrapper((GObject*)self));
487 // Non-gtkmmproc-generated custom classes implicitly call the default
488 // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
489 // generated classes can use this optimisation, which avoids the unnecessary
490 // parameter conversions if there is no possibility of the virtual function
492 if(obj && obj->is_derived_())
494 try // Trap C++ exceptions which would normally be lost because this is a C callback.
496 // Call the virtual member method, which derived classes might override.
497 obj->render_vfunc(buf);
501 Glib::exception_handlers_invoke();
506 BaseClassType *const base = static_cast<BaseClassType*>(
507 g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
510 // Call the original underlying C function:
511 if(base && base->render)
512 (*base->render)(self, buf);
516 double Item_Class::point_vfunc_callback(GnomeCanvasItem* self, double x, double y, int cx, int cy, GnomeCanvasItem** actual_item)
518 CppObjectType *const obj = dynamic_cast<CppObjectType*>(
519 Glib::ObjectBase::_get_current_wrapper((GObject*)self));
521 // Non-gtkmmproc-generated custom classes implicitly call the default
522 // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
523 // generated classes can use this optimisation, which avoids the unnecessary
524 // parameter conversions if there is no possibility of the virtual function
526 if(obj && obj->is_derived_())
528 try // Trap C++ exceptions which would normally be lost because this is a C callback.
530 // Call the virtual member method, which derived classes might override.
531 return obj->point_vfunc(x, y, cx, cy, actual_item);
535 Glib::exception_handlers_invoke();
540 BaseClassType *const base = static_cast<BaseClassType*>(
541 g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
544 // Call the original underlying C function:
545 if(base && base->point)
546 return (*base->point)(self, x, y, cx, cy, actual_item);
549 typedef double RType;
553 void Item_Class::bounds_vfunc_callback(GnomeCanvasItem* self, double* x1, double* y1, double* x2, double* y2)
555 CppObjectType *const obj = dynamic_cast<CppObjectType*>(
556 Glib::ObjectBase::_get_current_wrapper((GObject*)self));
558 // Non-gtkmmproc-generated custom classes implicitly call the default
559 // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
560 // generated classes can use this optimisation, which avoids the unnecessary
561 // parameter conversions if there is no possibility of the virtual function
563 if(obj && obj->is_derived_())
565 try // Trap C++ exceptions which would normally be lost because this is a C callback.
567 // Call the virtual member method, which derived classes might override.
568 obj->bounds_vfunc(x1, y1, x2, y2);
572 Glib::exception_handlers_invoke();
577 BaseClassType *const base = static_cast<BaseClassType*>(
578 g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
581 // Call the original underlying C function:
582 if(base && base->bounds)
583 (*base->bounds)(self, x1, y1, x2, y2);
588 gboolean Item_Class::event_callback(GnomeCanvasItem* self, GdkEvent* p0)
590 CppObjectType *const obj = dynamic_cast<CppObjectType*>(
591 Glib::ObjectBase::_get_current_wrapper((GObject*)self));
593 // Non-gtkmmproc-generated custom classes implicitly call the default
594 // Glib::ObjectBase constructor, which sets is_derived_. But gtkmmproc-
595 // generated classes can use this optimisation, which avoids the unnecessary
596 // parameter conversions if there is no possibility of the virtual function
598 if(obj && obj->is_derived_())
600 try // Trap C++ exceptions which would normally be lost because this is a C callback.
602 // Call the virtual member method, which derived classes might override.
603 return static_cast<int>(obj->on_event(p0));
607 Glib::exception_handlers_invoke();
612 BaseClassType *const base = static_cast<BaseClassType*>(
613 g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
616 // Call the original underlying C function:
617 if(base && base->event)
618 return (*base->event)(self, p0);
621 typedef gboolean RType;
626 Glib::ObjectBase* Item_Class::wrap_new(GObject* o)
628 return manage(new Item((GnomeCanvasItem*)(o)));
633 /* The implementation: */
635 Item::Item(const Glib::ConstructParams& construct_params)
637 Gtk::Object(construct_params)
641 Item::Item(GnomeCanvasItem* castitem)
643 Gtk::Object((GtkObject*)(castitem))
652 Item::CppClassType Item::item_class_; // initialize static member
654 GType Item::get_type()
656 return item_class_.init().get_type();
659 GType Item::get_base_type()
661 return gnome_canvas_item_get_type();
665 void Item::move(double dx, double dy)
667 gnome_canvas_item_move(gobj(), dx, dy);
670 void Item::raise(int positions)
672 gnome_canvas_item_raise(gobj(), positions);
675 void Item::lower(int positions)
677 gnome_canvas_item_lower(gobj(), positions);
680 void Item::raise_to_top()
682 gnome_canvas_item_raise_to_top(gobj());
685 void Item::lower_to_bottom()
687 gnome_canvas_item_lower_to_bottom(gobj());
690 void Item::ungrab(guint32 etime)
692 gnome_canvas_item_ungrab(gobj(), etime);
695 void Item::w2i(double& x, double& y)
697 gnome_canvas_item_w2i(gobj(), &(x), &(y));
700 void Item::i2w(double& x, double& y)
702 gnome_canvas_item_i2w(gobj(), &(x), &(y));
705 void Item::grab_focus()
707 gnome_canvas_item_grab_focus(gobj());
710 void Item::get_bounds(double& x1, double& y1, double& x2, double& y2) const
712 gnome_canvas_item_get_bounds(const_cast<GnomeCanvasItem*>(gobj()), &(x1), &(y1), &(x2), &(y2));
717 gnome_canvas_item_show(gobj());
722 gnome_canvas_item_hide(gobj());
725 void Item::reparent(Group& new_group)
727 gnome_canvas_item_reparent(gobj(), (new_group).gobj());
730 Canvas* Item::get_canvas() const
732 return Glib::wrap(gobj()->canvas);
735 void Item::request_update()
737 gnome_canvas_item_request_update(gobj());
740 void Item::reset_bounds()
742 gnome_canvas_item_reset_bounds(gobj());
745 void Item::update_svp(ArtSVP ** p_svp, ArtSVP * new_svp)
747 gnome_canvas_item_update_svp(gobj(), p_svp, new_svp);
750 void Item::update_svp_clip(ArtSVP ** p_svp, ArtSVP * new_svp, ArtSVP * clip_svp)
752 gnome_canvas_item_update_svp_clip(gobj(), p_svp, new_svp, clip_svp);
755 void Item::request_redraw_svp(const ArtSVP* svp)
757 gnome_canvas_item_request_redraw_svp(gobj(), svp);
760 void Item::update_bbox(int x1, int y1, int x2, int y2)
762 gnome_canvas_update_bbox(gobj(), x1, y1, x2, y2);
766 Glib::SignalProxy1< bool,GdkEvent* > Item::signal_event()
768 return Glib::SignalProxy1< bool,GdkEvent* >(this, &Item_signal_event_info);
772 Glib::PropertyProxy<Group*> Item::property_parent()
774 return Glib::PropertyProxy<Group*>(this, "parent");
777 Glib::PropertyProxy_ReadOnly<Group*> Item::property_parent() const
779 return Glib::PropertyProxy_ReadOnly<Group*>(this, "parent");
783 bool Gnome::Canvas::Item::on_event(GdkEvent* p1)
785 BaseClassType *const base = static_cast<BaseClassType*>(
786 g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
789 if(base && base->event)
790 return (*base->event)(gobj(),p1);
797 void Gnome::Canvas::Item::update_vfunc(double* affine, ArtSVP* clip_path, int flags)
799 BaseClassType *const base = static_cast<BaseClassType*>(
800 g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
803 if(base && base->update)
804 (*base->update)(gobj(),affine,clip_path,flags);
807 void Gnome::Canvas::Item::realize_vfunc()
809 BaseClassType *const base = static_cast<BaseClassType*>(
810 g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
813 if(base && base->realize)
814 (*base->realize)(gobj());
817 void Gnome::Canvas::Item::unrealize_vfunc()
819 BaseClassType *const base = static_cast<BaseClassType*>(
820 g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
823 if(base && base->unrealize)
824 (*base->unrealize)(gobj());
827 void Gnome::Canvas::Item::map_vfunc()
829 BaseClassType *const base = static_cast<BaseClassType*>(
830 g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
833 if(base && base->map)
834 (*base->map)(gobj());
837 void Gnome::Canvas::Item::unmap_vfunc()
839 BaseClassType *const base = static_cast<BaseClassType*>(
840 g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
843 if(base && base->unmap)
844 (*base->unmap)(gobj());
847 ArtUta* Gnome::Canvas::Item::coverage_vfunc()
849 BaseClassType *const base = static_cast<BaseClassType*>(
850 g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
853 if(base && base->coverage)
854 return (*base->coverage)(gobj());
856 typedef ArtUta* RType;
860 void Gnome::Canvas::Item::draw_vfunc(const Glib::RefPtr<Gdk::Drawable>& drawable, int x, int y, int width, int height)
862 BaseClassType *const base = static_cast<BaseClassType*>(
863 g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
866 if(base && base->draw)
867 (*base->draw)(gobj(),Glib::unwrap(drawable),x,y,width,height);
870 void Gnome::Canvas::Item::render_vfunc(GnomeCanvasBuf* buf)
872 BaseClassType *const base = static_cast<BaseClassType*>(
873 g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
876 if(base && base->render)
877 (*base->render)(gobj(),buf);
880 double Gnome::Canvas::Item::point_vfunc(double x, double y, int cx, int cy, GnomeCanvasItem** actual_item)
882 BaseClassType *const base = static_cast<BaseClassType*>(
883 g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
886 if(base && base->point)
887 return (*base->point)(gobj(),x,y,cx,cy,actual_item);
889 typedef double RType;
893 void Gnome::Canvas::Item::bounds_vfunc(double* x1, double* y1, double* x2, double* y2)
895 BaseClassType *const base = static_cast<BaseClassType*>(
896 g_type_class_peek_parent(G_OBJECT_GET_CLASS(gobject_)) // Get the parent class of the object class (The original underlying C class).
899 if(base && base->bounds)
900 (*base->bounds)(gobj(),x1,y1,x2,y2);
904 } // namespace Canvas