aboutsummaryrefslogtreecommitdiff
path: root/graphics/truevision
diff options
context:
space:
mode:
authorAlexey Dokuchaev <danfe@FreeBSD.org>2007-06-18 13:05:27 +0000
committerAlexey Dokuchaev <danfe@FreeBSD.org>2007-06-18 13:05:27 +0000
commitd4c86491c42f32aa753a77c382eddf078cbccbae (patch)
tree1da3d24abc7c25736dd4d19fd3eb2988208287a0 /graphics/truevision
parent75d624b2fee98dddbba00183dda58f89710655d8 (diff)
Notes
Diffstat (limited to 'graphics/truevision')
-rw-r--r--graphics/truevision/Makefile2
-rw-r--r--graphics/truevision/files/patch-gentoo-gcc4848
2 files changed, 849 insertions, 1 deletions
diff --git a/graphics/truevision/Makefile b/graphics/truevision/Makefile
index d008c7a7eb8c..39cb8ba0ac54 100644
--- a/graphics/truevision/Makefile
+++ b/graphics/truevision/Makefile
@@ -22,7 +22,7 @@ LIB_DEPENDS= gtkglext-x11-1.0.0:${PORTSDIR}/x11-toolkits/gtkglext
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:R}
USE_BZIP2= yes
-USE_X_PREFIX= yes
+USE_GETTEXT= yes
USE_GNOME= gnomehack gnomeprefix gnometarget intlhack libgnomeui
USE_GL= yes
USE_PYTHON= yes
diff --git a/graphics/truevision/files/patch-gentoo-gcc4 b/graphics/truevision/files/patch-gentoo-gcc4
new file mode 100644
index 000000000000..1ecc9b6c8456
--- /dev/null
+++ b/graphics/truevision/files/patch-gentoo-gcc4
@@ -0,0 +1,848 @@
+--- include/bicubic.h.orig 2005-08-29 12:24:53.000000000 +0200
++++ include/bicubic.h 2007-03-23 16:12:08.934381832 +0100
+@@ -27,6 +27,10 @@
+ #include "object3d.h"
+
+
++// declarations to avoid friend injection problems
++void sign_bicubic_current_point_changed( GtkWidget *wid, gpointer data );
++void sign_bicubic_current_point_num_changed( GtkWidget *wid, gpointer data );
++
+ // Definition
+ class Bicubic : public Object3D_with_material {
+ #define SENDER ((Bicubic*)data)
+--- include/blob.h.orig 2005-08-29 12:19:22.000000000 +0200
++++ include/blob.h 2007-03-23 15:22:43.688748645 +0100
+@@ -29,6 +29,11 @@
+
+
+
++// declarations to avoid friend injection problems
++void sign_blob_add_sphere( GtkWidget *wid, gpointer data );
++void sign_blob_add_cylinder( GtkWidget *wid, gpointer data );
++bool BlobTestFunc( gpointer data, float x, float y, float z );
++
+ class Blob : public ObjCSG {
+
+ #define SENDER ((Blob*)data)
+--- include/camera.h.orig 2005-08-29 11:45:42.000000000 +0200
++++ include/camera.h 2007-03-23 11:30:35.370600907 +0100
+@@ -26,6 +26,9 @@
+ using namespace std;
+ #include "object3d.h"
+
++// declaration to avoid friend injection problems
++void sign_camera_mode( GtkWidget *wid, gpointer data );
++
+ // Definition
+ // Camera object
+ class Camera : public Object3D {
+--- include/density.h.orig 2005-08-27 15:04:26.000000000 +0200
++++ include/density.h 2007-03-23 11:30:09.030619237 +0100
+@@ -27,6 +27,11 @@
+ #include "material.h"
+ #include "mapedit.h"
+
++// declarations to avoid friend injection problems
++void sign_density_delete( GtkWidget *wid, gpointer data );
++void sign_density_type_changed( GtkWidget *wid, gpointer data );
++void sign_density_densblocktype_changed( gpointer data );
++
+ //****************************************************
+ // Density class :
+ // Used to modify media in pov material interiors & in atmospheric
+--- include/dlgutils.h.orig 2005-08-31 19:31:43.000000000 +0200
++++ include/dlgutils.h 2007-03-23 11:32:23.767064347 +0100
+@@ -87,6 +87,9 @@
+ //**************************************
+ char* extract_filename( char *str );
+
++// declaration to avoid friend injection problems
++void sign_splash_closed( GtkWidget *wid, GdkEvent *ev, gpointer data );
++
+ //*************************************************************
+ // Splash screen
+ // create & destroy a window displayed during
+--- include/glview2d.h.orig 2005-04-01 10:19:53.000000000 +0200
++++ include/glview2d.h 2007-03-23 11:36:02.818646655 +0100
+@@ -26,6 +26,10 @@
+ using namespace std;
+ #include "glview.h"
+
++// declarations to avoid friend injection probems
++void sign_toggle_grid( GtkWidget *wid, gpointer obj );
++void sign_toggle_labels( GtkWidget *wid, gpointer obj );
++
+ // Classe 2D
+ class glview2d : public glview {
+ #define SENDER ((glview2d*)obj)
+--- include/glview3d.h.orig 2005-04-01 10:19:53.000000000 +0200
++++ include/glview3d.h 2007-03-23 11:38:45.119886583 +0100
+@@ -27,6 +27,10 @@
+ #include "glview.h"
+ #include "dlgutils.h"
+
++// declarations to avoid friend injection problems
++gint sign_toggle_3Dlabels( GtkWidget *wid, gpointer obj );
++gint sign_toggle_grids( GtkWidget *wid, gpointer obj );
++
+ class glview3d : public glview {
+ // Callback
+ #define SENDER ((glview3d*)obj)
+--- include/glview.h.orig 2005-06-08 19:45:26.000000000 +0200
++++ include/glview.h 2007-03-23 11:31:45.109961731 +0100
+@@ -76,6 +76,31 @@
+ };
+
+
++// declarations to avoid friend injection problems
++void initgl( GtkWidget *wid, gpointer data );
++void display( GtkWidget *wid, GdkEventExpose *ev, gpointer data );
++void reshape( GtkWidget *wid, GdkEventConfigure *ev, gpointer data );
++void sign_mouse_button_pressed( GtkWidget *wid, GdkEventButton *ev, gpointer data );
++void sign_mouse_moved( GtkWidget *wid, GdkEventMotion *ev, gpointer data );
++void sign_mouse_scroll( GtkWidget *wid, GdkEventScroll *ev, gpointer data );
++void sign_toggle_lighting( GtkWidget *wid, gpointer data );
++void sign_toggle_solid( GtkWidget *wid, gpointer data );
++void sign_toggle_smooth( GtkWidget *wid, gpointer data );
++void popup_detacher( GtkWidget *wid, GtkMenu *men );
++void sign_view_refresh( GtkWidget *wid, gpointer data );
++void sign_view_home( GtkWidget *wid, gpointer data );
++void sign_toggle_axis( GtkWidget *wid, gpointer data );
++void sign_change_view_type( GtkWidget *wid, gpointer data );
++void sign_maximize( GtkWidget *wid, gpointer data );
++void sign_roll( GtkWidget *wid, gpointer data );
++void sign_pop_menu( GtkWidget *wid, gpointer data );
++void sign_glview_tbar_expose( GtkWidget *wid, GdkEventExpose *ev, gpointer data );
++void sign_glview_tbar_configure( GtkWidget *wid, GdkEventConfigure *ev, gpointer data );
++void sign_glview_tbar_mouse_click( GtkWidget *wid, GdkEventButton *ev, gpointer data );
++void sign_glview_tbar_focus_in( GtkWidget *wid, GdkEventFocus *ev, gpointer data );
++void sign_glview_tbar_focus_out( GtkWidget *wid, GdkEventFocus *ev, gpointer data );
++void sign_glview_tbar_key_press( GtkWidget *wid, GdkEventKey *ev, gpointer data );
++
+ //*******************************************
+ // Classe de base
+ //*******************************************
+--- include/interface.h.orig 2005-09-30 10:45:08.000000000 +0200
++++ include/interface.h 2007-03-23 11:52:32.722630596 +0100
+@@ -40,6 +40,38 @@
+
+ #define INTERF_DEF Interface *interf = (Interface*)(app_ref->interf);
+
++// declarations to avoid friend injection problems
++void sign_interface_recent_file( GtkWidget *wid, gpointer data );
++void sign_interf_hide_panel( GtkWidget *wid, gpointer data );
++void interf_sign_menu_new( GtkAction *action, gpointer data );
++void interf_sign_menu_open( GtkWidget *wid, gpointer data );
++void interf_sign_menu_save( GtkWidget *wid, gpointer data );
++void interf_sign_menu_saveas( GtkWidget *wid, gpointer data );
++void interf_sign_menu_exportpov( GtkWidget *wid, gpointer data );
++void interf_sign_menu_exportpack( GtkWidget *wid, gpointer data );
++void interf_sign_menu_loadobj( GtkWidget *wid, gpointer data );
++void interf_sign_menu_saveobj( GtkWidget *wid, gpointer data );
++void interf_sign_menu_exit( GtkWidget *wid, gpointer data );
++void interf_sign_menu_undo( GtkWidget *wid, gpointer data );
++void interf_sign_menu_redo( GtkWidget *wid, gpointer data );
++void interf_sign_menu_cut( GtkWidget *wid, gpointer data );
++void interf_sign_menu_copy( GtkWidget *wid, gpointer data );
++void interf_sign_menu_paste( GtkWidget *wid, gpointer data );
++void interf_sign_menu_prefs( GtkWidget *wid, gpointer data );
++void interf_sign_menu_render( GtkWidget *wid, gpointer data );
++void interf_sign_menu_stop( GtkWidget *wid, gpointer data );
++void interf_sign_menu_frontend( GtkWidget *wid, gpointer data );
++void interf_sign_menu_options( GtkWidget *wid, gpointer data );
++void interf_sign_menu_fullscreen( GtkWidget *wid, gpointer data );
++void interf_sign_menu_matedit( GtkWidget *wid, gpointer data );
++void interf_sign_menu_matlib( GtkWidget *wid, gpointer data );
++void interf_sign_menu_script( GtkWidget *wid, gpointer data );
++void interf_sign_menu_help( GtkWidget *wid, gpointer data );
++void interf_sign_menu_helpon( GtkWidget *wid, gpointer data );
++void interf_sign_menu_website( GtkWidget *wid, gpointer data );
++void interf_sign_menu_about( GtkWidget *wid, gpointer data );
++void interf_sign_toolbar_pointer( GtkAction *action, gpointer data );
++
+ //*******************************************************************
+ // Class Interface
+ //
+--- include/interior.h.orig 2005-08-27 11:46:43.000000000 +0200
++++ include/interior.h 2007-03-23 12:01:45.403315691 +0100
+@@ -28,6 +28,10 @@
+ #include "media.h"
+ #include <vector>
+
++// declarations to avoid friend injection problems
++void sign_int_addmedia( GtkWidget *wid, gpointer data );
++void sign_int_media_suicide( gpointer data, gpointer victim );
++
+ class PovTexInterior : public MaterialItem {
+ #define SENDER ((PovTexInterior*)data)
+ friend void sign_int_addmedia( GtkWidget *wid, gpointer data ) { SENDER->add_media(); }
+--- include/isosurface.h.orig 2005-08-29 12:24:53.000000000 +0200
++++ include/isosurface.h 2007-03-23 16:06:38.515789260 +0100
+@@ -26,6 +26,9 @@
+ using namespace std;
+ #include "object3d.h"
+
++// declaration to avoid friend injection problems
++bool IsoSurfaceTestFunc( gpointer data, float x, float y, float z );
++
+ // Definition
+ // Box object
+ class IsoSurface : public Object3D_with_material {
+--- include/lathe.h.orig 2005-08-29 12:24:52.000000000 +0200
++++ include/lathe.h 2007-03-23 15:37:28.640743670 +0100
+@@ -29,6 +29,14 @@
+
+
+
++// declarations to avoid friend injection problems
++void sign_lathe_current_point_num_changed( GtkWidget *wid, gpointer data );
++void sign_lathe_current_point_changed( GtkWidget *wid, gpointer data );
++void sign_lathe_delete_point( GtkWidget *wid, gpointer data );
++void sign_lathe_append_point( GtkWidget *wid, gpointer data );
++void sign_lathe_prepend_point( GtkWidget *wid, gpointer data );
++void sign_lathe_insert_point( GtkWidget *wid, gpointer data );
++
+ // Definition
+ class Lathe : public Object3D_with_material {
+ #define SENDER ((Lathe*)data)
+--- include/mapedit.h.orig 2005-08-27 12:01:49.000000000 +0200
++++ include/mapedit.h 2007-03-23 12:25:16.516041598 +0100
+@@ -80,6 +80,21 @@
+ ~MapItem_test() {}
+ };
+
++// declarations to avoid friend injection problems
++void sign_mapedit_expose( GtkWidget *wid, GdkEventExpose *ev, gpointer data );
++void sign_mapedit_configure( GtkWidget *wid, GdkEventConfigure *ev, gpointer data );
++void sign_mapedit_realize( GtkWidget *wid, gpointer data );
++void sign_mapedit_mouse_moved( GtkWidget *wid, GdkEventMotion *ev, gpointer data );
++void sign_mapedit_mouse_click( GtkWidget *wid, GdkEventButton *ev, gpointer data );
++void sign_mapedit_mouse_release( GtkWidget *wid, GdkEventButton *ev, gpointer data );
++void sign_mapedit_selection( GtkWidget *wid, gpointer data );
++void sign_mapedit_delete_item( GtkWidget *wid, gpointer data );
++void sign_mapedit_append_item( GtkWidget *wid, gpointer data );
++void sign_mapedit_prepend_item( GtkWidget *wid, gpointer data );
++void sign_mapedit_duplicate_item( GtkWidget *wid, gpointer data );
++void sign_mapedit_item_changed( gpointer data );
++void sign_mapedit_valentry_changed( GtkWidget *wid, gpointer data );
++
+ //********************************************
+ // MapEditor
+ //********************************************
+--- include/material.h.orig 2005-10-03 20:52:55.000000000 +0200
++++ include/material.h 2007-03-23 12:30:01.067631469 +0100
+@@ -45,6 +45,9 @@
+ typedef matit_type MaterialItemType;
+
+
++// declaration to avoid friend injection problems
++void sign_miname_changed( GtkWidget *wid, gpointer data );
++
+ //****************************************************
+ // Classe Item de Texture
+ //****************************************************
+@@ -116,6 +119,8 @@
+ };
+ typedef mattypes MaterialType;
+
++// declaration to avoid friend injection problems
++void sign_name_focusout( GtkWidget *wid, GdkEvent *ev, gpointer data );
+
+ //****************************************************
+ // Classe Texture de base
+--- include/matlib.h.orig 2005-09-25 20:57:05.000000000 +0200
++++ include/matlib.h 2007-03-23 12:38:27.173421857 +0100
+@@ -28,6 +28,9 @@
+ #include "main.h"
+ #include "tvwidgets.h"
+
++// declarations to avoid friend injection problems
++void sign_thumb_data_free( guchar *data, gpointer sender );
++
+ //******************************************************
+ // Material library tree Item
+ //******************************************************
+@@ -94,6 +97,15 @@
+ #define MATLIB_DEF MatLib *matlib = (MatLib*)(app_ref->matlib);
+
+
++// declarations to avoid friend injection problems
++void sign_matlib_dlg_click( GtkDialog *wid, gint button, gpointer data );
++void sign_matlib_dlg_destroy( GtkWidget *wid, GdkEvent *ev, gpointer data );
++void sign_matlib_icon_select( GtkIconView *view, gpointer data );
++void sign_matlib_icon_doubleclick( GtkIconView *view, GtkTreePath *path, gpointer data );
++void sign_matlib_tree_select( GtkTreeSelection *selection, gpointer data );
++void sign_matlib_tree_doubleclick( GtkTreeView* view, GtkTreePath *path, GtkTreeViewColumn *col, gpointer data );
++void sign_matlib_open( GtkWidget *wid, gpointer data );
++
+ class MatLib : public app_object {
+
+ // Gtk Callbacks
+--- include/matlist.h.orig 2005-10-25 20:33:57.000000000 +0200
++++ include/matlist.h 2007-03-23 12:51:39.446555624 +0100
+@@ -43,6 +43,19 @@
+
+
+
++// declarations to avoid friend injection problems
++void sign_matlist_row_select( GtkTreeSelection *select, gpointer data );
++void sign_matlist_row_activated( GtkTreeView *View, GtkTreePath *path, GtkTreeViewColumn *col, gpointer data );
++void sign_matlist_button_clicked( GtkWidget *wid, gpointer data );
++void sign_ed_dlg_click( GtkDialog *wid, gint button, gpointer data );
++void sign_ed_dlg_destroy( GtkWidget *wid, GdkEvent *ev, gpointer data );
++void sign_matlist_editor_tree_select( GtkTreeSelection *selection, gpointer data );
++void sign_ed_dlg_select( GtkWidget *wid, gpointer data );
++void sign_edit_button_clicked( GtkWidget *wid, gpointer data );
++void sign_mat_save( GtkWidget *wid, gpointer data );
++void sign_save_dlg_click( GtkWidget *wid, gint button, gpointer data );
++void sign_save_dlg_destroy( GtkWidget *wid, GdkEvent *ev, gpointer data );
++
+ //**************************************
+ // Classe MatList
+ //
+--- include/matpov.h.orig 2005-08-27 12:23:58.000000000 +0200
++++ include/matpov.h 2007-03-23 12:57:03.887060190 +0100
+@@ -32,6 +32,14 @@
+ #include <vector>
+
+
++// declarations to avoid friend injection problems
++void sign_texture_type_changed( GtkWidget *wid, gpointer data );
++void sign_texture_delete( GtkWidget *wid, gpointer data );
++void sign_texture_add( GtkWidget *wid, gpointer data );
++void sign_blockpat_changed( gpointer data );
++void sign_texture_child_delete( gpointer data, gpointer child );
++void sign_texture_child_move( gpointer data, gpointer child, int sens );
++
+ //****************************************************
+ // Classe Texture POV
+ //****************************************************
+--- include/media.h.orig 2005-08-27 15:12:27.000000000 +0200
++++ include/media.h 2007-03-23 13:03:26.374709301 +0100
+@@ -68,6 +68,11 @@
+
+
+
++// declarations to avoid friend injection problems
++void sign_media_delete( GtkWidget *wid, gpointer data );
++void sign_media_add_density( GtkWidget *wid, gpointer data );
++void sign_media_density_suicide( gpointer data, gpointer victim );
++
+ //****************************************************
+ // Classe Media
+ //****************************************************
+--- include/object3d.h.orig 2005-09-30 19:47:29.000000000 +0200
++++ include/object3d.h 2007-03-23 13:07:05.553272237 +0100
+@@ -93,7 +93,11 @@
+ typedef obj3dcat Object3DCategory;
+
+
+-
++// declarations to avoid friend injection problems
++void sign_entry( GtkWidget *wid, gpointer data );
++bool sign_entry2( GtkWidget *wid, GdkEvent *ev, gpointer data );
++void sign_hidden_changed( GtkWidget *wid, gpointer data );
++void sign_render_changed( GtkWidget *wid, gpointer data );
+
+ //**************************************
+ // Classe de base pour les objets 3D
+--- include/objectlayer.h.orig 2005-09-30 19:47:29.000000000 +0200
++++ include/objectlayer.h 2007-03-23 13:11:02.888065328 +0100
+@@ -28,6 +28,11 @@
+ #include "material.h"
+ #include <vector>
+
++// declarations to avoid friend injection problems
++void sign_objlayer_edit_clicked( GtkWidget *wid, gint button, gpointer data );
++void sign_objlayer_edit_ok_clicked( GtkWidget *wid, gpointer data );
++void sign_objlayer_edit_box_destroy( GtkWidget *wid, GdkEvent *ev, gpointer data );
++
+ //**************************************
+ // Layer
+ //**************************************
+--- include/objectlist.h.orig 2005-09-24 19:33:47.000000000 +0200
++++ include/objectlist.h 2007-03-23 13:21:22.641518051 +0100
+@@ -65,6 +65,26 @@
+
+
+
++// declarations to avoid friend injection problems
++void sign_layer_select( GtkTreeSelection *selection, gpointer data );
++void sign_select_lbuttons_clicked( GtkWidget *wid, gpointer data );
++gboolean sign_layer_view_clicked( GtkWidget *wid, GdkEventButton *ev, gpointer data );
++void sign_object_select( GtkTreeSelection *selection, gpointer data );
++void sign_select_buttons_clicked( GtkWidget *wid, gpointer data );
++gboolean sign_object_view_clicked( GtkWidget *wid, GdkEventButton *ev, gpointer data );
++void sign_object_view_double_clicked( GtkTreeView *View, GtkTreePath *path, GtkTreeViewColumn *col, gpointer data);
++void sign_create_button_clicked( GtkWidget *wid, gpointer data );
++void sign_create_tree_select( GtkTreeSelection *selection, gpointer data );
++void sign_create_tree_click( GtkTreeView *View, GtkTreePath *path, GtkTreeViewColumn *col, gpointer data );
++void sign_object_drag(GtkWidget *widget, GdkDragContext *dc, GtkSelectionData *selection_data, guint info, guint t, gpointer data );
++void sign_object_drop_on_layer( GtkWidget *widget, GdkDragContext *dc, gint x, gint y, GtkSelectionData *selection_data, guint info, guint t, gpointer data );
++void sign_object_motion_on_layer( GtkWidget *widget, GdkDragContext *dc, gint x, gint y, guint t, gpointer data );
++void sign_object_drop_on_tree( GtkWidget *widget, GdkDragContext *dc, gint x, gint y, GtkSelectionData *selection_data, guint info, guint t, gpointer data );
++void sign_object_motion_on_tree( GtkWidget *widget, GdkDragContext *dc, gint x, gint y, guint t, gpointer data );
++void sign_objlist_cut_object( GtkWidget *wid, gpointer data );
++void sign_objlist_copy_object( GtkWidget *wid, gpointer data );
++void sign_objlist_paste_object( GtkWidget *wid, gpointer data );
++
+ //************************************************************
+ // Class Object List
+ //
+--- include/objparam.h.orig 2005-09-29 21:12:01.000000000 +0200
++++ include/objparam.h 2007-03-23 13:37:02.455143591 +0100
+@@ -70,6 +70,9 @@
+ virtual void display( glview *view ) {}
+ };
+
++// declaration to avoid friend injection problems
++void sign_option_combo_flush( GtkWidget *wid, gpointer data );
++
+ //*********************************************
+ // Classe option combo
+ //*********************************************
+@@ -87,6 +90,9 @@
+ void swap_data( ObjParam *param );
+ };
+
++// declaration to avoid friend injection problems
++void sign_int_flush( GtkWidget *wid, gpointer data );
++
+ //*********************************************
+ // Classe int
+ //*********************************************
+@@ -104,6 +110,9 @@
+ void swap_data( ObjParam *param );
+ };
+
++// declaration to avoid friend injection problems
++void sign_float_flush( GtkWidget *wid, gpointer data );
++
+ //*********************************************
+ // Classe float
+ //*********************************************
+@@ -122,6 +131,10 @@
+ void swap_data( ObjParam *param );
+ };
+
++// declarations to avoid friend injection problems
++void sign_float_angle_flush( GtkWidget *wid, gpointer data );
++void sign_float_angle_clicked( GtkWidget *wid, gpointer data );
++
+ //*********************************************
+ // Classe float angle
+ //*********************************************
+@@ -147,6 +160,9 @@
+ };
+
+
++// declaration to avoid friend injection problems
++void sign_bool_flush( GtkWidget *wid, gpointer data );
++
+ //*********************************************
+ // Classe bool
+ //*********************************************
+@@ -157,7 +173,7 @@
+ ObjParam_bool( const char *name, const char *sname, const char *tooltip, app_objs *appref, bool refr, bool val = false )
+ : ObjParam( refr ) ,
+ TvWidget_bool( name, sname, tooltip, appref, val ) {}
+- ObjParam_bool::ObjParam_bool( ObjParam_bool & ref ) : ObjParam( ref ), TvWidget_bool( ref ) {}
++ ObjParam_bool( ObjParam_bool & ref ) : ObjParam( ref ), TvWidget_bool( ref ) {}
+ void get_widget( GtkWidget *box, bool tt );
+ void get_widget( GtkWidget *table, bool tt, int row );
+ void flush();
+@@ -165,6 +181,9 @@
+ virtual void output_to_povray( ofstream & file ) { file << ( data ? "on" : "off"); }
+ };
+
++// declaration to avoid friend injection problems
++void sign_bool_activator_flush( GtkWidget *wid, gpointer data );
++
+ //*********************************************
+ // Classe bool activator
+ //*********************************************
+@@ -185,6 +204,8 @@
+ virtual void output_to_povray( ofstream & file ) { file << ( data ? "on" : "off" ); }
+ };
+
++// declaration to avoid friend injection problems
++void sign_color_flush( GtkWidget *wid, gpointer data );
+ //*********************************************
+ // Classe color
+ //*********************************************
+@@ -205,6 +226,10 @@
+
+
+
++// declarations to avoid friend injection problems
++void sign_point_flush( GtkWidget *wid, gpointer data );
++void sign_point_clicked( GtkWidget *wid, gpointer data );
++
+ //*********************************************
+ // Classe point
+ //*********************************************
+@@ -243,6 +268,9 @@
+ };
+
+
++// declaration to avoid friend injection problems
++void sign_vector4_flush( GtkWidget *wid, gpointer data );
++
+ //*********************************************
+ // Classe vector4
+ //*********************************************
+@@ -312,6 +340,10 @@
+ };
+
+
++// declarations to avoid friend injection problems
++void sign_rotation_flush( GtkWidget *wid, gpointer data );
++void sign_rotation_clicked( GtkWidget *wid, gpointer data );
++
+ //*********************************************
+ // Classe rotation
+ //*********************************************
+@@ -352,6 +384,10 @@
+ };
+
+
++// declarations to avoid friend injection problems
++void sign_ref_changed( GtkWidget *wid, gpointer data );
++void sign_texref_edit( GtkWidget *wid, gpointer data );
++
+ //*********************************************
+ // Texture ref
+ //*********************************************
+@@ -413,6 +449,10 @@
+ bool load( ifstream & file, char *tag );
+ //void get_material( vector<Material*> & mlist );
+ };
++
++// declaration to avoid friend injection problems
++void sign_objparam_entry_flush( GtkWidget *wid, gpointer data );
++
+ //*********************************************
+ // Classe entry
+ //*********************************************
+@@ -431,6 +471,9 @@
+ };
+
+
++// declaration to avoid friend injection problems
++void sign_objparam_path_flush( GtkWidget *wid, gpointer data );
++
+ //*********************************************
+ // Classe path
+ //*********************************************
+@@ -448,6 +491,9 @@
+ void swap_data( ObjParam *param );
+ };
+
++// declaration to avoid friend injection problems
++void sign_objparam_file_flush( GtkWidget *wid, gpointer data );
++
+ //*********************************************
+ // Classe file
+ //*********************************************
+--- include/povfe.h.orig 2005-10-03 21:15:11.000000000 +0200
++++ include/povfe.h 2007-03-23 13:55:59.141734924 +0100
+@@ -36,6 +36,19 @@
+ #define POVFE_DEF PovrayFE *povfe = (PovrayFE*)(app_ref->povfe);
+
+
++// declarations to avoid friend injection problems
++void sign_options_box( GtkWidget *wid, gpointer data );
++void sign_povfe_opt_click( GtkWidget *wid, gint button, gpointer data );
++void sign_povfe_opt_destroy( GtkWidget *wid, GdkEvent *ev, gpointer data );
++void sign_povfe_presets( GtkWidget *wid, gpointer data );
++void sign_povfe_rend_destroy( GtkWidget *wid, GdkEvent *ev, gpointer data );
++void sign_povfe_rend_close( GtkWidget *wid, gpointer data );
++void sign_povfe_start_stop_clicked( GtkWidget *wid, gpointer data );
++void *read_console_thread( void * data );
++void sign_povfe_console( GtkWidget *wid, gpointer data );
++void sign_povfe_cons_click( GtkWidget *wid, gint button, gpointer data );
++void sign_povfe_cons_destroy( GtkWidget *wid, GdkEvent *ev, gpointer data );
++
+ //**********************************************
+ // Front end Class
+ //
+--- include/povpreview.h.orig 2005-09-17 23:24:52.000000000 +0200
++++ include/povpreview.h 2007-03-23 14:02:56.935997790 +0100
+@@ -36,6 +36,11 @@
+ #define MATPREV_DEF MaterialPreview *povfe = (MaterialPreview*)(app_ref->povfe);
+
+
++// declarations to avoid friend injection problems
++void *reading_image_thread( void * data );
++void *reading_console_thread( void * data );
++void sign_matpreview_start_clicked( GtkWidget *wid, gpointer data );
++
+ //**********************************************
+ // Front end Class
+ //
+--- include/preferences.h.orig 2005-09-03 22:38:59.000000000 +0200
++++ include/preferences.h 2007-03-23 14:07:13.699826858 +0100
+@@ -31,6 +31,10 @@
+ #define PREF_DEF Preferences *pref = (Preferences*)(app_ref->prefer);
+
+
++// declarations to avoid friend injection problems
++gint dlg_click( GtkDialog *wid, gint button, gpointer data );
++gint dlg_destroy( GtkWidget *wid, GdkEvent *ev, gpointer data );
++
+ //***********************************************
+ // Objet préférences
+ //***********************************************
+--- include/prism.h.orig 2005-08-29 12:24:53.000000000 +0200
++++ include/prism.h 2007-03-23 15:59:41.470412147 +0100
+@@ -30,6 +30,17 @@
+
+
+
++// declarations to avoid friend injection problems
++void sign_prism_current_point_num_changed( GtkWidget *wid, gpointer data );
++void sign_prism_current_spline_num_changed( GtkWidget *wid, gpointer data );
++void sign_prism_current_point_changed( GtkWidget *wid, gpointer data );
++void sign_prism_delete_point( GtkWidget *wid, gpointer data );
++void sign_prism_append_point( GtkWidget *wid, gpointer data );
++void sign_prism_prepend_point( GtkWidget *wid, gpointer data );
++void sign_prism_insert_point( GtkWidget *wid, gpointer data );
++void sign_prism_append_spline( GtkWidget *wid, gpointer data );
++void sign_prism_delete_spline( GtkWidget *wid, gpointer data );
++
+ // Definition
+ class Prism : public Object3D_with_material {
+ #define SENDER ((Prism*)data)
+--- include/proppanel.h.orig 2005-08-25 11:32:40.000000000 +0200
++++ include/proppanel.h 2007-03-23 14:14:05.156056630 +0100
+@@ -29,6 +29,12 @@
+ #define PROPPANEL_DEF PropPanel *proppanel = (PropPanel*)(app_ref->proppanel);
+ #define PROPPANEL_MAX_PAGE 5
+
++// declarations to avoid friend injection problems
++void sign_proppanel_clicked( GtkWidget *wid, gpointer data );
++void sign_proppanel_detach( GtkWidget *wid, gpointer data );
++bool sign_proppanel_attach( GtkWidget *wid, GdkEvent *event, gpointer data );
++void sign_proppanel_attach2( GtkWidget *wid, gpointer data );
++
+ class PropPanel : public app_object {
+ #define SENDER ((PropPanel*)data)
+ friend void sign_proppanel_clicked( GtkWidget *wid, gpointer data ) { SENDER->label_clicked( wid ); }
+--- include/pyscriptdb.h.orig 2005-10-01 07:00:57.000000000 +0200
++++ include/pyscriptdb.h 2007-03-23 16:18:43.035259272 +0100
+@@ -59,6 +59,9 @@
+ };
+
+
++// declaration to avoid friend injection problems
++void sign_run_script_from_menu( GtkWidget *wid, gpointer data );
++
+ class PyScriptDB : public app_object
+ {
+ friend void sign_run_script_from_menu( GtkWidget *wid, gpointer data ) { ((PyScript*)data)->execute(); }
+--- include/scriptobj.h.orig 2005-09-23 15:25:05.000000000 +0200
++++ include/scriptobj.h 2007-03-23 16:14:06.547439223 +0100
+@@ -58,6 +58,9 @@
+ float x4; float y4; float z4;
+ } GLQuad;
+
++// declaration to avoid friend injection problems
++void sign_scriptobj_edit( GtkWidget *wid, gpointer data );
++
+ // ScriptObj object
+ class ScriptObj : public Object3D_with_material {
+ #define SENDER ((ScriptObj*)data)
+--- include/slopemap.h.orig 2003-07-04 23:32:12.000000000 +0200
++++ include/slopemap.h 2007-03-23 14:19:27.373900278 +0100
+@@ -60,6 +60,19 @@
+ #define MAX_SLMAP_BUT 4
+
+
++// declarations to avoid friend injection problems
++void sign_slopemap_edit( GtkWidget *wid, gpointer data );
++gint sign_slopemap_editor_click( GtkWidget *wid, gint button, gpointer data );
++gint sign_slopemap_editor_destroy( GtkWidget *wid, GdkEvent *ev, gpointer data );
++void sign_slopecurve_expose( GtkWidget *wid, GdkEventExpose *ev, gpointer data );
++void sign_slopecurve_configure( GtkWidget *wid, GdkEventConfigure *ev, gpointer data );
++void sign_slopecurve_realize( GtkWidget *wid, gpointer data );
++void sign_slopecurve_mouse_moved( GtkWidget *wid, GdkEventMotion *ev, gpointer data );
++void sign_slopecurve_mouse_click( GtkWidget *wid, GdkEventButton *ev, gpointer data );
++void sign_slopecurve_mouse_release( GtkWidget *wid, GdkEventButton *ev, gpointer data );
++void sign_slmap_button_clicked( GtkWidget *wid, gpointer data );
++void sign_slmap_value_changed( GtkWidget *wid, gpointer data );
++
+ class TvWidget_slopemap : public TvWidget {
+ #define SENDER ((TvWidget_slopemap*)data)
+ friend void sign_slopemap_edit( GtkWidget *wid, gpointer data ) { SENDER->open_editor(); }
+--- include/spheresweep.h.orig 2005-09-29 20:47:51.000000000 +0200
++++ include/spheresweep.h 2007-03-23 16:10:24.722280042 +0100
+@@ -28,6 +28,14 @@
+ #include "spline3d.h"
+
+
++// declarations to avoid friend injection problems
++void sign_ssweep_current_point_num_changed( GtkWidget *wid, gpointer data );
++void sign_ssweep_current_point_changed( GtkWidget *wid, gpointer data );
++void sign_ssweep_delete_point( GtkWidget *wid, gpointer data );
++void sign_ssweep_append_point( GtkWidget *wid, gpointer data );
++void sign_ssweep_prepend_point( GtkWidget *wid, gpointer data );
++void sign_ssweep_insert_point( GtkWidget *wid, gpointer data );
++
+ //*******************************************************
+ // Class sphere sweep
+ //
+--- include/texnormal.h.orig 2005-08-27 12:40:52.000000000 +0200
++++ include/texnormal.h 2007-03-23 14:25:59.402093919 +0100
+@@ -29,6 +29,11 @@
+ #include "slopemap.h"
+
+
++// declarations to avoid friend injection problems
++void sign_normal_type_changed( GtkWidget *wid, gpointer data );
++void sign_normblocktype_changed( gpointer data );
++MapItem *mapedit_feeder_normal( gpointer data );
++
+ class PovTexNormal : public MaterialItem {
+ #define SENDER ((PovTexNormal*)data)
+ friend void sign_normal_type_changed( GtkWidget *wid, gpointer data ) { SENDER->type_changed(); }
+--- include/texpigment.h.orig 2005-08-27 12:40:09.000000000 +0200
++++ include/texpigment.h 2007-03-23 14:38:56.816494478 +0100
+@@ -27,6 +27,11 @@
+ #include "material.h"
+ #include "mapedit.h"
+
++// declarations to avoid friend injection problems
++void sign_pigtype_changed( GtkWidget *wid, gpointer data );
++void sign_colblocktype_changed( gpointer data );
++void sign_pigblocktype_changed( gpointer data );
++
+ //****************************************************
+ // Pigment class
+ //****************************************************
+@@ -111,6 +116,9 @@
+ };
+
+
++// declaration to avoid friend injection problems
++void sign_mapitemcol_changed( gpointer data );
++
+ //****************************************************
+ // MapItem solid color
+ //****************************************************
+--- include/tvwidgets.h.orig 2005-09-30 11:33:29.000000000 +0200
++++ include/tvwidgets.h 2007-03-23 15:11:14.460894676 +0100
+@@ -84,6 +84,9 @@
+ virtual void copy( TvWidget *wid ) {}
+ };
+
++// declaration to avois friend injection problems
++void sign_rolling_box_clicked( GtkWidget *wid, gpointer data );
++
+ //**********************************************************
+ // Rolling box
+ //**********************************************************
+@@ -143,6 +146,9 @@
+ bool load( ifstream & file, char * tag );
+ };
+
++// declaration to avois friend injection problems
++void sign_bool_activator_clicked( GtkWidget *wid, gpointer data );
++
+ //**********************************************************
+ // TvWidget BOOL ACTIVATOR
+ //**********************************************************
+@@ -352,6 +358,10 @@
+ //int get_blue() { return data[2]; }
+ };
+
++// declarations to avois friend injection problems
++void sign_pigcolor_changed( GtkWidget *picker, gpointer data );
++void sign_pigalpha_changed( GtkWidget *wid, gpointer data );
++
+ //**********************************************************
+ // TvWidget PIGMENT
+ //**********************************************************
+@@ -702,6 +712,9 @@
+ void get_widget_rb( GtkWidget *box, bool tt ) { rb->get_widget_rb( box, tt ); }
+ };
+
++// declaration to avoid friend injection problems
++void sign_file_changed( GnomeFileEntry *fentry, gpointer data );
++
+ //**********************************************************
+ // TvWidget FILE
+ //**********************************************************
+@@ -740,6 +753,9 @@
+ };
+
+
++// declaration to avoid friend injection problems
++void sign_blockp_type_changed( GtkWidget *wid, gpointer data );
++
+ //**********************************************************
+ // TvWidget Block Pattern
+ //**********************************************************
+@@ -819,6 +835,9 @@
+ void get_widget_rb( GtkWidget *box, bool tt ) { rb->get_widget_rb( box, tt ); }
+ };
+
++// declaration to avoid friend injection problems
++void sign_warptype_changed( GtkWidget *wid, gpointer data );
++
+ //**********************************************************
+ // TvWidget WARP
+ //**********************************************************
+@@ -879,6 +898,9 @@
+ void get_widget_rb( GtkWidget *box, bool tt ) { rb->get_widget_rb( box, tt ); }
+ };
+
++// declaration to avoid friend injection problems
++void sign_blendtype_changed( GtkWidget *wid, gpointer data );
++
+ //**********************************************************
+ // TvWidget BLENDMAP
+ //**********************************************************
+@@ -917,6 +939,9 @@
+ };
+
+
++// declaration to avoid friend injection problems
++void sign_wavetype_changed( GtkWidget *wid, gpointer data );
++
+ //**********************************************************
+ // TvWidget BLENDMAP MODIFIERS
+ //**********************************************************
+@@ -1079,6 +1104,16 @@
+ };
+ */
+
++// declarations to avoid friend injection problems
++void sign_tvwid_func_open_dialog( GtkWidget* wid, gpointer data );
++void sign_tvwid_func_dlg_click( GtkDialog *wid, gint button, gpointer data );
++void sign_tvwid_func_dlg_destroy( GtkWidget *wid, GdkEvent *ev, gpointer data );
++void sign_tvwid_func_insert( GtkWidget *wid, gpointer data );
++void sign_tvwid_func_clear( GtkWidget *wid, gpointer data );
++void sign_tvwid_func_cut( GtkWidget *wid, gpointer data );
++void sign_tvwid_func_copy( GtkWidget *wid, gpointer data );
++void sign_tvwid_func_paste( GtkWidget *wid, gpointer data );
++
+ //**********************************************************
+ // TvWidget Function
+ //**********************************************************
+@@ -1132,6 +1167,15 @@
+
+
+
++// declarations to avoid friend injection problems
++void sign_tvwid_tb_open_dialog( GtkWidget* wid, gpointer data );
++void sign_tvwid_tb_dlg_click( GtkDialog *wid, gint button, gpointer data );
++void sign_tvwid_tb_dlg_destroy( GtkWidget *wid, GdkEvent *ev, gpointer data );
++void sign_tvwid_tb_clear( GtkWidget *wid, gpointer data );
++void sign_tvwid_tb_cut( GtkWidget *wid, gpointer data );
++void sign_tvwid_tb_copy( GtkWidget *wid, gpointer data );
++void sign_tvwid_tb_paste( GtkWidget *wid, gpointer data );
++
+ //**********************************************************
+ // TvWidget TextButton
+ //**********************************************************